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
sourceimpl 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.
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Self where
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl 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.
sourceimpl 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));
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl 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.
Auto Trait Implementations
impl RefUnwindSafe for Float
impl Send for Float
impl Sync for Float
impl Unpin for Float
impl UnwindSafe for Float
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more