Struct ordered_float::OrderedFloat [−][src]
#[repr(transparent)]pub struct OrderedFloat<T>(pub T);
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.
Implementations
impl<T: Float> OrderedFloat<T>
[src]
impl<T: Float> OrderedFloat<T>
[src]pub fn into_inner(self) -> T
[src]
Get the value out.
Trait Implementations
impl<T: Add> Add<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Add> Add<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Add> Add<T> for OrderedFloat<T>
[src]
impl<T: Add> Add<T> for OrderedFloat<T>
[src]impl<T: Bounded> Bounded for OrderedFloat<T>
[src]
impl<T: Bounded> Bounded for OrderedFloat<T>
[src]impl<T: Clone> Clone for OrderedFloat<T>
[src]
impl<T: Clone> Clone for OrderedFloat<T>
[src]fn clone(&self) -> OrderedFloat<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Copy> Copy for OrderedFloat<T>
[src]
impl<T: Copy> Copy for OrderedFloat<T>
[src]impl<T: Default> Default for OrderedFloat<T>
[src]
impl<T: Default> Default for OrderedFloat<T>
[src]fn default() -> OrderedFloat<T>
[src]
impl<T: Float> Deref for OrderedFloat<T>
[src]
impl<T: Float> Deref for OrderedFloat<T>
[src]impl<T: Float + Display> Display for OrderedFloat<T>
[src]
impl<T: Float + Display> Display for OrderedFloat<T>
[src]impl<T: Div> Div<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Div> Div<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Div> Div<T> for OrderedFloat<T>
[src]
impl<T: Div> Div<T> for OrderedFloat<T>
[src]impl<T: Float> Eq for OrderedFloat<T>
[src]
impl<T: Float> Eq for OrderedFloat<T>
[src]impl<T: Float> Float for OrderedFloat<T>
[src]
impl<T: Float> Float for OrderedFloat<T>
[src]fn nan() -> Self
[src]
fn infinity() -> Self
[src]
fn neg_infinity() -> Self
[src]
fn neg_zero() -> Self
[src]
fn min_value() -> Self
[src]
fn min_positive_value() -> Self
[src]
fn max_value() -> Self
[src]
fn is_nan(self) -> bool
[src]
fn is_infinite(self) -> bool
[src]
fn is_finite(self) -> bool
[src]
fn is_normal(self) -> bool
[src]
fn classify(self) -> FpCategory
[src]
fn floor(self) -> Self
[src]
fn ceil(self) -> Self
[src]
fn round(self) -> Self
[src]
fn trunc(self) -> Self
[src]
fn fract(self) -> Self
[src]
fn abs(self) -> Self
[src]
fn signum(self) -> Self
[src]
fn is_sign_positive(self) -> bool
[src]
fn is_sign_negative(self) -> bool
[src]
fn mul_add(self, a: Self, b: Self) -> Self
[src]
fn recip(self) -> Self
[src]
fn powi(self, n: i32) -> Self
[src]
fn powf(self, n: Self) -> Self
[src]
fn sqrt(self) -> Self
[src]
fn exp(self) -> Self
[src]
fn exp2(self) -> Self
[src]
fn ln(self) -> Self
[src]
fn log(self, base: Self) -> Self
[src]
fn log2(self) -> Self
[src]
fn log10(self) -> Self
[src]
fn max(self, other: Self) -> Self
[src]
fn min(self, other: Self) -> Self
[src]
fn abs_sub(self, other: Self) -> Self
[src]
fn cbrt(self) -> Self
[src]
fn hypot(self, other: Self) -> Self
[src]
fn sin(self) -> Self
[src]
fn cos(self) -> Self
[src]
fn tan(self) -> Self
[src]
fn asin(self) -> Self
[src]
fn acos(self) -> Self
[src]
fn atan(self) -> Self
[src]
fn atan2(self, other: Self) -> Self
[src]
fn sin_cos(self) -> (Self, Self)
[src]
fn exp_m1(self) -> Self
[src]
fn ln_1p(self) -> Self
[src]
fn sinh(self) -> Self
[src]
fn cosh(self) -> Self
[src]
fn tanh(self) -> Self
[src]
fn asinh(self) -> Self
[src]
fn acosh(self) -> Self
[src]
fn atanh(self) -> Self
[src]
fn integer_decode(self) -> (u64, i16, i8)
[src]
fn epsilon() -> Self
[src]
fn to_degrees(self) -> Self
[src]
fn to_radians(self) -> Self
[src]
impl<T: Float> FloatCore for OrderedFloat<T>
[src]
impl<T: Float> FloatCore for OrderedFloat<T>
[src]fn nan() -> Self
[src]
fn infinity() -> Self
[src]
fn neg_infinity() -> Self
[src]
fn neg_zero() -> Self
[src]
fn min_value() -> Self
[src]
fn min_positive_value() -> Self
[src]
fn max_value() -> Self
[src]
fn is_nan(self) -> bool
[src]
fn is_infinite(self) -> bool
[src]
fn is_finite(self) -> bool
[src]
fn is_normal(self) -> bool
[src]
fn classify(self) -> FpCategory
[src]
fn floor(self) -> Self
[src]
fn ceil(self) -> Self
[src]
fn round(self) -> Self
[src]
fn trunc(self) -> Self
[src]
fn fract(self) -> Self
[src]
fn abs(self) -> Self
[src]
fn signum(self) -> Self
[src]
fn is_sign_positive(self) -> bool
[src]
fn is_sign_negative(self) -> bool
[src]
fn recip(self) -> Self
[src]
fn powi(self, n: i32) -> Self
[src]
fn integer_decode(self) -> (u64, i16, i8)
[src]
fn epsilon() -> Self
[src]
fn to_degrees(self) -> Self
[src]
fn to_radians(self) -> Self
[src]
pub fn min(self, other: Self) -> Self
[src]
pub fn max(self, other: Self) -> Self
[src]
impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
[src]
impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
[src]fn from(t: &'a T) -> &'a OrderedFloat<T>
[src]
impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
[src]
impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
[src]fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
[src]
impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
[src]
impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
[src]fn from_i64(n: i64) -> Option<Self>
[src]
fn from_u64(n: u64) -> Option<Self>
[src]
fn from_isize(n: isize) -> Option<Self>
[src]
fn from_i8(n: i8) -> Option<Self>
[src]
fn from_i16(n: i16) -> Option<Self>
[src]
fn from_i32(n: i32) -> Option<Self>
[src]
fn from_usize(n: usize) -> Option<Self>
[src]
fn from_u8(n: u8) -> Option<Self>
[src]
fn from_u16(n: u16) -> Option<Self>
[src]
fn from_u32(n: u32) -> Option<Self>
[src]
fn from_f32(n: f32) -> Option<Self>
[src]
fn from_f64(n: f64) -> Option<Self>
[src]
pub fn from_i128(n: i128) -> Option<Self>
[src]
pub fn from_u128(n: u128) -> Option<Self>
[src]
impl<T: FromStr> FromStr for OrderedFloat<T>
[src]
impl<T: FromStr> FromStr for OrderedFloat<T>
[src]type Err = T::Err
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
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());
impl<T: Float> Hash for OrderedFloat<T>
[src]
impl<T: Float> Hash for OrderedFloat<T>
[src]impl<T: Mul> Mul<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Mul> Mul<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Mul> Mul<T> for OrderedFloat<T>
[src]
impl<T: Mul> Mul<T> for OrderedFloat<T>
[src]impl<T: Neg> Neg for OrderedFloat<T>
[src]
impl<T: Neg> Neg for OrderedFloat<T>
[src]impl<T: Float + Num> Num for OrderedFloat<T>
[src]
impl<T: Float + Num> Num for OrderedFloat<T>
[src]type FromStrRadixErr = T::FromStrRadixErr
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
[src]
impl<T: NumCast> NumCast for OrderedFloat<T>
[src]
impl<T: NumCast> NumCast for OrderedFloat<T>
[src]fn from<F: ToPrimitive>(n: F) -> Option<Self>
[src]
impl<T: One> One for OrderedFloat<T>
[src]
impl<T: One> One for OrderedFloat<T>
[src]impl<T: Float> Ord for OrderedFloat<T>
[src]
impl<T: Float> Ord for OrderedFloat<T>
[src]impl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Float> PartialEq<T> for OrderedFloat<T>
[src]
impl<T: Float> PartialEq<T> for OrderedFloat<T>
[src]impl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Rem> Rem<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Rem> Rem<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Rem> Rem<T> for OrderedFloat<T>
[src]
impl<T: Rem> Rem<T> for OrderedFloat<T>
[src]impl<T: Sub> Sub<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Sub> Sub<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Sub> Sub<T> for OrderedFloat<T>
[src]
impl<T: Sub> Sub<T> for OrderedFloat<T>
[src]impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
[src]
impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
[src]fn to_i64(&self) -> Option<i64>
[src]
fn to_u64(&self) -> Option<u64>
[src]
fn to_isize(&self) -> Option<isize>
[src]
fn to_i8(&self) -> Option<i8>
[src]
fn to_i16(&self) -> Option<i16>
[src]
fn to_i32(&self) -> Option<i32>
[src]
fn to_usize(&self) -> Option<usize>
[src]
fn to_u8(&self) -> Option<u8>
[src]
fn to_u16(&self) -> Option<u16>
[src]
fn to_u32(&self) -> Option<u32>
[src]
fn to_f32(&self) -> Option<f32>
[src]
fn to_f64(&self) -> Option<f64>
[src]
pub fn to_i128(&self) -> Option<i128>
[src]
pub fn to_u128(&self) -> Option<u128>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for OrderedFloat<T> where
T: RefUnwindSafe,
impl<T> RefUnwindSafe for OrderedFloat<T> where
T: RefUnwindSafe,
impl<T> Send for OrderedFloat<T> where
T: Send,
impl<T> Send for OrderedFloat<T> where
T: Send,
impl<T> Sync for OrderedFloat<T> where
T: Sync,
impl<T> Sync for OrderedFloat<T> where
T: Sync,
impl<T> Unpin for OrderedFloat<T> where
T: Unpin,
impl<T> Unpin for OrderedFloat<T> where
T: Unpin,
impl<T> UnwindSafe for OrderedFloat<T> where
T: UnwindSafe,
impl<T> UnwindSafe for OrderedFloat<T> where
T: UnwindSafe,
Blanket Implementations
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]impl<T> Real for T where
T: Float,
[src]
impl<T> Real for T where
T: Float,
[src]