fastmaths 0.1.0

High-performance no_std math routines targeting glibc parity and strict f64 accuracy.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.86"
name = "fastmaths"
version = "0.1.0"
build = false
exclude = [
    "proptest-runs/**",
    "runner.log",
    "glibc/**",
    "target/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance no_std math routines targeting glibc parity and strict f64 accuracy."
homepage = "https://github.com/whb07/fastmaths"
documentation = "https://docs.rs/fastmaths"
readme = "README.md"
keywords = [
    "math",
    "libm",
    "no-std",
    "f64",
    "numerics",
]
categories = [
    "mathematics",
    "algorithms",
    "no-std",
]
license = "MIT"
repository = "https://github.com/whb07/fastmaths"

[features]
mpfr = ["rug"]
soft-fma = []

[lib]
name = "fastmaths"
path = "src/lib.rs"

[[test]]
name = "mpfr_exp"
path = "tests/mpfr_exp.rs"

[[bench]]
name = "bench_acos"
path = "benches/bench_acos.rs"
harness = false

[[bench]]
name = "bench_acosh"
path = "benches/bench_acosh.rs"
harness = false

[[bench]]
name = "bench_asin"
path = "benches/bench_asin.rs"
harness = false

[[bench]]
name = "bench_asinh"
path = "benches/bench_asinh.rs"
harness = false

[[bench]]
name = "bench_atan"
path = "benches/bench_atan.rs"
harness = false

[[bench]]
name = "bench_atan2"
path = "benches/bench_atan2.rs"
harness = false

[[bench]]
name = "bench_atanh"
path = "benches/bench_atanh.rs"
harness = false

[[bench]]
name = "bench_cbrt"
path = "benches/bench_cbrt.rs"
harness = false

[[bench]]
name = "bench_ceil"
path = "benches/bench_ceil.rs"
harness = false

[[bench]]
name = "bench_copysign"
path = "benches/bench_copysign.rs"
harness = false

[[bench]]
name = "bench_cos"
path = "benches/bench_cos.rs"
harness = false

[[bench]]
name = "bench_cosh"
path = "benches/bench_cosh.rs"
harness = false

[[bench]]
name = "bench_erf"
path = "benches/bench_erf.rs"
harness = false

[[bench]]
name = "bench_erfc"
path = "benches/bench_erfc.rs"
harness = false

[[bench]]
name = "bench_exp"
path = "benches/bench_exp.rs"
harness = false

[[bench]]
name = "bench_exp10"
path = "benches/bench_exp10.rs"
harness = false

[[bench]]
name = "bench_exp2"
path = "benches/bench_exp2.rs"
harness = false

[[bench]]
name = "bench_expm1"
path = "benches/bench_expm1.rs"
harness = false

[[bench]]
name = "bench_fabs"
path = "benches/bench_fabs.rs"
harness = false

[[bench]]
name = "bench_fdim"
path = "benches/bench_fdim.rs"
harness = false

[[bench]]
name = "bench_floor"
path = "benches/bench_floor.rs"
harness = false

[[bench]]
name = "bench_fma"
path = "benches/bench_fma.rs"
harness = false

[[bench]]
name = "bench_fmax"
path = "benches/bench_fmax.rs"
harness = false

[[bench]]
name = "bench_fmin"
path = "benches/bench_fmin.rs"
harness = false

[[bench]]
name = "bench_fmod"
path = "benches/bench_fmod.rs"
harness = false

[[bench]]
name = "bench_frexp"
path = "benches/bench_frexp.rs"
harness = false

[[bench]]
name = "bench_hypot"
path = "benches/bench_hypot.rs"
harness = false

[[bench]]
name = "bench_ilogb"
path = "benches/bench_ilogb.rs"
harness = false

[[bench]]
name = "bench_ldexp"
path = "benches/bench_ldexp.rs"
harness = false

[[bench]]
name = "bench_lgamma"
path = "benches/bench_lgamma.rs"
harness = false

[[bench]]
name = "bench_llrint"
path = "benches/bench_llrint.rs"
harness = false

[[bench]]
name = "bench_llround"
path = "benches/bench_llround.rs"
harness = false

[[bench]]
name = "bench_ln"
path = "benches/bench_ln.rs"
harness = false

[[bench]]
name = "bench_log10"
path = "benches/bench_log10.rs"
harness = false

[[bench]]
name = "bench_log1p"
path = "benches/bench_log1p.rs"
harness = false

[[bench]]
name = "bench_log2"
path = "benches/bench_log2.rs"
harness = false

[[bench]]
name = "bench_logb"
path = "benches/bench_logb.rs"
harness = false

[[bench]]
name = "bench_lrint"
path = "benches/bench_lrint.rs"
harness = false

[[bench]]
name = "bench_lround"
path = "benches/bench_lround.rs"
harness = false

[[bench]]
name = "bench_modf"
path = "benches/bench_modf.rs"
harness = false

[[bench]]
name = "bench_nearbyint"
path = "benches/bench_nearbyint.rs"
harness = false

[[bench]]
name = "bench_nextafter"
path = "benches/bench_nextafter.rs"
harness = false

[[bench]]
name = "bench_pow"
path = "benches/bench_pow.rs"
harness = false

[[bench]]
name = "bench_remainder"
path = "benches/bench_remainder.rs"
harness = false

[[bench]]
name = "bench_remquo"
path = "benches/bench_remquo.rs"
harness = false

[[bench]]
name = "bench_rint"
path = "benches/bench_rint.rs"
harness = false

[[bench]]
name = "bench_round"
path = "benches/bench_round.rs"
harness = false

[[bench]]
name = "bench_scalbln"
path = "benches/bench_scalbln.rs"
harness = false

[[bench]]
name = "bench_scalbn"
path = "benches/bench_scalbn.rs"
harness = false

[[bench]]
name = "bench_sin"
path = "benches/bench_sin.rs"
harness = false

[[bench]]
name = "bench_sinh"
path = "benches/bench_sinh.rs"
harness = false

[[bench]]
name = "bench_sqrt"
path = "benches/bench_sqrt.rs"
harness = false

[[bench]]
name = "bench_tan"
path = "benches/bench_tan.rs"
harness = false

[[bench]]
name = "bench_tanh"
path = "benches/bench_tanh.rs"
harness = false

[[bench]]
name = "bench_tgamma"
path = "benches/bench_tgamma.rs"
harness = false

[[bench]]
name = "bench_trunc"
path = "benches/bench_trunc.rs"
harness = false

[[bench]]
name = "bench_util"
path = "benches/bench_util.rs"

[dependencies.rug]
version = "1.24"
optional = true
default-features = true

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.libloading]
version = "0.8"

[dev-dependencies.proptest]
version = "1.6"

[profile.bench]
opt-level = 3
lto = true
codegen-units = 1