Struct predicates::float::IsClosePredicate
[−]
[src]
pub struct IsClosePredicate { /* fields omitted */ }
Predicate that ensures two numbers are "close" enough, understanding that rounding errors occur.
This is created by the predicate::float::is_close
.
Methods
impl IsClosePredicate
[src]
pub fn distance(self, distance: <f64 as Ulps>::U) -> Self
[src]
Set the amount of error allowed.
Values 1
-5
should work in most cases. Sometimes more control is needed and you will
need to set IsClosePredicate::epsilon
separately from IsClosePredicate::ulps
.
Examples
use predicates::prelude::*; let a = 0.15_f64 + 0.15_f64 + 0.15_f64; let predicate_fn = predicate::float::is_close(a).distance(5);
pub fn epsilon(self, epsilon: f64) -> Self
[src]
Set the absolute deviation allowed.
This is meant to handle problems near 0
. Values 1.
-5.
epislons should work in most
cases.
Examples
use predicates::prelude::*; let a = 0.15_f64 + 0.15_f64 + 0.15_f64; let predicate_fn = predicate::float::is_close(a).epsilon(5.0 * ::std::f64::EPSILON);
pub fn ulps(self, ulps: <f64 as Ulps>::U) -> Self
[src]
Set the relative deviation allowed.
This is meant to handle large numbers. Values 1
-5
should work in most cases.
Examples
use predicates::prelude::*; let a = 0.15_f64 + 0.15_f64 + 0.15_f64; let predicate_fn = predicate::float::is_close(a).ulps(5);
Trait Implementations
impl Clone for IsClosePredicate
[src]
fn clone(&self) -> IsClosePredicate
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for IsClosePredicate
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Predicate<f64> for IsClosePredicate
[src]
fn eval(&self, variable: &f64) -> bool
[src]
Execute this Predicate
against variable
, returning the resulting boolean. Read more