Struct OrderedFloat
#[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§
§impl<T> OrderedFloat<T>where
T: FloatCore,
impl<T> OrderedFloat<T>where
T: FloatCore,
pub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Get the value out.
Trait Implementations§
§impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>
§type Output = OrderedFloat<<T as Add<&'a T>>::Output>
type Output = OrderedFloat<<T as Add<&'a T>>::Output>
+ operator.§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 more§impl<'a, T> Add<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Add<&'a T> for &'a OrderedFloat<T>
§impl<'a, T> Add<&'a T> for OrderedFloat<T>
impl<'a, T> Add<&'a T> for OrderedFloat<T>
§impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>
§type Output = OrderedFloat<<&'a T as Add<T>>::Output>
type Output = OrderedFloat<<&'a T as Add<T>>::Output>
+ operator.§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 more§impl<'a, T> Add<T> for &'a OrderedFloat<T>
impl<'a, T> Add<T> for &'a OrderedFloat<T>
§impl<T> Add<T> for OrderedFloat<T>where
T: Add,
impl<T> Add<T> for OrderedFloat<T>where
T: Add,
§impl<'a, T> Add for &'a OrderedFloat<T>
impl<'a, T> Add for &'a OrderedFloat<T>
§type Output = OrderedFloat<<T as Add>::Output>
type Output = OrderedFloat<<T as Add>::Output>
+ operator.§fn add(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Add>::Output
fn add(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Add>::Output
+ operation. Read more§impl<T> Add for OrderedFloat<T>where
T: Add,
impl<T> Add for OrderedFloat<T>where
T: Add,
§type Output = OrderedFloat<<T as Add>::Output>
type Output = OrderedFloat<<T as Add>::Output>
+ operator.§fn add(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Add>::Output
fn add(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Add>::Output
+ operation. Read more§impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
§fn add_assign(&mut self, other: &'a OrderedFloat<T>)
fn add_assign(&mut self, other: &'a OrderedFloat<T>)
+= operation. Read more§impl<'a, T> AddAssign<&'a T> for OrderedFloat<T>
impl<'a, T> AddAssign<&'a T> for OrderedFloat<T>
§fn add_assign(&mut self, other: &'a T)
fn add_assign(&mut self, other: &'a T)
+= operation. Read more§impl<T> AddAssign<T> for OrderedFloat<T>where
T: AddAssign,
impl<T> AddAssign<T> for OrderedFloat<T>where
T: AddAssign,
§fn add_assign(&mut self, other: T)
fn add_assign(&mut self, other: T)
+= operation. Read more§impl<T> AddAssign for OrderedFloat<T>where
T: AddAssign,
impl<T> AddAssign for OrderedFloat<T>where
T: AddAssign,
§fn add_assign(&mut self, other: OrderedFloat<T>)
fn add_assign(&mut self, other: OrderedFloat<T>)
+= operation. Read more§impl<T> AsMut<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> AsMut<T> for OrderedFloat<T>where
T: FloatCore,
§impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f32>
impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f32>
§fn as_(self) -> OrderedFloat<f32>
fn as_(self) -> OrderedFloat<f32>
as operator.§impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f64>
impl AsPrimitive<OrderedFloat<f32>> for OrderedFloat<f64>
§fn as_(self) -> OrderedFloat<f32>
fn as_(self) -> OrderedFloat<f32>
as operator.§impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f32>
impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f32>
§fn as_(self) -> OrderedFloat<f64>
fn as_(self) -> OrderedFloat<f64>
as operator.§impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f64>
impl AsPrimitive<OrderedFloat<f64>> for OrderedFloat<f64>
§fn as_(self) -> OrderedFloat<f64>
fn as_(self) -> OrderedFloat<f64>
as operator.§impl AsPrimitive<f32> for OrderedFloat<f32>
impl AsPrimitive<f32> for OrderedFloat<f32>
§impl AsPrimitive<f32> for OrderedFloat<f64>
impl AsPrimitive<f32> for OrderedFloat<f64>
§impl AsPrimitive<f64> for OrderedFloat<f32>
impl AsPrimitive<f64> for OrderedFloat<f32>
§impl AsPrimitive<f64> for OrderedFloat<f64>
impl AsPrimitive<f64> for OrderedFloat<f64>
§impl AsPrimitive<i16> for OrderedFloat<f32>
impl AsPrimitive<i16> for OrderedFloat<f32>
§impl AsPrimitive<i16> for OrderedFloat<f64>
impl AsPrimitive<i16> for OrderedFloat<f64>
§impl AsPrimitive<i32> for OrderedFloat<f32>
impl AsPrimitive<i32> for OrderedFloat<f32>
§impl AsPrimitive<i32> for OrderedFloat<f64>
impl AsPrimitive<i32> for OrderedFloat<f64>
§impl AsPrimitive<i64> for OrderedFloat<f32>
impl AsPrimitive<i64> for OrderedFloat<f32>
§impl AsPrimitive<i64> for OrderedFloat<f64>
impl AsPrimitive<i64> for OrderedFloat<f64>
§impl AsPrimitive<i8> for OrderedFloat<f32>
impl AsPrimitive<i8> for OrderedFloat<f32>
§impl AsPrimitive<i8> for OrderedFloat<f64>
impl AsPrimitive<i8> for OrderedFloat<f64>
§impl AsPrimitive<isize> for OrderedFloat<f32>
impl AsPrimitive<isize> for OrderedFloat<f32>
§impl AsPrimitive<isize> for OrderedFloat<f64>
impl AsPrimitive<isize> for OrderedFloat<f64>
§impl AsPrimitive<u16> for OrderedFloat<f32>
impl AsPrimitive<u16> for OrderedFloat<f32>
§impl AsPrimitive<u16> for OrderedFloat<f64>
impl AsPrimitive<u16> for OrderedFloat<f64>
§impl AsPrimitive<u32> for OrderedFloat<f32>
impl AsPrimitive<u32> for OrderedFloat<f32>
§impl AsPrimitive<u32> for OrderedFloat<f64>
impl AsPrimitive<u32> for OrderedFloat<f64>
§impl AsPrimitive<u64> for OrderedFloat<f32>
impl AsPrimitive<u64> for OrderedFloat<f32>
§impl AsPrimitive<u64> for OrderedFloat<f64>
impl AsPrimitive<u64> for OrderedFloat<f64>
§impl AsPrimitive<u8> for OrderedFloat<f32>
impl AsPrimitive<u8> for OrderedFloat<f32>
§impl AsPrimitive<u8> for OrderedFloat<f64>
impl AsPrimitive<u8> for OrderedFloat<f64>
§impl AsPrimitive<usize> for OrderedFloat<f32>
impl AsPrimitive<usize> for OrderedFloat<f32>
§impl AsPrimitive<usize> for OrderedFloat<f64>
impl AsPrimitive<usize> for OrderedFloat<f64>
§impl<T> AsRef<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> AsRef<T> for OrderedFloat<T>where
T: FloatCore,
§impl<T> Bounded for OrderedFloat<T>where
T: Bounded,
impl<T> Bounded for OrderedFloat<T>where
T: Bounded,
§fn min_value() -> OrderedFloat<T>
fn min_value() -> OrderedFloat<T>
§fn max_value() -> OrderedFloat<T>
fn max_value() -> OrderedFloat<T>
§impl<T> Clone for OrderedFloat<T>where
T: Clone,
impl<T> Clone for OrderedFloat<T>where
T: Clone,
§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 more§impl<T> Debug for OrderedFloat<T>where
T: Debug,
impl<T> Debug for OrderedFloat<T>where
T: Debug,
§impl<T> Default for OrderedFloat<T>where
T: Default,
impl<T> Default for OrderedFloat<T>where
T: Default,
§fn default() -> OrderedFloat<T>
fn default() -> OrderedFloat<T>
§impl<T> Deref for OrderedFloat<T>where
T: FloatCore,
impl<T> Deref for OrderedFloat<T>where
T: FloatCore,
§impl<T> DerefMut for OrderedFloat<T>where
T: FloatCore,
impl<T> DerefMut for OrderedFloat<T>where
T: FloatCore,
§fn deref_mut(&mut self) -> &mut <OrderedFloat<T> as Deref>::Target
fn deref_mut(&mut self) -> &mut <OrderedFloat<T> as Deref>::Target
§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>,
§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>,
§impl<T> Display for OrderedFloat<T>
impl<T> Display for OrderedFloat<T>
§impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>
§type Output = OrderedFloat<<T as Div<&'a T>>::Output>
type Output = OrderedFloat<<T as Div<&'a T>>::Output>
/ operator.§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 more§impl<'a, T> Div<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Div<&'a T> for &'a OrderedFloat<T>
§impl<'a, T> Div<&'a T> for OrderedFloat<T>
impl<'a, T> Div<&'a T> for OrderedFloat<T>
§impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>
§type Output = OrderedFloat<<&'a T as Div<T>>::Output>
type Output = OrderedFloat<<&'a T as Div<T>>::Output>
/ operator.§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 more§impl<'a, T> Div<T> for &'a OrderedFloat<T>
impl<'a, T> Div<T> for &'a OrderedFloat<T>
§impl<T> Div<T> for OrderedFloat<T>where
T: Div,
impl<T> Div<T> for OrderedFloat<T>where
T: Div,
§impl<'a, T> Div for &'a OrderedFloat<T>
impl<'a, T> Div for &'a OrderedFloat<T>
§type Output = OrderedFloat<<T as Div>::Output>
type Output = OrderedFloat<<T as Div>::Output>
/ operator.§fn div(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Div>::Output
fn div(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Div>::Output
/ operation. Read more§impl<T> Div for OrderedFloat<T>where
T: Div,
impl<T> Div for OrderedFloat<T>where
T: Div,
§type Output = OrderedFloat<<T as Div>::Output>
type Output = OrderedFloat<<T as Div>::Output>
/ operator.§fn div(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Div>::Output
fn div(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Div>::Output
/ operation. Read more§impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
§fn div_assign(&mut self, other: &'a OrderedFloat<T>)
fn div_assign(&mut self, other: &'a OrderedFloat<T>)
/= operation. Read more§impl<'a, T> DivAssign<&'a T> for OrderedFloat<T>
impl<'a, T> DivAssign<&'a T> for OrderedFloat<T>
§fn div_assign(&mut self, other: &'a T)
fn div_assign(&mut self, other: &'a T)
/= operation. Read more§impl<T> DivAssign<T> for OrderedFloat<T>where
T: DivAssign,
impl<T> DivAssign<T> for OrderedFloat<T>where
T: DivAssign,
§fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
/= operation. Read more§impl<T> DivAssign for OrderedFloat<T>where
T: DivAssign,
impl<T> DivAssign for OrderedFloat<T>where
T: DivAssign,
§fn div_assign(&mut self, other: OrderedFloat<T>)
fn div_assign(&mut self, other: OrderedFloat<T>)
/= operation. Read more§impl<T> FloatConst for OrderedFloat<T>where
T: FloatConst,
impl<T> FloatConst for OrderedFloat<T>where
T: FloatConst,
§fn E() -> OrderedFloat<T>
fn E() -> OrderedFloat<T>
§fn FRAC_1_PI() -> OrderedFloat<T>
fn FRAC_1_PI() -> OrderedFloat<T>
1.0 / π.§fn FRAC_1_SQRT_2() -> OrderedFloat<T>
fn FRAC_1_SQRT_2() -> OrderedFloat<T>
1.0 / sqrt(2.0).§fn FRAC_2_PI() -> OrderedFloat<T>
fn FRAC_2_PI() -> OrderedFloat<T>
2.0 / π.§fn FRAC_2_SQRT_PI() -> OrderedFloat<T>
fn FRAC_2_SQRT_PI() -> OrderedFloat<T>
2.0 / sqrt(π).§fn FRAC_PI_2() -> OrderedFloat<T>
fn FRAC_PI_2() -> OrderedFloat<T>
π / 2.0.§fn FRAC_PI_3() -> OrderedFloat<T>
fn FRAC_PI_3() -> OrderedFloat<T>
π / 3.0.§fn FRAC_PI_4() -> OrderedFloat<T>
fn FRAC_PI_4() -> OrderedFloat<T>
π / 4.0.§fn FRAC_PI_6() -> OrderedFloat<T>
fn FRAC_PI_6() -> OrderedFloat<T>
π / 6.0.§fn FRAC_PI_8() -> OrderedFloat<T>
fn FRAC_PI_8() -> OrderedFloat<T>
π / 8.0.§fn LN_10() -> OrderedFloat<T>
fn LN_10() -> OrderedFloat<T>
ln(10.0).§fn LN_2() -> OrderedFloat<T>
fn LN_2() -> OrderedFloat<T>
ln(2.0).§fn LOG10_E() -> OrderedFloat<T>
fn LOG10_E() -> OrderedFloat<T>
log10(e).§fn LOG2_E() -> OrderedFloat<T>
fn LOG2_E() -> OrderedFloat<T>
log2(e).§fn PI() -> OrderedFloat<T>
fn PI() -> OrderedFloat<T>
π.§fn SQRT_2() -> OrderedFloat<T>
fn SQRT_2() -> OrderedFloat<T>
sqrt(2.0).§impl<T> FloatCore for OrderedFloat<T>where
T: FloatCore,
impl<T> FloatCore for OrderedFloat<T>where
T: FloatCore,
§fn nan() -> OrderedFloat<T>
fn nan() -> OrderedFloat<T>
§fn infinity() -> OrderedFloat<T>
fn infinity() -> OrderedFloat<T>
§fn neg_infinity() -> OrderedFloat<T>
fn neg_infinity() -> OrderedFloat<T>
§fn neg_zero() -> OrderedFloat<T>
fn neg_zero() -> OrderedFloat<T>
-0.0. Read more§fn min_value() -> OrderedFloat<T>
fn min_value() -> OrderedFloat<T>
§fn min_positive_value() -> OrderedFloat<T>
fn min_positive_value() -> OrderedFloat<T>
§fn max_value() -> OrderedFloat<T>
fn max_value() -> OrderedFloat<T>
§fn is_infinite(self) -> bool
fn is_infinite(self) -> bool
true if the number is infinite. Read more§fn is_normal(self) -> bool
fn is_normal(self) -> bool
true if the number is neither zero, infinite, subnormal or NaN. Read more§fn classify(self) -> FpCategory
fn classify(self) -> FpCategory
§fn floor(self) -> OrderedFloat<T>
fn floor(self) -> OrderedFloat<T>
§fn ceil(self) -> OrderedFloat<T>
fn ceil(self) -> OrderedFloat<T>
§fn round(self) -> OrderedFloat<T>
fn round(self) -> OrderedFloat<T>
0.0. Read more§fn trunc(self) -> OrderedFloat<T>
fn trunc(self) -> OrderedFloat<T>
§fn fract(self) -> OrderedFloat<T>
fn fract(self) -> OrderedFloat<T>
§fn abs(self) -> OrderedFloat<T>
fn abs(self) -> OrderedFloat<T>
self. Returns FloatCore::nan() if the
number is FloatCore::nan(). Read more§fn signum(self) -> OrderedFloat<T>
fn signum(self) -> OrderedFloat<T>
self. Read more§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 more§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 more§fn recip(self) -> OrderedFloat<T>
fn recip(self) -> OrderedFloat<T>
§fn powi(self, n: i32) -> OrderedFloat<T>
fn powi(self, n: i32) -> OrderedFloat<T>
§fn integer_decode(self) -> (u64, i16, i8)
fn integer_decode(self) -> (u64, i16, i8)
sign * mantissa * 2 ^ exponent. Read more§fn epsilon() -> OrderedFloat<T>
fn epsilon() -> OrderedFloat<T>
§fn to_degrees(self) -> OrderedFloat<T>
fn to_degrees(self) -> OrderedFloat<T>
§fn to_radians(self) -> OrderedFloat<T>
fn to_radians(self) -> OrderedFloat<T>
§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,
§fn from(t: &'a T) -> &'a OrderedFloat<T>
fn from(t: &'a T) -> &'a OrderedFloat<T>
§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,
§fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
§impl<T> From<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> From<T> for OrderedFloat<T>where
T: FloatCore,
§fn from(val: T) -> OrderedFloat<T>
fn from(val: T) -> OrderedFloat<T>
§impl From<bool> for OrderedFloat<f32>
impl From<bool> for OrderedFloat<f32>
§fn from(val: bool) -> OrderedFloat<f32>
fn from(val: bool) -> OrderedFloat<f32>
§impl From<bool> for OrderedFloat<f64>
impl From<bool> for OrderedFloat<f64>
§fn from(val: bool) -> OrderedFloat<f64>
fn from(val: bool) -> OrderedFloat<f64>
§impl From<i16> for OrderedFloat<f32>
impl From<i16> for OrderedFloat<f32>
§fn from(val: i16) -> OrderedFloat<f32>
fn from(val: i16) -> OrderedFloat<f32>
§impl From<i16> for OrderedFloat<f64>
impl From<i16> for OrderedFloat<f64>
§fn from(val: i16) -> OrderedFloat<f64>
fn from(val: i16) -> OrderedFloat<f64>
§impl From<i32> for OrderedFloat<f64>
impl From<i32> for OrderedFloat<f64>
§fn from(val: i32) -> OrderedFloat<f64>
fn from(val: i32) -> OrderedFloat<f64>
§impl From<i8> for OrderedFloat<f32>
impl From<i8> for OrderedFloat<f32>
§fn from(val: i8) -> OrderedFloat<f32>
fn from(val: i8) -> OrderedFloat<f32>
§impl From<i8> for OrderedFloat<f64>
impl From<i8> for OrderedFloat<f64>
§fn from(val: i8) -> OrderedFloat<f64>
fn from(val: i8) -> OrderedFloat<f64>
§impl From<u16> for OrderedFloat<f32>
impl From<u16> for OrderedFloat<f32>
§fn from(val: u16) -> OrderedFloat<f32>
fn from(val: u16) -> OrderedFloat<f32>
§impl From<u16> for OrderedFloat<f64>
impl From<u16> for OrderedFloat<f64>
§fn from(val: u16) -> OrderedFloat<f64>
fn from(val: u16) -> OrderedFloat<f64>
§impl From<u32> for OrderedFloat<f64>
impl From<u32> for OrderedFloat<f64>
§fn from(val: u32) -> OrderedFloat<f64>
fn from(val: u32) -> OrderedFloat<f64>
§impl From<u8> for OrderedFloat<f32>
impl From<u8> for OrderedFloat<f32>
§fn from(val: u8) -> OrderedFloat<f32>
fn from(val: u8) -> OrderedFloat<f32>
§impl From<u8> for OrderedFloat<f64>
impl From<u8> for OrderedFloat<f64>
§fn from(val: u8) -> OrderedFloat<f64>
fn from(val: u8) -> OrderedFloat<f64>
§impl<T> FromPrimitive for OrderedFloat<T>where
T: FromPrimitive,
impl<T> FromPrimitive for OrderedFloat<T>where
T: FromPrimitive,
§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.§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.§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.§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.§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.§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.§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.§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.§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.§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.§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.§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 more§impl<'a, 'py> FromPyObject<'a, 'py> for OrderedFloat<f32>
impl<'a, 'py> FromPyObject<'a, 'py> for OrderedFloat<f32>
§impl<'a, 'py> FromPyObject<'a, 'py> for OrderedFloat<f64>
impl<'a, 'py> FromPyObject<'a, 'py> for OrderedFloat<f64>
§impl<T> FromStr for OrderedFloat<T>where
T: FromStr,
impl<T> FromStr for OrderedFloat<T>where
T: FromStr,
§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());§impl<T> Hash for OrderedFloat<T>where
T: PrimitiveFloat,
impl<T> Hash for OrderedFloat<T>where
T: PrimitiveFloat,
§impl<'py> IntoPyObject<'py> for &OrderedFloat<f32>
impl<'py> IntoPyObject<'py> for &OrderedFloat<f32>
§type Output = Bound<'py, <&OrderedFloat<f32> as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <&OrderedFloat<f32> as IntoPyObject<'py>>::Target>
§type Error = Infallible
type Error = Infallible
§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<&OrderedFloat<f32> as IntoPyObject<'py>>::Output, <&OrderedFloat<f32> as IntoPyObject<'py>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<&OrderedFloat<f32> as IntoPyObject<'py>>::Output, <&OrderedFloat<f32> as IntoPyObject<'py>>::Error>
§impl<'py> IntoPyObject<'py> for &OrderedFloat<f64>
impl<'py> IntoPyObject<'py> for &OrderedFloat<f64>
§type Output = Bound<'py, <&OrderedFloat<f64> as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <&OrderedFloat<f64> as IntoPyObject<'py>>::Target>
§type Error = Infallible
type Error = Infallible
§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<&OrderedFloat<f64> as IntoPyObject<'py>>::Output, <&OrderedFloat<f64> as IntoPyObject<'py>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<&OrderedFloat<f64> as IntoPyObject<'py>>::Output, <&OrderedFloat<f64> as IntoPyObject<'py>>::Error>
§impl<'py> IntoPyObject<'py> for OrderedFloat<f32>
impl<'py> IntoPyObject<'py> for OrderedFloat<f32>
§type Output = Bound<'py, <OrderedFloat<f32> as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <OrderedFloat<f32> as IntoPyObject<'py>>::Target>
§type Error = Infallible
type Error = Infallible
§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<OrderedFloat<f32> as IntoPyObject<'py>>::Output, <OrderedFloat<f32> as IntoPyObject<'py>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<OrderedFloat<f32> as IntoPyObject<'py>>::Output, <OrderedFloat<f32> as IntoPyObject<'py>>::Error>
§impl<'py> IntoPyObject<'py> for OrderedFloat<f64>
impl<'py> IntoPyObject<'py> for OrderedFloat<f64>
§type Output = Bound<'py, <OrderedFloat<f64> as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <OrderedFloat<f64> as IntoPyObject<'py>>::Target>
§type Error = Infallible
type Error = Infallible
§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<OrderedFloat<f64> as IntoPyObject<'py>>::Output, <OrderedFloat<f64> as IntoPyObject<'py>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<OrderedFloat<f64> as IntoPyObject<'py>>::Output, <OrderedFloat<f64> as IntoPyObject<'py>>::Error>
§impl<T> LowerExp for OrderedFloat<T>
impl<T> LowerExp for OrderedFloat<T>
§impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>
§type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
* operator.§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 more§impl<'a, T> Mul<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Mul<&'a T> for &'a OrderedFloat<T>
§impl<'a, T> Mul<&'a T> for OrderedFloat<T>
impl<'a, T> Mul<&'a T> for OrderedFloat<T>
§impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>
§type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
* operator.§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 more§impl<'a, T> Mul<T> for &'a OrderedFloat<T>
impl<'a, T> Mul<T> for &'a OrderedFloat<T>
§impl<T> Mul<T> for OrderedFloat<T>where
T: Mul,
impl<T> Mul<T> for OrderedFloat<T>where
T: Mul,
§impl<'a, T> Mul for &'a OrderedFloat<T>
impl<'a, T> Mul for &'a OrderedFloat<T>
§type Output = OrderedFloat<<T as Mul>::Output>
type Output = OrderedFloat<<T as Mul>::Output>
* operator.§fn mul(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Mul>::Output
fn mul(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Mul>::Output
* operation. Read more§impl<T> Mul for OrderedFloat<T>where
T: Mul,
impl<T> Mul for OrderedFloat<T>where
T: Mul,
§type Output = OrderedFloat<<T as Mul>::Output>
type Output = OrderedFloat<<T as Mul>::Output>
* operator.§fn mul(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Mul>::Output
fn mul(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Mul>::Output
* operation. Read more§impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
§fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
*= operation. Read more§impl<'a, T> MulAssign<&'a T> for OrderedFloat<T>
impl<'a, T> MulAssign<&'a T> for OrderedFloat<T>
§fn mul_assign(&mut self, other: &'a T)
fn mul_assign(&mut self, other: &'a T)
*= operation. Read more§impl<T> MulAssign<T> for OrderedFloat<T>where
T: MulAssign,
impl<T> MulAssign<T> for OrderedFloat<T>where
T: MulAssign,
§fn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
*= operation. Read more§impl<T> MulAssign for OrderedFloat<T>where
T: MulAssign,
impl<T> MulAssign for OrderedFloat<T>where
T: MulAssign,
§fn mul_assign(&mut self, other: OrderedFloat<T>)
fn mul_assign(&mut self, other: OrderedFloat<T>)
*= operation. Read more§impl<'a, T> Neg for &'a OrderedFloat<T>
impl<'a, T> Neg for &'a OrderedFloat<T>
§impl<T> Neg for OrderedFloat<T>where
T: Neg,
impl<T> Neg for OrderedFloat<T>where
T: Neg,
§impl<T> Num for OrderedFloat<T>
impl<T> Num for OrderedFloat<T>
type FromStrRadixErr = <T as Num>::FromStrRadixErr
§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 more§impl<T> NumCast for OrderedFloat<T>where
T: NumCast,
impl<T> NumCast for OrderedFloat<T>where
T: NumCast,
§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 more§impl<T> One for OrderedFloat<T>where
T: One,
impl<T> One for OrderedFloat<T>where
T: One,
§fn one() -> OrderedFloat<T>
fn one() -> OrderedFloat<T>
§impl<T> Ord for OrderedFloat<T>where
T: FloatCore,
impl<T> Ord for OrderedFloat<T>where
T: FloatCore,
§impl<T> PartialEq<T> for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialEq<T> for OrderedFloat<T>where
T: FloatCore,
§impl<T> PartialEq for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialEq for OrderedFloat<T>where
T: FloatCore,
§impl<T> PartialOrd for OrderedFloat<T>where
T: FloatCore,
impl<T> PartialOrd for OrderedFloat<T>where
T: FloatCore,
§fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
§fn lt(&self, other: &OrderedFloat<T>) -> bool
fn lt(&self, other: &OrderedFloat<T>) -> bool
§fn le(&self, other: &OrderedFloat<T>) -> bool
fn le(&self, other: &OrderedFloat<T>) -> bool
§fn gt(&self, other: &OrderedFloat<T>) -> bool
fn gt(&self, other: &OrderedFloat<T>) -> bool
§fn ge(&self, other: &OrderedFloat<T>) -> bool
fn ge(&self, other: &OrderedFloat<T>) -> bool
§impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
§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.§impl<T> Product for OrderedFloat<T>
impl<T> Product for OrderedFloat<T>
§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.§impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>
§type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
% operator.§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 more§impl<'a, T> Rem<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Rem<&'a T> for &'a OrderedFloat<T>
§impl<'a, T> Rem<&'a T> for OrderedFloat<T>
impl<'a, T> Rem<&'a T> for OrderedFloat<T>
§impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>
§type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
% operator.§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 more§impl<'a, T> Rem<T> for &'a OrderedFloat<T>
impl<'a, T> Rem<T> for &'a OrderedFloat<T>
§impl<T> Rem<T> for OrderedFloat<T>where
T: Rem,
impl<T> Rem<T> for OrderedFloat<T>where
T: Rem,
§impl<'a, T> Rem for &'a OrderedFloat<T>
impl<'a, T> Rem for &'a OrderedFloat<T>
§type Output = OrderedFloat<<T as Rem>::Output>
type Output = OrderedFloat<<T as Rem>::Output>
% operator.§fn rem(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Rem>::Output
fn rem(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Rem>::Output
% operation. Read more§impl<T> Rem for OrderedFloat<T>where
T: Rem,
impl<T> Rem for OrderedFloat<T>where
T: Rem,
§type Output = OrderedFloat<<T as Rem>::Output>
type Output = OrderedFloat<<T as Rem>::Output>
% operator.§fn rem(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Rem>::Output
fn rem(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Rem>::Output
% operation. Read more§impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
§fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
%= operation. Read more§impl<'a, T> RemAssign<&'a T> for OrderedFloat<T>
impl<'a, T> RemAssign<&'a T> for OrderedFloat<T>
§fn rem_assign(&mut self, other: &'a T)
fn rem_assign(&mut self, other: &'a T)
%= operation. Read more§impl<T> RemAssign<T> for OrderedFloat<T>where
T: RemAssign,
impl<T> RemAssign<T> for OrderedFloat<T>where
T: RemAssign,
§fn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
%= operation. Read more§impl<T> RemAssign for OrderedFloat<T>where
T: RemAssign,
impl<T> RemAssign for OrderedFloat<T>where
T: RemAssign,
§fn rem_assign(&mut self, other: OrderedFloat<T>)
fn rem_assign(&mut self, other: OrderedFloat<T>)
%= operation. Read more§impl<T> Serialize for OrderedFloat<T>
impl<T> Serialize for OrderedFloat<T>
§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,
§impl<T> Signed for OrderedFloat<T>
impl<T> Signed for OrderedFloat<T>
§fn abs(&self) -> OrderedFloat<T>
fn abs(&self) -> OrderedFloat<T>
§fn abs_sub(&self, other: &OrderedFloat<T>) -> OrderedFloat<T>
fn abs_sub(&self, other: &OrderedFloat<T>) -> OrderedFloat<T>
§fn signum(&self) -> OrderedFloat<T>
fn signum(&self) -> OrderedFloat<T>
§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
§impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>
§type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
- operator.§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 more§impl<'a, T> Sub<&'a T> for &'a OrderedFloat<T>
impl<'a, T> Sub<&'a T> for &'a OrderedFloat<T>
§impl<'a, T> Sub<&'a T> for OrderedFloat<T>
impl<'a, T> Sub<&'a T> for OrderedFloat<T>
§impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>
impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>
§type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
- operator.§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 more§impl<'a, T> Sub<T> for &'a OrderedFloat<T>
impl<'a, T> Sub<T> for &'a OrderedFloat<T>
§impl<T> Sub<T> for OrderedFloat<T>where
T: Sub,
impl<T> Sub<T> for OrderedFloat<T>where
T: Sub,
§impl<'a, T> Sub for &'a OrderedFloat<T>
impl<'a, T> Sub for &'a OrderedFloat<T>
§type Output = OrderedFloat<<T as Sub>::Output>
type Output = OrderedFloat<<T as Sub>::Output>
- operator.§fn sub(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Sub>::Output
fn sub(self, other: &'a OrderedFloat<T>) -> <&'a OrderedFloat<T> as Sub>::Output
- operation. Read more§impl<T> Sub for OrderedFloat<T>where
T: Sub,
impl<T> Sub for OrderedFloat<T>where
T: Sub,
§type Output = OrderedFloat<<T as Sub>::Output>
type Output = OrderedFloat<<T as Sub>::Output>
- operator.§fn sub(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Sub>::Output
fn sub(self, other: OrderedFloat<T>) -> <OrderedFloat<T> as Sub>::Output
- operation. Read more§impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
§fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
-= operation. Read more§impl<'a, T> SubAssign<&'a T> for OrderedFloat<T>
impl<'a, T> SubAssign<&'a T> for OrderedFloat<T>
§fn sub_assign(&mut self, other: &'a T)
fn sub_assign(&mut self, other: &'a T)
-= operation. Read more§impl<T> SubAssign<T> for OrderedFloat<T>where
T: SubAssign,
impl<T> SubAssign<T> for OrderedFloat<T>where
T: SubAssign,
§fn sub_assign(&mut self, other: T)
fn sub_assign(&mut self, other: T)
-= operation. Read more§impl<T> SubAssign for OrderedFloat<T>where
T: SubAssign,
impl<T> SubAssign for OrderedFloat<T>where
T: SubAssign,
§fn sub_assign(&mut self, other: OrderedFloat<T>)
fn sub_assign(&mut self, other: OrderedFloat<T>)
-= operation. Read more§impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
§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.§impl<T> Sum for OrderedFloat<T>
Adds a float directly.
impl<T> Sum for OrderedFloat<T>
Adds a float directly.
§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.§impl<T> ToPrimitive for OrderedFloat<T>where
T: ToPrimitive,
impl<T> ToPrimitive for OrderedFloat<T>where
T: ToPrimitive,
§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.§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.§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.§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.§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.§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.§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.§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.§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.§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.§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.§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 more§impl<T> UpperExp for OrderedFloat<T>
impl<T> UpperExp for OrderedFloat<T>
§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> UnwindSafe for OrderedFloat<T>where
T: UnwindSafe,
Blanket Implementations§
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,
§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read moreSource§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
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>,
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>,
random_rangeRng::random_range.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.