Struct ordered_float::OrderedFloat
source · [−]#[repr(transparent)]pub struct OrderedFloat<T: Float>(pub T);
Expand description
A wrapper around Floats providing an implementation of Ord and Hash.
NaN is sorted as greater than all other values and equal to itself, in contradiction with the IEEE standard.
Tuple Fields
0: T
Implementations
sourceimpl<T: Float> OrderedFloat<T>
impl<T: Float> OrderedFloat<T>
sourcepub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Get the value out.
Trait Implementations
sourceimpl<T: Float> Add<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> Add<OrderedFloat<T>> for OrderedFloat<T>
type Output = OrderedFloat<T>
type Output = OrderedFloat<T>
The resulting type after applying the
+
operator.sourceimpl<T: Float> AsMut<T> for OrderedFloat<T>
impl<T: Float> AsMut<T> for OrderedFloat<T>
sourceimpl<T: Float> AsRef<T> for OrderedFloat<T>
impl<T: Float> AsRef<T> for OrderedFloat<T>
sourceimpl<T: Float> Bounded for OrderedFloat<T>
impl<T: Float> Bounded for OrderedFloat<T>
sourceimpl<T: Clone + Float> Clone for OrderedFloat<T>
impl<T: Clone + Float> Clone for OrderedFloat<T>
sourcefn clone(&self) -> OrderedFloat<T>
fn clone(&self) -> OrderedFloat<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl<T: Debug + Float> Debug for OrderedFloat<T>
impl<T: Debug + Float> Debug for OrderedFloat<T>
sourceimpl<T: Default + Float> Default for OrderedFloat<T>
impl<T: Default + Float> Default for OrderedFloat<T>
sourcefn default() -> OrderedFloat<T>
fn default() -> OrderedFloat<T>
Returns the “default value” for a type. Read more
sourceimpl<T: Float> Deref for OrderedFloat<T>
impl<T: Float> Deref for OrderedFloat<T>
sourceimpl<T: Float> DerefMut for OrderedFloat<T>
impl<T: Float> DerefMut for OrderedFloat<T>
sourceimpl<T: Float + Display> Display for OrderedFloat<T>
impl<T: Float + Display> Display for OrderedFloat<T>
sourceimpl<T: Float> Div<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> Div<OrderedFloat<T>> for OrderedFloat<T>
type Output = OrderedFloat<T>
type Output = OrderedFloat<T>
The resulting type after applying the
/
operator.sourceimpl<T: Float> From<T> for OrderedFloat<T>
impl<T: Float> From<T> for OrderedFloat<T>
sourceimpl<T: Float + FromStr> FromStr for OrderedFloat<T>
impl<T: Float + FromStr> FromStr for OrderedFloat<T>
sourcefn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Convert a &str to OrderedFloat
. Returns an error if the string fails to parse.
use ordered_float::OrderedFloat;
assert!("-10".parse::<OrderedFloat<f32>>().is_ok());
assert!("abc".parse::<OrderedFloat<f32>>().is_err());
assert!("NaN".parse::<OrderedFloat<f32>>().is_ok());
sourceimpl<T: Float> Hash for OrderedFloat<T>
impl<T: Float> Hash for OrderedFloat<T>
sourceimpl Into<f32> for OrderedFloat<f32>
impl Into<f32> for OrderedFloat<f32>
sourceimpl Into<f64> for OrderedFloat<f64>
impl Into<f64> for OrderedFloat<f64>
sourceimpl<T: Float> Mul<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> Mul<OrderedFloat<T>> for OrderedFloat<T>
type Output = OrderedFloat<T>
type Output = OrderedFloat<T>
The resulting type after applying the
*
operator.sourceimpl<T: Float> Neg for OrderedFloat<T>
impl<T: Float> Neg for OrderedFloat<T>
type Output = OrderedFloat<T>
type Output = OrderedFloat<T>
The resulting type after applying the
-
operator.sourceimpl<T: Float> Ord for OrderedFloat<T>
impl<T: Float> Ord for OrderedFloat<T>
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) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
sourcefn eq(&self, other: &OrderedFloat<T>) -> bool
fn eq(&self, other: &OrderedFloat<T>) -> bool
sourceimpl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
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 moresourceimpl<T: Float> Sub<OrderedFloat<T>> for OrderedFloat<T>
impl<T: Float> Sub<OrderedFloat<T>> for OrderedFloat<T>
type Output = OrderedFloat<T>
type Output = OrderedFloat<T>
The resulting type after applying the
-
operator.sourceimpl<T: Float> Zero for OrderedFloat<T>
impl<T: Float> Zero for OrderedFloat<T>
impl<T: Copy + Float> Copy for OrderedFloat<T>
impl<T: Float> Eq for OrderedFloat<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for OrderedFloat<T>where
T: RefUnwindSafe,
impl<T> Send for OrderedFloat<T>where
T: Send,
impl<T> Sync for OrderedFloat<T>where
T: Sync,
impl<T> Unpin for OrderedFloat<T>where
T: Unpin,
impl<T> UnwindSafe for OrderedFloat<T>where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
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