rust-num/num-traits

Numeric traits for generic mathematics in Rust

969

stars

1,132

commits

Rust

primary language

Jul 7, 2026

updated

num-traits
rust
Browse cluster: Rust numeric traits and algorithms

README

num-traits

crate documentation minimum rustc 1.60 build status

Numeric traits for generic mathematics in Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
num-traits = "0.2"

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 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.

Releases

Release notes are available in RELEASES.md.

Compatibility

The num-traits crate is tested for rustc 1.60 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.

Contributors

(top 30 of 116)

cuviper

376 commits

bors[bot]

113 commits

alexcrichton

94 commits

homu

70 commits

rust-num/num-traits

Numeric traits for generic mathematics in Rust

969

stars

1,132

commits

Rust

primary language

Jul 7, 2026

updated

num-traits
rust
Browse cluster: Rust numeric traits and algorithms

README

num-traits

crate documentation minimum rustc 1.60 build status

Numeric traits for generic mathematics in Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
num-traits = "0.2"

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 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.

Releases

Release notes are available in RELEASES.md.

Compatibility

The num-traits crate is tested for rustc 1.60 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.

Contributors

(top 30 of 116)

cuviper

376 commits

bors[bot]

113 commits

alexcrichton

94 commits

homu

70 commits

Languages

Rust

99.2%