Struct approx::Ulps
[−]
[src]
pub struct Ulps<'a, T: 'a + ApproxEq> { pub lhs: &'a T, pub rhs: &'a T, pub epsilon: T::Epsilon, pub max_ulps: u32, }
The requisite parameters for testing for approximate equality.
Fields
lhs: &'a T
The left-hand side of the approximate equality comparison.
rhs: &'a T
The right-hand side of the approximate equality comparison.
epsilon: T::Epsilon
The tolerance to use when testing values that are close together.
max_ulps: u32
The ULPs to tolerate when testing values that are far-apart.
Methods
impl<'a, T> Ulps<'a, T> where T: ApproxEq
[src]
fn new(lhs: &'a T, rhs: &'a T) -> Ulps<'a, T>
The beginning of a chained equality expression, using an ULPs based comparison.
use std::f64; use approx::Ulps; Ulps::new(&1.0, &1.0).eq(); Ulps::new(&1.0, &1.0).epsilon(f64::EPSILON).eq(); Ulps::new(&1.0, &1.0).max_ulps(4).eq(); Ulps::new(&1.0, &1.0).epsilon(f64::EPSILON).max_ulps(4).eq(); Ulps::new(&1.0, &1.0).max_ulps(4).epsilon(f64::EPSILON).eq();
fn epsilon(self, epsilon: T::Epsilon) -> Ulps<'a, T>
Replace the epsilon value with the one specified.
fn max_ulps(self, max_ulps: u32) -> Ulps<'a, T>
Replace the max ulps value with the one specified.
fn eq(self) -> bool
Peform the equality comparison
fn ne(self) -> bool
Peform the inequality comparison