Struct predicates::float::IsClosePredicate [−][src]
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]
pub fn distance(mut self: 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(mut self: 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(mut self: 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]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for IsClosePredicate
[src]
impl Debug for IsClosePredicate
[src]
impl Display 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]
fn eval(&self, variable: &f64) -> bool
[src]
fn find_case<'a>(&'a self, expected: bool, variable: &f64) -> Option<Case<'a>>
[src]
impl PredicateReflection for IsClosePredicate
[src]
fn parameters<'a>(&'a self) -> Box<dyn Iterator<Item = Parameter<'a>> + 'a>
[src]
pub fn children(&'a self) -> Box<dyn Iterator<Item = Child<'a>> + 'a, Global>
[src]
impl StructuralPartialEq for IsClosePredicate
[src]
Auto Trait Implementations
impl RefUnwindSafe for IsClosePredicate
[src]
impl Send for IsClosePredicate
[src]
impl Sync for IsClosePredicate
[src]
impl Unpin for IsClosePredicate
[src]
impl UnwindSafe for IsClosePredicate
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<P, Item> PredicateBooleanExt<Item> for P where
Item: ?Sized,
P: Predicate<Item>,
[src]
Item: ?Sized,
P: Predicate<Item>,
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]
Item: ?Sized,
P: Predicate<Item>,
fn name(self, name: &'static str) -> NamePredicate<Self, Item> where
Self: Sized,
[src]
Self: Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,