1#[cfg(test)]
2pub fn approx_eq(a: f64, b: f64, eps: f64) -> bool {
3 (a-b).abs() < eps
4}
5
6#[cfg(test)]
7pub fn assert_approx_eq(a: f64, b: f64, eps: f64) {
8 dbg!((a, b));
9 assert!(approx_eq(a, b, eps));
10}
11
12#[cfg(test)]
13mod tests {
14 use super::*;
15
16 #[test]
17 fn test_approx_eq() {
18 assert_eq!(approx_eq(1.0, 1.0, 1e-5), true);
19 assert_eq!(approx_eq(-1.0, -1.0, 1e-5), true);
20 assert_eq!(approx_eq(0.0, 1e-6, 1e-5), true);
21 assert_eq!(approx_eq(0.0, -1e-6, 1e-5), true);
22 assert_eq!(approx_eq(2.0, 2.1, 1e-5), false);
23 assert_eq!(approx_eq(2.0, 2.1, 0.5), true);
24 assert_approx_eq(2.0, 2.1, 0.5);
25 }
26}