expect_float_relative_ne

Macro expect_float_relative_ne 

Source
macro_rules! expect_float_relative_ne {
    ($a:expr, $b:expr, $epsilon:expr) => { ... };
    ($a:expr, $b:expr) => { ... };
}
Expand description

Expect the relative error between two values is greater than epsilon.

Returns an error if |(a - b) / a| <= epsilon. If a.is_infinite(), then the result will always be an error. If a.is_nan(), then the result will always be ok.

  • a - First float.
  • b - Second float.
  • epsilon - Relative error tolerance between floats (defaults to 1.0e-6).

ยงExamples

assert!(expect_float_relative_ne!(4.0, 3.0, 0.25).is_err());
assert!(expect_float_relative_ne!(4.0, 3.0, 0.20).is_ok());
assert!(expect_float_relative_ne!(1.0, 0.5 + 0.5).is_err());