aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJoel Galenson <jgalenson@google.com>2020-08-05 11:56:59 -0700
committerJoel Galenson <jgalenson@google.com>2020-08-05 11:58:02 -0700
commita92be9e3a976baa8f5587ac11dba803daea4a401 (patch)
tree731a62de500fff479820b907113ec4890c4950f8 /README.md
parent7332312364a07d96d81b8f08b2557ece3544a5f6 (diff)
downloadnum-traits-a92be9e3a976baa8f5587ac11dba803daea4a401.tar.gz
Import num-traits-0.2.12
Test: None Change-Id: I3af988183dbde11bc127f0ad9c3abc6068cf2672
Diffstat (limited to 'README.md')
-rw-r--r--README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..114c044
--- /dev/null
+++ b/README.md
@@ -0,0 +1,54 @@
+# num-traits
+
+[![crate](https://img.shields.io/crates/v/num-traits.svg)](https://crates.io/crates/num-traits)
+[![documentation](https://docs.rs/num-traits/badge.svg)](https://docs.rs/num-traits)
+[![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)
+[![build status](https://github.com/rust-num/num-traits/workflows/master/badge.svg)](https://github.com/rust-num/num-traits/actions)
+
+Numeric traits for generic mathematics in Rust.
+
+## Usage
+
+Add this to your `Cargo.toml`:
+
+```toml
+[dependencies]
+num-traits = "0.2"
+```
+
+and this to your crate root:
+
+```rust
+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`:
+
+```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](https://github.com/rust-num/num-traits/pull/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](RELEASES.md).
+
+## Compatibility
+
+The `num-traits` crate is tested for rustc 1.8 and greater.