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
type Scalar = e2m3
type Size = Const<1>
type WithScalar<S: Scalar> = S
fn __expand_as_type(scope: &Scope) -> TypeHandle
fn from_const_value(_value: ConstantValue) -> Self
Source§fn as_type() -> TypeHandle
fn as_type() -> TypeHandle
Return the element type to use on GPU.
fn from_expand_elem(elem: ExpandValue) -> Self::ExpandType
fn into_lit_unchecked(self) -> Self
fn packing_factor() -> usize
fn vector_size() -> usize
fn __expand_size(scope: &Scope) -> usize
fn __expand_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
fn elem_init_mut(scope: &Scope, elem: ExpandValue) -> ExpandValue
Source§impl PartialEqNativeExpand for e2m3
impl PartialEqNativeExpand for e2m3
fn __expand_native_eq( scope: &Scope, lhs: ExpandValue, rhs: ExpandValue, ) -> ExpandValue
fn __expand_native_ne( scope: &Scope, lhs: ExpandValue, rhs: ExpandValue, ) -> ExpandValue
Source§impl PartialOrd for e2m3
impl PartialOrd for e2m3
impl Pod 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
impl<T> CanReadValue for T
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> CubePartialEq for Twhere
T: PartialEq + CubePrimitive + IntoExpand<Expand = <T as CubeType>::ExpandType>,
<T as CubePrimitive>::Scalar: PartialEqNativeExpand,
impl<T> CubePartialEq for Twhere
T: PartialEq + CubePrimitive + IntoExpand<Expand = <T as CubeType>::ExpandType>,
<T as CubePrimitive>::Scalar: PartialEqNativeExpand,
fn __expand_eq_method( &self, scope: &Scope, rhs: &NativeExpand<Self>, ) -> NativeExpand<bool>
fn __expand_ne_method( &self, scope: &Scope, rhs: &NativeExpand<Self>, ) -> NativeExpand<bool>
fn __expand_eq( scope: &Scope, lhs: &NativeExpand<Self>, rhs: &NativeExpand<Self>, ) -> NativeExpand<bool>
fn __expand_ne( scope: &Scope, lhs: &NativeExpand<Self>, rhs: &NativeExpand<Self>, ) -> 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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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.