#[repr(C)]pub struct Quad<T = f64>(pub T, pub T);Expand description
extended precision floating point type.
math operations assume that self.1.abs() < self.0.abs() * ulp / 2.0
Tuple Fields§
§0: T§1: TImplementations§
Source§impl Quad
impl Quad
pub const DIGITS: u32 = 31u32
pub const EPSILON: Self
pub const FRAC_1_LN_10: Self
pub const FRAC_1_LN_2: Self
pub const INFINITY: Self
pub const LN_10: Self
pub const LN_2: Self
pub const MANTISSA_DIGITS: u32 = 105u32
pub const MAX: Self
pub const MAX_EXP: i32 = 1_024i32
pub const MIN: Self
pub const MIN_EXP: i32 = -1_021i32
pub const MIN_POSITIVE: Self
pub const NAN: Self
pub const NEG_INFINITY: Self
pub const ONE: Self
pub const PI: Self
pub const RADIX: u32 = 2u32
pub const ZERO: Self
pub const fn from_f64(value: f64) -> Self
pub const fn add_estimate(self, rhs: Self) -> Self
pub const fn add_accurate(self, rhs: Self) -> Self
pub const fn sub_estimate(self, rhs: Self) -> Self
pub const fn sub_accurate(self, rhs: Self) -> Self
pub const fn neg(self) -> Self
pub const fn abs(self) -> Self
pub fn mul(self, rhs: Self) -> Self
pub const fn const_mul(self, rhs: Self) -> Self
pub const fn const_div(self, rhs: Self) -> Self
pub const fn const_recip(self) -> Self
pub fn recip(self) -> Self
pub fn div(self, rhs: Self) -> Self
pub const fn eq(self, rhs: Self) -> bool
pub const fn ne(self, rhs: Self) -> bool
pub const fn is_nan(self) -> bool
pub const fn is_finite(self) -> bool
pub const fn partial_cmp(self, rhs: Self) -> Option<Ordering>
pub const fn lt(self, rhs: Self) -> bool
pub const fn le(self, rhs: Self) -> bool
pub const fn gt(self, rhs: Self) -> bool
pub const fn ge(self, rhs: Self) -> bool
pub const fn const_sqrt(self) -> Self
pub fn sqrt(self) -> Self
pub fn exp(self) -> Self
pub fn ln(self) -> Self
pub fn log2(self) -> Self
pub fn log10(self) -> Self
pub fn trunc(self) -> Self
Trait Implementations§
Source§impl AddAssign<&Quad> for Quad
impl AddAssign<&Quad> for Quad
Source§fn add_assign(&mut self, rhs: &Quad)
fn add_assign(&mut self, rhs: &Quad)
Performs the
+= operation. Read moreSource§impl AddAssign for Quad
impl AddAssign for Quad
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl DivAssign<&Quad> for Quad
impl DivAssign<&Quad> for Quad
Source§fn div_assign(&mut self, rhs: &Quad)
fn div_assign(&mut self, rhs: &Quad)
Performs the
/= operation. Read moreSource§impl DivAssign for Quad
impl DivAssign for Quad
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Performs the
/= operation. Read moreSource§impl MulAssign<&Quad> for Quad
impl MulAssign<&Quad> for Quad
Source§fn mul_assign(&mut self, rhs: &Quad)
fn mul_assign(&mut self, rhs: &Quad)
Performs the
*= operation. Read moreSource§impl MulAssign for Quad
impl MulAssign for Quad
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*= operation. Read moreSource§impl Num for Quad
impl Num for Quad
type FromStrRadixErr = ParseFloatError
Source§fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36). Read moreSource§impl<T: PartialOrd> PartialOrd for Quad<T>
impl<T: PartialOrd> PartialOrd for Quad<T>
Source§impl RemAssign<&Quad> for Quad
impl RemAssign<&Quad> for Quad
Source§fn rem_assign(&mut self, rhs: &Quad)
fn rem_assign(&mut self, rhs: &Quad)
Performs the
%= operation. Read moreSource§impl RemAssign for Quad
impl RemAssign for Quad
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
Performs the
%= operation. Read moreSource§impl SubAssign<&Quad> for Quad
impl SubAssign<&Quad> for Quad
Source§fn sub_assign(&mut self, rhs: &Quad)
fn sub_assign(&mut self, rhs: &Quad)
Performs the
-= operation. Read moreSource§impl SubAssign for Quad
impl SubAssign for Quad
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-= operation. Read moreimpl<T: Copy> Copy for Quad<T>
impl<T: Pod> Pod for Quad<T>
impl<T> StructuralPartialEq for Quad<T>
Auto Trait Implementations§
impl<T> Freeze for Quad<T>where
T: Freeze,
impl<T> RefUnwindSafe for Quad<T>where
T: RefUnwindSafe,
impl<T> Send for Quad<T>where
T: Send,
impl<T> Sync for Quad<T>where
T: Sync,
impl<T> Unpin for Quad<T>where
T: Unpin,
impl<T> UnwindSafe for Quad<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.