| [package] | 
 | name = "libm-test" | 
 | version = "0.1.0" | 
 | edition = "2024" | 
 | publish = false | 
 | license = "MIT OR Apache-2.0" | 
 |  | 
 | [features] | 
 | default = ["build-mpfr", "unstable-float"] | 
 |  | 
 | # Propagated from libm because this affects which functions we test. | 
 | unstable-float = ["libm/unstable-float", "rug?/nightly-float"] | 
 |  | 
 | # Generate tests which are random inputs and the outputs are calculated with | 
 | # musl libc. | 
 | build-mpfr = ["dep:rug", "dep:gmp-mpfr-sys"] | 
 |  | 
 | # Build our own musl for testing and benchmarks | 
 | build-musl = ["dep:musl-math-sys"] | 
 |  | 
 | # Enable report generation without bringing in more dependencies by default | 
 | benchmarking-reports = ["criterion/plotters", "criterion/html_reports"] | 
 |  | 
 | # Enable icount benchmarks (requires iai-callgrind and valgrind) | 
 | icount = ["dep:iai-callgrind"] | 
 |  | 
 | # Run with a reduced set of benchmarks, such as for CI | 
 | short-benchmarks = [] | 
 |  | 
 | [dependencies] | 
 | anyhow = "1.0.98" | 
 | # This is not directly used but is required so we can enable `gmp-mpfr-sys/force-cross`. | 
 | gmp-mpfr-sys = { version = "1.6.5", optional = true, default-features = false } | 
 | iai-callgrind = { version = "0.15.2", optional = true } | 
 | indicatif = { version = "0.18.0", default-features = false } | 
 | libm = { path = "../libm", features = ["unstable-public-internals"] } | 
 | libm-macros = { path = "../crates/libm-macros" } | 
 | musl-math-sys = { path = "../crates/musl-math-sys", optional = true } | 
 | paste = "1.0.15" | 
 | rand = "0.9.1" | 
 | rand_chacha = "0.9.0" | 
 | rayon = "1.10.0" | 
 | rug = { version = "1.27.0", optional = true, default-features = false, features = ["float", "integer", "std"] } | 
 |  | 
 | [target.'cfg(target_family = "wasm")'.dependencies] | 
 | getrandom = { version = "0.3.3", features = ["wasm_js"] } | 
 |  | 
 | [build-dependencies] | 
 | rand = { version = "0.9.1", optional = true } | 
 |  | 
 | [dev-dependencies] | 
 | criterion = { version = "0.6.0", default-features = false, features = ["cargo_bench_support"] } | 
 | libtest-mimic = "0.8.1" | 
 |  | 
 | [[bench]] | 
 | name = "icount" | 
 | harness = false | 
 | required-features = ["icount"] | 
 |  | 
 | [[bench]] | 
 | name = "random" | 
 | harness = false | 
 |  | 
 | [[test]] | 
 | # No harness so that we can skip tests at runtime based on env. Prefixed with | 
 | # `z` so these tests get run last. | 
 | name = "z_extensive" | 
 | harness = false | 
 |  | 
 | [lints.rust] | 
 | # Values from the chared config.rs used by `libm` but not the test crate | 
 | unexpected_cfgs = { level = "warn", check-cfg = [ | 
 |   'cfg(feature, values("arch", "force-soft-floats", "unstable-intrinsics"))', | 
 | ] } |