Struct rustc_apfloat::ieee::X87DoubleExtendedS [−][src]
pub struct X87DoubleExtendedS;
Trait Implementations
impl Semantics for X87DoubleExtendedS
[src]
impl Semantics for X87DoubleExtendedS
const BITS: usize
BITS: usize = 80
Total number of bits in the in-memory format.
const PRECISION: usize
PRECISION: usize = 64
Number of bits in the significand. This includes the integer bit.
const MAX_EXP: ExpInt
MAX_EXP: ExpInt = (1 << 15 - 1) - 1
The largest E such that 2E is representable; this matches the definition of IEEE 754. Read more
const QNAN_SIGNIFICAND: u128
QNAN_SIGNIFICAND: u128 = 3 << <Self>::QNAN_BIT
For x87 extended precision, we want to make a NaN, not a pseudo-NaN. Maybe we should expose the ability to make pseudo-NaNs?
fn from_bits(bits: u128) -> IeeeFloat<Self>
[src]
fn from_bits(bits: u128) -> IeeeFloat<Self>
Integer bit is explicit in this format. Intel hardware (387 and later) does not support these bit patterns: exponent = all 1's, integer bit 0, significand 0 ("pseudoinfinity") exponent = all 1's, integer bit 0, significand nonzero ("pseudoNaN") exponent = 0, integer bit 1 ("pseudodenormal") exponent!=0 nor all 1's, integer bit 0 ("unnormal") At the moment, the first two are treated as NaNs, the second two as Normal.
fn to_bits(x: IeeeFloat<Self>) -> u128
[src]
fn to_bits(x: IeeeFloat<Self>) -> u128
const MIN_EXP: ExpInt
MIN_EXP: ExpInt = -<Self>::MAX_EXP + 1
The smallest E such that 2E is a normalized number; this matches the definition of IEEE 754. Read more
const QNAN_BIT: usize
QNAN_BIT: usize = <Self>::PRECISION - 2
The significand bit that marks NaN as quiet.
Auto Trait Implementations
impl Send for X87DoubleExtendedS
impl Send for X87DoubleExtendedS
impl Sync for X87DoubleExtendedS
impl Sync for X87DoubleExtendedS