use approx::AbsDiffEq; use na::DefaultAllocator; use traits::{Alloc, Number, Dimension}; use aliases::Vec; /// Componentwise approximate equality beween two vectors. pub fn epsilon_equal(x: &Vec, y: &Vec, epsilon: N) -> Vec where DefaultAllocator: Alloc { x.zip_map(y, |x, y| abs_diff_eq!(x, y, epsilon = epsilon)) } /// Componentwise approximate equality beween two scalars. pub fn epsilon_equal2>(x: N, y: N, epsilon: N) -> bool { abs_diff_eq!(x, y, epsilon = epsilon) } /// Componentwise approximate non-equality beween two vectors. pub fn epsilon_not_equal(x: &Vec, y: &Vec, epsilon: N) -> Vec where DefaultAllocator: Alloc { x.zip_map(y, |x, y| abs_diff_ne!(x, y, epsilon = epsilon)) } /// Componentwise approximate non-equality beween two scalars. pub fn epsilon_not_equal2>(x: N, y: N, epsilon: N) -> bool { abs_diff_ne!(x, y, epsilon = epsilon) }