color_space 0.5.4

library for converting between color spaces and comparing colors
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pub fn approx(a: f64, b: f64) -> bool {
    if a == b {
        return true;
    }
    let eps = 1e-2;
    let abs_a = a.abs();
    let abs_b = b.abs();
    let diff = (abs_a - abs_b).abs();
    if a == 0.0 || b == 0.0 || abs_a + abs_b < std::f64::EPSILON {
        diff < eps * std::f64::EPSILON
    } else {
        diff / (abs_a + abs_b).min(std::f64::MAX) < eps
    }
}