Struct IntExpand

Source
pub struct IntExpand<const POS: u8>(/* private fields */);

Trait Implementations§

Source§

impl<const POS: u8> Abs for IntExpand<POS>

Source§

fn abs(x: Self) -> Self

Source§

fn __expand_abs( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> Add for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: IntExpand<POS>) -> IntExpand<POS>

Performs the + operation. Read more
Source§

impl<const POS: u8> AddAssign for IntExpand<POS>

Source§

fn add_assign(&mut self, rhs: IntExpand<POS>)

Performs the += operation. Read more
Source§

impl<const POS: u8> BitAnd for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: IntExpand<POS>) -> IntExpand<POS>

Performs the & operation. Read more
Source§

impl<const POS: u8> BitAndAssign for IntExpand<POS>

Source§

fn bitand_assign(&mut self, rhs: IntExpand<POS>)

Performs the &= operation. Read more
Source§

impl<const POS: u8> BitOr for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: IntExpand<POS>) -> IntExpand<POS>

Performs the | operation. Read more
Source§

impl<const POS: u8> BitOrAssign for IntExpand<POS>

Source§

fn bitor_assign(&mut self, rhs: IntExpand<POS>)

Performs the |= operation. Read more
Source§

impl<const POS: u8> BitXor for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: IntExpand<POS>) -> IntExpand<POS>

Performs the ^ operation. Read more
Source§

impl<const POS: u8> BitXorAssign for IntExpand<POS>

Source§

fn bitxor_assign(&mut self, rhs: IntExpand<POS>)

Performs the ^= operation. Read more
Source§

impl<const POS: u8> BitwiseNot for IntExpand<POS>

Source§

fn bitwise_not(x: Self) -> Self

Source§

fn __expand_bitwise_not( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> Clamp for IntExpand<POS>

Source§

fn clamp(input: Self, min_value: Self, max_value: Self) -> Self

Clamp the input value between the max and min values provided.
Source§

fn __expand_clamp( scope: &mut Scope, input: Self::ExpandType, min_value: Self::ExpandType, max_value: Self::ExpandType, ) -> Self::ExpandType

Source§

impl<const POS: u8> Clone for IntExpand<POS>

Source§

fn clone(&self) -> IntExpand<POS>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<const POS: u8> CountOnes for IntExpand<POS>

Source§

impl<T: Index, const POS: u8> CubeIndex<T> for IntExpand<POS>

Source§

type Output = IntExpand<POS>

Source§

fn cube_idx(&self, _i: T) -> &Self::Output

Source§

impl<T: Index, const POS: u8> CubeIndexMut<T> for IntExpand<POS>

Source§

fn cube_idx_mut(&mut self, _i: T) -> &mut Self::Output

Source§

impl<const POS: u8> CubePrimitive for IntExpand<POS>

Source§

fn as_elem(scope: &Scope) -> Elem

Return the element type to use on GPU

Source§

fn as_elem_native() -> Option<Elem>

Native or static element type.
Source§

fn as_elem_native_unchecked() -> Elem

Native or static element type.
Source§

fn size() -> Option<usize>

Only native element types have a size.
Source§

fn from_expand_elem(elem: ExpandElement) -> Self::ExpandType

Source§

fn is_supported<S: ComputeServer<Feature = Feature>, C: ComputeChannel<S>>( client: &ComputeClient<S, C>, ) -> bool

Source§

fn elem_size() -> u32

Source§

fn __expand_elem_size(context: &Scope) -> u32

Source§

impl<const POS: u8> CubeType for IntExpand<POS>

Source§

type ExpandType = ExpandElementTyped<IntExpand<POS>>

Source§

fn init(scope: &mut Scope, expand: Self::ExpandType) -> Self::ExpandType

Wrapper around the init method, necessary to type inference.
Source§

impl<const POS: u8> Debug for IntExpand<POS>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const POS: u8> Default for IntExpand<POS>

Source§

fn default() -> IntExpand<POS>

Returns the “default value” for a type. Read more
Source§

impl<const POS: u8> Display for IntExpand<POS>

Source§

fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<__RhsT, const POS: u8> Div<__RhsT> for IntExpand<POS>
where i64: Div<__RhsT, Output = i64>,

Source§

type Output = IntExpand<POS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: __RhsT) -> IntExpand<POS>

Performs the / operation. Read more
Source§

impl<const POS: u8> Div for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl<__RhsT, const POS: u8> DivAssign<__RhsT> for IntExpand<POS>
where i64: DivAssign<__RhsT>,

Source§

fn div_assign(&mut self, rhs: __RhsT)

Performs the /= operation. Read more
Source§

