Approximately compare floating point numbers
-
TODO
-
approx_eq
-
Where ULP stands for "units of least precision", or "units in the last place".
use float_cmp::approx_eq; fn main() { let x = 1.0; let y = 2.0; let z = 1.0; println!("{}", x < y); println!("{}", x == z); println!(); let x = 0.1 + 0.2; let y = 0.3; println!("{}", x); println!("{}", y); println!("{}", x == y); println!("{}", approx_eq!(f32, x, y, ulps = 17)); let x = 0.00001; let y = 0.000010000001; println!("{}", x == y); println!("{}", approx_eq!(f32, x, y, ulps = 20)); }
true
true
0.3
0.3
true
true
false
true