pub struct e5m2(/* private fields */);Expand description
A 8-bit floating point type with 5 exponent bits and 2 mantissa bits.
Implementations§
Source§impl e5m2
impl e5m2
Sourcepub const fn from_f32(value: f32) -> e5m2
pub const fn from_f32(value: f32) -> e5m2
Constructs a e5m2 value from a 32-bit floating point value.
This operation is lossy. If the 32-bit value is too large to fit, ±∞ will result. NaN values are preserved. Subnormal values that are too tiny to be represented will result in ±0. All other values are truncated and rounded to the nearest representable value.
Sourcepub const fn from_f64(value: f64) -> e5m2
pub const fn from_f64(value: f64) -> e5m2
Constructs a e5m2 value from a 64-bit floating point value.
This operation is lossy. If the 64-bit value is to large to fit, ±∞ will result. NaN values are preserved. 64-bit subnormal values are too tiny to be represented and result in ±0. Exponents that underflow the minimum exponent will result in subnormals or ±0. All other values are truncated and rounded to the nearest representable value.
Trait Implementations§
Source§impl AddAssign for e5m2
impl AddAssign for e5m2
Source§fn add_assign(&mut self, rhs: e5m2)
fn add_assign(&mut self, rhs: e5m2)
+= operation. Read moreSource§impl<'de> Deserialize<'de> for e5m2
impl<'de> Deserialize<'de> for e5m2
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<e5m2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<e5m2, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl DivAssign for e5m2
impl DivAssign for e5m2
Source§fn div_assign(&mut self, rhs: e5m2)
fn div_assign(&mut self, rhs: e5m2)
/= operation. Read moreSource§impl MulAssign for e5m2
impl MulAssign for e5m2
Source§fn mul_assign(&mut self, rhs: e5m2)
fn mul_assign(&mut self, rhs: e5m2)
*= operation. Read moreSource§impl PartialOrd for e5m2
impl PartialOrd for e5m2
Source§impl Serialize for e5m2
impl Serialize for e5m2
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl SubAssign for e5m2
impl SubAssign for e5m2
Source§fn sub_assign(&mut self, rhs: e5m2)
fn sub_assign(&mut self, rhs: e5m2)
-= operation. Read moreSource§impl ToPrimitive for e5m2
impl ToPrimitive for e5m2
Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
self to an i64. If the value cannot be
represented by an i64, then None is returned.Source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
self to a u64. If the value cannot be
represented by a u64, then None is returned.Source§fn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
self to an f32. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f32.Source§fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
self to an f64. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f64. Read moreSource§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
self to an isize. If the value cannot be
represented by an isize, then None is returned.Source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
self to an i8. If the value cannot be
represented by an i8, then None is returned.Source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
self to an i16. If the value cannot be
represented by an i16, then None is returned.Source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
self to an i32. If the value cannot be
represented by an i32, then None is returned.Source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
self to an i128. If the value cannot be
represented by an i128 (i64 under the default implementation), then
None is returned. Read moreSource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
self to a usize. If the value cannot be
represented by a usize, then None is returned.Source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
self to a u8. If the value cannot be
represented by a u8, then None is returned.Source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
self to a u16. If the value cannot be
represented by a u16, then None is returned.impl Copy for e5m2
impl Pod for e5m2
impl StructuralPartialEq for e5m2
Auto Trait Implementations§
impl Freeze for e5m2
impl RefUnwindSafe for e5m2
impl Send for e5m2
impl Sync for e5m2
impl Unpin for e5m2
impl UnwindSafe for e5m2
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
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
bits
as &Self.