aosp12/external/rust/crates/num-traits
hcl 7be3fd486c init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
..
src init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
tests init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
.cargo_vcs_info.json init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
.gitignore init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
Android.bp init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
Cargo.toml init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
Cargo.toml.orig init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
LICENSE init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
LICENSE-APACHE init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
LICENSE-MIT init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
METADATA init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
MODULE_LICENSE_APACHE2 init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
OWNERS init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
README.md init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
RELEASES.md init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
TEST_MAPPING init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
build.rs init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00
cargo2android.json init from android-12.1.0_r8 2023-01-09 17:11:35 +08:00

README.md

num-traits

crate documentation minimum rustc 1.8 build status

Numeric traits for generic mathematics in Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
num-traits = "0.2"

and this to your crate root:

extern crate num_traits;

Features

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.

Releases

Release notes are available in RELEASES.md.

Compatibility

The num-traits crate is tested for rustc 1.8 and greater.

License

Licensed under either of

at your option.

Contribution

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.