Struct ordered_float::OrderedFloat [−][src]
#[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)));
Implementations
impl<T: Float> OrderedFloat<T>
[src]
impl<T: Float> OrderedFloat<T>
[src]pub fn into_inner(self) -> T
[src]
pub fn into_inner(self) -> T
[src]Get the value out.
Trait Implementations
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Add<&'a T>,
[src]
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Add<&'a T>,
[src]impl<'a, T> Add<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add,
[src]
impl<'a, T> Add<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add,
[src]impl<T: Add> Add<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Add> Add<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add<T>,
[src]
impl<'a, T> Add<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add<T>,
[src]type Output = OrderedFloat<<&'a T as Add<T>>::Output>
type Output = OrderedFloat<<&'a T as Add<T>>::Output>
The resulting type after applying the +
operator.
fn add(self, other: OrderedFloat<T>) -> Self::Output
[src]
fn add(self, other: OrderedFloat<T>) -> Self::Output
[src]Performs the +
operation. Read more
impl<T: Add> Add<T> for OrderedFloat<T>
[src]
impl<T: Add> Add<T> for OrderedFloat<T>
[src]impl<'a, T> Add<T> for &'a OrderedFloat<T> where
&'a T: Add<T>,
[src]
impl<'a, T> Add<T> for &'a OrderedFloat<T> where
&'a T: Add<T>,
[src]impl<'a, T: AddAssign<&'a T>> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<'a, T: AddAssign<&'a T>> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]fn add_assign(&mut self, other: &'a Self)
[src]
fn add_assign(&mut self, other: &'a Self)
[src]Performs the +=
operation. Read more
impl<'a, T: AddAssign<&'a T>> AddAssign<&'a T> for OrderedFloat<T>
[src]
impl<'a, T: AddAssign<&'a T>> AddAssign<&'a T> for OrderedFloat<T>
[src]fn add_assign(&mut self, other: &'a T)
[src]
fn add_assign(&mut self, other: &'a T)
[src]Performs the +=
operation. Read more
impl<T: AddAssign> AddAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: AddAssign> AddAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]fn add_assign(&mut self, other: Self)
[src]
fn add_assign(&mut self, other: Self)
[src]Performs the +=
operation. Read more
impl<T: AddAssign> AddAssign<T> for OrderedFloat<T>
[src]
impl<T: AddAssign> AddAssign<T> for OrderedFloat<T>
[src]fn add_assign(&mut self, other: T)
[src]
fn add_assign(&mut self, other: T)
[src]Performs the +=
operation. Read more
impl<T: Float> AsMut<T> for OrderedFloat<T>
[src]
impl<T: Float> AsMut<T> for OrderedFloat<T>
[src]impl<T: Bounded> Bounded for OrderedFloat<T>
[src]
impl<T: Bounded> Bounded for OrderedFloat<T>
[src]impl<T: Clone> Clone for OrderedFloat<T>
[src]
impl<T: Clone> Clone for OrderedFloat<T>
[src]fn clone(&self) -> OrderedFloat<T>
[src]
fn clone(&self) -> OrderedFloat<T>
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for OrderedFloat<T>
[src]
impl<T: Debug> Debug for OrderedFloat<T>
[src]impl<T: Default> Default for OrderedFloat<T>
[src]
impl<T: Default> Default for OrderedFloat<T>
[src]fn default() -> OrderedFloat<T>
[src]
fn default() -> OrderedFloat<T>
[src]Returns the “default value” for a type. Read more
impl<T: Float> Deref for OrderedFloat<T>
[src]
impl<T: Float> Deref for OrderedFloat<T>
[src]impl<T: Float> DerefMut for OrderedFloat<T>
[src]
impl<T: Float> DerefMut for OrderedFloat<T>
[src]impl<T: Float + Display> Display for OrderedFloat<T>
[src]
impl<T: Float + Display> Display for OrderedFloat<T>
[src]impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Div<&'a T>,
[src]
impl<'a, T> Div<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Div<&'a T>,
[src]impl<'a, T> Div<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div,
[src]
impl<'a, T> Div<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div,
[src]impl<T: Div> Div<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Div> Div<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div<T>,
[src]
impl<'a, T> Div<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div<T>,
[src]type Output = OrderedFloat<<&'a T as Div<T>>::Output>
type Output = OrderedFloat<<&'a T as Div<T>>::Output>
The resulting type after applying the /
operator.
fn div(self, other: OrderedFloat<T>) -> Self::Output
[src]
fn div(self, other: OrderedFloat<T>) -> Self::Output
[src]Performs the /
operation. Read more
impl<T: Div> Div<T> for OrderedFloat<T>
[src]
impl<T: Div> Div<T> for OrderedFloat<T>
[src]impl<'a, T> Div<T> for &'a OrderedFloat<T> where
&'a T: Div<T>,
[src]
impl<'a, T> Div<T> for &'a OrderedFloat<T> where
&'a T: Div<T>,
[src]impl<'a, T: DivAssign<&'a T>> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<'a, T: DivAssign<&'a T>> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]fn div_assign(&mut self, other: &'a Self)
[src]
fn div_assign(&mut self, other: &'a Self)
[src]Performs the /=
operation. Read more
impl<'a, T: DivAssign<&'a T>> DivAssign<&'a T> for OrderedFloat<T>
[src]
impl<'a, T: DivAssign<&'a T>> DivAssign<&'a T> for OrderedFloat<T>
[src]fn div_assign(&mut self, other: &'a T)
[src]
fn div_assign(&mut self, other: &'a T)
[src]Performs the /=
operation. Read more
impl<T: DivAssign> DivAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: DivAssign> DivAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]fn div_assign(&mut self, other: Self)
[src]
fn div_assign(&mut self, other: Self)
[src]Performs the /=
operation. Read more
impl<T: DivAssign> DivAssign<T> for OrderedFloat<T>
[src]
impl<T: DivAssign> DivAssign<T> for OrderedFloat<T>
[src]fn div_assign(&mut self, other: T)
[src]
fn div_assign(&mut self, other: T)
[src]Performs the /=
operation. Read more
impl<T: Float> Float for OrderedFloat<T>
[src]
impl<T: Float> Float for OrderedFloat<T>
[src]fn neg_infinity() -> Self
[src]
fn neg_infinity() -> Self
[src]Returns the negative infinite value. Read more
fn min_value() -> Self
[src]
fn min_value() -> Self
[src]Returns the smallest finite value that this type can represent. Read more
fn min_positive_value() -> Self
[src]
fn min_positive_value() -> Self
[src]Returns the smallest positive, normalized value that this type can represent. Read more
fn is_infinite(self) -> bool
[src]
fn is_infinite(self) -> bool
[src]Returns true
if this value is positive infinity or negative infinity and
false otherwise. Read more
fn classify(self) -> FpCategory
[src]
fn classify(self) -> FpCategory
[src]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
fn round(self) -> Self
[src]
fn round(self) -> Self
[src]Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read more
fn abs(self) -> Self
[src]
fn abs(self) -> Self
[src]Computes the absolute value of self
. Returns Float::nan()
if the
number is Float::nan()
. Read more
fn is_sign_positive(self) -> bool
[src]
fn is_sign_positive(self) -> bool
[src]Returns true
if self
is positive, including +0.0
,
Float::infinity()
, and since Rust 1.20 also Float::nan()
. Read more
fn is_sign_negative(self) -> bool
[src]
fn is_sign_negative(self) -> bool
[src]Returns true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and since Rust 1.20 also -Float::nan()
. Read more
fn mul_add(self, a: Self, b: Self) -> Self
[src]
fn mul_add(self, a: Self, b: Self) -> Self
[src]Fused multiply-add. Computes (self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read more
fn log(self, base: Self) -> Self
[src]
fn log(self, base: Self) -> Self
[src]Returns the logarithm of the number with respect to an arbitrary base. Read more
fn hypot(self, other: Self) -> Self
[src]
fn hypot(self, other: Self) -> Self
[src]Calculate the length of the hypotenuse of a right-angle triangle given
legs of length x
and y
. Read more
fn asin(self) -> Self
[src]
fn asin(self) -> Self
[src]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
fn acos(self) -> Self
[src]
fn acos(self) -> Self
[src]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
fn atan(self) -> Self
[src]
fn atan(self) -> Self
[src]Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2]; Read more
fn atan2(self, other: Self) -> Self
[src]
fn atan2(self, other: Self) -> Self
[src]Computes the four quadrant arctangent of self
(y
) and other
(x
). Read more
fn sin_cos(self) -> (Self, Self)
[src]
fn sin_cos(self) -> (Self, Self)
[src]Simultaneously computes the sine and cosine of the number, x
. Returns
(sin(x), cos(x))
. Read more
fn exp_m1(self) -> Self
[src]
fn exp_m1(self) -> Self
[src]Returns e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more
fn ln_1p(self) -> Self
[src]
fn ln_1p(self) -> Self
[src]Returns ln(1+n)
(natural logarithm) more accurately than if
the operations were performed separately. Read more
fn integer_decode(self) -> (u64, i16, i8)
[src]
fn integer_decode(self) -> (u64, i16, i8)
[src]Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by sign * mantissa * 2 ^ exponent
. Read more
fn to_degrees(self) -> Self
[src]
fn to_degrees(self) -> Self
[src]Converts radians to degrees. Read more
fn to_radians(self) -> Self
[src]
fn to_radians(self) -> Self
[src]Converts degrees to radians. Read more
impl<T: Float> FloatCore for OrderedFloat<T>
[src]
impl<T: Float> FloatCore for OrderedFloat<T>
[src]fn neg_infinity() -> Self
[src]
fn neg_infinity() -> Self
[src]Returns negative infinity. Read more
fn min_value() -> Self
[src]
fn min_value() -> Self
[src]Returns the smallest finite value that this type can represent. Read more
fn min_positive_value() -> Self
[src]
fn min_positive_value() -> Self
[src]Returns the smallest positive, normalized value that this type can represent. Read more
fn is_infinite(self) -> bool
[src]
fn is_infinite(self) -> bool
[src]Returns true
if the number is infinite. Read more
fn is_normal(self) -> bool
[src]
fn is_normal(self) -> bool
[src]Returns true
if the number is neither zero, infinite, subnormal or NaN. Read more
fn classify(self) -> FpCategory
[src]
fn classify(self) -> FpCategory
[src]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
fn round(self) -> Self
[src]
fn round(self) -> Self
[src]Returns the nearest integer to a number. Round half-way cases away from 0.0
. Read more
fn abs(self) -> Self
[src]
fn abs(self) -> Self
[src]Computes the absolute value of self
. Returns FloatCore::nan()
if the
number is FloatCore::nan()
. Read more
fn is_sign_positive(self) -> bool
[src]
fn is_sign_positive(self) -> bool
[src]Returns true
if self
is positive, including +0.0
and
FloatCore::infinity()
, and since Rust 1.20 also
FloatCore::nan()
. Read more
fn is_sign_negative(self) -> bool
[src]
fn is_sign_negative(self) -> bool
[src]Returns true
if self
is negative, including -0.0
and
FloatCore::neg_infinity()
, and since Rust 1.20 also
-FloatCore::nan()
. Read more
fn integer_decode(self) -> (u64, i16, i8)
[src]
fn integer_decode(self) -> (u64, i16, i8)
[src]Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by sign * mantissa * 2 ^ exponent
. Read more
fn to_degrees(self) -> Self
[src]
fn to_degrees(self) -> Self
[src]Converts to degrees, assuming the number is in radians. Read more
fn to_radians(self) -> Self
[src]
fn to_radians(self) -> Self
[src]Converts to radians, assuming the number is in degrees. Read more
impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
[src]
impl<'a, T: Float> From<&'a T> for &'a OrderedFloat<T>
[src]fn from(t: &'a T) -> &'a OrderedFloat<T>
[src]
fn from(t: &'a T) -> &'a OrderedFloat<T>
[src]Performs the conversion.
impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
[src]
impl<'a, T: Float> From<&'a mut T> for &'a mut OrderedFloat<T>
[src]fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
[src]
fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
[src]Performs the conversion.
impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
[src]
impl<T: FromPrimitive> FromPrimitive for OrderedFloat<T>
[src]fn from_i64(n: i64) -> Option<Self>
[src]
fn from_i64(n: i64) -> Option<Self>
[src]Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_u64(n: u64) -> Option<Self>
[src]
fn from_u64(n: u64) -> Option<Self>
[src]Converts an u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_isize(n: isize) -> Option<Self>
[src]
fn from_isize(n: isize) -> Option<Self>
[src]Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_i8(n: i8) -> Option<Self>
[src]
fn from_i8(n: i8) -> Option<Self>
[src]Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_i16(n: i16) -> Option<Self>
[src]
fn from_i16(n: i16) -> Option<Self>
[src]Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_i32(n: i32) -> Option<Self>
[src]
fn from_i32(n: i32) -> Option<Self>
[src]Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_usize(n: usize) -> Option<Self>
[src]
fn from_usize(n: usize) -> Option<Self>
[src]Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_u8(n: u8) -> Option<Self>
[src]
fn from_u8(n: u8) -> Option<Self>
[src]Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_u16(n: u16) -> Option<Self>
[src]
fn from_u16(n: u16) -> Option<Self>
[src]Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_u32(n: u32) -> Option<Self>
[src]
fn from_u32(n: u32) -> Option<Self>
[src]Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_f32(n: f32) -> Option<Self>
[src]
fn from_f32(n: f32) -> Option<Self>
[src]Converts a f32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
fn from_f64(n: f64) -> Option<Self>
[src]
fn from_f64(n: f64) -> Option<Self>
[src]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 more
impl<T: FromStr> FromStr for OrderedFloat<T>
[src]
impl<T: FromStr> FromStr for OrderedFloat<T>
[src]fn from_str(s: &str) -> Result<Self, Self::Err>
[src]
fn from_str(s: &str) -> Result<Self, Self::Err>
[src]Convert a &str to OrderedFloat
. Returns an error if the string fails to parse.
use ordered_float::OrderedFloat; assert!("-10".parse::<OrderedFloat<f32>>().is_ok()); assert!("abc".parse::<OrderedFloat<f32>>().is_err()); assert!("NaN".parse::<OrderedFloat<f32>>().is_ok());
impl<T: Float> Hash for OrderedFloat<T>
[src]
impl<T: Float> Hash for OrderedFloat<T>
[src]impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Mul<&'a T>,
[src]
impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Mul<&'a T>,
[src]impl<'a, T> Mul<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul,
[src]
impl<'a, T> Mul<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul,
[src]impl<T: Mul> Mul<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Mul> Mul<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
[src]
impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
[src]type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
type Output = OrderedFloat<<&'a T as Mul<T>>::Output>
The resulting type after applying the *
operator.
fn mul(self, other: OrderedFloat<T>) -> Self::Output
[src]
fn mul(self, other: OrderedFloat<T>) -> Self::Output
[src]Performs the *
operation. Read more
impl<T: Mul> Mul<T> for OrderedFloat<T>
[src]
impl<T: Mul> Mul<T> for OrderedFloat<T>
[src]impl<'a, T> Mul<T> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
[src]
impl<'a, T> Mul<T> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
[src]impl<'a, T: MulAssign<&'a T>> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<'a, T: MulAssign<&'a T>> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]fn mul_assign(&mut self, other: &'a Self)
[src]
fn mul_assign(&mut self, other: &'a Self)
[src]Performs the *=
operation. Read more
impl<'a, T: MulAssign<&'a T>> MulAssign<&'a T> for OrderedFloat<T>
[src]
impl<'a, T: MulAssign<&'a T>> MulAssign<&'a T> for OrderedFloat<T>
[src]fn mul_assign(&mut self, other: &'a T)
[src]
fn mul_assign(&mut self, other: &'a T)
[src]Performs the *=
operation. Read more
impl<T: MulAssign> MulAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: MulAssign> MulAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]fn mul_assign(&mut self, other: Self)
[src]
fn mul_assign(&mut self, other: Self)
[src]Performs the *=
operation. Read more
impl<T: MulAssign> MulAssign<T> for OrderedFloat<T>
[src]
impl<T: MulAssign> MulAssign<T> for OrderedFloat<T>
[src]fn mul_assign(&mut self, other: T)
[src]
fn mul_assign(&mut self, other: T)
[src]Performs the *=
operation. Read more
impl<T: Neg> Neg for OrderedFloat<T>
[src]
impl<T: Neg> Neg for OrderedFloat<T>
[src]impl<'a, T> Neg for &'a OrderedFloat<T> where
&'a T: Neg,
[src]
impl<'a, T> Neg for &'a OrderedFloat<T> where
&'a T: Neg,
[src]impl<T: Float + Num> Num for OrderedFloat<T>
[src]
impl<T: Float + Num> Num for OrderedFloat<T>
[src]type FromStrRadixErr = T::FromStrRadixErr
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
[src]
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
[src]Convert from a string and radix (typically 2..=36
). Read more
impl<T: NumCast> NumCast for OrderedFloat<T>
[src]
impl<T: NumCast> NumCast for OrderedFloat<T>
[src]fn from<F: ToPrimitive>(n: F) -> Option<Self>
[src]
fn from<F: ToPrimitive>(n: F) -> Option<Self>
[src]Creates a number from another value that can be converted into
a primitive via the ToPrimitive
trait. If the source value cannot be
represented by the target type, then None
is returned. Read more
impl<T: One> One for OrderedFloat<T>
[src]
impl<T: One> One for OrderedFloat<T>
[src]impl<T: Float> Ord for OrderedFloat<T>
[src]
impl<T: Float> Ord for OrderedFloat<T>
[src]impl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Float> PartialEq<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<T: Float> PartialEq<T> for OrderedFloat<T>
[src]
impl<T: Float> PartialEq<T> for OrderedFloat<T>
[src]impl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Float> PartialOrd<OrderedFloat<T>> for OrderedFloat<T>
[src]fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Rem<&'a T>,
[src]
impl<'a, T> Rem<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Rem<&'a T>,
[src]impl<'a, T> Rem<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem,
[src]
impl<'a, T> Rem<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem,
[src]impl<T: Rem> Rem<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Rem> Rem<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
[src]
impl<'a, T> Rem<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
[src]type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
type Output = OrderedFloat<<&'a T as Rem<T>>::Output>
The resulting type after applying the %
operator.
fn rem(self, other: OrderedFloat<T>) -> Self::Output
[src]
fn rem(self, other: OrderedFloat<T>) -> Self::Output
[src]Performs the %
operation. Read more
impl<T: Rem> Rem<T> for OrderedFloat<T>
[src]
impl<T: Rem> Rem<T> for OrderedFloat<T>
[src]impl<'a, T> Rem<T> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
[src]
impl<'a, T> Rem<T> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
[src]impl<'a, T: RemAssign<&'a T>> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<'a, T: RemAssign<&'a T>> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]fn rem_assign(&mut self, other: &'a Self)
[src]
fn rem_assign(&mut self, other: &'a Self)
[src]Performs the %=
operation. Read more
impl<'a, T: RemAssign<&'a T>> RemAssign<&'a T> for OrderedFloat<T>
[src]
impl<'a, T: RemAssign<&'a T>> RemAssign<&'a T> for OrderedFloat<T>
[src]fn rem_assign(&mut self, other: &'a T)
[src]
fn rem_assign(&mut self, other: &'a T)
[src]Performs the %=
operation. Read more
impl<T: RemAssign> RemAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: RemAssign> RemAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]fn rem_assign(&mut self, other: Self)
[src]
fn rem_assign(&mut self, other: Self)
[src]Performs the %=
operation. Read more
impl<T: RemAssign> RemAssign<T> for OrderedFloat<T>
[src]
impl<T: RemAssign> RemAssign<T> for OrderedFloat<T>
[src]fn rem_assign(&mut self, other: T)
[src]
fn rem_assign(&mut self, other: T)
[src]Performs the %=
operation. Read more
impl SampleUniform for OrderedFloat<f32>
[src]
impl SampleUniform for OrderedFloat<f32>
[src]impl SampleUniform for OrderedFloat<f64>
[src]
impl SampleUniform for OrderedFloat<f64>
[src]impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Sub<&'a T>,
[src]
impl<'a, T> Sub<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Sub<&'a T>,
[src]impl<'a, T> Sub<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub,
[src]
impl<'a, T> Sub<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub,
[src]impl<T: Sub> Sub<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: Sub> Sub<OrderedFloat<T>> for OrderedFloat<T>
[src]impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
[src]
impl<'a, T> Sub<OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
[src]type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
type Output = OrderedFloat<<&'a T as Sub<T>>::Output>
The resulting type after applying the -
operator.
fn sub(self, other: OrderedFloat<T>) -> Self::Output
[src]
fn sub(self, other: OrderedFloat<T>) -> Self::Output
[src]Performs the -
operation. Read more
impl<T: Sub> Sub<T> for OrderedFloat<T>
[src]
impl<T: Sub> Sub<T> for OrderedFloat<T>
[src]impl<'a, T> Sub<T> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
[src]
impl<'a, T> Sub<T> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
[src]impl<'a, T: SubAssign<&'a T>> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<'a, T: SubAssign<&'a T>> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T>
[src]fn sub_assign(&mut self, other: &'a Self)
[src]
fn sub_assign(&mut self, other: &'a Self)
[src]Performs the -=
operation. Read more
impl<'a, T: SubAssign<&'a T>> SubAssign<&'a T> for OrderedFloat<T>
[src]
impl<'a, T: SubAssign<&'a T>> SubAssign<&'a T> for OrderedFloat<T>
[src]fn sub_assign(&mut self, other: &'a T)
[src]
fn sub_assign(&mut self, other: &'a T)
[src]Performs the -=
operation. Read more
impl<T: SubAssign> SubAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]
impl<T: SubAssign> SubAssign<OrderedFloat<T>> for OrderedFloat<T>
[src]fn sub_assign(&mut self, other: Self)
[src]
fn sub_assign(&mut self, other: Self)
[src]Performs the -=
operation. Read more
impl<T: SubAssign> SubAssign<T> for OrderedFloat<T>
[src]
impl<T: SubAssign> SubAssign<T> for OrderedFloat<T>
[src]fn sub_assign(&mut self, other: T)
[src]
fn sub_assign(&mut self, other: T)
[src]Performs the -=
operation. Read more
impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
[src]
impl<T: ToPrimitive> ToPrimitive for OrderedFloat<T>
[src]fn to_i64(&self) -> Option<i64>
[src]
fn to_i64(&self) -> Option<i64>
[src]Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
fn to_u64(&self) -> Option<u64>
[src]
fn to_u64(&self) -> Option<u64>
[src]Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
fn to_isize(&self) -> Option<isize>
[src]
fn to_isize(&self) -> Option<isize>
[src]Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
fn to_i8(&self) -> Option<i8>
[src]
fn to_i8(&self) -> Option<i8>
[src]Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
fn to_i16(&self) -> Option<i16>
[src]
fn to_i16(&self) -> Option<i16>
[src]Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
fn to_i32(&self) -> Option<i32>
[src]
fn to_i32(&self) -> Option<i32>
[src]Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
fn to_usize(&self) -> Option<usize>
[src]
fn to_usize(&self) -> Option<usize>
[src]Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
fn to_u8(&self) -> Option<u8>
[src]
fn to_u8(&self) -> Option<u8>
[src]Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
fn to_u16(&self) -> Option<u16>
[src]
fn to_u16(&self) -> Option<u16>
[src]Converts the value of self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned. Read more
fn to_u32(&self) -> Option<u32>
[src]
fn to_u32(&self) -> Option<u32>
[src]Converts the value of self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned. Read more
fn to_f32(&self) -> Option<f32>
[src]
fn to_f32(&self) -> Option<f32>
[src]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
. Read more
fn to_f64(&self) -> Option<f64>
[src]
fn to_f64(&self) -> Option<f64>
[src]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 more
impl<T: Zero> Zero for OrderedFloat<T>
[src]
impl<T: Zero> Zero for OrderedFloat<T>
[src]impl<T: Copy> Copy for OrderedFloat<T>
[src]
impl<T: Float> Eq for OrderedFloat<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for OrderedFloat<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for OrderedFloat<T> where
T: Send,
T: Send,
impl<T> Sync for OrderedFloat<T> where
T: Sync,
T: Sync,
impl<T> Unpin for OrderedFloat<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for OrderedFloat<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Real for T where
T: Float,
[src]
impl<T> Real for T where
T: Float,
[src]pub fn min_value() -> T
[src]
pub fn min_value() -> T
[src]Returns the smallest finite value that this type can represent. Read more
pub fn min_positive_value() -> T
[src]
pub fn min_positive_value() -> T
[src]Returns the smallest positive, normalized value that this type can represent. Read more
pub fn max_value() -> T
[src]
pub fn max_value() -> T
[src]Returns the largest finite value that this type can represent. Read more
pub fn ceil(self) -> T
[src]
pub fn ceil(self) -> T
[src]Returns the smallest integer greater than or equal to a number. Read more
pub fn round(self) -> T
[src]
pub fn round(self) -> T
[src]Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read more
pub fn abs(self) -> T
[src]
pub fn abs(self) -> T
[src]Computes the absolute value of self
. Returns Float::nan()
if the
number is Float::nan()
. Read more
pub fn is_sign_positive(self) -> bool
[src]
pub fn is_sign_positive(self) -> bool
[src]Returns true
if self
is positive, including +0.0
,
Float::infinity()
, and with newer versions of Rust f64::NAN
. Read more
pub fn is_sign_negative(self) -> bool
[src]
pub fn is_sign_negative(self) -> bool
[src]Returns true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and with newer versions of Rust -f64::NAN
. Read more
pub fn mul_add(self, a: T, b: T) -> T
[src]
pub fn mul_add(self, a: T, b: T) -> T
[src]Fused multiply-add. Computes (self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read more
pub fn log(self, base: T) -> T
[src]
pub fn log(self, base: T) -> T
[src]Returns the logarithm of the number with respect to an arbitrary base. Read more
pub fn to_degrees(self) -> T
[src]
pub fn to_degrees(self) -> T
[src]Converts radians to degrees. Read more
pub fn to_radians(self) -> T
[src]
pub fn to_radians(self) -> T
[src]Converts degrees to radians. Read more
pub fn hypot(self, other: T) -> T
[src]
pub fn hypot(self, other: T) -> T
[src]Calculate the length of the hypotenuse of a right-angle triangle given
legs of length x
and y
. Read more
pub fn asin(self) -> T
[src]
pub fn asin(self) -> T
[src]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
pub fn acos(self) -> T
[src]
pub fn acos(self) -> T
[src]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
pub fn atan(self) -> T
[src]
pub fn atan(self) -> T
[src]Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2]; Read more
pub fn atan2(self, other: T) -> T
[src]
pub fn atan2(self, other: T) -> T
[src]Computes the four quadrant arctangent of self
(y
) and other
(x
). Read more
pub fn sin_cos(self) -> (T, T)
[src]
pub fn sin_cos(self) -> (T, T)
[src]Simultaneously computes the sine and cosine of the number, x
. Returns
(sin(x), cos(x))
. Read more
pub fn exp_m1(self) -> T
[src]
pub fn exp_m1(self) -> T
[src]Returns e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more
impl<Borrowed> SampleBorrow<Borrowed> for Borrowed where
Borrowed: SampleUniform,
[src]
impl<Borrowed> SampleBorrow<Borrowed> for Borrowed where
Borrowed: SampleUniform,
[src]pub fn borrow(&self) -> &Borrowed
[src]
pub fn borrow(&self) -> &Borrowed
[src]Immutably borrows from an owned value. See Borrow::borrow
Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>,
[src]
T: Num + NumAssignOps<T>,
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
impl<T> NumAssignRef for T where
T: NumAssign + for<'r> NumAssignOps<&'r T>,
[src]
T: NumAssign + for<'r> NumAssignOps<&'r T>,
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T> NumRef for T where
T: Num + for<'r> NumOps<&'r T, T>,
[src]
T: Num + for<'r> NumOps<&'r T, T>,
impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,
[src]
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,