1# num-traits 2 3[![crate](https://img.shields.io/crates/v/num-traits.svg)](https://crates.io/crates/num-traits) 4[![documentation](https://docs.rs/num-traits/badge.svg)](https://docs.rs/num-traits) 5[![minimum rustc 1.8](https://img.shields.io/badge/rustc-1.8+-red.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) 6[![build status](https://github.com/rust-num/num-traits/workflows/master/badge.svg)](https://github.com/rust-num/num-traits/actions) 7 8Numeric traits for generic mathematics in Rust. 9 10## Usage 11 12Add this to your `Cargo.toml`: 13 14```toml 15[dependencies] 16num-traits = "0.2" 17``` 18 19## Features 20 21This crate can be used without the standard library (`#![no_std]`) by disabling 22the default `std` feature. Use this in `Cargo.toml`: 23 24```toml 25[dependencies.num-traits] 26version = "0.2" 27default-features = false 28# features = ["libm"] # <--- Uncomment if you wish to use `Float` and `Real` without `std` 29``` 30 31The `Float` and `Real` traits are only available when either `std` or `libm` is enabled. 32The `libm` feature is only available with Rust 1.31 and later ([see PR #99](https://github.com/rust-num/num-traits/pull/99)). 33 34The `FloatCore` trait is always available. `MulAdd` and `MulAddAssign` for `f32` 35and `f64` also require `std` or `libm`, as do implementations of signed and floating- 36point exponents in `Pow`. 37 38Implementations for `i128` and `u128` are only available with Rust 1.26 and 39later. The build script automatically detects this, but you can make it 40mandatory by enabling the `i128` crate feature. 41 42## Releases 43 44Release notes are available in [RELEASES.md](RELEASES.md). 45 46## Compatibility 47 48The `num-traits` crate is tested for rustc 1.8 and greater. 49 50## License 51 52Licensed under either of 53 54 * [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) 55 * [MIT license](http://opensource.org/licenses/MIT) 56 57at your option. 58 59### Contribution 60 61Unless you explicitly state otherwise, any contribution intentionally submitted 62for inclusion in the work by you, as defined in the Apache-2.0 license, shall be 63dual licensed as above, without any additional terms or conditions. 64