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. 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) -> e2m1
pub const fn from_f64(value: f64) -> e2m1
Constructs a e2m1 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 Abs for e2m1
impl Abs for e2m1
fn abs(self) -> Self
fn __expand_abs( scope: &mut Scope, x: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl AddAssign for e2m1
impl AddAssign for e2m1
Source§fn add_assign(&mut self, rhs: e2m1)
fn add_assign(&mut self, rhs: e2m1)
+= operation. Read moreSource§impl CubePrimitive for e2m1
impl CubePrimitive for e2m1
Source§fn as_type_native() -> Option<StorageType>
fn as_type_native() -> Option<StorageType>
Return the element type to use on GPU
fn from_const_value(value: ConstantValue) -> Self
Source§fn as_type(_scope: &Scope) -> StorageType
fn as_type(_scope: &Scope) -> StorageType
Source§fn as_type_native_unchecked() -> StorageType
fn as_type_native_unchecked() -> StorageType
Source§fn size_bits_unchecked() -> usize
fn size_bits_unchecked() -> usize
fn from_expand_elem(elem: ExpandElement) -> Self::ExpandType
fn into_lit_unchecked(self) -> Self
fn supported_uses<R: Runtime>(client: &ComputeClient<R>) -> EnumSet<TypeUsage>
fn type_size() -> usize
fn type_size_bits() -> usize
fn packing_factor() -> usize
fn __expand_type_size(scope: &Scope) -> usize
fn __expand_type_size_bits(scope: &Scope) -> usize
fn __expand_packing_factor(scope: &Scope) -> usize
Source§impl CubeType for e2m1
impl CubeType for e2m1
type ExpandType = ExpandElementTyped<e2m1>
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
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>,
Source§impl DivAssign for e2m1
impl DivAssign for e2m1
Source§fn div_assign(&mut self, rhs: e2m1)
fn div_assign(&mut self, rhs: e2m1)
/= operation. Read moreSource§impl ExpandElementIntoMut for e2m1
impl ExpandElementIntoMut for e2m1
fn elem_into_mut(scope: &mut Scope, elem: ExpandElement) -> ExpandElement
Source§impl IntoRuntime for e2m1
impl IntoRuntime for e2m1
fn __expand_runtime_method(self, scope: &mut Scope) -> ExpandElementTyped<Self>
fn runtime(self) -> Self
Source§impl MulAssign for e2m1
impl MulAssign for e2m1
Source§fn mul_assign(&mut self, rhs: e2m1)
fn mul_assign(&mut self, rhs: e2m1)
*= operation. Read moreSource§impl PartialOrd for e2m1
impl PartialOrd for e2m1
Source§impl Remainder for e2m1
impl Remainder for e2m1
fn rem(self, _rhs: Self) -> Self
fn __expand_rem( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
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,
Source§impl SubAssign for e2m1
impl SubAssign for e2m1
Source§fn sub_assign(&mut self, rhs: e2m1)
fn sub_assign(&mut self, rhs: e2m1)
-= operation. Read moreSource§impl ToPrimitive for e2m1
impl ToPrimitive for e2m1
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.