num
A collection of numeric types and traits for Rust.
This includes new types for big integers, rationals, and complex numbers,
new traits for generic programming on numeric properties like Integer,
and generic range iterators.
num is a meta-crate, re-exporting items from these sub-crates:
| Repository | Crate | Documentation |
|---|---|---|
num-bigint |
||
num-complex |
||
num-integer |
||
num-iter |
||
num-rational |
||
num-traits |
||
(num-derive) |
Note: num-derive is listed here for reference, but it's not directly included
in num. This is a proc-macro crate for deriving some of num's traits.
Usage
Add this to your Cargo.toml:
[]
= "0.2"
and this to your crate root:
extern crate num;
Features
This crate can be used without the standard library (#![no_std]) by disabling
the default std feature. Use this in Cargo.toml:
[]
= "0.2"
= false
The num-bigint crate is only available when std is enabled, and the other
sub-crates may have limited functionality when used without std.
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.
The rand feature enables randomization traits in num-bigint and
num-complex.
The serde feature enables serialization for types in num-bigint,
num-complex, and num-rational.
The num meta-crate no longer supports features to toggle the inclusion of
the individual sub-crates. If you need such control, you are recommended to
directly depend on your required crates instead.
Releases
Release notes are available in RELEASES.md.
Compatibility
The num crate as a whole is tested for rustc 1.15 and greater.
The num-traits, num-integer, and num-iter crates are individually tested
for rustc 1.8 and greater, if you require such older compatibility.