[−][src]Enum x86_64_xsave::fxsave::domain::PrecisionControl
Precision control determines the precision (64, 53, or 24 bits) of floating-point calculations made by the x87 FPU. The default precision is double extended precision, which uses the full 64-bit significand available with the double extended-precision floating-point format of the x87 FPU data registers. This setting is best suited for most applications, because it allows applications to take full advantage of the maximum precision available with the x87 FPU data registers.
The double precision and single precision settings reduce the size of the significand to 53 bits and 24 bits, respectively. These settings are provided to support IEEE Standard 754 and to provide compatibility with the specifications of certain existing programming languages. Using these settings nullifies the advantages of the double extended-precision floating-point format's 64-bit significand length. When reduced precision is specified, the rounding of the significand value clears the unused bits on the right to zeros.
Returns a 2-bit (u2
) value:-
0b00
: Single Precision (24 bits).0b01
: Reserved.0b10
: Double Precision (53 bits).0b11
: Double Extended Precision (64 bits)
Variants
SinglePrecision
Single Precision (24 bits).
Reserved
Reserved.
DoublePrecision
Double Precision (53 bits).
DoubleExtendedPrecision
Double Extended Precision (64 bits).
Trait Implementations
impl Clone for PrecisionControl
[src]
fn clone(&self) -> PrecisionControl
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq<PrecisionControl> for PrecisionControl
[src]
fn eq(&self, other: &PrecisionControl) -> bool
[src]
#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<PrecisionControl> for PrecisionControl
[src]
fn partial_cmp(&self, other: &PrecisionControl) -> 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 Eq for PrecisionControl
[src]
impl Ord for PrecisionControl
[src]
fn cmp(&self, other: &PrecisionControl) -> 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
impl Copy for PrecisionControl
[src]
impl Debug for PrecisionControl
[src]
impl Hash for PrecisionControl
[src]
Auto Trait Implementations
impl Send for PrecisionControl
impl Sync for PrecisionControl
Blanket Implementations
impl<T> From for T
[src]
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,
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>,