pub struct IntExpand<const POS: u8>(/* private fields */);Trait Implementations§
Source§impl<const POS: u8> Abs for IntExpand<POS>
 
impl<const POS: u8> Abs for IntExpand<POS>
fn abs(x: Self) -> Self
fn __expand_abs( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> AddAssign for IntExpand<POS>
 
impl<const POS: u8> AddAssign for IntExpand<POS>
Source§fn add_assign(&mut self, rhs: IntExpand<POS>)
 
fn add_assign(&mut self, rhs: IntExpand<POS>)
Performs the 
+= operation. Read moreSource§impl<const POS: u8> BitAndAssign for IntExpand<POS>
 
impl<const POS: u8> BitAndAssign for IntExpand<POS>
Source§fn bitand_assign(&mut self, rhs: IntExpand<POS>)
 
fn bitand_assign(&mut self, rhs: IntExpand<POS>)
Performs the 
&= operation. Read moreSource§impl<const POS: u8> BitOrAssign for IntExpand<POS>
 
impl<const POS: u8> BitOrAssign for IntExpand<POS>
Source§fn bitor_assign(&mut self, rhs: IntExpand<POS>)
 
fn bitor_assign(&mut self, rhs: IntExpand<POS>)
Performs the 
|= operation. Read moreSource§impl<const POS: u8> BitXorAssign for IntExpand<POS>
 
impl<const POS: u8> BitXorAssign for IntExpand<POS>
Source§fn bitxor_assign(&mut self, rhs: IntExpand<POS>)
 
fn bitxor_assign(&mut self, rhs: IntExpand<POS>)
Performs the 
^= operation. Read moreSource§impl<const POS: u8> BitwiseNot for IntExpand<POS>
 
impl<const POS: u8> BitwiseNot for IntExpand<POS>
fn bitwise_not(x: Self) -> Self
fn __expand_bitwise_not( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Clamp for IntExpand<POS>
 
impl<const POS: u8> Clamp for IntExpand<POS>
Source§fn clamp(input: Self, min_value: Self, max_value: Self) -> Self
 
fn clamp(input: Self, min_value: Self, max_value: Self) -> Self
Clamp the input value between the max and min values provided.
fn __expand_clamp( scope: &mut Scope, input: Self::ExpandType, min_value: Self::ExpandType, max_value: Self::ExpandType, ) -> Self::ExpandType
Source§impl<const POS: u8> CountOnes for IntExpand<POS>
 
impl<const POS: u8> CountOnes for IntExpand<POS>
fn count_ones(x: Self) -> u32
fn __expand_count_ones( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<u32>
Source§impl<const POS: u8> CubePrimitive for IntExpand<POS>
 
impl<const POS: u8> CubePrimitive for IntExpand<POS>
Source§fn as_type(scope: &Scope) -> StorageType
 
fn as_type(scope: &Scope) -> StorageType
Return the element type to use on GPU
fn from_const_value(_value: ConstantScalarValue) -> Self
Source§fn as_type_native() -> Option<StorageType>
 
fn as_type_native() -> Option<StorageType>
Native or static element type.
Source§fn as_type_native_unchecked() -> StorageType
 
fn as_type_native_unchecked() -> StorageType
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: ExpandElement) -> Self::ExpandType
fn into_lit_unchecked(self) -> Self
fn supported_uses<S: ComputeServer>( client: &ComputeClient<S>, ) -> EnumSet<TypeUsage>
fn elem_size() -> u32
fn elem_size_bits() -> u32
fn packing_factor() -> u32
fn __expand_elem_size(scope: &Scope) -> u32
fn __expand_elem_size_bits(scope: &Scope) -> u32
fn __expand_packing_factor(scope: &Scope) -> u32
Source§impl<const POS: u8> CubeType for IntExpand<POS>
 
impl<const POS: u8> CubeType for IntExpand<POS>
type ExpandType = ExpandElementTyped<IntExpand<POS>>
Source§fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
 
fn into_mut(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
Wrapper around the init method, necessary to type inference.
Source§impl<__RhsT, const POS: u8> DivAssign<__RhsT> for IntExpand<POS>
 
impl<__RhsT, const POS: u8> DivAssign<__RhsT> for IntExpand<POS>
Source§fn div_assign(&mut self, rhs: __RhsT)
 
fn div_assign(&mut self, rhs: __RhsT)
Performs the 
/= operation. Read moreSource§impl<const POS: u8> DivAssign for IntExpand<POS>
 
impl<const POS: u8> DivAssign for IntExpand<POS>
Source§fn div_assign(&mut self, rhs: Self)
 
fn div_assign(&mut self, rhs: Self)
Performs the 
/= operation. Read moreSource§impl<const POS: u8> ExpandElementIntoMut for IntExpand<POS>
 
impl<const POS: u8> ExpandElementIntoMut for IntExpand<POS>
fn elem_into_mut(scope: &mut Scope, elem: ExpandElement) -> ExpandElement
Source§impl<const POS: u8> FindFirstSet for IntExpand<POS>
 
impl<const POS: u8> FindFirstSet for IntExpand<POS>
fn find_first_set(x: Self) -> u32
fn __expand_find_first_set( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<u32>
Source§impl<const POS: u8> IntoRuntime for IntExpand<POS>
 
impl<const POS: u8> IntoRuntime for IntExpand<POS>
fn __expand_runtime_method(self, scope: &mut Scope) -> ExpandElementTyped<Self>
fn runtime(self) -> Self
Source§impl<const POS: u8> LeadingZeros for IntExpand<POS>
 
impl<const POS: u8> LeadingZeros for IntExpand<POS>
fn leading_zeros(x: Self) -> u32
fn __expand_leading_zeros( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<u32>
Source§impl<const POS: u8> Max for IntExpand<POS>
 
impl<const POS: u8> Max for IntExpand<POS>
fn max(self, _rhs: Self) -> Self
fn __expand_max( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Min for IntExpand<POS>
 
impl<const POS: u8> Min for IntExpand<POS>
fn min(self, _rhs: Self) -> Self
fn __expand_min( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<__RhsT, const POS: u8> MulAssign<__RhsT> for IntExpand<POS>
 
impl<__RhsT, const POS: u8> MulAssign<__RhsT> for IntExpand<POS>
Source§fn mul_assign(&mut self, rhs: __RhsT)
 
fn mul_assign(&mut self, rhs: __RhsT)
Performs the 
*= operation. Read moreSource§impl<const POS: u8> MulAssign for IntExpand<POS>
 
impl<const POS: u8> MulAssign for IntExpand<POS>
Source§fn mul_assign(&mut self, rhs: Self)
 
fn mul_assign(&mut self, rhs: Self)
Performs the 
*= operation. Read moreSource§impl<const POS: u8> MulHi for IntExpand<POS>
 
impl<const POS: u8> MulHi for IntExpand<POS>
fn mul_hi(self, _rhs: Self) -> Self
fn __expand_mul_hi( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Numeric for IntExpand<POS>
 
impl<const POS: u8> Numeric for IntExpand<POS>
fn min_value() -> Self
fn max_value() -> Self
fn __expand_min_value(scope: &mut Scope) -> <Self as CubeType>::ExpandType
fn __expand_max_value(scope: &mut Scope) -> <Self as CubeType>::ExpandType
fn from_vec<const D: usize>(_vec: [u32; D]) -> Self
fn __expand_from_int( scope: &mut Scope, val: ExpandElementTyped<i64>, ) -> <Self as CubeType>::ExpandType
Source§impl<const POS: u8> PartialOrd for IntExpand<POS>
 
impl<const POS: u8> PartialOrd for IntExpand<POS>
Source§impl<__RhsT, const POS: u8> RemAssign<__RhsT> for IntExpand<POS>
 
impl<__RhsT, const POS: u8> RemAssign<__RhsT> for IntExpand<POS>
Source§fn rem_assign(&mut self, rhs: __RhsT)
 
fn rem_assign(&mut self, rhs: __RhsT)
Performs the 
%= operation. Read moreSource§impl<const POS: u8> RemAssign for IntExpand<POS>
 
impl<const POS: u8> RemAssign for IntExpand<POS>
Source§fn rem_assign(&mut self, rhs: Self)
 
fn rem_assign(&mut self, rhs: Self)
Performs the 
%= operation. Read moreSource§impl<const POS: u8> Remainder for IntExpand<POS>
 
impl<const POS: u8> Remainder for IntExpand<POS>
fn rem(self, _rhs: Self) -> Self
fn __expand_rem( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> ReverseBits for IntExpand<POS>
 
impl<const POS: u8> ReverseBits for IntExpand<POS>
fn reverse_bits(x: Self) -> Self
fn __expand_reverse_bits( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> SaturatingAdd for IntExpand<POS>
 
impl<const POS: u8> SaturatingAdd for IntExpand<POS>
fn saturating_add(self, _rhs: Self) -> Self
fn __expand_saturating_add( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> SaturatingSub for IntExpand<POS>
 
impl<const POS: u8> SaturatingSub for IntExpand<POS>
fn saturating_sub(self, _rhs: Self) -> Self
fn __expand_saturating_sub( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> ScalarArgSettings for IntExpand<POS>
 
impl<const POS: u8> ScalarArgSettings for IntExpand<POS>
Source§fn register<R: Runtime>(&self, settings: &mut KernelLauncher<R>)
 
fn register<R: Runtime>(&self, settings: &mut KernelLauncher<R>)
Register the information to the KernelLauncher.
fn expand_scalar( _: &ScalarCompilationArg<Self>, builder: &mut KernelBuilder, ) -> ExpandElementTyped<Self>
Source§impl<__RhsT, const POS: u8> ShlAssign<__RhsT> for IntExpand<POS>
 
impl<__RhsT, const POS: u8> ShlAssign<__RhsT> for IntExpand<POS>
Source§fn shl_assign(&mut self, rhs: __RhsT)
 
fn shl_assign(&mut self, rhs: __RhsT)
Performs the 
<<= operation. Read moreSource§impl<__RhsT, const POS: u8> ShrAssign<__RhsT> for IntExpand<POS>
 
impl<__RhsT, const POS: u8> ShrAssign<__RhsT> for IntExpand<POS>
Source§fn shr_assign(&mut self, rhs: __RhsT)
 
fn shr_assign(&mut self, rhs: __RhsT)
Performs the 
>>= operation. Read moreSource§impl<const POS: u8> SubAssign for IntExpand<POS>
 
impl<const POS: u8> SubAssign for IntExpand<POS>
Source§fn sub_assign(&mut self, rhs: IntExpand<POS>)
 
fn sub_assign(&mut self, rhs: IntExpand<POS>)
Performs the 
-= operation. Read moreSource§impl<const POS: u8> ToPrimitive for IntExpand<POS>
 
impl<const POS: u8> ToPrimitive for IntExpand<POS>
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.impl<const POS: u8> Copy for IntExpand<POS>
impl<const POS: u8> Pod for IntExpand<POS>
impl<const POS: u8> StructuralPartialEq for IntExpand<POS>
Auto Trait Implementations§
impl<const POS: u8> Freeze for IntExpand<POS>
impl<const POS: u8> RefUnwindSafe for IntExpand<POS>
impl<const POS: u8> Send for IntExpand<POS>
impl<const POS: u8> Sync for IntExpand<POS>
impl<const POS: u8> Unpin for IntExpand<POS>
impl<const POS: u8> UnwindSafe for IntExpand<POS>
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
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: &mut Scope, value: ExpandElementTyped<From>, ) -> <Self as CubeType>::ExpandType
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> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<P> CubeDebug for Pwhere
    P: CubePrimitive,
 
impl<P> CubeDebug for Pwhere
    P: CubePrimitive,
Source§fn set_debug_name(&self, scope: &mut Scope, name: &'static str)
 
fn set_debug_name(&self, scope: &mut 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<T> LaunchArg for Twhere
    T: ScalarArgSettings,
 
impl<T> LaunchArg for Twhere
    T: ScalarArgSettings,
Source§type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
 
type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
The runtime argument for the kernel.
Source§type CompilationArg = ScalarCompilationArg<T>
 
type CompilationArg = ScalarCompilationArg<T>
Compilation argument.
fn compilation_arg<'a, R>(
    _runtime_arg: &'a <T as LaunchArg>::RuntimeArg<'a, R>,
) -> <T as LaunchArg>::CompilationArgwhere
    R: Runtime,
Source§fn expand(
    arg: &ScalarCompilationArg<T>,
    builder: &mut KernelBuilder,
) -> ExpandElementTyped<T>
 
fn expand( arg: &ScalarCompilationArg<T>, builder: &mut KernelBuilder, ) -> ExpandElementTyped<T>
Register an input variable during compilation that fill the KernelBuilder.
Source§fn expand_output(
    arg: &Self::CompilationArg,
    builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
 
fn expand_output( arg: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
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.