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]
impl IsClosePredicate
pub fn distance(self, distance: <f64 as Ulps>::U) -> Self
[src]
pub fn distance(self, distance: <f64 as Ulps>::U) -> Self
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]
pub fn epsilon(self, epsilon: f64) -> Self
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]
pub fn ulps(self, ulps: <f64 as Ulps>::U) -> Self
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 Debug for IsClosePredicate
[src]
impl Debug for IsClosePredicate
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Clone for IsClosePredicate
[src]
impl Clone for IsClosePredicate
fn clone(&self) -> IsClosePredicate
[src]
fn clone(&self) -> IsClosePredicate
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Copy for IsClosePredicate
[src]
impl Copy for IsClosePredicate
impl PartialEq for IsClosePredicate
[src]
impl PartialEq for IsClosePredicate
fn eq(&self, other: &IsClosePredicate) -> bool
[src]
fn eq(&self, other: &IsClosePredicate) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &IsClosePredicate) -> bool
[src]
fn ne(&self, other: &IsClosePredicate) -> bool
This method tests for !=
.
impl Predicate<f64> for IsClosePredicate
[src]
impl Predicate<f64> for IsClosePredicate
fn eval(&self, variable: &f64) -> bool
[src]
fn eval(&self, variable: &f64) -> bool
Execute this Predicate
against variable
, returning the resulting boolean. Read more
fn find_case<'a>(&'a self, expected: bool, variable: &f64) -> Option<Case<'a>>
[src]
fn find_case<'a>(&'a self, expected: bool, variable: &f64) -> Option<Case<'a>>
Find a case that proves this predicate as expected
when run against variable
.
impl PredicateReflection for IsClosePredicate
[src]
impl PredicateReflection for IsClosePredicate
ⓘImportant traits for Box<R>fn parameters<'a>(&'a self) -> Box<Iterator<Item = Parameter<'a>> + 'a>
[src]
fn parameters<'a>(&'a self) -> Box<Iterator<Item = Parameter<'a>> + 'a>
Parameters of the current Predicate
.
ⓘImportant traits for Box<R>fn children(&'a self) -> Box<Iterator<Item = Child<'a>> + 'a>
[src]
fn children(&'a self) -> Box<Iterator<Item = Child<'a>> + 'a>
Nested Predicate
s of the current Predicate
.
impl Display for IsClosePredicate
[src]
impl Display for IsClosePredicate
Auto Trait Implementations
impl Send for IsClosePredicate
impl Send for IsClosePredicate
impl Sync for IsClosePredicate
impl Sync for IsClosePredicate