Function extra_asserts::assert_approx_eq [] [src]

pub fn assert_approx_eq<T>(l: T, r: T, epsilon: &T::Output) where
    T: Sub + PartialOrd + Debug + Copy,
    T::Output: Debug + PartialOrd

Asserts if a floating point is within some epsilon. This allows you to compare calculations to make sure it's within some error factor of accuracy.

This one should pass

use extra_asserts::assert_approx_eq;
let x : f64 = 10.123456789;
let y : f64 = 10.123467890;
assert_approx_eq(x, y, &1e-4);

This one should fail

use extra_asserts::assert_approx_eq;
let x : f64 = 10.123456789;
let y : f64 = 10.123467890;
assert_approx_eq(x, y, &1e-10);