[package]
name = "libm"
version = "0.2.16"
authors = [
    "Alex Crichton <alex@alexcrichton.com>",
    "Amanieu d'Antras <amanieu@gmail.com>",
    "Jorge Aparicio <japaricious@gmail.com>",
    "Trevor Gross <tg@trevorgross.com>",
]
description = "libm in pure Rust"
categories = ["no-std"]
keywords = ["libm", "math"]
repository = "https://github.com/rust-lang/compiler-builtins"
license = "MIT"
edition = "2021"
rust-version = "1.67"

[dev-dependencies]
# FIXME(msrv): switch to `no-panic.workspace` when possible
no-panic = "0.1.36"

[features]
default = ["arch"]

# Enable architecture-specific features such as SIMD or assembly routines.
arch = []

# This tells the compiler to assume that a Nightly toolchain is being used and
# that it should activate any useful Nightly things accordingly.
unstable = ["unstable-intrinsics", "unstable-float"]

# Enable calls to functions in `core::intrinsics`
unstable-intrinsics = []

# Make some internal things public for testing.
unstable-public-internals = []

# Enable the nightly-only `f16` and `f128`.
unstable-float = []

# DEPRECATED: This feature is kept around for compatibility reasons but
# does not do anything.
# FIXME(1.0): remove this feature.
force-soft-floats = []

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
  # compiler-builtins sets these features, but we use them in `libm`
  'cfg(feature, values("compiler-builtins"))',
  'cfg(feature, values("unmangled-names"))',
] }
