nalgebra_glm/ext/
vector_relational.rs1use crate::aliases::TVec;
2use crate::traits::Number;
3
4pub fn equal_eps<T: Number, const D: usize>(
12 x: &TVec<T, D>,
13 y: &TVec<T, D>,
14 epsilon: T,
15) -> TVec<bool, D> {
16 x.zip_map(y, |x, y| abs_diff_eq!(x, y, epsilon = epsilon))
17}
18
19pub fn equal_eps_vec<T: Number, const D: usize>(
27 x: &TVec<T, D>,
28 y: &TVec<T, D>,
29 epsilon: &TVec<T, D>,
30) -> TVec<bool, D> {
31 x.zip_zip_map(y, epsilon, |x, y, eps| abs_diff_eq!(x, y, epsilon = eps))
32}
33
34pub fn not_equal_eps<T: Number, const D: usize>(
42 x: &TVec<T, D>,
43 y: &TVec<T, D>,
44 epsilon: T,
45) -> TVec<bool, D> {
46 x.zip_map(y, |x, y| abs_diff_ne!(x, y, epsilon = epsilon))
47}
48
49pub fn not_equal_eps_vec<T: Number, const D: usize>(
57 x: &TVec<T, D>,
58 y: &TVec<T, D>,
59 epsilon: &TVec<T, D>,
60) -> TVec<bool, D> {
61 x.zip_zip_map(y, epsilon, |x, y, eps| abs_diff_ne!(x, y, epsilon = eps))
62}