Struct ordered_float::OrderedFloat
source · #[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)));
Tuple Fields§
§0: T
Implementations§
source§impl<T: Float> OrderedFloat<T>
impl<T: Float> OrderedFloat<T>
sourcepub fn into_inner(self) -> T
pub fn into_inner(self) -> T
Get the value out.
Trait Implementations§
source§impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>where
T: Add<&'a T>,
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T>where T: Add<&'a T>,
source§impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>where
&'a T: Add<T>,
impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T>where &'a T: Add<T>,
source§impl<T: Add> Add<T> for OrderedFloat<T>
impl<T: Add> Add<T> for OrderedFloat<T>
source§impl<T: Add> Add for OrderedFloat<T>
impl<T: Add> Add for OrderedFloat<T>
source§impl<'a, T: AddAssign<&'a T>> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: AddAssign<&'a T>> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn add_assign(&mut self, other: &'a Self)
fn add_assign(&mut self, other: &'a Self)
Performs the
+=
operation. Read moresource§impl<'a, T: AddAssign<&'a T>> AddAssign<&'a T> for OrderedFloat<T>
impl<'a, T: AddAssign<&'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)
Performs the
+=
operation. Read moresource§impl<T: AddAssign> AddAssign<T> for OrderedFloat<T>
impl<T: AddAssign> AddAssign<T> for OrderedFloat<T>
source§fn add_assign(&mut self, other: T)
fn add_assign(&mut self, other: T)
Performs the
+=
operation. Read moresource§impl<T: AddAssign> AddAssign for OrderedFloat<T>
impl<T: AddAssign> AddAssign for OrderedFloat<T>
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
Performs the
+=
operation. Read moresource§impl<T: Float> AsMut<T> for OrderedFloat<T>
impl<T: Float> AsMut<T> for OrderedFloat<T>
source§impl<T: Float> AsRef<T> for OrderedFloat<T>
impl<T: Float> AsRef<T> for OrderedFloat<T>
source§impl<T: Bounded> Bounded for OrderedFloat<T>
impl<T: Bounded> Bounded for OrderedFloat<T>
source§impl<T: Clone> Clone for OrderedFloat<T>
impl<T: Clone> Clone for OrderedFloat<T>
source§fn clone(&self) -> OrderedFloat<T>
fn clone(&self) -> OrderedFloat<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Debug> Debug for OrderedFloat<T>
impl<T: Debug> Debug for OrderedFloat<T>
source§impl<T: Default> Default for OrderedFloat<T>
impl<T: Default> Default for OrderedFloat<T>
source§fn default() -> OrderedFloat<T>
fn default() -> OrderedFloat<T>
Returns the “default value” for a type. Read more
source§impl<T: Float> Deref for OrderedFloat<T>
impl<T: Float> Deref for OrderedFloat<T>
source§impl<T: Float> DerefMut for OrderedFloat<T>
impl<T: Float> DerefMut for OrderedFloat<T>
source§impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>where
T: Div<&'a T>,
impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T>where T: Div<&'a T>,
source§impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>where
&'a T: Div<T>,
impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T>where &'a T: Div<T>,
source§impl<T: Div> Div<T> for OrderedFloat<T>
impl<T: Div> Div<T> for OrderedFloat<T>
source§impl<T: Div> Div for OrderedFloat<T>
impl<T: Div> Div for OrderedFloat<T>
source§impl<'a, T: DivAssign<&'a T>> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: DivAssign<&'a T>> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn div_assign(&mut self, other: &'a Self)
fn div_assign(&mut self, other: &'a Self)
Performs the
/=
operation. Read moresource§impl<'a, T: DivAssign<&'a T>> DivAssign<&'a T> for OrderedFloat<T>
impl<'a, T: DivAssign<&'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)
Performs the
/=
operation. Read moresource§impl<T: DivAssign> DivAssign<T> for OrderedFloat<T>
impl<T: DivAssign> DivAssign<T> for OrderedFloat<T>
source§fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
Performs the
/=
operation. Read moresource§impl<T: DivAssign> DivAssign for OrderedFloat<T>
impl<T: DivAssign> DivAssign for OrderedFloat<T>
source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
Performs the
/=
operation. Read moresource§impl<T: Float> Float for OrderedFloat<T>
impl<T: Float> Float for OrderedFloat<T>
source§fn neg_infinity() -> Self
fn neg_infinity() -> Self
Returns the negative infinite value. Read more
source§fn min_value() -> Self
fn min_value() -> Self
Returns the smallest finite value that this type can represent. Read more
source§fn min_positive_value() -> Self
fn min_positive_value() -> Self
Returns the smallest positive, normalized value that this type can represent. Read more
source§fn max_value() -> Self
fn max_value() -> Self
Returns the largest finite value that this type can represent. Read more
source§fn is_infinite(self) -> bool
fn is_infinite(self) -> bool
Returns
true
if this value is positive infinity or negative infinity and
false otherwise. Read moresource§fn classify(self) -> FpCategory
fn classify(self) -> FpCategory
Returns the floating point category of the number. If only one property
is going to be tested, it is generally faster to use the specific
predicate instead. Read more
source§fn ceil(self) -> Self
fn ceil(self) -> Self
Returns the smallest integer greater than or equal to a number. Read more
source§fn round(self) -> Self
fn round(self) -> Self
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read moresource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
source§fn is_sign_negative(self) -> bool
fn is_sign_negative(self) -> bool
Returns
true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and -Float::nan()
. Read moresource§fn mul_add(self, a: Self, b: Self) -> Self
fn mul_add(self, a: Self, b: Self) -> Self
Fused multiply-add. Computes
(self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moresource§fn log(self, base: Self) -> Self
fn log(self, base: Self) -> Self
Returns the logarithm of the number with respect to an arbitrary base. Read more
source§fn hypot(self, other: Self) -> Self
fn hypot(self, other: Self) -> Self
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length
x
and y
. Read moresource§fn asin(self) -> Self
fn asin(self) -> Self
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn acos(self) -> Self
fn acos(self) -> Self
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn atan(self) -> Self
fn atan(self) -> Self
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
source§fn sin_cos(self) -> (Self, Self)
fn sin_cos(self) -> (Self, Self)
source§fn exp_m1(self) -> Self
fn exp_m1(self) -> Self
Returns
e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read moresource§fn ln_1p(self) -> Self
fn ln_1p(self) -> Self
Returns
ln(1+n)
(natural logarithm) more accurately than if
the operations were performed separately. Read moresource§fn integer_decode(self) -> (u64, i16, i8)
fn integer_decode(self) -> (u64, i16, i8)
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by
sign * mantissa * 2 ^ exponent
. Read moresource§fn to_degrees(self) -> Self
fn to_degrees(self) -> Self
Converts radians to degrees. Read more
source§fn to_radians(self) -> Self
fn to_radians(self) -> Self
Converts degrees to radians. Read more
source§impl<T: Float> FloatCore for OrderedFloat<T>
impl<T: Float> FloatCore for OrderedFloat<T>
source§fn neg_infinity() -> Self
fn neg_infinity() -> Self
Returns negative infinity. Read more
source§fn min_value() -> Self
fn min_value() -> Self
Returns the smallest finite value that this type can represent. Read more
source§fn min_positive_value() -> Self
fn min_positive_value() -> Self
Returns the smallest positive, normalized value that this type can represent. Read more
source§fn max_value() -> Self
fn max_value() -> Self
Returns the largest finite value that this type can represent. Read more
source§fn is_infinite(self) -> bool
fn is_infinite(self) -> bool
Returns
true
if the number is infinite. Read moresource§fn is_normal(self) -> bool
fn is_normal(self) -> bool
Returns
true
if the number is neither zero, infinite, subnormal or NaN. Read moresource§fn classify(self) -> FpCategory
fn classify(self) -> FpCategory
Returns the floating point category of the number. If only one property
is going to be tested, it is generally faster to use the specific
predicate instead. Read more
source§fn ceil(self) -> Self
fn ceil(self) -> Self
Returns the smallest integer greater than or equal to a number. Read more
source§fn round(self) -> Self
fn round(self) -> Self
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read moresource§fn abs(self) -> Self
fn abs(self) -> Self
Computes the absolute value of
self
. Returns FloatCore::nan()
if the
number is FloatCore::nan()
. Read moresource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
Returns
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
Returns
true
if self
is negative, including -0.0
and
FloatCore::neg_infinity()
, and -FloatCore::nan()
. Read moresource§fn recip(self) -> Self
fn recip(self) -> Self
Returns the reciprocal (multiplicative inverse) of the number. Read more
source§fn integer_decode(self) -> (u64, i16, i8)
fn integer_decode(self) -> (u64, i16, i8)
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by
sign * mantissa * 2 ^ exponent
. Read moresource§fn to_degrees(self) -> Self
fn to_degrees(self) -> Self
Converts to degrees, assuming the number is in radians. Read more
source§fn to_radians(self) -> Self
fn to_radians(self) -> Self
Converts to radians, assuming the number is in degrees. Read more
source§impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
source§fn from(t: &'a T) -> &'a OrderedFloat<T>
fn from(t: &'a T) -> &'a OrderedFloat<T>
Converts to this type from the input type.
source§impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
source§fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
Converts to this type from the input type.
source§impl<T: Float> From<T> for OrderedFloat<T>
impl<T: Float> From<T> for OrderedFloat<T>
source§impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
Converts an
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<Self>
fn from_u64(n: u64) -> Option<Self>
Converts an
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<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an
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<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an
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<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an
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<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an
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<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a
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<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an
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<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an
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<Self>
fn from_u32(n: u32) -> Option<Self>
Converts an
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<Self>
fn from_f32(n: f32) -> Option<Self>
Converts a
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<Self>
fn from_f64(n: f64) -> Option<Self>
Converts a
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> FromStr for OrderedFloat<T>
impl<T: FromStr> FromStr for OrderedFloat<T>
source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
Convert a &str to OrderedFloat
. Returns an error if the string fails to parse.
use ordered_float::OrderedFloat;
assert!("-10".parse::<OrderedFloat<f32>>().is_ok());
assert!("abc".parse::<OrderedFloat<f32>>().is_err());
assert!("NaN".parse::<OrderedFloat<f32>>().is_ok());
source§impl<T: Float> Hash for OrderedFloat<T>
impl<T: Float> Hash for OrderedFloat<T>
source§impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>where
T: Mul<&'a T>,
impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>where T: Mul<&'a T>,
source§impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>where
&'a T: Mul<T>,
impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>where &'a T: Mul<T>,
source§impl<T: Mul> Mul<T> for OrderedFloat<T>
impl<T: Mul> Mul<T> for OrderedFloat<T>
source§impl<T: Mul> Mul for OrderedFloat<T>
impl<T: Mul> Mul for OrderedFloat<T>
source§impl<'a, T: MulAssign<&'a T>> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: MulAssign<&'a T>> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn mul_assign(&mut self, other: &'a Self)
fn mul_assign(&mut self, other: &'a Self)
Performs the
*=
operation. Read moresource§impl<'a, T: MulAssign<&'a T>> MulAssign<&'a T> for OrderedFloat<T>
impl<'a, T: MulAssign<&'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)
Performs the
*=
operation. Read moresource§impl<T: MulAssign> MulAssign<T> for OrderedFloat<T>
impl<T: MulAssign> MulAssign<T> for OrderedFloat<T>
source§fn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
Performs the
*=
operation. Read moresource§impl<T: MulAssign> MulAssign for OrderedFloat<T>
impl<T: MulAssign> MulAssign for OrderedFloat<T>
source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
Performs the
*=
operation. Read moresource§impl<T: Neg> Neg for OrderedFloat<T>
impl<T: Neg> Neg for OrderedFloat<T>
source§impl<T: Float + Num> Num for OrderedFloat<T>
impl<T: Float + Num> Num for OrderedFloat<T>
type FromStrRadixErr = <T as Num>::FromStrRadixErr
source§fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36
). Read moresource§impl<T: NumCast> NumCast for OrderedFloat<T>
impl<T: NumCast> NumCast for OrderedFloat<T>
source§impl<T: One> One for OrderedFloat<T>
impl<T: One> One for OrderedFloat<T>
source§impl<T: Float> Ord for OrderedFloat<T>
impl<T: Float> Ord for OrderedFloat<T>
source§impl<T: Float> PartialEq<T> for OrderedFloat<T>
impl<T: Float> PartialEq<T> for OrderedFloat<T>
source§impl<T: Float> PartialEq for OrderedFloat<T>
impl<T: Float> PartialEq for OrderedFloat<T>
source§fn eq(&self, other: &OrderedFloat<T>) -> bool
fn eq(&self, other: &OrderedFloat<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: Float> PartialOrd for OrderedFloat<T>
impl<T: Float> PartialOrd for OrderedFloat<T>
source§impl<'a, T: Float + Product + 'a> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: Float + Product + 'a> Product<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn product<I: Iterator<Item = &'a OrderedFloat<T>>>(iter: I) -> Self
fn product<I: Iterator<Item = &'a OrderedFloat<T>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
multiplying the items.source§impl<T: Float + Product> Product for OrderedFloat<T>
impl<T: Float + Product> Product for OrderedFloat<T>
source§fn product<I: Iterator<Item = OrderedFloat<T>>>(iter: I) -> Self
fn product<I: Iterator<Item = OrderedFloat<T>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
multiplying the items.source§impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>where
T: Rem<&'a T>,
impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T>where T: Rem<&'a T>,
source§impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>where
&'a T: Rem<T>,
impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T>where &'a T: Rem<T>,
source§impl<T: Rem> Rem<T> for OrderedFloat<T>
impl<T: Rem> Rem<T> for OrderedFloat<T>
source§impl<T: Rem> Rem for OrderedFloat<T>
impl<T: Rem> Rem for OrderedFloat<T>
source§impl<'a, T: RemAssign<&'a T>> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: RemAssign<&'a T>> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn rem_assign(&mut self, other: &'a Self)
fn rem_assign(&mut self, other: &'a Self)
Performs the
%=
operation. Read moresource§impl<'a, T: RemAssign<&'a T>> RemAssign<&'a T> for OrderedFloat<T>
impl<'a, T: RemAssign<&'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)
Performs the
%=
operation. Read moresource§impl<T: RemAssign> RemAssign<T> for OrderedFloat<T>
impl<T: RemAssign> RemAssign<T> for OrderedFloat<T>
source§fn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
Performs the
%=
operation. Read moresource§impl<T: RemAssign> RemAssign for OrderedFloat<T>
impl<T: RemAssign> RemAssign for OrderedFloat<T>
source§fn rem_assign(&mut self, other: Self)
fn rem_assign(&mut self, other: Self)
Performs the
%=
operation. Read moresource§impl<T: Float + Signed> Signed for OrderedFloat<T>
impl<T: Float + Signed> Signed for OrderedFloat<T>
source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true if the number is positive and false if the number is zero or negative.
source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true if the number is negative and false if the number is zero or positive.
source§impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>where
T: Sub<&'a T>,
impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T>where T: Sub<&'a T>,
source§impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>where
&'a T: Sub<T>,
impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T>where &'a T: Sub<T>,
source§impl<T: Sub> Sub<T> for OrderedFloat<T>
impl<T: Sub> Sub<T> for OrderedFloat<T>
source§impl<T: Sub> Sub for OrderedFloat<T>
impl<T: Sub> Sub for OrderedFloat<T>
source§impl<'a, T: SubAssign<&'a T>> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: SubAssign<&'a T>> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn sub_assign(&mut self, other: &'a Self)
fn sub_assign(&mut self, other: &'a Self)
Performs the
-=
operation. Read moresource§impl<'a, T: SubAssign<&'a T>> SubAssign<&'a T> for OrderedFloat<T>
impl<'a, T: SubAssign<&'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)
Performs the
-=
operation. Read moresource§impl<T: SubAssign> SubAssign<T> for OrderedFloat<T>
impl<T: SubAssign> SubAssign<T> for OrderedFloat<T>
source§fn sub_assign(&mut self, other: T)
fn sub_assign(&mut self, other: T)
Performs the
-=
operation. Read moresource§impl<T: SubAssign> SubAssign for OrderedFloat<T>
impl<T: SubAssign> SubAssign for OrderedFloat<T>
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Performs the
-=
operation. Read moresource§impl<'a, T: Float + Sum + 'a> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
impl<'a, T: Float + Sum + 'a> Sum<&'a OrderedFloat<T>> for OrderedFloat<T>
source§fn sum<I: Iterator<Item = &'a OrderedFloat<T>>>(iter: I) -> Self
fn sum<I: Iterator<Item = &'a OrderedFloat<T>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
“summing up” the items.source§impl<T: Float + Sum> Sum for OrderedFloat<T>
impl<T: Float + Sum> Sum for OrderedFloat<T>
Adds a float directly.
source§fn sum<I: Iterator<Item = OrderedFloat<T>>>(iter: I) -> Self
fn sum<I: Iterator<Item = OrderedFloat<T>>>(iter: I) -> Self
Method which takes an iterator and generates
Self
from the elements by
“summing up” the items.source§impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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: Zero> Zero for OrderedFloat<T>
impl<T: Zero> Zero for OrderedFloat<T>
impl<T: Copy> Copy for OrderedFloat<T>
impl<T: Float> Eq for OrderedFloat<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for OrderedFloat<T>where T: RefUnwindSafe,
impl<T> Send for OrderedFloat<T>where T: Send,
impl<T> Sync for OrderedFloat<T>where T: Sync,
impl<T> Unpin for OrderedFloat<T>where T: Unpin,
impl<T> UnwindSafe for OrderedFloat<T>where T: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere T: Bounded,
source§impl<T> Real for Twhere
T: Float,
impl<T> Real for Twhere T: Float,
source§fn min_positive_value() -> T
fn min_positive_value() -> T
Returns the smallest positive, normalized value that this type can represent. Read more
source§fn round(self) -> T
fn round(self) -> T
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read moresource§fn is_sign_positive(self) -> bool
fn is_sign_positive(self) -> bool
Returns
true
if self
is positive, including +0.0
,
Float::infinity()
, and with newer versions of Rust f64::NAN
. Read moresource§fn is_sign_negative(self) -> bool
fn is_sign_negative(self) -> bool
Returns
true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and with newer versions of Rust -f64::NAN
. Read moresource§fn mul_add(self, a: T, b: T) -> T
fn mul_add(self, a: T, b: T) -> T
Fused multiply-add. Computes
(self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moresource§fn log(self, base: T) -> T
fn log(self, base: T) -> T
Returns the logarithm of the number with respect to an arbitrary base. Read more
source§fn to_degrees(self) -> T
fn to_degrees(self) -> T
Converts radians to degrees. Read more
source§fn to_radians(self) -> T
fn to_radians(self) -> T
Converts degrees to radians. Read more
source§fn hypot(self, other: T) -> T
fn hypot(self, other: T) -> T
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length
x
and y
. Read moresource§fn asin(self) -> T
fn asin(self) -> T
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn acos(self) -> T
fn acos(self) -> T
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
source§fn atan(self) -> T
fn atan(self) -> T
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
source§fn exp_m1(self) -> T
fn exp_m1(self) -> T
Returns
e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more