Skip to main content

Format

Enum Format 

Source
pub enum Format {
    Half,
    BFloat16,
    Single,
    Double,
    X87Extended,
    Quad,
}
Expand description

A binary floating point format.

Variants§

§

Half

IEEE binary16, which C spells _Float16.

§

BFloat16

The brain float, an IEEE binary32 with the low sixteen bits of its significand cut off, which C spells __bf16. It has the range of a float and less than half its precision.

§

Single

IEEE binary32, which C spells float.

§

Double

IEEE binary64, which C spells double.

§

X87Extended

The x87 eighty bit format, which is long double on x86. It is the one format here that stores the leading significand bit rather than leaving it implied.

§

Quad

IEEE binary128, which C spells _Float128, and which is long double on AArch64 Linux and on RISC-V.

Implementations§

Source§

impl Format

Source

pub const fn precision(self) -> u32

The number of significand bits, counting the leading one whether it is stored or not.

Source

pub const fn max_exponent(self) -> i32

The exponent of the largest finite number, which is also the exponent bias.

Source

pub const fn min_exponent(self) -> i32

The exponent of the smallest normal number.

Source

pub const fn width(self) -> u32

The width of the encoding in bits, which for x87 is the eighty bits that matter and not the ninety six or hundred and twenty eight an ABI pads them out to.

Source

pub const fn has_explicit_integer_bit(self) -> bool

Whether the leading significand bit is stored rather than implied.

Trait Implementations§

Source§

impl Clone for Format

Source§

fn clone(&self) -> Format

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Format

Source§

impl Debug for Format

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Format

Source§

impl Hash for Format

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Format

Source§

fn eq(&self, other: &Format) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Format

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.