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

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

Returns an error if |(a - b) / a| > epsilon.

  • a - First float.
  • b - Second float.
  • epsilon - Relative error tolerance between floats.

Examples

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