pub struct IsClosePredicate { /* private fields */ }
Expand description

Predicate that ensures two numbers are “close” enough, understanding that rounding errors occur.

This is created by the predicate::float::is_close.

Implementations§

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);

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);

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§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Execute this Predicate against variable, returning the resulting boolean.
Find a case that proves this predicate as expected when run against variable.
Parameters of the current Predicate.
Nested Predicates of the current Predicate.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Compute the logical AND of two Predicate results, returning the result. Read more
Compute the logical OR of two Predicate results, returning the result. Read more
Compute the logical NOT of a Predicate, returning the result. Read more
Name a predicate expression. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.