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<T: Index, const POS: u8> CubeIndexMut<T> for IntExpand<POS>
impl<T: Index, const POS: u8> CubeIndexMut<T> for IntExpand<POS>
fn cube_idx_mut(&mut self, _i: T) -> &mut Self::Output
Source§impl<const POS: u8> CubePrimitive for IntExpand<POS>
impl<const POS: u8> CubePrimitive for IntExpand<POS>
Source§fn as_elem_native() -> Option<Elem>
fn as_elem_native() -> Option<Elem>
Native or static element type.
Source§fn as_elem_native_unchecked() -> Elem
fn as_elem_native_unchecked() -> Elem
Native or static element type.
fn from_expand_elem(elem: ExpandElement) -> Self::ExpandType
fn is_supported<S: ComputeServer<Feature = Feature>, C: ComputeChannel<S>>( client: &ComputeClient<S, C>, ) -> bool
fn elem_size() -> u32
fn __expand_elem_size(context: &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 init(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType
fn init(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> ExpandElementBaseInit for IntExpand<POS>
impl<const POS: u8> ExpandElementBaseInit for IntExpand<POS>
fn init_elem(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> LaunchArgExpand for IntExpand<POS>
impl<const POS: u8> LaunchArgExpand for IntExpand<POS>
Source§type CompilationArg = ()
type CompilationArg = ()
Compilation argument.
Source§fn expand(
_: &Self::CompilationArg,
builder: &mut KernelBuilder,
) -> ExpandElementTyped<Self>
fn expand( _: &Self::CompilationArg, builder: &mut KernelBuilder, ) -> ExpandElementTyped<Self>
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<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
fn __expand_from_vec<const D: usize>( scope: &mut Scope, vec: [u32; D], ) -> <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> 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.
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: Numeric,
impl<T> LaunchArg for Twhere
T: Numeric,
Source§type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
type RuntimeArg<'a, R: Runtime> = ScalarArg<T>
The runtime argument for the kernel.
fn compilation_arg<'a, R>(
_runtime_arg: &'a <T as LaunchArg>::RuntimeArg<'a, R>,
) -> <T as LaunchArgExpand>::CompilationArgwhere
R: Runtime,
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.