#[repr(transparent)]pub struct OrderedFloat<T>(pub T);Expand description
A wrapper around floats providing implementations of Eq, Ord, and Hash.
NaN is sorted as greater than all other values and equal to itself, in contradiction with the IEEE standard.
use ordered_float::OrderedFloat;
use std::f32::NAN;
let mut v = [OrderedFloat(NAN), OrderedFloat(2.0), OrderedFloat(1.0)];
v.sort();
assert_eq!(v, [OrderedFloat(1.0), OrderedFloat(2.0), OrderedFloat(NAN)]);Because OrderedFloat implements Ord and Eq, it can be used as a key in a HashSet,
HashMap, BTreeMap, or BTreeSet (unlike the primitive f32 or f64 types):
let mut s: HashSet<OrderedFloat<f32>> = HashSet::new();
s.insert(OrderedFloat(NAN));
assert!(s.contains(&OrderedFloat(NAN)));Some non-identical values are still considered equal by the PartialEq implementation,
and will therefore also be considered equal by maps, sets, and the == operator:
-0.0and+0.0are considered equal. This different sign may show up in printing, or when dividing by zero (the sign of the zero becomes the sign of the resulting infinity).- All NaN values are considered equal, even though they may have different bits, and therefore different sign, signaling/quiet status, and NaN payload bits.
Therefore, OrderedFloat may be unsuitable for use as a key in interning and memoization
applications which require equal results from equal inputs, unless these cases make no
difference or are canonicalized before insertion.
§Representation
OrderedFloat has #[repr(transparent)] and permits any value, so it is sound to use
transmute or pointer casts to convert between any type T and
OrderedFloat<T>.
However, consider using bytemuck as a safe alternative if possible.
Tuple Fields§
§0: TImplementations§
Source§impl<T> OrderedFloat<T>where
T: FloatCore,
impl<T> OrderedFloat<T>where
T: FloatCore,
Sourcepub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Get the value out.
Trait Implementations§
Source§impl<'a, 'b, T> Add<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, 'b, T> Add<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Add>::Output>
type Output = OrderedFloat<<T as Add>::Output>
+ operator.Source§fn add(
self,
other: &'b OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Add<&'b OrderedFloat<T>>>::Output
fn add( self, other: &'b OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Add<&'b OrderedFloat<T>>>::Output
+ operation. Read moreSource§impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Add<&'a T>>::Output>
type Output = OrderedFloat<<T as Add<&'a T>>::Output>
+ operator.Source§fn add(
self,
other: &'a OrderedFloat<T>,
) -> <OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
fn add( self, other: &'a OrderedFloat<T>, ) -> <OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
+ operation. Read moreSource§impl<'a, T> Add<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Add<&'a T> for &'a OrderedFloat<T>
Source§impl<'a, T> Add<&'a T> for OrderedFloat<T>
impl<'a, T> Add<&'a T> for OrderedFloat<T>
Source§impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<&'a T as Add<T>>::Output>
type Output = OrderedFloat<<&'a T as Add<T>>::Output>
+ operator.Source§fn add(
self,
other: OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
fn add( self, other: OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
+ operation. Read moreSource§impl<'a, T> Add<T> for &'a OrderedFloat<T>
impl<'a, T> Add<T> for &'a OrderedFloat<T>
Source§impl<T> Add<T> for OrderedFloat<T>where
T: Add,
impl<T> Add<T> for OrderedFloat<T>where
T: Add,
Source§impl<T> Add for OrderedFloat<T>where
T: Add,
impl<T> Add for OrderedFloat<T>where
T: Add,
Source§type Output = OrderedFloat<<T as Add>::Output>
type Output = OrderedFloat<<T as Add>::Output>
+ operator.Source§fn add(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Add>::Output
fn add(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Add>::Output
+ operation. Read moreSource§impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn add_assign(&mut self, other: &'a OrderedFloat<T>)
fn add_assign(&mut self, other: &'a OrderedFloat<T>)
+= operation. Read moreSource§impl<'a, T> AddAssign<&'a T> for OrderedFloat<T>
impl<'a, T> AddAssign<&'a T> for OrderedFloat<T>
Source§fn add_assign(&mut self, other: &'a T)
fn add_assign(&mut self, other: &'a T)
+= operation. Read moreSource§impl<T> AddAssign<T> for OrderedFloat<T>where
T: AddAssign,
impl<T> AddAssign<T> for OrderedFloat<T>where
T: AddAssign,
Source§fn add_assign(&mut self, other: T)
fn add_assign(&mut self, other: T)
+= operation. Read moreSource§impl<T> AddAssign for OrderedFloat<T>where
T: AddAssign,
impl<T> AddAssign for OrderedFloat<T>where
T: AddAssign,
Source§fn add_assign(&mut self, other: OrderedFloat<T>)
fn add_assign(&mut self, other: OrderedFloat<T>)
+= operation. Read moreSource§impl<T> AsMut<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> AsMut<T> for OrderedFloat<T>where
T: FloatCore,
Source§impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f32>
impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f32>
Source§fn as_(self) -> OrderedFloat<f32>
fn as_(self) -> OrderedFloat<f32>
as operator.Source§impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f64>
impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f64>
Source§fn as_(self) -> OrderedFloat<f32>
fn as_(self) -> OrderedFloat<f32>
as operator.Source§impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f32>
impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f32>
Source§fn as_(self) -> OrderedFloat<f64>
fn as_(self) -> OrderedFloat<f64>
as operator.Source§impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f64>
impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f64>
Source§fn as_(self) -> OrderedFloat<f64>
fn as_(self) -> OrderedFloat<f64>
as operator.Source§impl AsPrimitive<f32> for OrderedFloat<f32>
impl AsPrimitive<f32> for OrderedFloat<f32>
Source§impl AsPrimitive<f32> for OrderedFloat<f64>
impl AsPrimitive<f32> for OrderedFloat<f64>
Source§impl AsPrimitive<f64> for OrderedFloat<f32>
impl AsPrimitive<f64> for OrderedFloat<f32>
Source§impl AsPrimitive<f64> for OrderedFloat<f64>
impl AsPrimitive<f64> for OrderedFloat<f64>
Source§impl AsPrimitive<i16> for OrderedFloat<f32>
impl AsPrimitive<i16> for OrderedFloat<f32>
Source§impl AsPrimitive<i16> for OrderedFloat<f64>
impl AsPrimitive<i16> for OrderedFloat<f64>
Source§impl AsPrimitive<i32> for OrderedFloat<f32>
impl AsPrimitive<i32> for OrderedFloat<f32>
Source§impl AsPrimitive<i32> for OrderedFloat<f64>
impl AsPrimitive<i32> for OrderedFloat<f64>
Source§impl AsPrimitive<i64> for OrderedFloat<f32>
impl AsPrimitive<i64> for OrderedFloat<f32>
Source§impl AsPrimitive<i64> for OrderedFloat<f64>
impl AsPrimitive<i64> for OrderedFloat<f64>
Source§impl AsPrimitive<i8> for OrderedFloat<f32>
impl AsPrimitive<i8> for OrderedFloat<f32>
Source§impl AsPrimitive<i8> for OrderedFloat<f64>
impl AsPrimitive<i8> for OrderedFloat<f64>
Source§impl AsPrimitive<isize> for OrderedFloat<f32>
impl AsPrimitive<isize> for OrderedFloat<f32>
Source§impl AsPrimitive<isize> for OrderedFloat<f64>
impl AsPrimitive<isize> for OrderedFloat<f64>
Source§impl AsPrimitive<u16> for OrderedFloat<f32>
impl AsPrimitive<u16> for OrderedFloat<f32>
Source§impl AsPrimitive<u16> for OrderedFloat<f64>
impl AsPrimitive<u16> for OrderedFloat<f64>
Source§impl AsPrimitive<u32> for OrderedFloat<f32>
impl AsPrimitive<u32> for OrderedFloat<f32>
Source§impl AsPrimitive<u32> for OrderedFloat<f64>
impl AsPrimitive<u32> for OrderedFloat<f64>
Source§impl AsPrimitive<u64> for OrderedFloat<f32>
impl AsPrimitive<u64> for OrderedFloat<f32>
Source§impl AsPrimitive<u64> for OrderedFloat<f64>
impl AsPrimitive<u64> for OrderedFloat<f64>
Source§impl AsPrimitive<u8> for OrderedFloat<f32>
impl AsPrimitive<u8> for OrderedFloat<f32>
Source§impl AsPrimitive<u8> for OrderedFloat<f64>
impl AsPrimitive<u8> for OrderedFloat<f64>
Source§impl AsPrimitive<usize> for OrderedFloat<f32>
impl AsPrimitive<usize> for OrderedFloat<f32>
Source§impl AsPrimitive<usize> for OrderedFloat<f64>
impl AsPrimitive<usize> for OrderedFloat<f64>
Source§impl<T> AsRef<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> AsRef<T> for OrderedFloat<T>where
T: FloatCore,
Source§impl<T> Bounded for OrderedFloat<T>where
T: Bounded,
impl<T> Bounded for OrderedFloat<T>where
T: Bounded,
Source§fn min_value() -> OrderedFloat<T>
fn min_value() -> OrderedFloat<T>
Source§fn max_value() -> OrderedFloat<T>
fn max_value() -> OrderedFloat<T>
Source§impl<T> Clone for OrderedFloat<T>where
T: Clone,
impl<T> Clone for OrderedFloat<T>where
T: Clone,
Source§fn clone(&self) -> OrderedFloat<T>
fn clone(&self) -> OrderedFloat<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T> Debug for OrderedFloat<T>where
T: Debug,
impl<T> Debug for OrderedFloat<T>where
T: Debug,
Source§impl<T> Default for OrderedFloat<T>where
T: Default,
impl<T> Default for OrderedFloat<T>where
T: Default,
Source§fn default() -> OrderedFloat<T>
fn default() -> OrderedFloat<T>
Source§impl<T> Deref for OrderedFloat<T>where
T: FloatCore,
impl<T> Deref for OrderedFloat<T>where
T: FloatCore,
Source§impl<T> DerefMut for OrderedFloat<T>where
T: FloatCore,
impl<T> DerefMut for OrderedFloat<T>where
T: FloatCore,
Source§impl<'de, T> Deserialize<'de> for OrderedFloat<T>where
T: FloatCore + Deserialize<'de>,
impl<'de, T> Deserialize<'de> for OrderedFloat<T>where
T: FloatCore + Deserialize<'de>,
Source§fn deserialize<D>(
d: D,
) -> Result<OrderedFloat<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
d: D,
) -> Result<OrderedFloat<T>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<T> Display for OrderedFloat<T>
impl<T> Display for OrderedFloat<T>
Source§impl<'a, 'b, T> Div<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, 'b, T> Div<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Div>::Output>
type Output = OrderedFloat<<T as Div>::Output>
/ operator.Source§fn div(
self,
other: &'b OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Div<&'b OrderedFloat<T>>>::Output
fn div( self, other: &'b OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Div<&'b OrderedFloat<T>>>::Output
/ operation. Read moreSource§impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Div<&'a T>>::Output>
type Output = OrderedFloat<<T as Div<&'a T>>::Output>
/ operator.Source§fn div(
self,
other: &'a OrderedFloat<T>,
) -> <OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
fn div( self, other: &'a OrderedFloat<T>, ) -> <OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
/ operation. Read moreSource§impl<'a, T> Div<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Div<&'a T> for &'a OrderedFloat<T>
Source§impl<'a, T> Div<&'a T> for OrderedFloat<T>
impl<'a, T> Div<&'a T> for OrderedFloat<T>
Source§impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<&'a T as Div<T>>::Output>
type Output = OrderedFloat<<&'a T as Div<T>>::Output>
/ operator.Source§fn div(
self,
other: OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
fn div( self, other: OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
/ operation. Read moreSource§impl<'a, T> Div<T> for &'a OrderedFloat<T>
impl<'a, T> Div<T> for &'a OrderedFloat<T>
Source§impl<T> Div<T> for OrderedFloat<T>where
T: Div,
impl<T> Div<T> for OrderedFloat<T>where
T: Div,
Source§impl<T> Div for OrderedFloat<T>where
T: Div,
impl<T> Div for OrderedFloat<T>where
T: Div,
Source§type Output = OrderedFloat<<T as Div>::Output>
type Output = OrderedFloat<<T as Div>::Output>
/ operator.Source§fn div(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Div>::Output
fn div(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Div>::Output
/ operation. Read moreSource§impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn div_assign(&mut self, other: &'a OrderedFloat<T>)
fn div_assign(&mut self, other: &'a OrderedFloat<T>)
/= operation. Read moreSource§impl<'a, T> DivAssign<&'a T> for OrderedFloat<T>
impl<'a, T> DivAssign<&'a T> for OrderedFloat<T>
Source§fn div_assign(&mut self, other: &'a T)
fn div_assign(&mut self, other: &'a T)
/= operation. Read moreSource§impl<T> DivAssign<T> for OrderedFloat<T>where
T: DivAssign,
impl<T> DivAssign<T> for OrderedFloat<T>where
T: DivAssign,
Source§fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
/= operation. Read moreSource§impl<T> DivAssign for OrderedFloat<T>where
T: DivAssign,
impl<T> DivAssign for OrderedFloat<T>where
T: DivAssign,
Source§fn div_assign(&mut self, other: OrderedFloat<T>)
fn div_assign(&mut self, other: OrderedFloat<T>)
/= operation. Read moreSource§impl<T> FloatConst for OrderedFloat<T>where
T: FloatConst,
impl<T> FloatConst for OrderedFloat<T>where
T: FloatConst,
Source§fn E() -> OrderedFloat<T>
fn E() -> OrderedFloat<T>
Source§fn FRAC_1_PI() -> OrderedFloat<T>
fn FRAC_1_PI() -> OrderedFloat<T>
1.0 / π.Source§fn FRAC_1_SQRT_2() -> OrderedFloat<T>
fn FRAC_1_SQRT_2() -> OrderedFloat<T>
1.0 / sqrt(2.0).Source§fn FRAC_2_PI() -> OrderedFloat<T>
fn FRAC_2_PI() -> OrderedFloat<T>
2.0 / π.Source§fn FRAC_2_SQRT_PI() -> OrderedFloat<T>
fn FRAC_2_SQRT_PI() -> OrderedFloat<T>
2.0 / sqrt(π).Source§fn FRAC_PI_2() -> OrderedFloat<T>
fn FRAC_PI_2() -> OrderedFloat<T>
π / 2.0.Source§fn FRAC_PI_3() -> OrderedFloat<T>
fn FRAC_PI_3() -> OrderedFloat<T>
π / 3.0.Source§fn FRAC_PI_4() -> OrderedFloat<T>
fn FRAC_PI_4() -> OrderedFloat<T>
π / 4.0.Source§fn FRAC_PI_6() -> OrderedFloat<T>
fn FRAC_PI_6() -> OrderedFloat<T>
π / 6.0.Source§fn FRAC_PI_8() -> OrderedFloat<T>
fn FRAC_PI_8() -> OrderedFloat<T>
π / 8.0.Source§fn LN_10() -> OrderedFloat<T>
fn LN_10() -> OrderedFloat<T>
ln(10.0).Source§fn LN_2() -> OrderedFloat<T>
fn LN_2() -> OrderedFloat<T>
ln(2.0).Source§fn LOG10_E() -> OrderedFloat<T>
fn LOG10_E() -> OrderedFloat<T>
log10(e).Source§fn LOG2_E() -> OrderedFloat<T>
fn LOG2_E() -> OrderedFloat<T>
log2(e).Source§fn PI() -> OrderedFloat<T>
fn PI() -> OrderedFloat<T>
π.Source§fn SQRT_2() -> OrderedFloat<T>
fn SQRT_2() -> OrderedFloat<T>
sqrt(2.0).Source§impl<T> FloatCore for OrderedFloat<T>where
T: FloatCore,
impl<T> FloatCore for OrderedFloat<T>where
T: FloatCore,
Source§fn nan() -> OrderedFloat<T>
fn nan() -> OrderedFloat<T>
Source§fn infinity() -> OrderedFloat<T>
fn infinity() -> OrderedFloat<T>
Source§fn neg_infinity() -> OrderedFloat<T>
fn neg_infinity() -> OrderedFloat<T>
Source§fn neg_zero() -> OrderedFloat<T>
fn neg_zero() -> OrderedFloat<T>
-0.0. Read moreSource§fn min_value() -> OrderedFloat<T>
fn min_value() -> OrderedFloat<T>
Source§fn min_positive_value() -> OrderedFloat<T>
fn min_positive_value() -> OrderedFloat<T>
Source§fn max_value() -> OrderedFloat<T>
fn max_value() -> OrderedFloat<T>
Source§fn is_infinite(self) -> bool
fn is_infinite(self) -> bool
true if the number is infinite. Read moreSource§fn is_normal(self) -> bool
fn is_normal(self) -> bool
true if the number is neither zero, infinite, subnormal or NaN. Read moreSource§fn classify(self) -> FpCategory
fn classify(self) -> FpCategory
Source§fn floor(self) -> OrderedFloat<T>
fn floor(self) -> OrderedFloat<T>
Source§fn ceil(self) -> OrderedFloat<T>
fn ceil(self) -> OrderedFloat<T>
Source§fn round(self) -> OrderedFloat<T>
fn round(self) -> OrderedFloat<T>
0.0. Read moreSource§fn trunc(self) -> OrderedFloat<T>
fn trunc(self) -> OrderedFloat<T>
Source§fn fract(self) -> OrderedFloat<T>
fn fract(self) -> OrderedFloat<T>
Source§fn abs(self) -> OrderedFloat<T>
fn abs(self) -> OrderedFloat<T>
self. Returns FloatCore::nan() if the
number is FloatCore::nan(). Read moreSource§fn signum(self) -> OrderedFloat<T>
fn signum(self) -> OrderedFloat<T>
self. Read moreSource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
true if self is positive, including +0.0 and
FloatCore::infinity(), and FloatCore::nan(). Read moreSource§fn is_sign_negative(self) -> bool
fn is_sign_negative(self) -> bool
true if self is negative, including -0.0 and
FloatCore::neg_infinity(), and -FloatCore::nan(). Read moreSource§fn recip(self) -> OrderedFloat<T>
fn recip(self) -> OrderedFloat<T>
Source§fn integer_decode(self) -> (u64, i16, i8)
fn integer_decode(self) -> (u64, i16, i8)
sign * mantissa * 2 ^ exponent. Read moreSource§fn epsilon() -> OrderedFloat<T>
fn epsilon() -> OrderedFloat<T>
Source§fn to_degrees(self) -> OrderedFloat<T>
fn to_degrees(self) -> OrderedFloat<T>
Source§fn to_radians(self) -> OrderedFloat<T>
fn to_radians(self) -> OrderedFloat<T>
Source§impl<'a, T> From<&'a T> for &'a OrderedFloat<T>where
T: FloatCore,
impl<'a, T> From<&'a T> for &'a OrderedFloat<T>where
T: FloatCore,
Source§fn from(t: &'a T) -> &'a OrderedFloat<T>
fn from(t: &'a T) -> &'a OrderedFloat<T>
Source§impl<'a, T> From<&'a mut T> for &'a mut OrderedFloat<T>where
T: FloatCore,
impl<'a, T> From<&'a mut T> for &'a mut OrderedFloat<T>where
T: FloatCore,
Source§fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
Source§impl<T> From<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> From<T> for OrderedFloat<T>where
T: FloatCore,
Source§fn from(val: T) -> OrderedFloat<T>
fn from(val: T) -> OrderedFloat<T>
Source§impl<T> FromPrimitive for OrderedFloat<T>where
T: FromPrimitive,
impl<T> FromPrimitive for OrderedFloat<T>where
T: FromPrimitive,
Source§fn from_i64(n: i64) -> Option<OrderedFloat<T>>
fn from_i64(n: i64) -> Option<OrderedFloat<T>>
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u64(n: u64) -> Option<OrderedFloat<T>>
fn from_u64(n: u64) -> Option<OrderedFloat<T>>
u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_isize(n: isize) -> Option<OrderedFloat<T>>
fn from_isize(n: isize) -> Option<OrderedFloat<T>>
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i8(n: i8) -> Option<OrderedFloat<T>>
fn from_i8(n: i8) -> Option<OrderedFloat<T>>
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i16(n: i16) -> Option<OrderedFloat<T>>
fn from_i16(n: i16) -> Option<OrderedFloat<T>>
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_i32(n: i32) -> Option<OrderedFloat<T>>
fn from_i32(n: i32) -> Option<OrderedFloat<T>>
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_usize(n: usize) -> Option<OrderedFloat<T>>
fn from_usize(n: usize) -> Option<OrderedFloat<T>>
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u8(n: u8) -> Option<OrderedFloat<T>>
fn from_u8(n: u8) -> Option<OrderedFloat<T>>
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u16(n: u16) -> Option<OrderedFloat<T>>
fn from_u16(n: u16) -> Option<OrderedFloat<T>>
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u32(n: u32) -> Option<OrderedFloat<T>>
fn from_u32(n: u32) -> Option<OrderedFloat<T>>
u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f32(n: f32) -> Option<OrderedFloat<T>>
fn from_f32(n: f32) -> Option<OrderedFloat<T>>
f32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_f64(n: f64) -> Option<OrderedFloat<T>>
fn from_f64(n: f64) -> Option<OrderedFloat<T>>
f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moreSource§impl<T> FromStr for OrderedFloat<T>where
T: FromStr,
impl<T> FromStr for OrderedFloat<T>where
T: FromStr,
Source§fn from_str(
s: &str,
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as FromStr>::Err>
fn from_str( s: &str, ) -> Result<OrderedFloat<T>, <OrderedFloat<T> as FromStr>::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());Source§impl<T> Hash for OrderedFloat<T>where
T: PrimitiveFloat,
impl<T> Hash for OrderedFloat<T>where
T: PrimitiveFloat,
Source§impl<T> LowerExp for OrderedFloat<T>
impl<T> LowerExp for OrderedFloat<T>
Source§impl<'a, 'b, T> Mul<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, 'b, T> Mul<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Mul>::Output>
type Output = OrderedFloat<<T as Mul>::Output>
* operator.Source§fn mul(
self,
other: &'b OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Mul<&'b OrderedFloat<T>>>::Output
fn mul( self, other: &'b OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Mul<&'b OrderedFloat<T>>>::Output
* operation. Read moreSource§impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
* operator.Source§fn mul(
self,
other: &'a OrderedFloat<T>,
) -> <OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
fn mul( self, other: &'a OrderedFloat<T>, ) -> <OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
* operation. Read moreSource§impl<'a, T> Mul<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Mul<&'a T> for &'a OrderedFloat<T>
Source§impl<'a, T> Mul<&'a T> for OrderedFloat<T>
impl<'a, T> Mul<&'a T> for OrderedFloat<T>
Source§impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
* operator.Source§fn mul(
self,
other: OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
fn mul( self, other: OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
* operation. Read moreSource§impl<'a, T> Mul<T> for &'a OrderedFloat<T>
impl<'a, T> Mul<T> for &'a OrderedFloat<T>
Source§impl<T> Mul<T> for OrderedFloat<T>where
T: Mul,
impl<T> Mul<T> for OrderedFloat<T>where
T: Mul,
Source§impl<T> Mul for OrderedFloat<T>where
T: Mul,
impl<T> Mul for OrderedFloat<T>where
T: Mul,
Source§type Output = OrderedFloat<<T as Mul>::Output>
type Output = OrderedFloat<<T as Mul>::Output>
* operator.Source§fn mul(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Mul>::Output
fn mul(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Mul>::Output
* operation. Read moreSource§impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
*= operation. Read moreSource§impl<'a, T> MulAssign<&'a T> for OrderedFloat<T>
impl<'a, T> MulAssign<&'a T> for OrderedFloat<T>
Source§fn mul_assign(&mut self, other: &'a T)
fn mul_assign(&mut self, other: &'a T)
*= operation. Read moreSource§impl<T> MulAssign<T> for OrderedFloat<T>where
T: MulAssign,
impl<T> MulAssign<T> for OrderedFloat<T>where
T: MulAssign,
Source§fn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
*= operation. Read moreSource§impl<T> MulAssign for OrderedFloat<T>where
T: MulAssign,
impl<T> MulAssign for OrderedFloat<T>where
T: MulAssign,
Source§fn mul_assign(&mut self, other: OrderedFloat<T>)
fn mul_assign(&mut self, other: OrderedFloat<T>)
*= operation. Read moreSource§impl<'a, T> Neg for &'a OrderedFloat<T>
impl<'a, T> Neg for &'a OrderedFloat<T>
Source§impl<T> Neg for OrderedFloat<T>where
T: Neg,
impl<T> Neg for OrderedFloat<T>where
T: Neg,
Source§impl<T> Num for OrderedFloat<T>
impl<T> Num for OrderedFloat<T>
type FromStrRadixErr = <T as Num>::FromStrRadixErr
Source§fn from_str_radix(
str: &str,
radix: u32,
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as Num>::FromStrRadixErr>
fn from_str_radix( str: &str, radix: u32, ) -> Result<OrderedFloat<T>, <OrderedFloat<T> as Num>::FromStrRadixErr>
2..=36). Read moreSource§impl<T> NumCast for OrderedFloat<T>where
T: NumCast,
impl<T> NumCast for OrderedFloat<T>where
T: NumCast,
Source§fn from<F>(n: F) -> Option<OrderedFloat<T>>where
F: ToPrimitive,
fn from<F>(n: F) -> Option<OrderedFloat<T>>where
F: ToPrimitive,
ToPrimitive trait. If the source value cannot be
represented by the target type, then None is returned. Read moreSource§impl<T> One for OrderedFloat<T>where
T: One,
impl<T> One for OrderedFloat<T>where
T: One,
Source§fn one() -> OrderedFloat<T>
fn one() -> OrderedFloat<T>
Source§impl<T> Ord for OrderedFloat<T>where
T: FloatCore,
impl<T> Ord for OrderedFloat<T>where
T: FloatCore,
Source§fn cmp(&self, other: &OrderedFloat<T>) -> Ordering
fn cmp(&self, other: &OrderedFloat<T>) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<T> PartialEq<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialEq<T> for OrderedFloat<T>where
T: FloatCore,
Source§impl<T> PartialEq for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialEq for OrderedFloat<T>where
T: FloatCore,
Source§impl<T> PartialOrd for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialOrd for OrderedFloat<T>where
T: FloatCore,
Source§fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
Source§fn lt(&self, other: &OrderedFloat<T>) -> bool
fn lt(&self, other: &OrderedFloat<T>) -> bool
Source§fn le(&self, other: &OrderedFloat<T>) -> bool
fn le(&self, other: &OrderedFloat<T>) -> bool
Source§fn gt(&self, other: &OrderedFloat<T>) -> bool
fn gt(&self, other: &OrderedFloat<T>) -> bool
Source§impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn product<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = &'a OrderedFloat<T>>,
fn product<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = &'a OrderedFloat<T>>,
Self from the elements by multiplying
the items.Source§impl<T> Product for OrderedFloat<T>
impl<T> Product for OrderedFloat<T>
Source§fn product<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = OrderedFloat<T>>,
fn product<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = OrderedFloat<T>>,
Self from the elements by multiplying
the items.Source§impl<'a, 'b, T> Rem<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, 'b, T> Rem<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Rem>::Output>
type Output = OrderedFloat<<T as Rem>::Output>
% operator.Source§fn rem(
self,
other: &'b OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Rem<&'b OrderedFloat<T>>>::Output
fn rem( self, other: &'b OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Rem<&'b OrderedFloat<T>>>::Output
% operation. Read moreSource§impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
% operator.Source§fn rem(
self,
other: &'a OrderedFloat<T>,
) -> <OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
fn rem( self, other: &'a OrderedFloat<T>, ) -> <OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
% operation. Read moreSource§impl<'a, T> Rem<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Rem<&'a T> for &'a OrderedFloat<T>
Source§impl<'a, T> Rem<&'a T> for OrderedFloat<T>
impl<'a, T> Rem<&'a T> for OrderedFloat<T>
Source§impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
% operator.Source§fn rem(
self,
other: OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
fn rem( self, other: OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
% operation. Read moreSource§impl<'a, T> Rem<T> for &'a OrderedFloat<T>
impl<'a, T> Rem<T> for &'a OrderedFloat<T>
Source§impl<T> Rem<T> for OrderedFloat<T>where
T: Rem,
impl<T> Rem<T> for OrderedFloat<T>where
T: Rem,
Source§impl<T> Rem for OrderedFloat<T>where
T: Rem,
impl<T> Rem for OrderedFloat<T>where
T: Rem,
Source§type Output = OrderedFloat<<T as Rem>::Output>
type Output = OrderedFloat<<T as Rem>::Output>
% operator.Source§fn rem(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Rem>::Output
fn rem(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Rem>::Output
% operation. Read moreSource§impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
%= operation. Read moreSource§impl<'a, T> RemAssign<&'a T> for OrderedFloat<T>
impl<'a, T> RemAssign<&'a T> for OrderedFloat<T>
Source§fn rem_assign(&mut self, other: &'a T)
fn rem_assign(&mut self, other: &'a T)
%= operation. Read moreSource§impl<T> RemAssign<T> for OrderedFloat<T>where
T: RemAssign,
impl<T> RemAssign<T> for OrderedFloat<T>where
T: RemAssign,
Source§fn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
%= operation. Read moreSource§impl<T> RemAssign for OrderedFloat<T>where
T: RemAssign,
impl<T> RemAssign for OrderedFloat<T>where
T: RemAssign,
Source§fn rem_assign(&mut self, other: OrderedFloat<T>)
fn rem_assign(&mut self, other: OrderedFloat<T>)
%= operation. Read moreSource§impl<T> Serialize for OrderedFloat<T>
impl<T> Serialize for OrderedFloat<T>
Source§fn serialize<S>(
&self,
s: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
s: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Source§impl<T> Signed for OrderedFloat<T>
impl<T> Signed for OrderedFloat<T>
Source§fn abs(&self) -> OrderedFloat<T>
fn abs(&self) -> OrderedFloat<T>
Source§fn abs_sub(&self, other: &OrderedFloat<T>) -> OrderedFloat<T>
fn abs_sub(&self, other: &OrderedFloat<T>) -> OrderedFloat<T>
Source§fn signum(&self) -> OrderedFloat<T>
fn signum(&self) -> OrderedFloat<T>
Source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Source§impl<'a, 'b, T> Sub<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, 'b, T> Sub<&'b OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Sub>::Output>
type Output = OrderedFloat<<T as Sub>::Output>
- operator.Source§fn sub(
self,
other: &'b OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Sub<&'b OrderedFloat<T>>>::Output
fn sub( self, other: &'b OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Sub<&'b OrderedFloat<T>>>::Output
- operation. Read moreSource§impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
- operator.Source§fn sub(
self,
other: &'a OrderedFloat<T>,
) -> <OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
fn sub( self, other: &'a OrderedFloat<T>, ) -> <OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
- operation. Read moreSource§impl<'a, T> Sub<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Sub<&'a T> for &'a OrderedFloat<T>
Source§impl<'a, T> Sub<&'a T> for OrderedFloat<T>
impl<'a, T> Sub<&'a T> for OrderedFloat<T>
Source§impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>
Source§type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
- operator.Source§fn sub(
self,
other: OrderedFloat<T>,
) -> <&'a OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
fn sub( self, other: OrderedFloat<T>, ) -> <&'a OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
- operation. Read moreSource§impl<'a, T> Sub<T> for &'a OrderedFloat<T>
impl<'a, T> Sub<T> for &'a OrderedFloat<T>
Source§impl<T> Sub<T> for OrderedFloat<T>where
T: Sub,
impl<T> Sub<T> for OrderedFloat<T>where
T: Sub,
Source§impl<T> Sub for OrderedFloat<T>where
T: Sub,
impl<T> Sub for OrderedFloat<T>where
T: Sub,
Source§type Output = OrderedFloat<<T as Sub>::Output>
type Output = OrderedFloat<<T as Sub>::Output>
- operator.Source§fn sub(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Sub>::Output
fn sub(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Sub>::Output
- operation. Read moreSource§impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
-= operation. Read moreSource§impl<'a, T> SubAssign<&'a T> for OrderedFloat<T>
impl<'a, T> SubAssign<&'a T> for OrderedFloat<T>
Source§fn sub_assign(&mut self, other: &'a T)
fn sub_assign(&mut self, other: &'a T)
-= operation. Read moreSource§impl<T> SubAssign<T> for OrderedFloat<T>where
T: SubAssign,
impl<T> SubAssign<T> for OrderedFloat<T>where
T: SubAssign,
Source§fn sub_assign(&mut self, other: T)
fn sub_assign(&mut self, other: T)
-= operation. Read moreSource§impl<T> SubAssign for OrderedFloat<T>where
T: SubAssign,
impl<T> SubAssign for OrderedFloat<T>where
T: SubAssign,
Source§fn sub_assign(&mut self, other: OrderedFloat<T>)
fn sub_assign(&mut self, other: OrderedFloat<T>)
-= operation. Read moreSource§impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
Source§fn sum<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = &'a OrderedFloat<T>>,
fn sum<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = &'a OrderedFloat<T>>,
Self from the elements by “summing up”
the items.Source§impl<T> Sum for OrderedFloat<T>
Adds a float directly.
impl<T> Sum for OrderedFloat<T>
Adds a float directly.
Source§fn sum<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = OrderedFloat<T>>,
fn sum<I>(iter: I) -> OrderedFloat<T>where
I: Iterator<Item = OrderedFloat<T>>,
Self from the elements by “summing up”
the items.Source§impl<T> ToPrimitive for OrderedFloat<T>where
T: ToPrimitive,
impl<T> ToPrimitive for OrderedFloat<T>where
T: ToPrimitive,
Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
self to an i64. If the value cannot be
represented by an i64, then None is returned.Source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
self to a u64. If the value cannot be
represented by a u64, then None is returned.Source§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
self to an isize. If the value cannot be
represented by an isize, then None is returned.Source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
self to an i8. If the value cannot be
represented by an i8, then None is returned.Source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
self to an i16. If the value cannot be
represented by an i16, then None is returned.Source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
self to an i32. If the value cannot be
represented by an i32, then None is returned.Source§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
self to a usize. If the value cannot be
represented by a usize, then None is returned.Source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
self to a u8. If the value cannot be
represented by a u8, then None is returned.Source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
self to a u16. If the value cannot be
represented by a u16, then None is returned.Source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
self to a u32. If the value cannot be
represented by a u32, then None is returned.Source§fn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
self to an f32. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f32.Source§fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
self to an f64. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f64. Read moreSource§impl<T> UpperExp for OrderedFloat<T>
impl<T> UpperExp for OrderedFloat<T>
Source§impl<T> Zero for OrderedFloat<T>where
T: Zero,
impl<T> Zero for OrderedFloat<T>where
T: Zero,
impl<T> Copy for OrderedFloat<T>where
T: Copy,
impl<T> Eq for OrderedFloat<T>where
T: FloatCore,
Auto Trait Implementations§
impl<T> Freeze for OrderedFloat<T>where
T: Freeze,
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> UnsafeUnpin for OrderedFloat<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for OrderedFloat<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<R> TryRngCore for Rwhere
R: TryRng,
impl<R> TryRngCore for Rwhere
R: TryRng,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
Source§impl<R> Rng for R
impl<R> Rng for R
Source§fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
StandardUniform distribution. Read moreSource§fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
Source§fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Source§fn random_bool(&mut self, p: f64) -> bool
fn random_bool(&mut self, p: f64) -> bool
p of being true. Read moreSource§fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
numerator/denominator of being
true. Read moreSource§fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
Source§fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
Source§fn gen<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
fn gen<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
Renamed to random to avoid conflict with the new gen keyword in Rust 2024.
Rng::random.Source§fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Renamed to random_range
Rng::random_range.Source§impl<R> RngExt for R
impl<R> RngExt for R
Source§fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
fn random<T>(&mut self) -> Twhere
StandardUniform: Distribution<T>,
StandardUniform distribution. Read moreSource§fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>
Source§fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
fn random_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Source§fn random_bool(&mut self, p: f64) -> bool
fn random_bool(&mut self, p: f64) -> bool
p of being true. Read moreSource§fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool
numerator/denominator of being
true. Read moreSource§fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
fn sample<T, D>(&mut self, distr: D) -> Twhere
D: Distribution<T>,
Source§fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>where
D: Distribution<T>,
Self: Sized,
Source§impl<R> TryRng for R
impl<R> TryRng for R
Source§impl<R> TryRngCore for R
impl<R> TryRngCore for R
Source§type Error = Infallible
type Error = Infallible
Source§fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>
u32.Source§fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>
u64.Source§fn try_fill_bytes(
&mut self,
dst: &mut [u8],
) -> Result<(), <R as TryRngCore>::Error>
fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>
dest entirely with random data.Source§fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>
UnwrapMut wrapper.Source§fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where
Self: Sized,
fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>where
Self: Sized,
RngCore to a RngReadAdapter.