Struct otter_api_tests::shapelib::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)));
Implementations
impl<T> OrderedFloat<T> where
T: Float,
impl<T> OrderedFloat<T> where
T: Float,
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> where
T: Add<&'a T>,
impl<'a, T> Add<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: Add<&'a T>,
type Output = OrderedFloat<<T as Add<&'a T>>::Output>
type Output = OrderedFloat<<T as Add<&'a T>>::Output>
The resulting type after applying the +
operator.
pub fn add(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
pub fn add(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
Performs the +
operation. Read more
impl<'a, T> Add<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add<&'a T>,
impl<'a, T> Add<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Add<&'a T>,
The resulting type after applying the +
operator.
pub fn add(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
pub fn add(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Add<&'a OrderedFloat<T>>>::Output
Performs the +
operation. Read more
impl<'a, T> Add<&'a T> for OrderedFloat<T> where
T: Add<&'a T>,
impl<'a, T> Add<&'a T> for OrderedFloat<T> where
T: Add<&'a T>,
impl<T> Add<OrderedFloat<T>> for OrderedFloat<T> where
T: Add<T>,
impl<T> Add<OrderedFloat<T>> for OrderedFloat<T> where
T: Add<T>,
type Output = OrderedFloat<<T as Add<T>>::Output>
type Output = OrderedFloat<<T as Add<T>>::Output>
The resulting type after applying the +
operator.
pub fn add(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
pub fn add(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
Performs the +
operation. Read more
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>,
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.
pub fn add(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
pub fn add(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Add<OrderedFloat<T>>>::Output
Performs the +
operation. Read more
impl<'a, T> Add<T> for &'a OrderedFloat<T> where
&'a T: Add<T>,
impl<'a, T> Add<T> for &'a OrderedFloat<T> where
&'a T: Add<T>,
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.
pub fn add(self, other: T) -> <&'a OrderedFloat<T> as Add<T>>::Output
pub fn add(self, other: T) -> <&'a OrderedFloat<T> as Add<T>>::Output
Performs the +
operation. Read more
impl<T> Add<T> for OrderedFloat<T> where
T: Add<T>,
impl<T> Add<T> for OrderedFloat<T> where
T: Add<T>,
type Output = OrderedFloat<<T as Add<T>>::Output>
type Output = OrderedFloat<<T as Add<T>>::Output>
The resulting type after applying the +
operator.
pub fn add(self, other: T) -> <OrderedFloat<T> as Add<T>>::Output
pub fn add(self, other: T) -> <OrderedFloat<T> as Add<T>>::Output
Performs the +
operation. Read more
impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: AddAssign<&'a T>,
impl<'a, T> AddAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: AddAssign<&'a T>,
pub fn add_assign(&mut self, other: &'a OrderedFloat<T>)
pub fn add_assign(&mut self, other: &'a OrderedFloat<T>)
Performs the +=
operation. Read more
impl<'a, T> AddAssign<&'a T> for OrderedFloat<T> where
T: AddAssign<&'a T>,
impl<'a, T> AddAssign<&'a T> for OrderedFloat<T> where
T: AddAssign<&'a T>,
pub fn add_assign(&mut self, other: &'a T)
pub fn add_assign(&mut self, other: &'a T)
Performs the +=
operation. Read more
impl<T> AddAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: AddAssign<T>,
impl<T> AddAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: AddAssign<T>,
pub fn add_assign(&mut self, other: OrderedFloat<T>)
pub fn add_assign(&mut self, other: OrderedFloat<T>)
Performs the +=
operation. Read more
impl<T> AddAssign<T> for OrderedFloat<T> where
T: AddAssign<T>,
impl<T> AddAssign<T> for OrderedFloat<T> where
T: AddAssign<T>,
pub fn add_assign(&mut self, other: T)
pub fn add_assign(&mut self, other: T)
Performs the +=
operation. Read more
impl<T> AsMut<T> for OrderedFloat<T> where
T: Float,
impl<T> AsMut<T> for OrderedFloat<T> where
T: Float,
impl<T> AsRef<T> for OrderedFloat<T> where
T: Float,
impl<T> AsRef<T> for OrderedFloat<T> where
T: Float,
impl<T> Bounded for OrderedFloat<T> where
T: Bounded,
impl<T> Bounded for OrderedFloat<T> where
T: Bounded,
pub fn min_value() -> OrderedFloat<T>
pub fn min_value() -> OrderedFloat<T>
returns the smallest finite number this type can represent
pub fn max_value() -> OrderedFloat<T>
pub fn max_value() -> OrderedFloat<T>
returns the largest finite number this type can represent
impl<T> Clone for OrderedFloat<T> where
T: Clone,
impl<T> Clone for OrderedFloat<T> where
T: Clone,
pub fn clone(&self) -> OrderedFloat<T>
pub fn clone(&self) -> OrderedFloat<T>
Returns a copy of the value. Read more
Performs copy-assignment from 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,
pub fn default() -> OrderedFloat<T>
pub fn default() -> OrderedFloat<T>
Returns the “default value” for a type. Read more
impl<T> Deref for OrderedFloat<T> where
T: Float,
impl<T> Deref for OrderedFloat<T> where
T: Float,
type Target = T
type Target = T
The resulting type after dereferencing.
pub fn deref(&self) -> &<OrderedFloat<T> as Deref>::Target
pub fn deref(&self) -> &<OrderedFloat<T> as Deref>::Target
Dereferences the value.
impl<T> DerefMut for OrderedFloat<T> where
T: Float,
impl<T> DerefMut for OrderedFloat<T> where
T: Float,
pub fn deref_mut(&mut self) -> &mut <OrderedFloat<T> as Deref>::Target
pub fn deref_mut(&mut self) -> &mut <OrderedFloat<T> as Deref>::Target
Mutably dereferences the value.
impl<T> Display for OrderedFloat<T> where
T: Float + Display,
impl<T> Display for OrderedFloat<T> where
T: Float + Display,
impl<'a, T> Div<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div<&'a T>,
impl<'a, T> Div<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Div<&'a T>,
The resulting type after applying the /
operator.
pub fn div(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
pub fn div(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
Performs the /
operation. Read more
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>,
type Output = OrderedFloat<<T as Div<&'a T>>::Output>
type Output = OrderedFloat<<T as Div<&'a T>>::Output>
The resulting type after applying the /
operator.
pub fn div(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
pub fn div(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Div<&'a OrderedFloat<T>>>::Output
Performs the /
operation. Read more
impl<'a, T> Div<&'a T> for OrderedFloat<T> where
T: Div<&'a T>,
impl<'a, T> Div<&'a T> for OrderedFloat<T> where
T: Div<&'a T>,
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>,
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.
pub fn div(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
pub fn div(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
Performs the /
operation. Read more
impl<T> Div<OrderedFloat<T>> for OrderedFloat<T> where
T: Div<T>,
impl<T> Div<OrderedFloat<T>> for OrderedFloat<T> where
T: Div<T>,
type Output = OrderedFloat<<T as Div<T>>::Output>
type Output = OrderedFloat<<T as Div<T>>::Output>
The resulting type after applying the /
operator.
pub fn div(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
pub fn div(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Div<OrderedFloat<T>>>::Output
Performs the /
operation. Read more
impl<T> Div<T> for OrderedFloat<T> where
T: Div<T>,
impl<T> Div<T> for OrderedFloat<T> where
T: Div<T>,
type Output = OrderedFloat<<T as Div<T>>::Output>
type Output = OrderedFloat<<T as Div<T>>::Output>
The resulting type after applying the /
operator.
pub fn div(self, other: T) -> <OrderedFloat<T> as Div<T>>::Output
pub fn div(self, other: T) -> <OrderedFloat<T> as Div<T>>::Output
Performs the /
operation. Read more
impl<'a, T> Div<T> for &'a OrderedFloat<T> where
&'a T: Div<T>,
impl<'a, T> Div<T> for &'a OrderedFloat<T> where
&'a T: Div<T>,
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.
pub fn div(self, other: T) -> <&'a OrderedFloat<T> as Div<T>>::Output
pub fn div(self, other: T) -> <&'a OrderedFloat<T> as Div<T>>::Output
Performs the /
operation. Read more
impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: DivAssign<&'a T>,
impl<'a, T> DivAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: DivAssign<&'a T>,
pub fn div_assign(&mut self, other: &'a OrderedFloat<T>)
pub fn div_assign(&mut self, other: &'a OrderedFloat<T>)
Performs the /=
operation. Read more
impl<'a, T> DivAssign<&'a T> for OrderedFloat<T> where
T: DivAssign<&'a T>,
impl<'a, T> DivAssign<&'a T> for OrderedFloat<T> where
T: DivAssign<&'a T>,
pub fn div_assign(&mut self, other: &'a T)
pub fn div_assign(&mut self, other: &'a T)
Performs the /=
operation. Read more
impl<T> DivAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: DivAssign<T>,
impl<T> DivAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: DivAssign<T>,
pub fn div_assign(&mut self, other: OrderedFloat<T>)
pub fn div_assign(&mut self, other: OrderedFloat<T>)
Performs the /=
operation. Read more
impl<T> DivAssign<T> for OrderedFloat<T> where
T: DivAssign<T>,
impl<T> DivAssign<T> for OrderedFloat<T> where
T: DivAssign<T>,
pub fn div_assign(&mut self, other: T)
pub fn div_assign(&mut self, other: T)
Performs the /=
operation. Read more
impl<T> Float for OrderedFloat<T> where
T: Float,
impl<T> Float for OrderedFloat<T> where
T: Float,
pub fn nan() -> OrderedFloat<T>
pub fn nan() -> OrderedFloat<T>
Returns the NaN
value. Read more
pub fn infinity() -> OrderedFloat<T>
pub fn infinity() -> OrderedFloat<T>
Returns the infinite value. Read more
pub fn neg_infinity() -> OrderedFloat<T>
pub fn neg_infinity() -> OrderedFloat<T>
Returns the negative infinite value. Read more
pub fn neg_zero() -> OrderedFloat<T>
pub fn neg_zero() -> OrderedFloat<T>
Returns -0.0
. Read more
pub fn min_value() -> OrderedFloat<T>
pub fn min_value() -> OrderedFloat<T>
Returns the smallest finite value that this type can represent. Read more
pub fn min_positive_value() -> OrderedFloat<T>
pub fn min_positive_value() -> OrderedFloat<T>
Returns the smallest positive, normalized value that this type can represent. Read more
pub fn max_value() -> OrderedFloat<T>
pub fn max_value() -> OrderedFloat<T>
Returns the largest finite value that this type can represent. Read more
pub fn is_infinite(self) -> bool
pub fn is_infinite(self) -> bool
Returns true
if this value is positive infinity or negative infinity and
false otherwise. Read more
pub fn classify(self) -> FpCategory
pub 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
pub fn floor(self) -> OrderedFloat<T>
pub fn floor(self) -> OrderedFloat<T>
Returns the largest integer less than or equal to a number. Read more
pub fn ceil(self) -> OrderedFloat<T>
pub fn ceil(self) -> OrderedFloat<T>
Returns the smallest integer greater than or equal to a number. Read more
pub fn round(self) -> OrderedFloat<T>
pub fn round(self) -> OrderedFloat<T>
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read more
pub fn trunc(self) -> OrderedFloat<T>
pub fn trunc(self) -> OrderedFloat<T>
Return the integer part of a number. Read more
pub fn fract(self) -> OrderedFloat<T>
pub fn fract(self) -> OrderedFloat<T>
Returns the fractional part of a number. Read more
pub fn abs(self) -> OrderedFloat<T>
pub fn abs(self) -> OrderedFloat<T>
Computes the absolute value of self
. Returns Float::nan()
if the
number is Float::nan()
. Read more
pub fn signum(self) -> OrderedFloat<T>
pub fn signum(self) -> OrderedFloat<T>
Returns a number that represents the sign of self
. Read more
pub fn is_sign_positive(self) -> bool
pub fn is_sign_positive(self) -> bool
Returns true
if self
is positive, including +0.0
,
Float::infinity()
, and since Rust 1.20 also Float::nan()
. Read more
pub fn is_sign_negative(self) -> bool
pub fn is_sign_negative(self) -> bool
Returns true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and since Rust 1.20 also -Float::nan()
. Read more
pub fn mul_add(self, a: OrderedFloat<T>, b: OrderedFloat<T>) -> OrderedFloat<T>
pub fn mul_add(self, a: OrderedFloat<T>, b: OrderedFloat<T>) -> OrderedFloat<T>
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 recip(self) -> OrderedFloat<T>
pub fn recip(self) -> OrderedFloat<T>
Take the reciprocal (inverse) of a number, 1/x
. Read more
pub fn powi(self, n: i32) -> OrderedFloat<T>
pub fn powi(self, n: i32) -> OrderedFloat<T>
Raise a number to an integer power. Read more
pub fn powf(self, n: OrderedFloat<T>) -> OrderedFloat<T>
pub fn powf(self, n: OrderedFloat<T>) -> OrderedFloat<T>
Raise a number to a floating point power. Read more
pub fn sqrt(self) -> OrderedFloat<T>
pub fn sqrt(self) -> OrderedFloat<T>
Take the square root of a number. Read more
pub fn exp(self) -> OrderedFloat<T>
pub fn exp(self) -> OrderedFloat<T>
Returns e^(self)
, (the exponential function). Read more
pub fn exp2(self) -> OrderedFloat<T>
pub fn exp2(self) -> OrderedFloat<T>
Returns 2^(self)
. Read more
pub fn ln(self) -> OrderedFloat<T>
pub fn ln(self) -> OrderedFloat<T>
Returns the natural logarithm of the number. Read more
pub fn log(self, base: OrderedFloat<T>) -> OrderedFloat<T>
pub fn log(self, base: OrderedFloat<T>) -> OrderedFloat<T>
Returns the logarithm of the number with respect to an arbitrary base. Read more
pub fn log2(self) -> OrderedFloat<T>
pub fn log2(self) -> OrderedFloat<T>
Returns the base 2 logarithm of the number. Read more
pub fn log10(self) -> OrderedFloat<T>
pub fn log10(self) -> OrderedFloat<T>
Returns the base 10 logarithm of the number. Read more
pub fn max(self, other: OrderedFloat<T>) -> OrderedFloat<T>
pub fn max(self, other: OrderedFloat<T>) -> OrderedFloat<T>
Returns the maximum of the two numbers. Read more
pub fn min(self, other: OrderedFloat<T>) -> OrderedFloat<T>
pub fn min(self, other: OrderedFloat<T>) -> OrderedFloat<T>
Returns the minimum of the two numbers. Read more
pub fn abs_sub(self, other: OrderedFloat<T>) -> OrderedFloat<T>
pub fn abs_sub(self, other: OrderedFloat<T>) -> OrderedFloat<T>
The positive difference of two numbers. Read more
pub fn cbrt(self) -> OrderedFloat<T>
pub fn cbrt(self) -> OrderedFloat<T>
Take the cubic root of a number. Read more
pub fn hypot(self, other: OrderedFloat<T>) -> OrderedFloat<T>
pub fn hypot(self, other: OrderedFloat<T>) -> OrderedFloat<T>
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length x
and y
. Read more
pub fn sin(self) -> OrderedFloat<T>
pub fn sin(self) -> OrderedFloat<T>
Computes the sine of a number (in radians). Read more
pub fn cos(self) -> OrderedFloat<T>
pub fn cos(self) -> OrderedFloat<T>
Computes the cosine of a number (in radians). Read more
pub fn tan(self) -> OrderedFloat<T>
pub fn tan(self) -> OrderedFloat<T>
Computes the tangent of a number (in radians). Read more
pub fn asin(self) -> OrderedFloat<T>
pub fn asin(self) -> OrderedFloat<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
pub fn acos(self) -> OrderedFloat<T>
pub fn acos(self) -> OrderedFloat<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
pub fn atan(self) -> OrderedFloat<T>
pub fn atan(self) -> OrderedFloat<T>
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: OrderedFloat<T>) -> OrderedFloat<T>
pub fn atan2(self, other: OrderedFloat<T>) -> OrderedFloat<T>
Computes the four quadrant arctangent of self
(y
) and other
(x
). Read more
pub fn sin_cos(self) -> (OrderedFloat<T>, OrderedFloat<T>)
pub fn sin_cos(self) -> (OrderedFloat<T>, OrderedFloat<T>)
Simultaneously computes the sine and cosine of the number, x
. Returns
(sin(x), cos(x))
. Read more
pub fn exp_m1(self) -> OrderedFloat<T>
pub fn exp_m1(self) -> OrderedFloat<T>
Returns e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more
pub fn ln_1p(self) -> OrderedFloat<T>
pub fn ln_1p(self) -> OrderedFloat<T>
Returns ln(1+n)
(natural logarithm) more accurately than if
the operations were performed separately. Read more
pub fn sinh(self) -> OrderedFloat<T>
pub fn sinh(self) -> OrderedFloat<T>
Hyperbolic sine function. Read more
pub fn cosh(self) -> OrderedFloat<T>
pub fn cosh(self) -> OrderedFloat<T>
Hyperbolic cosine function. Read more
pub fn tanh(self) -> OrderedFloat<T>
pub fn tanh(self) -> OrderedFloat<T>
Hyperbolic tangent function. Read more
pub fn asinh(self) -> OrderedFloat<T>
pub fn asinh(self) -> OrderedFloat<T>
Inverse hyperbolic sine function. Read more
pub fn acosh(self) -> OrderedFloat<T>
pub fn acosh(self) -> OrderedFloat<T>
Inverse hyperbolic cosine function. Read more
pub fn atanh(self) -> OrderedFloat<T>
pub fn atanh(self) -> OrderedFloat<T>
Inverse hyperbolic tangent function. Read more
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by sign * mantissa * 2 ^ exponent
. Read more
pub fn epsilon() -> OrderedFloat<T>
pub fn epsilon() -> OrderedFloat<T>
Returns epsilon, a small positive value. Read more
pub fn to_degrees(self) -> OrderedFloat<T>
pub fn to_degrees(self) -> OrderedFloat<T>
Converts radians to degrees. Read more
pub fn to_radians(self) -> OrderedFloat<T>
pub fn to_radians(self) -> OrderedFloat<T>
Converts degrees to radians. Read more
impl<T> FloatCore for OrderedFloat<T> where
T: Float,
impl<T> FloatCore for OrderedFloat<T> where
T: Float,
pub fn nan() -> OrderedFloat<T>
pub fn nan() -> OrderedFloat<T>
Returns NaN. Read more
pub fn infinity() -> OrderedFloat<T>
pub fn infinity() -> OrderedFloat<T>
Returns positive infinity. Read more
pub fn neg_infinity() -> OrderedFloat<T>
pub fn neg_infinity() -> OrderedFloat<T>
Returns negative infinity. Read more
pub fn neg_zero() -> OrderedFloat<T>
pub fn neg_zero() -> OrderedFloat<T>
Returns -0.0
. Read more
pub fn min_value() -> OrderedFloat<T>
pub fn min_value() -> OrderedFloat<T>
Returns the smallest finite value that this type can represent. Read more
pub fn min_positive_value() -> OrderedFloat<T>
pub fn min_positive_value() -> OrderedFloat<T>
Returns the smallest positive, normalized value that this type can represent. Read more
pub fn max_value() -> OrderedFloat<T>
pub fn max_value() -> OrderedFloat<T>
Returns the largest finite value that this type can represent. Read more
pub fn is_infinite(self) -> bool
pub fn is_infinite(self) -> bool
Returns true
if the number is infinite. Read more
Returns true
if the number is neither zero, infinite, subnormal or NaN. Read more
pub fn classify(self) -> FpCategory
pub 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
pub fn floor(self) -> OrderedFloat<T>
pub fn floor(self) -> OrderedFloat<T>
Returns the largest integer less than or equal to a number. Read more
pub fn ceil(self) -> OrderedFloat<T>
pub fn ceil(self) -> OrderedFloat<T>
Returns the smallest integer greater than or equal to a number. Read more
pub fn round(self) -> OrderedFloat<T>
pub fn round(self) -> OrderedFloat<T>
Returns the nearest integer to a number. Round half-way cases away from 0.0
. Read more
pub fn trunc(self) -> OrderedFloat<T>
pub fn trunc(self) -> OrderedFloat<T>
Return the integer part of a number. Read more
pub fn fract(self) -> OrderedFloat<T>
pub fn fract(self) -> OrderedFloat<T>
Returns the fractional part of a number. Read more
pub fn abs(self) -> OrderedFloat<T>
pub fn abs(self) -> OrderedFloat<T>
Computes the absolute value of self
. Returns FloatCore::nan()
if the
number is FloatCore::nan()
. Read more
pub fn signum(self) -> OrderedFloat<T>
pub fn signum(self) -> OrderedFloat<T>
Returns a number that represents the sign of self
. Read more
pub fn is_sign_positive(self) -> bool
pub fn is_sign_positive(self) -> bool
Returns true
if self
is positive, including +0.0
and
FloatCore::infinity()
, and since Rust 1.20 also
FloatCore::nan()
. Read more
pub fn is_sign_negative(self) -> bool
pub fn is_sign_negative(self) -> bool
Returns true
if self
is negative, including -0.0
and
FloatCore::neg_infinity()
, and since Rust 1.20 also
-FloatCore::nan()
. Read more
pub fn recip(self) -> OrderedFloat<T>
pub fn recip(self) -> OrderedFloat<T>
Returns the reciprocal (multiplicative inverse) of the number. Read more
pub fn powi(self, n: i32) -> OrderedFloat<T>
pub fn powi(self, n: i32) -> OrderedFloat<T>
Raise a number to an integer power. Read more
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by sign * mantissa * 2 ^ exponent
. Read more
pub fn epsilon() -> OrderedFloat<T>
pub fn epsilon() -> OrderedFloat<T>
Returns epsilon, a small positive value. Read more
pub fn to_degrees(self) -> OrderedFloat<T>
pub fn to_degrees(self) -> OrderedFloat<T>
Converts to degrees, assuming the number is in radians. Read more
pub fn to_radians(self) -> OrderedFloat<T>
pub fn to_radians(self) -> OrderedFloat<T>
Converts to radians, assuming the number is in degrees. Read more
impl<'a, T> From<&'a T> for &'a OrderedFloat<T> where
T: Float,
impl<'a, T> From<&'a T> for &'a OrderedFloat<T> where
T: Float,
pub fn from(t: &'a T) -> &'a OrderedFloat<T>
pub fn from(t: &'a T) -> &'a OrderedFloat<T>
Performs the conversion.
impl<'a, T> From<&'a mut T> for &'a mut OrderedFloat<T> where
T: Float,
impl<'a, T> From<&'a mut T> for &'a mut OrderedFloat<T> where
T: Float,
pub fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
pub fn from(t: &'a mut T) -> &'a mut OrderedFloat<T>
Performs the conversion.
impl From<OrderedFloat<f32>> for f32
impl From<OrderedFloat<f32>> for f32
pub fn from(f: OrderedFloat<f32>) -> f32
pub fn from(f: OrderedFloat<f32>) -> f32
Performs the conversion.
impl From<OrderedFloat<f64>> for f64
impl From<OrderedFloat<f64>> for f64
pub fn from(f: OrderedFloat<f64>) -> f64
pub fn from(f: OrderedFloat<f64>) -> f64
Performs the conversion.
impl<T> From<T> for OrderedFloat<T> where
T: Float,
impl<T> From<T> for OrderedFloat<T> where
T: Float,
pub fn from(val: T) -> OrderedFloat<T>
pub fn from(val: T) -> OrderedFloat<T>
Performs the conversion.
impl<T> FromPrimitive for OrderedFloat<T> where
T: FromPrimitive,
impl<T> FromPrimitive for OrderedFloat<T> where
T: FromPrimitive,
pub fn from_i64(n: i64) -> Option<OrderedFloat<T>>
pub fn from_i64(n: i64) -> Option<OrderedFloat<T>>
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
pub fn from_u64(n: u64) -> Option<OrderedFloat<T>>
pub fn from_u64(n: u64) -> Option<OrderedFloat<T>>
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
pub fn from_isize(n: isize) -> Option<OrderedFloat<T>>
pub fn from_isize(n: isize) -> Option<OrderedFloat<T>>
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
pub fn from_i8(n: i8) -> Option<OrderedFloat<T>>
pub fn from_i8(n: i8) -> Option<OrderedFloat<T>>
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
pub fn from_i16(n: i16) -> Option<OrderedFloat<T>>
pub fn from_i16(n: i16) -> Option<OrderedFloat<T>>
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
pub fn from_i32(n: i32) -> Option<OrderedFloat<T>>
pub fn from_i32(n: i32) -> Option<OrderedFloat<T>>
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
pub fn from_usize(n: usize) -> Option<OrderedFloat<T>>
pub fn from_usize(n: usize) -> Option<OrderedFloat<T>>
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
pub fn from_u8(n: u8) -> Option<OrderedFloat<T>>
pub fn from_u8(n: u8) -> Option<OrderedFloat<T>>
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
pub fn from_u16(n: u16) -> Option<OrderedFloat<T>>
pub fn from_u16(n: u16) -> Option<OrderedFloat<T>>
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
pub fn from_u32(n: u32) -> Option<OrderedFloat<T>>
pub fn from_u32(n: u32) -> Option<OrderedFloat<T>>
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
pub fn from_f32(n: f32) -> Option<OrderedFloat<T>>
pub fn from_f32(n: f32) -> Option<OrderedFloat<T>>
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
pub fn from_f64(n: f64) -> Option<OrderedFloat<T>>
pub fn from_f64(n: f64) -> Option<OrderedFloat<T>>
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
Converts an i128
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 for OrderedFloat<T> where
T: FromStr,
impl<T> FromStr for OrderedFloat<T> where
T: FromStr,
pub fn from_str(
s: &str
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as FromStr>::Err>
pub 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: Float,
impl<T> Hash for OrderedFloat<T> where
T: Float,
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>,
type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
type Output = OrderedFloat<<T as Mul<&'a T>>::Output>
The resulting type after applying the *
operator.
pub fn mul(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
pub fn mul(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
Performs the *
operation. Read more
impl<'a, T> Mul<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul<&'a T>,
impl<'a, T> Mul<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Mul<&'a T>,
The resulting type after applying the *
operator.
pub fn mul(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
pub fn mul(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Mul<&'a OrderedFloat<T>>>::Output
Performs the *
operation. Read more
impl<'a, T> Mul<&'a T> for OrderedFloat<T> where
T: Mul<&'a T>,
impl<'a, T> Mul<&'a T> for OrderedFloat<T> where
T: Mul<&'a T>,
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>,
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.
pub fn mul(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
pub fn mul(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
Performs the *
operation. Read more
impl<T> Mul<OrderedFloat<T>> for OrderedFloat<T> where
T: Mul<T>,
impl<T> Mul<OrderedFloat<T>> for OrderedFloat<T> where
T: Mul<T>,
type Output = OrderedFloat<<T as Mul<T>>::Output>
type Output = OrderedFloat<<T as Mul<T>>::Output>
The resulting type after applying the *
operator.
pub fn mul(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
pub fn mul(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Mul<OrderedFloat<T>>>::Output
Performs the *
operation. Read more
impl<T> Mul<T> for OrderedFloat<T> where
T: Mul<T>,
impl<T> Mul<T> for OrderedFloat<T> where
T: Mul<T>,
type Output = OrderedFloat<<T as Mul<T>>::Output>
type Output = OrderedFloat<<T as Mul<T>>::Output>
The resulting type after applying the *
operator.
pub fn mul(self, other: T) -> <OrderedFloat<T> as Mul<T>>::Output
pub fn mul(self, other: T) -> <OrderedFloat<T> as Mul<T>>::Output
Performs the *
operation. Read more
impl<'a, T> Mul<T> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
impl<'a, T> Mul<T> for &'a OrderedFloat<T> where
&'a T: Mul<T>,
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.
pub fn mul(self, other: T) -> <&'a OrderedFloat<T> as Mul<T>>::Output
pub fn mul(self, other: T) -> <&'a OrderedFloat<T> as Mul<T>>::Output
Performs the *
operation. Read more
impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: MulAssign<&'a T>,
impl<'a, T> MulAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: MulAssign<&'a T>,
pub fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
pub fn mul_assign(&mut self, other: &'a OrderedFloat<T>)
Performs the *=
operation. Read more
impl<'a, T> MulAssign<&'a T> for OrderedFloat<T> where
T: MulAssign<&'a T>,
impl<'a, T> MulAssign<&'a T> for OrderedFloat<T> where
T: MulAssign<&'a T>,
pub fn mul_assign(&mut self, other: &'a T)
pub fn mul_assign(&mut self, other: &'a T)
Performs the *=
operation. Read more
impl<T> MulAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: MulAssign<T>,
impl<T> MulAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: MulAssign<T>,
pub fn mul_assign(&mut self, other: OrderedFloat<T>)
pub fn mul_assign(&mut self, other: OrderedFloat<T>)
Performs the *=
operation. Read more
impl<T> MulAssign<T> for OrderedFloat<T> where
T: MulAssign<T>,
impl<T> MulAssign<T> for OrderedFloat<T> where
T: MulAssign<T>,
pub fn mul_assign(&mut self, other: T)
pub fn mul_assign(&mut self, other: T)
Performs the *=
operation. Read more
impl<'a, T> Neg for &'a OrderedFloat<T> where
&'a T: Neg,
impl<'a, T> Neg for &'a OrderedFloat<T> where
&'a T: Neg,
type Output = OrderedFloat<<&'a T as Neg>::Output>
type Output = OrderedFloat<<&'a T as Neg>::Output>
The resulting type after applying the -
operator.
pub fn neg(self) -> <&'a OrderedFloat<T> as Neg>::Output
pub fn neg(self) -> <&'a OrderedFloat<T> as Neg>::Output
Performs the unary -
operation. Read more
impl<T> Neg for OrderedFloat<T> where
T: Neg,
impl<T> Neg for OrderedFloat<T> where
T: Neg,
type Output = OrderedFloat<<T as Neg>::Output>
type Output = OrderedFloat<<T as Neg>::Output>
The resulting type after applying the -
operator.
pub fn neg(self) -> <OrderedFloat<T> as Neg>::Output
pub fn neg(self) -> <OrderedFloat<T> as Neg>::Output
Performs the unary -
operation. Read more
impl<T> Num for OrderedFloat<T> where
T: Float + Num,
impl<T> Num for OrderedFloat<T> where
T: Float + Num,
type FromStrRadixErr = <T as Num>::FromStrRadixErr
pub fn from_str_radix(
str: &str,
radix: u32
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as Num>::FromStrRadixErr>
pub fn from_str_radix(
str: &str,
radix: u32
) -> Result<OrderedFloat<T>, <OrderedFloat<T> as Num>::FromStrRadixErr>
Convert from a string and radix (typically 2..=36
). Read more
impl<T> NumCast for OrderedFloat<T> where
T: NumCast,
impl<T> NumCast for OrderedFloat<T> where
T: NumCast,
pub fn from<F>(n: F) -> Option<OrderedFloat<T>> where
F: ToPrimitive,
pub fn from<F>(n: F) -> Option<OrderedFloat<T>> where
F: ToPrimitive,
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 for OrderedFloat<T> where
T: One,
impl<T> One for OrderedFloat<T> where
T: One,
pub fn one() -> OrderedFloat<T>
pub fn one() -> OrderedFloat<T>
Returns the multiplicative identity element of Self
, 1
. Read more
impl<T> Ord for OrderedFloat<T> where
T: Float,
impl<T> Ord for OrderedFloat<T> where
T: Float,
pub fn cmp(&self, other: &OrderedFloat<T>) -> Ordering
pub fn cmp(&self, other: &OrderedFloat<T>) -> Ordering
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
impl<T> PartialEq<OrderedFloat<T>> for OrderedFloat<T> where
T: Float,
impl<T> PartialEq<OrderedFloat<T>> for OrderedFloat<T> where
T: Float,
impl<T> PartialEq<T> for OrderedFloat<T> where
T: Float,
impl<T> PartialEq<T> for OrderedFloat<T> where
T: Float,
impl<T> PartialOrd<OrderedFloat<T>> for OrderedFloat<T> where
T: Float,
impl<T> PartialOrd<OrderedFloat<T>> for OrderedFloat<T> where
T: Float,
pub fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
pub fn partial_cmp(&self, other: &OrderedFloat<T>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: 'a + Float + Product<T>,
impl<'a, T> Product<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: 'a + Float + Product<T>,
pub fn product<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = &'a OrderedFloat<T>>,
pub fn product<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = &'a OrderedFloat<T>>,
Method which takes an iterator and generates Self
from the elements by
multiplying the items. Read more
impl<T> Product<OrderedFloat<T>> for OrderedFloat<T> where
T: Float + Product<T>,
impl<T> Product<OrderedFloat<T>> for OrderedFloat<T> where
T: Float + Product<T>,
pub fn product<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = OrderedFloat<T>>,
pub fn product<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = OrderedFloat<T>>,
Method which takes an iterator and generates Self
from the elements by
multiplying the items. Read more
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>,
type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
type Output = OrderedFloat<<T as Rem<&'a T>>::Output>
The resulting type after applying the %
operator.
pub fn rem(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
pub fn rem(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
Performs the %
operation. Read more
impl<'a, T> Rem<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem<&'a T>,
impl<'a, T> Rem<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Rem<&'a T>,
The resulting type after applying the %
operator.
pub fn rem(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
pub fn rem(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Rem<&'a OrderedFloat<T>>>::Output
Performs the %
operation. Read more
impl<'a, T> Rem<&'a T> for OrderedFloat<T> where
T: Rem<&'a T>,
impl<'a, T> Rem<&'a T> for OrderedFloat<T> where
T: Rem<&'a T>,
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>,
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.
pub fn rem(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
pub fn rem(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
Performs the %
operation. Read more
impl<T> Rem<OrderedFloat<T>> for OrderedFloat<T> where
T: Rem<T>,
impl<T> Rem<OrderedFloat<T>> for OrderedFloat<T> where
T: Rem<T>,
type Output = OrderedFloat<<T as Rem<T>>::Output>
type Output = OrderedFloat<<T as Rem<T>>::Output>
The resulting type after applying the %
operator.
pub fn rem(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
pub fn rem(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Rem<OrderedFloat<T>>>::Output
Performs the %
operation. Read more
impl<'a, T> Rem<T> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
impl<'a, T> Rem<T> for &'a OrderedFloat<T> where
&'a T: Rem<T>,
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.
pub fn rem(self, other: T) -> <&'a OrderedFloat<T> as Rem<T>>::Output
pub fn rem(self, other: T) -> <&'a OrderedFloat<T> as Rem<T>>::Output
Performs the %
operation. Read more
impl<T> Rem<T> for OrderedFloat<T> where
T: Rem<T>,
impl<T> Rem<T> for OrderedFloat<T> where
T: Rem<T>,
type Output = OrderedFloat<<T as Rem<T>>::Output>
type Output = OrderedFloat<<T as Rem<T>>::Output>
The resulting type after applying the %
operator.
pub fn rem(self, other: T) -> <OrderedFloat<T> as Rem<T>>::Output
pub fn rem(self, other: T) -> <OrderedFloat<T> as Rem<T>>::Output
Performs the %
operation. Read more
impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: RemAssign<&'a T>,
impl<'a, T> RemAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: RemAssign<&'a T>,
pub fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
pub fn rem_assign(&mut self, other: &'a OrderedFloat<T>)
Performs the %=
operation. Read more
impl<'a, T> RemAssign<&'a T> for OrderedFloat<T> where
T: RemAssign<&'a T>,
impl<'a, T> RemAssign<&'a T> for OrderedFloat<T> where
T: RemAssign<&'a T>,
pub fn rem_assign(&mut self, other: &'a T)
pub fn rem_assign(&mut self, other: &'a T)
Performs the %=
operation. Read more
impl<T> RemAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: RemAssign<T>,
impl<T> RemAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: RemAssign<T>,
pub fn rem_assign(&mut self, other: OrderedFloat<T>)
pub fn rem_assign(&mut self, other: OrderedFloat<T>)
Performs the %=
operation. Read more
impl<T> RemAssign<T> for OrderedFloat<T> where
T: RemAssign<T>,
impl<T> RemAssign<T> for OrderedFloat<T> where
T: RemAssign<T>,
pub fn rem_assign(&mut self, other: T)
pub fn rem_assign(&mut self, other: T)
Performs the %=
operation. Read more
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>,
type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
type Output = OrderedFloat<<T as Sub<&'a T>>::Output>
The resulting type after applying the -
operator.
pub fn sub(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
pub fn sub(
self,
other: &'a OrderedFloat<T>
) -> <OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
Performs the -
operation. Read more
impl<'a, T> Sub<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub<&'a T>,
impl<'a, T> Sub<&'a OrderedFloat<T>> for &'a OrderedFloat<T> where
&'a T: Sub<&'a T>,
The resulting type after applying the -
operator.
pub fn sub(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
pub fn sub(
self,
other: &'a OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Sub<&'a OrderedFloat<T>>>::Output
Performs the -
operation. Read more
impl<'a, T> Sub<&'a T> for OrderedFloat<T> where
T: Sub<&'a T>,
impl<'a, T> Sub<&'a T> for OrderedFloat<T> where
T: Sub<&'a T>,
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>,
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.
pub fn sub(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
pub fn sub(
self,
other: OrderedFloat<T>
) -> <&'a OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
Performs the -
operation. Read more
impl<T> Sub<OrderedFloat<T>> for OrderedFloat<T> where
T: Sub<T>,
impl<T> Sub<OrderedFloat<T>> for OrderedFloat<T> where
T: Sub<T>,
type Output = OrderedFloat<<T as Sub<T>>::Output>
type Output = OrderedFloat<<T as Sub<T>>::Output>
The resulting type after applying the -
operator.
pub fn sub(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
pub fn sub(
self,
other: OrderedFloat<T>
) -> <OrderedFloat<T> as Sub<OrderedFloat<T>>>::Output
Performs the -
operation. Read more
impl<T> Sub<T> for OrderedFloat<T> where
T: Sub<T>,
impl<T> Sub<T> for OrderedFloat<T> where
T: Sub<T>,
type Output = OrderedFloat<<T as Sub<T>>::Output>
type Output = OrderedFloat<<T as Sub<T>>::Output>
The resulting type after applying the -
operator.
pub fn sub(self, other: T) -> <OrderedFloat<T> as Sub<T>>::Output
pub fn sub(self, other: T) -> <OrderedFloat<T> as Sub<T>>::Output
Performs the -
operation. Read more
impl<'a, T> Sub<T> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
impl<'a, T> Sub<T> for &'a OrderedFloat<T> where
&'a T: Sub<T>,
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.
pub fn sub(self, other: T) -> <&'a OrderedFloat<T> as Sub<T>>::Output
pub fn sub(self, other: T) -> <&'a OrderedFloat<T> as Sub<T>>::Output
Performs the -
operation. Read more
impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: SubAssign<&'a T>,
impl<'a, T> SubAssign<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: SubAssign<&'a T>,
pub fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
pub fn sub_assign(&mut self, other: &'a OrderedFloat<T>)
Performs the -=
operation. Read more
impl<'a, T> SubAssign<&'a T> for OrderedFloat<T> where
T: SubAssign<&'a T>,
impl<'a, T> SubAssign<&'a T> for OrderedFloat<T> where
T: SubAssign<&'a T>,
pub fn sub_assign(&mut self, other: &'a T)
pub fn sub_assign(&mut self, other: &'a T)
Performs the -=
operation. Read more
impl<T> SubAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: SubAssign<T>,
impl<T> SubAssign<OrderedFloat<T>> for OrderedFloat<T> where
T: SubAssign<T>,
pub fn sub_assign(&mut self, other: OrderedFloat<T>)
pub fn sub_assign(&mut self, other: OrderedFloat<T>)
Performs the -=
operation. Read more
impl<T> SubAssign<T> for OrderedFloat<T> where
T: SubAssign<T>,
impl<T> SubAssign<T> for OrderedFloat<T> where
T: SubAssign<T>,
pub fn sub_assign(&mut self, other: T)
pub fn sub_assign(&mut self, other: T)
Performs the -=
operation. Read more
impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: 'a + Float + Sum<T>,
impl<'a, T> Sum<&'a OrderedFloat<T>> for OrderedFloat<T> where
T: 'a + Float + Sum<T>,
pub fn sum<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = &'a OrderedFloat<T>>,
pub fn sum<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = &'a OrderedFloat<T>>,
Method which takes an iterator and generates Self
from the elements by
“summing up” the items. Read more
impl<T> Sum<OrderedFloat<T>> for OrderedFloat<T> where
T: Float + Sum<T>,
impl<T> Sum<OrderedFloat<T>> for OrderedFloat<T> where
T: Float + Sum<T>,
Adds a float directly.
pub fn sum<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = OrderedFloat<T>>,
pub fn sum<I>(iter: I) -> OrderedFloat<T> where
I: Iterator<Item = OrderedFloat<T>>,
Method which takes an iterator and generates Self
from the elements by
“summing up” the items. Read more
impl<T> ToPrimitive for OrderedFloat<T> where
T: ToPrimitive,
impl<T> ToPrimitive for OrderedFloat<T> where
T: ToPrimitive,
Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
Converts the value of self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned. Read more
Converts the value of self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned. Read more
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
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
Converts the value of self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read more
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: Float,
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
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
A: Allocator + 'static,
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>
impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<I, A> Iterator for Box<I, A> where
A: Allocator,
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
A: Allocator + 'static,
F: Future + Unpin + ?Sized, type Output = <F as Future>::Output;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<A> DynCastExt for A
impl<A> DynCastExt for A
pub fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
T: ?Sized,
A: DynCastExtHelper<T>,
pub fn dyn_cast<T>(
self
) -> Result<<A as DynCastExtHelper<T>>::Target, <A as DynCastExtHelper<T>>::Source> where
T: ?Sized,
A: DynCastExtHelper<T>,
Use this to cast from one trait object type to another. Read more
pub fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
T: ?Sized,
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>,
pub fn dyn_upcast<T>(self) -> <A as DynCastExtAdvHelper<T, T>>::Target where
T: ?Sized,
A: DynCastExtAdvHelper<T, T, Source = <A as DynCastExtAdvHelper<T, T>>::Target>,
Use this to upcast a trait to one of its supertraits. Read more
pub fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
T: ?Sized,
A: DynCastExtAdvHelper<F, T>,
F: ?Sized,
pub fn dyn_cast_adv<F, T>(
self
) -> Result<<A as DynCastExtAdvHelper<F, T>>::Target, <A as DynCastExtAdvHelper<F, T>>::Source> where
T: ?Sized,
A: DynCastExtAdvHelper<F, T>,
F: ?Sized,
pub fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
pub fn dyn_cast_with_config<C>(
self
) -> Result<<A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Target, <A as DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>>::Source> where
C: DynCastConfig,
A: DynCastExtAdvHelper<<C as DynCastConfig>::Source, <C as DynCastConfig>::Target>,
Use this to cast from one trait object type to another. With this method the type parameter is a config type that uniquely specifies which cast should be preformed. Read more
Compare self to key
and return true
if they are equal.
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
[src]Returns the smallest finite value that this type can represent. Read more
Returns the smallest positive, normalized value that this type can represent. Read more
Returns the largest finite value that this type can represent. Read more
Returns the smallest integer greater than or equal to a number. Read more
Returns the nearest integer to a number. Round half-way cases away from
0.0
. Read more
Computes the absolute value of self
. Returns Float::nan()
if the
number is Float::nan()
. Read more
Returns true
if self
is positive, including +0.0
,
Float::infinity()
, and with newer versions of Rust f64::NAN
. Read more
Returns true
if self
is negative, including -0.0
,
Float::neg_infinity()
, and with newer versions of Rust -f64::NAN
. Read more
Fused multiply-add. Computes (self * a) + b
with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read more
Returns the logarithm of the number with respect to an arbitrary base. Read more
Converts radians to degrees. Read more
Converts degrees to radians. Read more
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length x
and y
. Read more
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
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
Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2]; Read more
Computes the four quadrant arctangent of self
(y
) and other
(x
). Read more
Simultaneously computes the sine and cosine of the number, x
. Returns
(sin(x), cos(x))
. Read more
Returns e^(self) - 1
in a way that is accurate even if the
number is close to zero. Read more
Returns ln(1+n)
(natural logarithm) more accurately than if
the operations were performed separately. Read more
pub fn vzip(self) -> V
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]