[−][src]Struct rug::float::OrdFloat
A float that supports total ordering and hashing.
Negative zero is ordered as less than positive zero. Negative NaN is ordered as less than negative infinity, while positive NaN is ordered as greater than positive infinity. Comparing two negative NaNs or two positive NaNs produces equality.
Examples
use rug::float::{OrdFloat, Special}; use rug::Float; use std::cmp::Ordering; let pos_nan_f = Float::with_val(53, Special::Nan); let pos_inf_f = Float::with_val(53, Special::Infinity); let pos_zero_f = Float::with_val(53, Special::Zero); let neg_zero_f = Float::with_val(53, Special::NegZero); let neg_inf_f = Float::with_val(53, Special::NegInfinity); let neg_nan_f = Float::with_val(53, -&pos_nan_f); let pos_nan = OrdFloat::from(pos_nan_f); let pos_inf = OrdFloat::from(pos_inf_f); let pos_zero = OrdFloat::from(pos_zero_f); let neg_zero = OrdFloat::from(neg_zero_f); let neg_inf = OrdFloat::from(neg_inf_f); let neg_nan = OrdFloat::from(neg_nan_f); assert_eq!(pos_nan.cmp(&pos_nan), Ordering::Equal); assert_eq!(neg_nan.cmp(&neg_nan), Ordering::Equal); assert_eq!(neg_nan.cmp(&pos_nan), Ordering::Less); assert_eq!(pos_nan.cmp(&pos_inf), Ordering::Greater); assert_eq!(neg_nan.cmp(&neg_inf), Ordering::Less); assert_eq!(pos_zero.cmp(&neg_zero), Ordering::Greater);
Methods
impl OrdFloat
[src]
pub fn as_float(&self) -> &Float
[src]
Extracts the underlying Float
.
Examples
use rug::float::OrdFloat; use rug::Float; let f = Float::with_val(53, 1.5); let ord = OrdFloat::from(f); let f_ref = ord.as_float(); assert_eq!(f_ref.to_f64(), 1.5);
pub fn as_float_mut(&mut self) -> &mut Float
[src]
Trait Implementations
impl Clone for OrdFloat
[src]
fn clone(&self) -> OrdFloat
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Ord for OrdFloat
[src]
fn cmp(&self, other: &OrdFloat) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
Compares and returns the minimum of two values. Read more
fn clamp(self, min: Self, max: Self) -> Self
[src]
clamp
)Restrict a value to a certain interval. Read more
impl From<Float> for OrdFloat
[src]
impl From<OrdFloat> for Float
[src]
impl PartialOrd<OrdFloat> for OrdFloat
[src]
fn partial_cmp(&self, other: &OrdFloat) -> Option<Ordering>
[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]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<OrdFloat> for OrdFloat
[src]
fn eq(&self, other: &OrdFloat) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl Eq for OrdFloat
[src]
impl Debug for OrdFloat
[src]
impl Hash for OrdFloat
[src]
fn hash<H>(&self, state: &mut H) where
H: Hasher,
[src]
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Serialize for OrdFloat
[src]
impl<'de> Deserialize<'de> for OrdFloat
[src]
fn deserialize<D>(deserializer: D) -> Result<OrdFloat, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
fn deserialize_in_place<D>(
deserializer: D,
place: &mut OrdFloat
) -> Result<(), D::Error> where
D: Deserializer<'de>,
[src]
deserializer: D,
place: &mut OrdFloat
) -> Result<(), D::Error> where
D: Deserializer<'de>,
Auto Trait Implementations
impl Sync for OrdFloat
impl Send for OrdFloat
impl Unpin for OrdFloat
impl RefUnwindSafe for OrdFloat
impl UnwindSafe for OrdFloat
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,