Struct approx::Relative[][src]

pub struct Relative<T: RelativeEq + ?Sized> {
    pub epsilon: T::Epsilon,
    pub max_relative: T::Epsilon,
}

The requisite parameters for testing for approximate equality using a relative based comparison.

This is not normally used directly, rather via the assert_relative_{eq|ne}! and relative_{eq|ne}! macros.

Example

use std::f64;
use approx::Relative;

Relative::default().eq(&1.0, &1.0);
Relative::default().epsilon(f64::EPSILON).eq(&1.0, &1.0);
Relative::default().max_relative(1.0).eq(&1.0, &1.0);
Relative::default().epsilon(f64::EPSILON).max_relative(1.0).eq(&1.0, &1.0);
Relative::default().max_relative(1.0).epsilon(f64::EPSILON).eq(&1.0, &1.0);

Fields

The tolerance to use when testing values that are close together.

The relative tolerance for testing values that are far-apart.

Methods

impl<T: RelativeEq + ?Sized> Relative<T>
[src]

Replace the epsilon value with the one specified.

Replace the maximum relative value with the one specified.

Peform the equality comparison

Peform the inequality comparison

Trait Implementations

impl<T: RelativeEq + ?Sized> Default for Relative<T>
[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl<T: ?Sized> Send for Relative<T> where
    <T as AbsDiffEq>::Epsilon: Send

impl<T: ?Sized> Sync for Relative<T> where
    <T as AbsDiffEq>::Epsilon: Sync