nalgebra_glm/gtc/epsilon.rs
1// NOTE those are actually duplicates of vector_relational.rs
2
3/*
4use approx::AbsDiffEq;
5use na::DefaultAllocator;
6
7use crate::traits::{Alloc, Number, Dimension};
8use crate::aliases::TVec;
9
10/// Component-wise approximate equality between two vectors.
11pub fn epsilon_equal<T: Number, const D: usize>(x: &TVec<T, D>, y: &TVec<T, D>, epsilon: T) -> TVec<bool, D>
12 where DefaultAllocator: Alloc<T, D> {
13 x.zip_map(y, |x, y| abs_diff_eq!(x, y, epsilon = epsilon))
14}
15
16/// Component-wise approximate equality between two scalars.
17pub fn epsilon_equal2<T: AbsDiffEq<Epsilon = T>>(x: T, y: T, epsilon: T) -> bool {
18 abs_diff_eq!(x, y, epsilon = epsilon)
19}
20
21/// Component-wise approximate non-equality between two vectors.
22pub fn epsilon_not_equal<T: Number, const D: usize>(x: &TVec<T, D>, y: &TVec<T, D>, epsilon: T) -> TVec<bool, D>
23 where DefaultAllocator: Alloc<T, D> {
24 x.zip_map(y, |x, y| abs_diff_ne!(x, y, epsilon = epsilon))
25}
26
27/// Component-wise approximate non-equality between two scalars.
28pub fn epsilon_not_equal2<T: AbsDiffEq<Epsilon = T>>(x: T, y: T, epsilon: T) -> bool {
29 abs_diff_ne!(x, y, epsilon = epsilon)
30}
31*/