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
.
Implementations
impl IsClosePredicate
[src]
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]
impl Clone for IsClosePredicate
[src]fn clone(&self) -> IsClosePredicate
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for IsClosePredicate
[src]
impl Copy for IsClosePredicate
[src]impl PartialEq<IsClosePredicate> for IsClosePredicate
[src]
impl PartialEq<IsClosePredicate> for IsClosePredicate
[src]fn eq(&self, other: &IsClosePredicate) -> bool
[src]
fn ne(&self, other: &IsClosePredicate) -> bool
[src]
impl Predicate<f64> for IsClosePredicate
[src]
impl Predicate<f64> for IsClosePredicate
[src]impl PredicateReflection for IsClosePredicate
[src]
impl PredicateReflection for IsClosePredicate
[src]impl StructuralPartialEq for IsClosePredicate
[src]
impl StructuralPartialEq for IsClosePredicate
[src]Auto Trait Implementations
impl RefUnwindSafe for IsClosePredicate
impl RefUnwindSafe for IsClosePredicate
impl Send for IsClosePredicate
impl Send for IsClosePredicate
impl Sync for IsClosePredicate
impl Sync for IsClosePredicate
impl Unpin for IsClosePredicate
impl Unpin for IsClosePredicate
impl UnwindSafe for IsClosePredicate
impl UnwindSafe for IsClosePredicate
Blanket Implementations
impl<P, Item> PredicateBooleanExt<Item> for P where
Item: ?Sized,
P: Predicate<Item>,
[src]
impl<P, Item> PredicateBooleanExt<Item> for P where
Item: ?Sized,
P: Predicate<Item>,
[src]fn and<B>(self, other: B) -> AndPredicate<Self, B, Item> where
B: Predicate<Item>,
Self: Sized,
[src]
B: Predicate<Item>,
Self: Sized,
fn or<B>(self, other: B) -> OrPredicate<Self, B, Item> where
B: Predicate<Item>,
Self: Sized,
[src]
B: Predicate<Item>,
Self: Sized,
fn not(self) -> NotPredicate<Self, Item> where
Self: Sized,
[src]
Self: Sized,
impl<P, Item> PredicateNameExt<Item> for P where
Item: ?Sized,
P: Predicate<Item>,
[src]
impl<P, Item> PredicateNameExt<Item> for P where
Item: ?Sized,
P: Predicate<Item>,
[src]fn name(self, name: &'static str) -> NamePredicate<Self, Item> where
Self: Sized,
[src]
Self: Sized,