impl<const POS: u8> DivAssign for IntExpand<POS>

Source§

fn div_assign(&mut self, rhs: Self)

Performs the /= operation. Read more
Source§

impl<const POS: u8> ExpandElementBaseInit for IntExpand<POS>

Source§

impl<const POS: u8> FindFirstSet for IntExpand<POS>

Source§

impl<const POS: u8> From<IntExpand<POS>> for ExpandElementTyped<IntExpand<POS>>

Source§

fn from(value: IntExpand<POS>) -> Self

Converts to this type from the input type.
Source§

impl<const POS: u8> From<IntExpand<POS>> for Variable

Source§

fn from(val: IntExpand<POS>) -> Self

Converts to this type from the input type.
Source§

impl<const POS: u8> Int for IntExpand<POS>

Source§

const BITS: u32 = 32u32

Source§

fn new(val: i64) -> Self

Source§

fn __expand_new(scope: &mut Scope, val: i64) -> <Self as CubeType>::ExpandType

Source§

impl<const POS: u8> IntoRuntime for IntExpand<POS>

Source§

fn __expand_runtime_method(self, scope: &mut Scope) -> ExpandElementTyped<Self>

Source§

fn runtime(self) -> Self

Source§

impl<const POS: u8> LaunchArgExpand for IntExpand<POS>

Source§

type CompilationArg = ()

Compilation argument.
Source§

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

Register an output variable during compilation that fill the KernelBuilder.
Source§

impl<const POS: u8> LeadingZeros for IntExpand<POS>

Source§

impl<const POS: u8> Max for IntExpand<POS>

Source§

fn max(self, _rhs: Self) -> Self

Source§

fn __expand_max( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> Min for IntExpand<POS>

Source§

fn min(self, _rhs: Self) -> Self

Source§

fn __expand_min( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>

Source§

impl<__RhsT, const POS: u8> Mul<__RhsT> for IntExpand<POS>
where i64: Mul<__RhsT, Output = i64>,

Source§

type Output = IntExpand<POS>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: __RhsT) -> IntExpand<POS>

Performs the * operation. Read more
Source§

impl<const POS: u8> Mul for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<__RhsT, const POS: u8> MulAssign<__RhsT> for IntExpand<POS>
where i64: MulAssign<__RhsT>,

Source§

fn mul_assign(&mut self, rhs: __RhsT)

Performs the *= operation. Read more
Source§

impl<const POS: u8> MulAssign for IntExpand<POS>

Source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
Source§

impl<const POS: u8> MulHi for IntExpand<POS>

Source§

fn mul_hi(self, _rhs: Self) -> Self

Source§

fn __expand_mul_hi( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> Neg for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the - operator.
Source§

fn neg(self) -> IntExpand<POS>

Performs the unary - operation. Read more
Source§

impl<const POS: u8> Not for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the ! operator.
Source§

fn not(self) -> IntExpand<POS>

Performs the unary ! operation. Read more
Source§

impl<const POS: u8> NumCast for IntExpand<POS>

Source§

fn from<T: ToPrimitive>(n: T) -> Option<Self>

Creates a number from another value that can be converted into a primitive via the ToPrimitive trait. If the source value cannot be represented by the target type, then None is returned. Read more
Source§

impl<const POS: u8> Numeric for IntExpand<POS>

Source§

fn min_value() -> Self

Source§

fn max_value() -> Self

Source§

fn __expand_min_value(scope: &mut Scope) -> <Self as CubeType>::ExpandType

Source§

fn __expand_max_value(scope: &mut Scope) -> <Self as CubeType>::ExpandType

Source§

fn from_int(val: i64) -> Self

Create a new constant numeric. Read more
Source§

fn from_vec<const D: usize>(_vec: [u32; D]) -> Self

Source§

fn __expand_from_int( scope: &mut Scope, val: ExpandElementTyped<i64>, ) -> <Self as CubeType>::ExpandType

Source§

fn __expand_from_vec<const D: usize>( scope: &mut Scope, vec: [u32; D], ) -> <Self as CubeType>::ExpandType

Source§

impl<const POS: u8> PartialEq for IntExpand<POS>

Source§

fn eq(&self, other: &IntExpand<POS>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<const POS: u8> PartialOrd for IntExpand<POS>

Source§

fn partial_cmp(&self, other: &IntExpand<POS>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<__RhsT, const POS: u8> Rem<__RhsT> for IntExpand<POS>
where i64: Rem<__RhsT, Output = i64>,

Source§

type Output = IntExpand<POS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: __RhsT) -> IntExpand<POS>

Performs the % operation. Read more
Source§

impl<const POS: u8> Rem for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: Self) -> Self::Output

Performs the % operation. Read more
Source§

impl<__RhsT, const POS: u8> RemAssign<__RhsT> for IntExpand<POS>
where i64: RemAssign<__RhsT>,

Source§

fn rem_assign(&mut self, rhs: __RhsT)

Performs the %= operation. Read more
Source§

impl<const POS: u8> RemAssign for IntExpand<POS>

Source§

fn rem_assign(&mut self, rhs: Self)

Performs the %= operation. Read more
Source§

impl<const POS: u8> Remainder for IntExpand<POS>

Source§

fn rem(self, _rhs: Self) -> Self

Source§

fn __expand_rem( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> ReverseBits for IntExpand<POS>

Source§

fn reverse_bits(x: Self) -> Self

Source§

fn __expand_reverse_bits( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>

Source§

impl<const POS: u8> ScalarArgSettings for IntExpand<POS>

Source§

fn register<R: Runtime>(&self, settings: &mut KernelLauncher<R>)

Register the information to the KernelLauncher.
Source§

impl<const POS: u8> Serialize for IntExpand<POS>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<__RhsT, const POS: u8> Shl<__RhsT> for IntExpand<POS>
where i64: Shl<__RhsT, Output = i64>,

Source§

type Output = IntExpand<POS>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: __RhsT) -> IntExpand<POS>

Performs the << operation. Read more
Source§

impl<const POS: u8> Shl for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: Self) -> Self::Output

Performs the << operation. Read more
Source§

impl<__RhsT, const POS: u8> ShlAssign<__RhsT> for IntExpand<POS>
where i64: ShlAssign<__RhsT>,

Source§

fn shl_assign(&mut self, rhs: __RhsT)

Performs the <<= operation. Read more
Source§

impl<__RhsT, const POS: u8> Shr<__RhsT> for IntExpand<POS>
where i64: Shr<__RhsT, Output = i64>,

Source§

type Output = IntExpand<POS>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: __RhsT) -> IntExpand<POS>

Performs the >> operation. Read more
Source§

impl<const POS: u8> Shr for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: Self) -> Self::Output

