diff --git a/src/hyperfine/internal.rs b/src/hyperfine/internal.rs index 7139aad..b0b2ce7 100644 --- a/src/hyperfine/internal.rs +++ b/src/hyperfine/internal.rs @@ -136,11 +136,15 @@ pub fn write_benchmark_comparison(results: &[BenchmarkResult]) { #[test] fn test_max() { - assert_eq!(1.0, max(&[1.0])); - assert_eq!(-1.0, max(&[-1.0])); - assert_eq!(-1.0, max(&[-2.0, -1.0])); - assert_eq!(1.0, max(&[-1.0, 1.0])); - assert_eq!(1.0, max(&[-1.0, 1.0, 0.0])); + let assert_float_eq = |a, b| { + assert!((a - b) < f64::EPSILON); + }; + + assert_float_eq(1.0, max(&[1.0])); + assert_float_eq(-1.0, max(&[-1.0])); + assert_float_eq(-1.0, max(&[-2.0, -1.0])); + assert_float_eq(1.0, max(&[-1.0, 1.0])); + assert_float_eq(1.0, max(&[-1.0, 1.0, 0.0])); } #[cfg(test)] diff --git a/src/hyperfine/timer/unix_timer.rs b/src/hyperfine/timer/unix_timer.rs index f65b207..adfdc67 100644 --- a/src/hyperfine/timer/unix_timer.rs +++ b/src/hyperfine/timer/unix_timer.rs @@ -82,8 +82,8 @@ fn test_cpu_time_interval() { }; let t_zero = cpu_time_interval(&t_a, &t_a); - assert_eq!(0.0, t_zero.user); - assert_eq!(0.0, t_zero.system); + assert!(t_zero.user.abs() < f64::EPSILON); + assert!(t_zero.system.abs() < f64::EPSILON); let t_ab = cpu_time_interval(&t_a, &t_b); assert_relative_eq!(0.007655, t_ab.user);