pub trait ApproxEq: Sized {
type Epsilon;
// Required methods
fn default_epsilon() -> Self::Epsilon;
fn default_max_relative() -> Self::Epsilon;
fn default_max_ulps() -> u32;
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool;
fn ulps_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool;
// Provided methods
fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool { ... }
fn ulps_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_ulps: u32
) -> bool { ... }
}
Expand description
Equality comparisons based on floating point tolerances.
Required Associated Types§
Required Methods§
sourcefn default_epsilon() -> Self::Epsilon
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 relative_eq
or ulps_eq
macros.
sourcefn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
The default relative tolerance for testing values that are far-apart.
This is used when no max_relative
value is supplied to the relative_eq
macro.
sourcefn default_max_ulps() -> u32
fn default_max_ulps() -> u32
The default ULPs to tolerate when testing values that are far-apart.
This is used when no max_relative
value is supplied to the relative_eq
macro.