
Currently we run the `rustc` from the `RUSTC` environment variable to figure out whether or not to enable `f16` and `f128`, based on the `target_has_reliable_{f16,f128}` config. However, this does not know about the codegen backend used, and the backend isn't trivial to check in a build script (usually it gets set via `RUSTFLAGS`). It turns out we don't actually need to run `rustc` here: Cargo unconditionally emits all config from the relevant compiler as `CARGO_CFG_*` variables, regardless of whether or not they are known options. Switch to checking these for setting config rather than invoking `rustc`. As an added advantage, this will work with target.json files without any special handling. Fixes: ed17b95715dd ("Use the compiler to determine whether or not to enable `f16` and `f128`")
libm
A Rust implementations of the C math library.
Usage
libm
provides fallback implementations for Rust's float math functions in
core
, and the core_float_math
feature. If what is available suits your
needs, there is no need to add libm
as a dependency.
If more functionality is needed, this crate can also be used directly:
[dependencies]
libm = "0.2.11"
Contributing
Please check CONTRIBUTING.md
Minimum Rust version policy
This crate supports rustc 1.63 and newer.
License
Usage is under the MIT license, available at https://opensource.org/license/mit.
Contribution
Contributions are licensed under both the MIT license and the Apache License, Version 2.0, available at https://www.apache.org/licenses/LICENSE-2.0. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as mentioned, without any additional terms or conditions.
See LICENSE.txt for full details.