Trait rin::math::UlpsEq [−][src]
pub trait UlpsEq<Rhs = Self>: AbsDiffEq<Rhs> where
Rhs: ?Sized, { pub fn default_max_ulps() -> u32; pub fn ulps_eq(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool; pub fn ulps_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool { ... } }
Equality comparisons between two numbers using both the absolute difference and ULPs (Units in Last Place) based comparisons.
Required methods
pub fn default_max_ulps() -> u32
[src]
The default ULPs to tolerate when testing values that are far-apart.
This is used when no max_ulps
value is supplied to the [ulps_eq
] macro.
pub fn ulps_eq(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool
A test for equality that uses units in the last place (ULP) if the values are far apart.
Provided methods
pub fn ulps_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool
The inverse of UlpsEq::ulps_eq
.
Implementations on Foreign Types
impl UlpsEq<f64> for f64
[src]
impl UlpsEq<f64> for f64
[src]impl UlpsEq<f32> for f32
[src]
impl UlpsEq<f32> for f32
[src]impl<'a, T> UlpsEq<&'a T> for &'a T where
T: UlpsEq<T> + ?Sized,
[src]
impl<'a, T> UlpsEq<&'a T> for &'a T where
T: UlpsEq<T> + ?Sized,
[src]impl<A, B> UlpsEq<[B]> for [A] where
A: UlpsEq<B>,
<A as AbsDiffEq<B>>::Epsilon: Clone,
[src]
impl<A, B> UlpsEq<[B]> for [A] where
A: UlpsEq<B>,
<A as AbsDiffEq<B>>::Epsilon: Clone,
[src]impl<'a, T> UlpsEq<&'a mut T> for &'a mut T where
T: UlpsEq<T> + ?Sized,
[src]
impl<'a, T> UlpsEq<&'a mut T> for &'a mut T where
T: UlpsEq<T> + ?Sized,
[src]impl<T> UlpsEq<Cell<T>> for Cell<T> where
T: UlpsEq<T> + Copy,
[src]
impl<T> UlpsEq<Cell<T>> for Cell<T> where
T: UlpsEq<T> + Copy,
[src]impl<T> UlpsEq<RefCell<T>> for RefCell<T> where
T: UlpsEq<T> + ?Sized,
[src]
impl<T> UlpsEq<RefCell<T>> for RefCell<T> where
T: UlpsEq<T> + ?Sized,
[src]Implementors
impl<N> UlpsEq<Quaternion<N>> for Quaternion<N> where
N: RealField<Epsilon = N> + UlpsEq<N>,
[src]
impl<N> UlpsEq<Quaternion<N>> for Quaternion<N> where
N: RealField<Epsilon = N> + UlpsEq<N>,
[src]pub fn default_max_ulps() -> u32
[src]
pub fn ulps_eq(
&self,
other: &Quaternion<N>,
epsilon: <Quaternion<N> as AbsDiffEq<Quaternion<N>>>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Quaternion<N>,
epsilon: <Quaternion<N> as AbsDiffEq<Quaternion<N>>>::Epsilon,
max_ulps: u32
) -> bool
impl<N> UlpsEq<Unit<Quaternion<N>>> for Unit<Quaternion<N>> where
N: RealField<Epsilon = N> + UlpsEq<N>,
[src]
impl<N> UlpsEq<Unit<Quaternion<N>>> for Unit<Quaternion<N>> where
N: RealField<Epsilon = N> + UlpsEq<N>,
[src]pub fn default_max_ulps() -> u32
[src]
pub fn ulps_eq(
&self,
other: &Unit<Quaternion<N>>,
epsilon: <Unit<Quaternion<N>> as AbsDiffEq<Unit<Quaternion<N>>>>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Unit<Quaternion<N>>,
epsilon: <Unit<Quaternion<N>> as AbsDiffEq<Unit<Quaternion<N>>>>::Epsilon,
max_ulps: u32
) -> bool
impl<N, D> UlpsEq<Point<N, D>> for Point<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, D> UlpsEq<Point<N, D>> for Point<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]impl<N, D> UlpsEq<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, D>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, D> UlpsEq<Rotation<N, D>> for Rotation<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, D>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]impl<N, D> UlpsEq<Translation<N, D>> for Translation<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, D> UlpsEq<Translation<N, D>> for Translation<N, D> where
N: Scalar + UlpsEq<N>,
D: DimName,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]pub fn default_max_ulps() -> u32
[src]
pub fn ulps_eq(
&self,
other: &Translation<N, D>,
epsilon: <Translation<N, D> as AbsDiffEq<Translation<N, D>>>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Translation<N, D>,
epsilon: <Translation<N, D> as AbsDiffEq<Translation<N, D>>>::Epsilon,
max_ulps: u32
) -> bool
impl<N, D, C> UlpsEq<Transform<N, D, C>> for Transform<N, D, C> where
C: TCategory,
N: RealField,
D: DimNameAdd<U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
[src]
impl<N, D, C> UlpsEq<Transform<N, D, C>> for Transform<N, D, C> where
C: TCategory,
N: RealField,
D: DimNameAdd<U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
DefaultAllocator: Allocator<N, <D as DimNameAdd<U1>>::Output, <D as DimNameAdd<U1>>::Output>,
[src]impl<N, D, R> UlpsEq<Isometry<N, D, R>> for Isometry<N, D, R> where
N: RealField,
D: DimName,
R: AbstractRotation<N, D> + UlpsEq<R, Epsilon = <N as AbsDiffEq<N>>::Epsilon>,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, D, R> UlpsEq<Isometry<N, D, R>> for Isometry<N, D, R> where
N: RealField,
D: DimName,
R: AbstractRotation<N, D> + UlpsEq<R, Epsilon = <N as AbsDiffEq<N>>::Epsilon>,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]impl<N, D, R> UlpsEq<Similarity<N, D, R>> for Similarity<N, D, R> where
N: RealField,
D: DimName,
R: AbstractRotation<N, D> + UlpsEq<R, Epsilon = <N as AbsDiffEq<N>>::Epsilon>,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, D, R> UlpsEq<Similarity<N, D, R>> for Similarity<N, D, R> where
N: RealField,
D: DimName,
R: AbstractRotation<N, D> + UlpsEq<R, Epsilon = <N as AbsDiffEq<N>>::Epsilon>,
DefaultAllocator: Allocator<N, D, U1>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]pub fn default_max_ulps() -> u32
[src]
pub fn ulps_eq(
&self,
other: &Similarity<N, D, R>,
epsilon: <Similarity<N, D, R> as AbsDiffEq<Similarity<N, D, R>>>::Epsilon,
max_ulps: u32
) -> bool
[src]
&self,
other: &Similarity<N, D, R>,
epsilon: <Similarity<N, D, R> as AbsDiffEq<Similarity<N, D, R>>>::Epsilon,
max_ulps: u32
) -> bool
impl<N, R, C, S> UlpsEq<Matrix<N, R, C, S>> for Matrix<N, R, C, S> where
C: Dim,
N: Scalar + UlpsEq<N>,
R: Dim,
S: Storage<N, R, C>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]
impl<N, R, C, S> UlpsEq<Matrix<N, R, C, S>> for Matrix<N, R, C, S> where
C: Dim,
N: Scalar + UlpsEq<N>,
R: Dim,
S: Storage<N, R, C>,
<N as AbsDiffEq<N>>::Epsilon: Copy,
[src]