pub struct Float(_);
Expand description
A wrapper for f64
, which guarantees that the inner value
is finite and thus implements Eq
, Hash
and Ord
.
Implementations§
Trait Implementations§
source§impl Ord for Float
impl Ord for Float
Ordering comparison
In order to be able to use Float
as a mapping key, NaN floating values
wrapped in Float
are equals to each other and are less then any other
floating value. It is not the case for underlying f64
values itself. See
the PartialEq
implementation.
source§impl PartialEq<Float> for Float
impl PartialEq<Float> for Float
Partial equality comparison
In order to be able to use Number
as a mapping key, NaN floating values
wrapped in Float
are equals to each other. It is not the case for
underlying f64
values itself.
source§impl PartialOrd<Float> for Float
impl PartialOrd<Float> for Float
Partial ordering comparison
In order to be able to use Number
as a mapping key, NaN floating values
wrapped in Number
are equals to each other and are less then any other
floating value. It is not the case for the underlying f64
values themselves.
use ron::value::Number;
assert!(Number::new(std::f64::NAN) < Number::new(std::f64::NEG_INFINITY));
assert_eq!(Number::new(std::f64::NAN), Number::new(std::f64::NAN));
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Float
impl Eq for Float
Equality comparison
In order to be able to use Float
as a mapping key, NaN floating values
wrapped in Float
are equals to each other. It is not the case for
underlying f64
values itself.