Go to file
Josh Stone 93328dfc90 Add libm to no_std CI 2019-09-27 10:56:03 -07:00
ci CI: make the condition for testing libm the same as u128/i128 2019-09-27 10:53:17 -07:00
src Don't use libm at all with std 2019-09-27 10:53:17 -07:00
tests Run cargo fmt 2018-07-12 17:09:22 -07:00
.gitignore Update num-macros to Rust master 2015-05-14 10:19:47 -07:00
.travis.yml Add libm to no_std CI 2019-09-27 10:56:03 -07:00
Cargo.toml Raise the minimum libm 2019-09-27 10:53:17 -07:00
LICENSE-APACHE Initial seeding from rust repo 2014-09-16 10:35:35 -07:00
LICENSE-MIT Initial seeding from rust repo 2014-09-16 10:35:35 -07:00
README.md Reference PR 99 in README 2019-09-27 10:53:17 -07:00
RELEASES.md Release 0.2.8 2019-05-21 17:46:08 -07:00
bors.toml Enable bors-ng 2017-07-08 22:29:48 -07:00
build.rs Use autocfg to probe for i128 2019-05-10 16:42:23 -07:00

README.md

num-traits

crate documentation minimum rustc 1.8 Travis 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.