pub struct e2m3(/* private fields */);Expand description
A 6-bit floating point type with 2 exponent bits and 3 mantissa bits.
Implementations§
Trait Implementations§
impl Copy for e2m3
Source§impl CubeDebug for e2m3
impl CubeDebug for e2m3
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Set the debug name of this type’s expansion. Should do nothing for types that don’t appear
at runtime
Source§impl CubePrimitive for e2m3
impl CubePrimitive for e2m3
Source§fn as_type_native() -> Option<Type>
fn as_type_native() -> Option<Type>
Return the element type to use on GPU
type Scalar = e2m3
type Size = Const<1>
type WithScalar<S: Scalar> = S
fn from_const_value(_value: ConstantValue) -> Self
Source§fn as_type_native_unchecked() -> Type
fn as_type_native_unchecked() -> Type
Native or static element type.
Source§fn size_bits_unchecked() -> usize
fn size_bits_unchecked() -> usize
Only native element types have a size.
fn from_expand_elem(elem: Value) -> 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 vector_size() -> usize
fn __expand_as_type(_scope: &Scope) -> Type
fn __expand_type_size(scope: &Scope) -> usize
fn __expand_type_size_bits(scope: &Scope) -> usize
fn __expand_packing_factor(scope: &Scope) -> usize
fn __expand_vector_size(scope: &Scope) -> usize
Source§impl CubeType for e2m3
impl CubeType for e2m3
type ExpandType = NativeExpand<e2m3>
Source§impl<'de> Deserialize<'de> for e2m3
impl<'de> Deserialize<'de> for e2m3
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<e2m3, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<e2m3, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl IntoExpand for e2m3
impl IntoExpand for e2m3
type Expand = NativeExpand<e2m3>
fn into_expand(self, _scope: &Scope) -> Self::Expand
Source§impl IntoRuntime for e2m3
impl IntoRuntime for e2m3
fn __expand_runtime_method(self, _scope: &Scope) -> NativeExpand<Self>
fn runtime(self) -> Self
Source§impl NativeAssign for e2m3
impl NativeAssign for e2m3
Source§impl PartialOrd for e2m3
impl PartialOrd for e2m3
impl Pod for e2m3
impl Scalar for e2m3
Source§impl Serialize for e2m3
impl Serialize for e2m3
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 e2m3
Auto Trait Implementations§
impl Freeze for e2m3
impl RefUnwindSafe for e2m3
impl Send for e2m3
impl Sync for e2m3
impl Unpin for e2m3
impl UnsafeUnpin for e2m3
impl UnwindSafe for e2m3
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
Source§impl<T> Assign for Twhere
T: CubePrimitive,
impl<T> Assign for Twhere
T: CubePrimitive,
Source§fn __expand_assign_method(&mut self, _scope: &Scope, value: T)
fn __expand_assign_method(&mut self, _scope: &Scope, value: T)
Assign
value to self in scope.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
Source§impl<P> Cast for Pwhere
P: CubePrimitive,
impl<P> Cast for Pwhere
P: CubePrimitive,
fn cast_from<From>(_value: From) -> Pwhere
From: CubePrimitive,
fn __expand_cast_from<From: CubePrimitive>( scope: &Scope, value: NativeExpand<From>, ) -> <Self as CubeType>::ExpandType
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
If this function returns true, then it must be valid to reinterpret
bits
as &Self.Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CubePartialOrd for Twhere
T: PartialOrd + CubePrimitive,
impl<T> CubePartialOrd for Twhere
T: PartialOrd + CubePrimitive,
fn __expand_partial_cmp( scope: &Scope, lhs: &Self::ExpandType, rhs: &Self::ExpandType, ) -> OptionExpand<Ordering>
fn __expand_lt( scope: &Scope, lhs: &Self::ExpandType, rhs: &Self::ExpandType, ) -> NativeExpand<bool>
fn __expand_le( scope: &Scope, lhs: &Self::ExpandType, rhs: &Self::ExpandType, ) -> NativeExpand<bool>
fn __expand_gt( scope: &Scope, lhs: &Self::ExpandType, rhs: &Self::ExpandType, ) -> NativeExpand<bool>
fn __expand_ge( scope: &Scope, lhs: &Self::ExpandType, rhs: &Self::ExpandType, ) -> NativeExpand<bool>
Source§impl<T> DefaultExpand for T
impl<T> DefaultExpand for T
fn __expand_default(scope: &Scope) -> <T as CubeType>::ExpandType
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> NativeCubeType for T
impl<T> NoUninit for Twhere
T: Pod,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<P> Reinterpret for Pwhere
P: CubePrimitive,
impl<P> Reinterpret for Pwhere
P: CubePrimitive,
Source§fn reinterpret<From: CubePrimitive>(value: From) -> Self
fn reinterpret<From: CubePrimitive>(value: From) -> Self
Reinterpret the bits of another primitive as this primitive without conversion.
Source§fn reinterpret_vectorization<From: CubePrimitive>() -> usize
fn reinterpret_vectorization<From: CubePrimitive>() -> usize
Calculates the expected vectorization for the reinterpret target
fn __expand_reinterpret<From: CubePrimitive>( scope: &Scope, value: NativeExpand<From>, ) -> <Self as CubeType>::ExpandType
fn __expand_reinterpret_vectorization<From: CubePrimitive>( scope: &Scope, ) -> usize
Source§impl<T> RuntimeAssign for T
impl<T> RuntimeAssign for T
Source§fn init_mut(&self, scope: &Scope) -> NativeExpand<T>
fn init_mut(&self, scope: &Scope) -> NativeExpand<T>
Create a new mutable variable of this type in
scope.