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. If a.is_infinite(),
then the result will always be ok. If a.is_nan(), then the result
will always be an error.
a- First float.b- Second float.epsilon- Relative error tolerance between floats (defaults to1.0e-6).
ยง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());