Skip to main content

geomatic/
util.rs

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}