0.1.0[][src]Macro appro_eq::debug_assert_appro_eq

macro_rules! debug_assert_appro_eq {
    ($($arg:tt)*) => { ... };
}

Asserts that two expressions are approximately equal to each other.

You can optionally add an optional diff value. If you don't supply a diff value as an argument, Tolerance::tolerance() is the default used.

Unlike assert_appro_eq!, debug_assert_appro_eq! statements are only enabled in non optimized builds by default. An optimized build will omit all debug_assert_appro_eq! statements unless -C debug-assertions is passed to the compiler.

Examples

debug_assert_appro_eq!(1f64, 1.5f64, 0.6f64); // does not panic
debug_assert_appro_eq!(0f64, 1e-12f64); // does not panic
debug_assert_appro_eq!(vec![0f64, 1.0, 0.0], vec![1e-12f64, 1.0, -1e-13f64]); // does not panic
This example panics
debug_assert_appro_eq!(1f64, 2f64); // panics