Trait usvgr::ApproxEq

source ·
pub trait ApproxEq: Sized {
    type Margin: Copy + Default;

    // Required method
    fn approx_eq<M>(self, other: Self, margin: M) -> bool
       where M: Into<Self::Margin>;

    // Provided method
    fn approx_ne<M>(self, other: Self, margin: M) -> bool
       where M: Into<Self::Margin> { ... }
}
Expand description

A trait for approximate equality comparisons.

Required Associated Types§

source

type Margin: Copy + Default

This type type defines a margin within which two values are to be considered approximately equal. It must implement Default so that approx_eq() can be called on unknown types.

Required Methods§

source

fn approx_eq<M>(self, other: Self, margin: M) -> bool
where M: Into<Self::Margin>,

This method tests that the self and other values are equal within margin of each other.

Provided Methods§

source

fn approx_ne<M>(self, other: Self, margin: M) -> bool
where M: Into<Self::Margin>,

This method tests that the self and other values are not within margin of each other.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ApproxEq for f32

§

type Margin = F32Margin

source§

fn approx_eq<M>(self, other: f32, margin: M) -> bool
where M: Into<<f32 as ApproxEq>::Margin>,

source§

impl ApproxEq for f64

§

type Margin = F64Margin

source§

fn approx_eq<M>(self, other: f64, margin: M) -> bool
where M: Into<<f64 as ApproxEq>::Margin>,

source§

impl ApproxEq for FiniteF32

§

type Margin = F32Margin

source§

fn approx_eq<M>(self, other: FiniteF32, margin: M) -> bool
where M: Into<<FiniteF32 as ApproxEq>::Margin>,

source§

impl ApproxEq for FiniteF64

§

type Margin = F64Margin

source§

fn approx_eq<M>(self, other: FiniteF64, margin: M) -> bool
where M: Into<<FiniteF64 as ApproxEq>::Margin>,

source§

impl ApproxEq for NonZeroPositiveF32

§

type Margin = F32Margin

source§

fn approx_eq<M>(self, other: NonZeroPositiveF32, margin: M) -> bool

source§

impl ApproxEq for NormalizedF32

§

type Margin = F32Margin

source§

fn approx_eq<M>(self, other: NormalizedF32, margin: M) -> bool

source§

impl ApproxEq for PositiveF32

§

type Margin = F32Margin

source§

fn approx_eq<M>(self, other: PositiveF32, margin: M) -> bool
where M: Into<<PositiveF32 as ApproxEq>::Margin>,

source§

impl<T> ApproxEq for &[T]
where T: Copy + ApproxEq,

§

type Margin = <T as ApproxEq>::Margin

source§

fn approx_eq<M>(self, other: &[T], margin: M) -> bool
where M: Into<<&[T] as ApproxEq>::Margin>,

Implementors§