[−][src]Struct rug::complex::OrdComplex
A complex number that supports total ordering and hashing.
For ordering, the real part has precedence over the imaginary part. 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::complex::OrdComplex; use rug::float::Special; use rug::Complex; use std::cmp::Ordering; let nan_c = Complex::with_val(53, (Special::Nan, Special::Nan)); let nan = OrdComplex::from(nan_c); assert_eq!(nan.cmp(&nan), Ordering::Equal); let one_neg0_c = Complex::with_val(53, (1, Special::NegZero)); let one_neg0 = OrdComplex::from(one_neg0_c); let one_pos0_c = Complex::with_val(53, (1, Special::Zero)); let one_pos0 = OrdComplex::from(one_pos0_c); assert_eq!(one_neg0.cmp(&one_pos0), Ordering::Less); let zero_inf_s = (Special::Zero, Special::Infinity); let zero_inf_c = Complex::with_val(53, zero_inf_s); let zero_inf = OrdComplex::from(zero_inf_c); assert_eq!(one_pos0.cmp(&zero_inf), Ordering::Greater);
Methods
impl OrdComplex
[src]
pub fn as_complex(&self) -> &Complex
[src]
Extracts the underlying Complex
.
Examples
use rug::complex::OrdComplex; use rug::Complex; let c = Complex::with_val(53, (1.5, 2.5)); let ord = OrdComplex::from(c); let c_ref = ord.as_complex(); assert_eq!(*c_ref.real(), 1.5); assert_eq!(*c_ref.imag(), 2.5);
pub fn as_complex_mut(&mut self) -> &mut Complex
[src]
Trait Implementations
impl Eq for OrdComplex
[src]
impl PartialOrd<OrdComplex> for OrdComplex
[src]
fn partial_cmp(&self, other: &OrdComplex) -> 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<OrdComplex> for OrdComplex
[src]
fn eq(&self, other: &OrdComplex) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl From<Complex> for OrdComplex
[src]
impl From<OrdComplex> for Complex
[src]
fn from(src: OrdComplex) -> Self
[src]
impl Clone for OrdComplex
[src]
fn clone(&self) -> OrdComplex
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Ord for OrdComplex
[src]
fn cmp(&self, other: &OrdComplex) -> 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 Debug for OrdComplex
[src]
impl Hash for OrdComplex
[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 OrdComplex
[src]
impl<'de> Deserialize<'de> for OrdComplex
[src]
fn deserialize<D>(deserializer: D) -> Result<OrdComplex, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
fn deserialize_in_place<D>(
deserializer: D,
place: &mut OrdComplex
) -> Result<(), D::Error> where
D: Deserializer<'de>,
[src]
deserializer: D,
place: &mut OrdComplex
) -> Result<(), D::Error> where
D: Deserializer<'de>,
Auto Trait Implementations
impl Send for OrdComplex
impl Sync for OrdComplex
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
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 for T
[src]
impl<T, U> TryFrom 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> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto 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> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,