[workspace]
members = [
  ".",
  "rgeometry-wasm",
  "demos/convex_hull",
  "demos/delaunay",
  "demos/earclip",
  "demos/kernel",
  "demos/melkman",
  "demos/random_convex",
  "demos/random_monotone",
  "demos/two_opt",
  "demos/visibility",
]
resolver = "2"

[package]
authors = ["David Himmelstrup <lemmih@gmail.com>"]
categories = ["algorithms", "data-structures", "mathematics", "graphics"]
description = "High-Level Computational Geometry"
edition = "2024"
exclude = [".dockerignore", ".github", ".gitignore"]
homepage = "https://rgeometry.org/"
license = "Unlicense"
name = "rgeometry"
readme = "README.md"
repository = "https://github.com/rgeometry/rgeometry"
version = "0.12.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
apfp = "0.1.0"
array-init = "2.1"
claims = "0.8"
num = "0.4.3"
num-bigint = "0.4.6"
num-rational = "0.4.2"
num-traits = "0.2.*"
rand = { version = "0.9", default-features = false, features = ["small_rng"] }
rug = { version = "1.28", optional = true }

[dev-dependencies]
criterion = "0.8.1"
proptest = "1.9.0"
test-strategy = "0.4.0"

[[bench]]
harness = false
name = "convex_polygon"

[[bench]]
harness = false
name = "graham_scan"

[[bench]]
harness = false
name = "two_opt"

[profile.release]
overflow-checks = true

[profile.test]
overflow-checks = true

[profile.bench]
debug = true

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "doc-header.html"]

[patch."https://github.com/rgeometry/rgeometry"]
rgeometry = { path = "." }

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tarpaulin_include)"] }
