commit | 39d9168114ad82951b80fbcac2c6b358cb2eb85e | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Sat Sep 18 05:05:49 2021 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Sat Sep 18 05:05:49 2021 +0000 |
tree | 77700dd8a9bfdc3bc7583c63a5497a07c60a39b1 | |
parent | 91caa00dd135a09b927d68b99efdcc0bcb8ad409 [diff] | |
parent | 36e278bd3fa88e3092a3c05975ff7b506babeaad [diff] |
Snap for 7744776 from 36e278bd3fa88e3092a3c05975ff7b506babeaad to tm-release Change-Id: Ib33da9f46fb5447ec6d5a315a89cbdafad65608c
Numeric traits for generic mathematics in Rust.
Add this to your Cargo.toml
:
[dependencies] num-traits = "0.2"
and this to your crate root:
extern crate num_traits;
This crate can be used without the standard library (#![no_std]
) by disabling the default std
feature. Use this in Cargo.toml
:
[dependencies.num-traits] version = "0.2" default-features = false # features = ["libm"] # <--- Uncomment if you wish to use `Float` and `Real` without `std`
The Float
and Real
traits are only available when either std
or libm
is enabled.
The libm
feature is only available with Rust 1.31 and later (see PR #99).
The FloatCore
trait is always available. MulAdd
and MulAddAssign
for f32
and f64
also require std
or libm
, as do implementations of signed and floating- point exponents in Pow
.
Implementations for i128
and u128
are only available with Rust 1.26 and later. The build script automatically detects this, but you can make it mandatory by enabling the i128
crate feature.
Release notes are available in RELEASES.md.
The num-traits
crate is tested for rustc 1.8 and greater.
Licensed under either of
at your option.
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 above, without any additional terms or conditions.