Trait cgmath::UlpsEq

source ·
pub trait UlpsEq<Rhs = Self>: AbsDiffEq<Rhs>where
    Rhs: ?Sized,{
    // Required methods
    fn default_max_ulps() -> u32;
    fn ulps_eq(
        &self,
        other: &Rhs,
        epsilon: Self::Epsilon,
        max_ulps: u32
    ) -> bool;

    // Provided method
    fn ulps_ne(
        &self,
        other: &Rhs,
        epsilon: Self::Epsilon,
        max_ulps: u32
    ) -> bool { ... }
}
Expand description

Equality comparisons between two numbers using both the absolute difference and ULPs (Units in Last Place) based comparisons.

Required Methods§

source

fn default_max_ulps() -> u32

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.

source

fn ulps_eq(&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§

source

fn ulps_ne(&self, other: &Rhs, epsilon: Self::Epsilon, max_ulps: u32) -> bool

The inverse of ApproxEq::ulps_eq.

Implementations on Foreign Types§

source§

impl UlpsEq<f32> for f32

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq(&self, other: &f32, epsilon: f32, max_ulps: u32) -> bool

source§

impl UlpsEq<f64> for f64

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq(&self, other: &f64, epsilon: f64, max_ulps: u32) -> bool

source§

impl<T> UlpsEq<RefCell<T>> for RefCell<T>where T: UlpsEq<T> + ?Sized,

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq( &self, other: &RefCell<T>, epsilon: <T as AbsDiffEq<T>>::Epsilon, max_ulps: u32 ) -> bool

source§

impl<T> UlpsEq<Cell<T>> for Cell<T>where T: UlpsEq<T> + Copy,

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq( &self, other: &Cell<T>, epsilon: <T as AbsDiffEq<T>>::Epsilon, max_ulps: u32 ) -> bool

source§

impl<'a, T> UlpsEq<&'a mut T> for &'a mut Twhere T: UlpsEq<T> + ?Sized,

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq( &self, other: &&'a mut T, epsilon: <T as AbsDiffEq<T>>::Epsilon, max_ulps: u32 ) -> bool

source§

impl<'a, T> UlpsEq<&'a T> for &'a Twhere T: UlpsEq<T> + ?Sized,

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq( &self, other: &&'a T, epsilon: <T as AbsDiffEq<T>>::Epsilon, max_ulps: u32 ) -> bool

source§

impl<A, B> UlpsEq<[B]> for [A]where A: UlpsEq<B>, <A as AbsDiffEq<B>>::Epsilon: Clone,

source§

fn default_max_ulps() -> u32

source§

fn ulps_eq( &self, other: &[B], epsilon: <A as AbsDiffEq<B>>::Epsilon, max_ulps: u32 ) -> bool

Implementors§

source§

impl<A: Angle> UlpsEq<Euler<A>> for Euler<A>

source§

impl<S, R, E: BaseFloat> UlpsEq<Decomposed<S, R>> for Decomposed<S, R>where S: UlpsEq<Epsilon = E> + VectorSpace, S::Scalar: UlpsEq<Epsilon = E>, R: UlpsEq<Epsilon = E>,

source§

impl<S: BaseFloat> UlpsEq<Basis2<S>> for Basis2<S>

source§

impl<S: BaseFloat> UlpsEq<Basis3<S>> for Basis3<S>

source§

impl<S: BaseFloat> UlpsEq<Deg<S>> for Deg<S>

source§

impl<S: BaseFloat> UlpsEq<Matrix2<S>> for Matrix2<S>

source§

impl<S: BaseFloat> UlpsEq<Matrix3<S>> for Matrix3<S>

source§

impl<S: BaseFloat> UlpsEq<Matrix4<S>> for Matrix4<S>

source§

impl<S: BaseFloat> UlpsEq<Point1<S>> for Point1<S>

source§

impl<S: BaseFloat> UlpsEq<Point2<S>> for Point2<S>

source§

impl<S: BaseFloat> UlpsEq<Point3<S>> for Point3<S>

source§

impl<S: BaseFloat> UlpsEq<Quaternion<S>> for Quaternion<S>

source§

impl<S: BaseFloat> UlpsEq<Rad<S>> for Rad<S>

source§

impl<S: BaseFloat> UlpsEq<Vector1<S>> for Vector1<S>

source§

impl<S: BaseFloat> UlpsEq<Vector2<S>> for Vector2<S>

source§

impl<S: BaseFloat> UlpsEq<Vector3<S>> for Vector3<S>

source§

impl<S: BaseFloat> UlpsEq<Vector4<S>> for Vector4<S>