pub struct e2m1(/* private fields */);Expand description
A 4-bit floating point type with 2 exponent bits and 1 mantissa bit.
Implementations§
Source§impl e2m1
impl e2m1
Sourcepub const fn from_f32(value: f32) -> e2m1
pub const fn from_f32(value: f32) -> e2m1
Constructs a e2m1 value from a 32-bit floating point value.
This operation is lossy: values past ±6 saturate to ±6, NaN becomes +6, and every other value rounds to the nearest representable value, ties to even.
Sourcepub const fn from_f64(value: f64) -> e2m1
pub const fn from_f64(value: f64) -> e2m1
Constructs a e2m1 value from a 64-bit floating point value.
This operation is lossy: values past ±6 saturate to ±6, NaN becomes +6, and every other value rounds to the nearest representable value, ties to even.
Trait Implementations§
Source§impl AddAssign for e2m1
impl AddAssign for e2m1
Source§fn add_assign(&mut self, rhs: e2m1)
fn add_assign(&mut self, rhs: e2m1)
Performs the
+= operation. Read moreimpl Copy for e2m1
Source§impl<'de> Deserialize<'de> for e2m1
impl<'de> Deserialize<'de> for e2m1
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<e2m1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<e2m1, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl DivAssign for e2m1
impl DivAssign for e2m1
Source§fn div_assign(&mut self, rhs: e2m1)
fn div_assign(&mut self, rhs: e2m1)
Performs the
/= operation. Read moreSource§impl MulAssign for e2m1
impl MulAssign for e2m1
Source§fn mul_assign(&mut self, rhs: e2m1)
fn mul_assign(&mut self, rhs: e2m1)
Performs the
*= operation. Read moreSource§impl PartialOrd for e2m1
impl PartialOrd for e2m1
Source§impl Serialize for e2m1
impl Serialize for e2m1
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,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for e2m1
Source§impl SubAssign for e2m1
impl SubAssign for e2m1
Source§fn sub_assign(&mut self, rhs: e2m1)
fn sub_assign(&mut self, rhs: e2m1)
Performs the
-= operation. Read moreSource§impl ToPrimitive for e2m1
impl ToPrimitive for e2m1
Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
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>
Converts the value of
self to a u16. If the value cannot be
represented by a u16, then None is returned.Auto Trait Implementations§
impl Freeze for e2m1
impl RefUnwindSafe for e2m1
impl Send for e2m1
impl Sync for e2m1
impl Unpin for e2m1
impl UnsafeUnpin for e2m1
impl UnwindSafe for e2m1
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