9 releases
Uses old Rust 2015
| 0.3.0-alpha.2 | Dec 20, 2020 |
|---|---|
| 0.2.6 | Jan 13, 2019 |
| 0.2.2 | May 17, 2017 |
| 0.2.1 | Nov 19, 2015 |
| 0.1.1 | May 12, 2015 |
#1275 in Math
181,198 downloads per month
Used in 337 crates
(16 directly)
75KB
1K
SLoC
Low-level manipulations of IEEE754 floating-point numbers.
Installation
Add this to your Cargo.toml:
[dependencies]
ieee754 = "0.2"
To enable rayon parallel iteration, activate the optional
rayon feature:
[dependencies]
ieee754 = { version = "0.2", features = ["rayon"] }
Examples
use ieee754::Ieee754;
// there are 840 single-precision floats between 1.0 and 1.0001
// (inclusive).
assert_eq!(1_f32.upto(1.0001).count(), 840);
If rayon is enabled, this can be performed in parallel:
extern crate ieee754;
extern crate rayon;
use ieee754::Ieee754;
use rayon::prelude::*;
// there are 840 single-precision floats between 1.0 and 1.0001
// (inclusive).
assert_eq!(1_f32.upto(1.0001).into_par_iter().count(), 840);
ieee754
Low-level manipulations of IEEE754 floating-point numbers.
This library includes:
no_stdsupport by default,- ulp computation (units in the last place, representing the resolution of a float),
- miscellaneous functions like
nextafter(nextandprev),copysign(copy_sign),abs,sign, - the IEEE-754
totalOrderpredicate for doingOrd::cmp-like comparisons on floats, - an iterator over every floating point value in a range,
- a parallel iterator over every floating point value in a range
(optional: activate with the
rayonfeature), - relative error computation.
Dependencies
~0–275KB