pub struct ue8m0(/* private fields */);Expand description
An 8-bit unsigned floating point type with 8 exponent bits and no mantissa bits. Used for scaling factors.
Implementations§
Source§impl ue8m0
impl ue8m0
Sourcepub fn from_f32(value: f32) -> ue8m0
pub fn from_f32(value: f32) -> ue8m0
Constructs a ue8m0 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 fn from_f64(value: f64) -> ue8m0
pub fn from_f64(value: f64) -> ue8m0
Constructs a ue8m0 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 ue8m0
impl Abs for ue8m0
fn abs(self) -> Self
fn __expand_abs(scope: &Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl AddAssign for ue8m0
impl AddAssign for ue8m0
Source§fn add_assign(&mut self, rhs: ue8m0)
fn add_assign(&mut self, rhs: ue8m0)
+= operation. Read moreimpl Copy for ue8m0
Source§impl CubeDebug for ue8m0
impl CubeDebug for ue8m0
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &Scope, name: &'static str)
Source§impl CubeElement for ue8m0
impl CubeElement for ue8m0
Source§fn from_bytes(bytes: &[u8]) -> &[Self]
fn from_bytes(bytes: &[u8]) -> &[Self]
Source§fn cube_type() -> StorageType
fn cube_type() -> StorageType
cubecl.Source§fn maximum_value() -> Self
fn maximum_value() -> Self
Source§fn minimum_value() -> Self
fn minimum_value() -> Self
Source§impl CubePrimitive for ue8m0
impl CubePrimitive for ue8m0
Source§fn as_type_native() -> Option<Type>
fn as_type_native() -> Option<Type>
Return the element type to use on GPU
type Scalar = ue8m0
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
Source§fn size_bits_unchecked() -> usize
fn size_bits_unchecked() -> usize
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 ue8m0
impl CubeType for ue8m0
type ExpandType = NativeExpand<ue8m0>
Source§impl<'de> Deserialize<'de> for ue8m0
impl<'de> Deserialize<'de> for ue8m0
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ue8m0, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ue8m0, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl DivAssign for ue8m0
impl DivAssign for ue8m0
Source§fn div_assign(&mut self, rhs: ue8m0)
fn div_assign(&mut self, rhs: ue8m0)
/= operation. Read moreSource§impl IntoExpand for ue8m0
impl IntoExpand for ue8m0
type Expand = NativeExpand<ue8m0>
fn into_expand(self, _scope: &Scope) -> Self::Expand
Source§impl IntoRuntime for ue8m0
impl IntoRuntime for ue8m0
fn __expand_runtime_method(self, _scope: &Scope) -> NativeExpand<Self>
fn runtime(self) -> Self
Source§impl MulAssign for ue8m0
impl MulAssign for ue8m0
Source§fn mul_assign(&mut self, rhs: ue8m0)
fn mul_assign(&mut self, rhs: ue8m0)
*= operation. Read moreSource§impl NativeAssign for ue8m0
impl NativeAssign for ue8m0
Source§impl PartialOrd for ue8m0
impl PartialOrd for ue8m0
impl Pod for ue8m0
impl Scalar for ue8m0
Source§impl Serialize for ue8m0
impl Serialize for ue8m0
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,
impl StructuralPartialEq for ue8m0
Source§impl SubAssign for ue8m0
impl SubAssign for ue8m0
Source§fn sub_assign(&mut self, rhs: ue8m0)
fn sub_assign(&mut self, rhs: ue8m0)
-= operation. Read moreSource§impl ToPrimitive for ue8m0
impl ToPrimitive for ue8m0
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.Source§impl VectorSum for ue8m0
impl VectorSum for ue8m0
fn vector_sum(self) -> Self::Scalar
fn __expand_vector_sum( scope: &Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::Scalar>
Auto Trait Implementations§
impl Freeze for ue8m0
impl RefUnwindSafe for ue8m0
impl Send for ue8m0
impl Sync for ue8m0
impl Unpin for ue8m0
impl UnsafeUnpin for ue8m0
impl UnwindSafe for ue8m0
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)
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
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
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> CubeAdd for T
impl<T> CubeAdd for T
fn __expand_add_method( self, scope: &Scope, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
fn __expand_add( scope: &Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<T> CubeAddAssign for Twhere
T: AddAssign + CubePrimitive,
impl<T> CubeAddAssign for Twhere
T: AddAssign + CubePrimitive,
fn __expand_add_assign( scope: &Scope, lhs: &mut NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeDiv for T
impl<T> CubeDiv for T
fn __expand_div_method( self, scope: &Scope, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
fn __expand_div( scope: &Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<T> CubeDivAssign for Twhere
T: DivAssign + CubePrimitive,
impl<T> CubeDivAssign for Twhere
T: DivAssign + CubePrimitive,
fn __expand_div_assign( scope: &Scope, lhs: &mut NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeMul for T
impl<T> CubeMul for T
fn __expand_mul_method( self, scope: &Scope, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
fn __expand_mul( scope: &Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<T> CubeMulAssign for Twhere
T: MulAssign + CubePrimitive,
impl<T> CubeMulAssign for Twhere
T: MulAssign + CubePrimitive,
fn __expand_mul_assign( scope: &Scope, lhs: &mut NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeNeg for T
impl<T> CubeNeg for T
fn __expand_neg_method(self, scope: &Scope) -> NativeExpand<Self>
fn __expand_neg(scope: &Scope, lhs: NativeExpand<Self>) -> NativeExpand<Self>
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> CubeSub for T
impl<T> CubeSub for T
fn __expand_sub_method( self, scope: &Scope, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
fn __expand_sub( scope: &Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<T> CubeSubAssign for Twhere
T: SubAssign + CubePrimitive,
impl<T> CubeSubAssign for Twhere
T: SubAssign + CubePrimitive,
fn __expand_sub_assign( scope: &Scope, lhs: &mut NativeExpand<Self>, rhs: NativeExpand<Self>, )
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>
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>
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
Source§fn reinterpret_vectorization<From: CubePrimitive>() -> usize
fn reinterpret_vectorization<From: CubePrimitive>() -> usize
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>
scope.Source§impl<E> ScalarArgSettings for Ewhere
E: ScalarArgType,
impl<E> ScalarArgSettings for Ewhere
E: ScalarArgType,
Source§fn register<R>(&self, launcher: &mut KernelLauncher<R>)where
R: Runtime,
fn register<R>(&self, launcher: &mut KernelLauncher<R>)where
R: Runtime,
KernelLauncher.