Hello, we have found a vulnerability in this repository, which may present serious security risks. However, we have been unable to locate a contact email to report the details of this vulnerability. We would like to know if you can provide an email address to confidentially discuss this matter and avoid public disclosure.
In your current implementation you use 1e-6 as epsilon for f32 trait impl and 1e-11 as epsilon for f64. Are there some specific rationals why you use those "magic numbers" instead of the standard defined f32::EPSILON and f64::EPSILON?
If not, you might consider using them as their usage rationals are less confusing for the library users. :)
I wonder if it is possible to simply use the all_close method from ArrayBase provided by the ndarray crate itself to simplify the implementation of the trait of this library. It also offers an eps value for approximate equality.
The rust standard library defines a debug_assert macro corresponding to the assert macro that is activated only in debug mode but disabled in release builds to not negatively impact release build performance.
You may want this for your library as debug_assert_nearly_eq.