Performs the >> operation. Read more
Source§

impl<__RhsT, const POS: u8> ShrAssign<__RhsT> for IntExpand<POS>
where i64: ShrAssign<__RhsT>,

Source§

fn shr_assign(&mut self, rhs: __RhsT)

Performs the >>= operation. Read more
Source§

impl<const POS: u8> Sub for IntExpand<POS>

Source§

type Output = IntExpand<POS>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: IntExpand<POS>) -> IntExpand<POS>

Performs the - operation. Read more
Source§

impl<const POS: u8> SubAssign for IntExpand<POS>

Source§

fn sub_assign(&mut self, rhs: IntExpand<POS>)

Performs the -= operation. Read more
Source§

impl<const POS: u8> ToPrimitive for IntExpand<POS>

Source§

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>

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>

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>

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 more
Source§

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>

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>

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>

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>

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 more
Source§

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>

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>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
Source§

impl<const POS: u8> Zeroable for IntExpand<POS>

Source§

fn zeroed() -> Self

Source§

impl<const POS: u8> Copy for IntExpand<POS>

Source§

impl<const POS: u8> Pod for IntExpand<POS>

Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<P> Cast for P
where P: CubePrimitive,

Source§

fn cast_from<From>(_value: From) -> P
where From: CubePrimitive,

Source§

fn __expand_cast_from<From: CubePrimitive>( scope: &mut Scope, value: ExpandElementTyped<From>, ) -> <Self as CubeType>::ExpandType

Source§

impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

Source§

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

If this function returns true, then it must be valid to reinterpret bits as &Self.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<P> CubeDebug for P
where P: CubePrimitive,

Source§

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LaunchArg for T
where T: Numeric,

Source§

type RuntimeArg<'a, R: Runtime> = ScalarArg<T>

The runtime argument for the kernel.
Source§

fn compilation_arg<'a, R>( _runtime_arg: &'a <T as LaunchArg>::RuntimeArg<'a, R>, ) -> <T as LaunchArgExpand>::CompilationArg
where R: Runtime,

Source§

impl<P> Reinterpret for P
where P: CubePrimitive,

Source§

fn reinterpret<From: CubePrimitive>(value: From) -> Self

Reinterpret the bits of another primitive as this primitive without conversion.
Source§

fn __expand_reinterpret<From: CubePrimitive>( scope: &mut Scope, value: ExpandElementTyped<From>, ) -> <Self as CubeType>::ExpandType

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> CubeLaunch for T

Source§

impl<T> NoUninit for T
where T: Pod,

Source§

impl<T, Rhs> NumAssignOps<Rhs> for T
where T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,