pub trait ApproxEqCairo: ApproxEq {
    // Required method
    fn approx_eq_cairo(self, other: Self) -> bool;
}
Expand description

Checks whether two floating-point numbers are approximately equal, considering Cairo’s limitations on numeric representation.

Cairo uses fixed-point numbers internally. We implement this trait for f64, so that two numbers can be considered “close enough to equal” if their absolute difference is smaller than the smallest fixed-point fraction that Cairo can represent.

Note that this trait is reliable even if the given numbers are outside of the range that Cairo’s fixed-point numbers can represent. In that case, we check for the absolute difference, and finally allow a difference of 1 unit-in-the-last-place (ULP) for very large f64 values.

Required Methods§

source

fn approx_eq_cairo(self, other: Self) -> bool

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ApproxEqCairo for f64

source§

fn approx_eq_cairo(self, other: f64) -> bool

Implementors§