pub trait AbsDiffEq<Rhs = Self>: PartialEq<Rhs>
where Rhs: ?Sized,
{ type Epsilon; // Required methods fn default_epsilon() -> Self::Epsilon; fn abs_diff_eq(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool; // Provided method fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool { ... } }
Expand description

Equality that is defined using the absolute difference of two numbers.

Required Associated Types§

type Epsilon

Used for specifying relative comparisons.

Required Methods§

fn default_epsilon() -> Self::Epsilon

The default tolerance to use when testing values that are close together.

This is used when no epsilon value is supplied to the [abs_diff_eq!], [relative_eq!], or [ulps_eq!] macros.

fn abs_diff_eq(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool

A test for equality that uses the absolute difference to compute the approximate equality of two numbers.

Provided Methods§

fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool

The inverse of AbsDiffEq::abs_diff_eq.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl AbsDiffEq for f32

§

type Epsilon = f32

§

fn default_epsilon() -> f32

§

fn abs_diff_eq(&self, other: &f32, epsilon: f32) -> bool

§

impl AbsDiffEq for f64

§

type Epsilon = f64

§

fn default_epsilon() -> f64

§

fn abs_diff_eq(&self, other: &f64, epsilon: f64) -> bool

§

impl AbsDiffEq for i8

§

type Epsilon = i8

§

fn default_epsilon() -> i8

§

fn abs_diff_eq(&self, other: &i8, epsilon: i8) -> bool

§

impl AbsDiffEq for i16

§

type Epsilon = i16

§

fn default_epsilon() -> i16

§

fn abs_diff_eq(&self, other: &i16, epsilon: i16) -> bool

§

impl AbsDiffEq for i32

§

type Epsilon = i32

§

fn default_epsilon() -> i32

§

fn abs_diff_eq(&self, other: &i32, epsilon: i32) -> bool

§

impl AbsDiffEq for i64

§

type Epsilon = i64

§

fn default_epsilon() -> i64

§

fn abs_diff_eq(&self, other: &i64, epsilon: i64) -> bool

§

impl AbsDiffEq for isize

§

type Epsilon = isize

§

fn default_epsilon() -> isize

§

fn abs_diff_eq(&self, other: &isize, epsilon: isize) -> bool

§

impl AbsDiffEq for u8

§

type Epsilon = u8

§

fn default_epsilon() -> u8

§

fn abs_diff_eq(&self, other: &u8, epsilon: u8) -> bool

§

impl AbsDiffEq for u16

§

type Epsilon = u16

§

fn default_epsilon() -> u16

§

fn abs_diff_eq(&self, other: &u16, epsilon: u16) -> bool

§

impl AbsDiffEq for u32

§

type Epsilon = u32

§

fn default_epsilon() -> u32

§

fn abs_diff_eq(&self, other: &u32, epsilon: u32) -> bool

§

impl AbsDiffEq for u64

§

type Epsilon = u64

§

fn default_epsilon() -> u64

§

fn abs_diff_eq(&self, other: &u64, epsilon: u64) -> bool

§

impl AbsDiffEq for usize

§

type Epsilon = usize

§

fn default_epsilon() -> usize

§

fn abs_diff_eq(&self, other: &usize, epsilon: usize) -> bool

§

impl<'a, T> AbsDiffEq for &'a T
where T: AbsDiffEq + ?Sized,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

§

fn default_epsilon() -> <T as AbsDiffEq>::Epsilon

§

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

§

impl<'a, T> AbsDiffEq for &'a mut T
where T: AbsDiffEq + ?Sized,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

§

fn default_epsilon() -> <T as AbsDiffEq>::Epsilon

§

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

§

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

§

type Epsilon = <A as AbsDiffEq<B>>::Epsilon

§

fn default_epsilon() -> <A as AbsDiffEq<B>>::Epsilon

§

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

§

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

§

type Epsilon = <T as AbsDiffEq>::Epsilon

§

fn default_epsilon() -> <T as AbsDiffEq>::Epsilon

§

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

§

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

§

type Epsilon = <T as AbsDiffEq>::Epsilon

§

fn default_epsilon() -> <T as AbsDiffEq>::Epsilon

§

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

Implementors§

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_c::row_major::Mat2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_c::row_major::Mat3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_c::row_major::Mat4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::column_major::Mat2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::column_major::Mat3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::column_major::Mat4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::row_major::Mat2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::row_major::Mat3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::mat::repr_simd::row_major::Mat4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::quaternion::repr_simd::Quaternion<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Extent2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Extent3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Mat2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Mat3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Mat4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Quaternion<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Rgb<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Rgba<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Vec2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Vec3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::Vec4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Extent2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Extent3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Rgb<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Rgba<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Vec2<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Vec3<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon

source§

impl<T> AbsDiffEq for pixel_game_lib::vec::repr_simd::Vec4<T>
where T: AbsDiffEq, <T as AbsDiffEq>::Epsilon: Copy,

§

type Epsilon = <T as AbsDiffEq>::Epsilon