pub struct ElemExpand<const POS: u8>(/* private fields */);Expand description
A fake element type that can be configured to map to any other element type.
Implementations§
Source§impl<const POS: u8> ElemExpand<POS>
 
impl<const POS: u8> ElemExpand<POS>
Trait Implementations§
Source§impl<const POS: u8> Abs for ElemExpand<POS>
 
impl<const POS: u8> Abs for ElemExpand<POS>
fn abs(x: Self) -> Self
fn __expand_abs( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Add for ElemExpand<POS>
 
impl<const POS: u8> Add for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
+ operator.Source§fn add(self, rhs: ElemExpand<POS>) -> ElemExpand<POS>
 
fn add(self, rhs: ElemExpand<POS>) -> ElemExpand<POS>
Performs the 
+ operation. Read moreSource§impl<const POS: u8> AddAssign for ElemExpand<POS>
 
impl<const POS: u8> AddAssign for ElemExpand<POS>
Source§fn add_assign(&mut self, rhs: ElemExpand<POS>)
 
fn add_assign(&mut self, rhs: ElemExpand<POS>)
Performs the 
+= operation. Read moreSource§impl<const POS: u8> BitAnd for ElemExpand<POS>
 
impl<const POS: u8> BitAnd for ElemExpand<POS>
Source§impl<const POS: u8> BitAndAssign for ElemExpand<POS>
 
impl<const POS: u8> BitAndAssign for ElemExpand<POS>
Source§fn bitand_assign(&mut self, rhs: Self)
 
fn bitand_assign(&mut self, rhs: Self)
Performs the 
&= operation. Read moreSource§impl<const POS: u8> BitOr for ElemExpand<POS>
 
impl<const POS: u8> BitOr for ElemExpand<POS>
Source§impl<const POS: u8> BitOrAssign for ElemExpand<POS>
 
impl<const POS: u8> BitOrAssign for ElemExpand<POS>
Source§fn bitor_assign(&mut self, rhs: Self)
 
fn bitor_assign(&mut self, rhs: Self)
Performs the 
|= operation. Read moreSource§impl<const POS: u8> BitXor for ElemExpand<POS>
 
impl<const POS: u8> BitXor for ElemExpand<POS>
Source§impl<const POS: u8> BitXorAssign for ElemExpand<POS>
 
impl<const POS: u8> BitXorAssign for ElemExpand<POS>
Source§fn bitxor_assign(&mut self, rhs: Self)
 
fn bitxor_assign(&mut self, rhs: Self)
Performs the 
^= operation. Read moreSource§impl<const POS: u8> BitwiseNot for ElemExpand<POS>
 
impl<const POS: u8> BitwiseNot for ElemExpand<POS>
fn bitwise_not(x: Self) -> Self
fn __expand_bitwise_not( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Ceil for ElemExpand<POS>
 
impl<const POS: u8> Ceil for ElemExpand<POS>
fn ceil(x: Self) -> Self
fn __expand_ceil( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Clamp for ElemExpand<POS>
 
impl<const POS: u8> Clamp for ElemExpand<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> Clone for ElemExpand<POS>
 
impl<const POS: u8> Clone for ElemExpand<POS>
Source§fn clone(&self) -> ElemExpand<POS>
 
fn clone(&self) -> ElemExpand<POS>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl<const POS: u8> Cos for ElemExpand<POS>
 
impl<const POS: u8> Cos for ElemExpand<POS>
fn cos(x: Self) -> Self
fn __expand_cos( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> CountOnes for ElemExpand<POS>
 
impl<const POS: u8> CountOnes for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> CubePrimitive for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> CubeType for ElemExpand<POS>
type ExpandType = ExpandElementTyped<ElemExpand<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<const POS: u8> Debug for ElemExpand<POS>
 
impl<const POS: u8> Debug for ElemExpand<POS>
Source§impl<const POS: u8> Default for ElemExpand<POS>
 
impl<const POS: u8> Default for ElemExpand<POS>
Source§fn default() -> ElemExpand<POS>
 
fn default() -> ElemExpand<POS>
Returns the “default value” for a type. Read more
Source§impl<const POS: u8> Display for ElemExpand<POS>
 
impl<const POS: u8> Display for ElemExpand<POS>
Source§impl<__RhsT, const POS: u8> Div<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> Div<__RhsT> for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
/ operator.Source§fn div(self, rhs: __RhsT) -> ElemExpand<POS>
 
fn div(self, rhs: __RhsT) -> ElemExpand<POS>
Performs the 
/ operation. Read moreSource§impl<const POS: u8> Div for ElemExpand<POS>
 
impl<const POS: u8> Div for ElemExpand<POS>
Source§impl<__RhsT, const POS: u8> DivAssign<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> DivAssign<__RhsT> for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> DivAssign for ElemExpand<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> Dot for ElemExpand<POS>
 
impl<const POS: u8> Dot for ElemExpand<POS>
fn dot(self, _rhs: Self) -> Self
fn __expand_dot( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Erf for ElemExpand<POS>
 
impl<const POS: u8> Erf for ElemExpand<POS>
fn erf(x: Self) -> Self
fn __expand_erf( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Exp for ElemExpand<POS>
 
impl<const POS: u8> Exp for ElemExpand<POS>
fn exp(x: Self) -> Self
fn __expand_exp( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> ExpandElementIntoMut for ElemExpand<POS>
 
impl<const POS: u8> ExpandElementIntoMut for ElemExpand<POS>
fn elem_into_mut(scope: &mut Scope, elem: ExpandElement) -> ExpandElement
Source§impl<const POS: u8> FindFirstSet for ElemExpand<POS>
 
impl<const POS: u8> FindFirstSet for ElemExpand<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> Float for ElemExpand<POS>
 
impl<const POS: u8> Float for ElemExpand<POS>
Source§const MAX_10_EXP: i32 = 38i32
 
const MAX_10_EXP: i32 = 38i32
Maximum possible tf32 power of 10 exponent
Source§const MIN_10_EXP: i32 = -37i32
 
const MIN_10_EXP: i32 = -37i32
Minimum possible normal tf32 power of 10 exponent
Source§const MIN_EXP: i32 = -125i32
 
const MIN_EXP: i32 = -125i32
One greater than the minimum possible normal tf32 power of 2 exponent
const DIGITS: u32 = 32u32
const EPSILON: Self
const INFINITY: Self
const MANTISSA_DIGITS: u32 = 24u32
const MIN_POSITIVE: Self
const NAN: Self
const NEG_INFINITY: Self
const RADIX: u32 = 2u32
fn new(val: f32) -> Self
fn __expand_new(scope: &mut Scope, val: f32) -> <Self as CubeType>::ExpandType
Source§impl<const POS: u8> Float for ElemExpand<POS>
 
impl<const POS: u8> Float for ElemExpand<POS>
Source§fn neg_infinity() -> Self
 
fn neg_infinity() -> Self
Returns the negative infinite value. Read more
Source§fn min_value() -> Self
 
fn min_value() -> Self
Returns the smallest finite value that this type can represent. Read more
Source§fn min_positive_value() -> Self
 
fn min_positive_value() -> Self
Returns the smallest positive, normalized value that this type can represent. Read more
Source§fn max_value() -> Self
 
fn max_value() -> Self
Returns the largest finite value that this type can represent. Read more
Source§fn is_infinite(self) -> bool
 
fn is_infinite(self) -> bool
Returns 
true if this value is positive infinity or negative infinity and
false otherwise. Read moreSource§fn classify(self) -> FpCategory
 
fn classify(self) -> FpCategory
Returns the floating point category of the number. If only one property
is going to be tested, it is generally faster to use the specific
predicate instead. Read more
Source§fn ceil(self) -> Self
 
fn ceil(self) -> Self
Returns the smallest integer greater than or equal to a number. Read more
Source§fn round(self) -> Self
 
fn round(self) -> Self
Returns the nearest integer to a number. Round half-way cases away from
0.0. Read moreSource§fn is_sign_positive(self) -> bool
 
fn is_sign_positive(self) -> bool
Source§fn is_sign_negative(self) -> bool
 
fn is_sign_negative(self) -> bool
Returns 
true if self is negative, including -0.0,
Float::neg_infinity(), and -Float::nan(). Read moreSource§fn mul_add(self, a: Self, b: Self) -> Self
 
fn mul_add(self, a: Self, b: Self) -> Self
Fused multiply-add. Computes 
(self * a) + b with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moreSource§fn log(self, base: Self) -> Self
 
fn log(self, base: Self) -> Self
Returns the logarithm of the number with respect to an arbitrary base. Read more
Source§fn hypot(self, other: Self) -> Self
 
fn hypot(self, other: Self) -> Self
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length 
x and y. Read moreSource§fn asin(self) -> Self
 
fn asin(self) -> Self
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
Source§fn acos(self) -> Self
 
fn acos(self) -> Self
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
Source§fn atan(self) -> Self
 
fn atan(self) -> Self
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
Source§fn exp_m1(self) -> Self
 
fn exp_m1(self) -> Self
Returns 
e^(self) - 1 in a way that is accurate even if the
number is close to zero. Read moreSource§fn ln_1p(self) -> Self
 
fn ln_1p(self) -> Self
Returns 
ln(1+n) (natural logarithm) more accurately than if
the operations were performed separately. Read moreSource§fn integer_decode(self) -> (u64, i16, i8)
 
fn integer_decode(self) -> (u64, i16, i8)
Returns the mantissa, base 2 exponent, and sign as integers, respectively.
The original number can be recovered by 
sign * mantissa * 2 ^ exponent. Read moreSource§fn to_degrees(self) -> Self
 
fn to_degrees(self) -> Self
Converts radians to degrees. Read more
Source§fn to_radians(self) -> Self
 
fn to_radians(self) -> Self
Converts degrees to radians. Read more
Source§impl<const POS: u8> Floor for ElemExpand<POS>
 
impl<const POS: u8> Floor for ElemExpand<POS>
fn floor(x: Self) -> Self
fn __expand_floor( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> From<ElemExpand<POS>> for ExpandElementTyped<ElemExpand<POS>>
 
impl<const POS: u8> From<ElemExpand<POS>> for ExpandElementTyped<ElemExpand<POS>>
Source§fn from(value: ElemExpand<POS>) -> Self
 
fn from(value: ElemExpand<POS>) -> Self
Converts to this type from the input type.
Source§impl<const POS: u8> From<ElemExpand<POS>> for Variable
 
impl<const POS: u8> From<ElemExpand<POS>> for Variable
Source§fn from(val: ElemExpand<POS>) -> Self
 
fn from(val: ElemExpand<POS>) -> Self
Converts to this type from the input type.
Source§impl<const POS: u8> From<ElemExpand<POS>> for f32
 
impl<const POS: u8> From<ElemExpand<POS>> for f32
Source§fn from(val: ElemExpand<POS>) -> Self
 
fn from(val: ElemExpand<POS>) -> Self
Converts to this type from the input type.
Source§impl<const POS: u8> Int for ElemExpand<POS>
 
impl<const POS: u8> Int for ElemExpand<POS>
Source§impl<const POS: u8> IntoRuntime for ElemExpand<POS>
 
impl<const POS: u8> IntoRuntime for ElemExpand<POS>
fn __expand_runtime_method(self, scope: &mut Scope) -> ExpandElementTyped<Self>
fn runtime(self) -> Self
Source§impl<const POS: u8> IsInf for ElemExpand<POS>
 
impl<const POS: u8> IsInf for ElemExpand<POS>
fn is_inf(x: Self) -> bool
fn __expand_is_inf( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<bool>
Source§impl<const POS: u8> IsNan for ElemExpand<POS>
 
impl<const POS: u8> IsNan for ElemExpand<POS>
fn is_nan(x: Self) -> bool
fn __expand_is_nan( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<bool>
Source§impl<const POS: u8> LeadingZeros for ElemExpand<POS>
 
impl<const POS: u8> LeadingZeros for ElemExpand<POS>
fn leading_zeros(x: Self) -> u32
fn __expand_leading_zeros( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<u32>
Source§impl<const POS: u8> Log for ElemExpand<POS>
 
impl<const POS: u8> Log for ElemExpand<POS>
fn log(x: Self) -> Self
fn __expand_log( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Log1p for ElemExpand<POS>
 
impl<const POS: u8> Log1p for ElemExpand<POS>
fn log1p(x: Self) -> Self
fn __expand_log1p( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Magnitude for ElemExpand<POS>
 
impl<const POS: u8> Magnitude for ElemExpand<POS>
fn magnitude(x: Self) -> Self
fn __expand_magnitude( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Max for ElemExpand<POS>
 
impl<const POS: u8> Max for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> Min for ElemExpand<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> Mul<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> Mul<__RhsT> for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
* operator.Source§fn mul(self, rhs: __RhsT) -> ElemExpand<POS>
 
fn mul(self, rhs: __RhsT) -> ElemExpand<POS>
Performs the 
* operation. Read moreSource§impl<const POS: u8> Mul for ElemExpand<POS>
 
impl<const POS: u8> Mul for ElemExpand<POS>
Source§impl<__RhsT, const POS: u8> MulAssign<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> MulAssign<__RhsT> for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> MulAssign for ElemExpand<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> Neg for ElemExpand<POS>
 
impl<const POS: u8> Neg for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
- operator.Source§fn neg(self) -> ElemExpand<POS>
 
fn neg(self) -> ElemExpand<POS>
Performs the unary 
- operation. Read moreSource§impl<const POS: u8> Normalize for ElemExpand<POS>
 
impl<const POS: u8> Normalize for ElemExpand<POS>
fn normalize(x: Self) -> Self
fn __expand_normalize( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Not for ElemExpand<POS>
 
impl<const POS: u8> Not for ElemExpand<POS>
Source§impl<const POS: u8> Num for ElemExpand<POS>
 
impl<const POS: u8> Num for ElemExpand<POS>
type FromStrRadixErr = <f32 as Num>::FromStrRadixErr
Source§fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
 
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically 
2..=36). Read moreSource§impl<const POS: u8> NumCast for ElemExpand<POS>
 
impl<const POS: u8> NumCast for ElemExpand<POS>
Source§impl<const POS: u8> Numeric for ElemExpand<POS>
 
impl<const POS: u8> Numeric for ElemExpand<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> One for ElemExpand<POS>
 
impl<const POS: u8> One for ElemExpand<POS>
Source§impl<const POS: u8> PartialEq for ElemExpand<POS>
 
impl<const POS: u8> PartialEq for ElemExpand<POS>
Source§impl<const POS: u8> PartialOrd for ElemExpand<POS>
 
impl<const POS: u8> PartialOrd for ElemExpand<POS>
Source§impl<const POS: u8> Powf for ElemExpand<POS>
 
impl<const POS: u8> Powf for ElemExpand<POS>
fn powf(self, _rhs: Self) -> Self
fn __expand_powf( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Self>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8, I: CubePrimitive> Powi<I> for ElemExpand<POS>
 
impl<const POS: u8, I: CubePrimitive> Powi<I> for ElemExpand<POS>
fn powi(self, _rhs: Rhs) -> Self
fn __expand_powi( scope: &mut Scope, lhs: ExpandElementTyped<Self>, rhs: ExpandElementTyped<Rhs>, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Recip for ElemExpand<POS>
 
impl<const POS: u8> Recip for ElemExpand<POS>
fn recip(x: Self) -> Self
fn __expand_recip( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<__RhsT, const POS: u8> Rem<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> Rem<__RhsT> for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
% operator.Source§fn rem(self, rhs: __RhsT) -> ElemExpand<POS>
 
fn rem(self, rhs: __RhsT) -> ElemExpand<POS>
Performs the 
% operation. Read moreSource§impl<const POS: u8> Rem for ElemExpand<POS>
 
impl<const POS: u8> Rem for ElemExpand<POS>
Source§impl<__RhsT, const POS: u8> RemAssign<__RhsT> for ElemExpand<POS>
 
impl<__RhsT, const POS: u8> RemAssign<__RhsT> for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> RemAssign for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> Remainder for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> ReverseBits for ElemExpand<POS>
fn reverse_bits(x: Self) -> Self
fn __expand_reverse_bits( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Round for ElemExpand<POS>
 
impl<const POS: u8> Round for ElemExpand<POS>
fn round(x: Self) -> Self
fn __expand_round( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> SaturatingAdd for ElemExpand<POS>
 
impl<const POS: u8> SaturatingAdd for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> SaturatingSub for ElemExpand<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 ElemExpand<POS>
 
impl<const POS: u8> ScalarArgSettings for ElemExpand<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<const POS: u8> Serialize for ElemExpand<POS>
 
impl<const POS: u8> Serialize for ElemExpand<POS>
Source§impl<const POS: u8> Shl for ElemExpand<POS>
 
impl<const POS: u8> Shl for ElemExpand<POS>
Source§impl<const POS: u8> ShlAssign<u32> for ElemExpand<POS>
 
impl<const POS: u8> ShlAssign<u32> for ElemExpand<POS>
Source§fn shl_assign(&mut self, rhs: u32)
 
fn shl_assign(&mut self, rhs: u32)
Performs the 
<<= operation. Read moreSource§impl<const POS: u8> Shr for ElemExpand<POS>
 
impl<const POS: u8> Shr for ElemExpand<POS>
Source§impl<const POS: u8> ShrAssign<u32> for ElemExpand<POS>
 
impl<const POS: u8> ShrAssign<u32> for ElemExpand<POS>
Source§fn shr_assign(&mut self, rhs: u32)
 
fn shr_assign(&mut self, rhs: u32)
Performs the 
>>= operation. Read moreSource§impl<const POS: u8> Sin for ElemExpand<POS>
 
impl<const POS: u8> Sin for ElemExpand<POS>
fn sin(x: Self) -> Self
fn __expand_sin( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Sqrt for ElemExpand<POS>
 
impl<const POS: u8> Sqrt for ElemExpand<POS>
fn sqrt(x: Self) -> Self
fn __expand_sqrt( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Sub for ElemExpand<POS>
 
impl<const POS: u8> Sub for ElemExpand<POS>
Source§type Output = ElemExpand<POS>
 
type Output = ElemExpand<POS>
The resulting type after applying the 
- operator.Source§fn sub(self, rhs: ElemExpand<POS>) -> ElemExpand<POS>
 
fn sub(self, rhs: ElemExpand<POS>) -> ElemExpand<POS>
Performs the 
- operation. Read moreSource§impl<const POS: u8> SubAssign for ElemExpand<POS>
 
impl<const POS: u8> SubAssign for ElemExpand<POS>
Source§fn sub_assign(&mut self, rhs: ElemExpand<POS>)
 
fn sub_assign(&mut self, rhs: ElemExpand<POS>)
Performs the 
-= operation. Read moreSource§impl<const POS: u8> Tanh for ElemExpand<POS>
 
impl<const POS: u8> Tanh for ElemExpand<POS>
fn tanh(x: Self) -> Self
fn __expand_tanh( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> ToPrimitive for ElemExpand<POS>
 
impl<const POS: u8> ToPrimitive for ElemExpand<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.Source§impl<const POS: u8> Trunc for ElemExpand<POS>
 
impl<const POS: u8> Trunc for ElemExpand<POS>
fn trunc(x: Self) -> Self
fn __expand_trunc( scope: &mut Scope, x: Self::ExpandType, ) -> ExpandElementTyped<Self>
Source§impl<const POS: u8> Zero for ElemExpand<POS>
 
impl<const POS: u8> Zero for ElemExpand<POS>
Source§impl<const POS: u8> Zeroable for ElemExpand<POS>
 
impl<const POS: u8> Zeroable for ElemExpand<POS>
impl<const POS: u8> Copy for ElemExpand<POS>
impl<const POS: u8> Pod for ElemExpand<POS>
impl<const POS: u8> StructuralPartialEq for ElemExpand<POS>
Auto Trait Implementations§
impl<const POS: u8> Freeze for ElemExpand<POS>
impl<const POS: u8> RefUnwindSafe for ElemExpand<POS>
impl<const POS: u8> Send for ElemExpand<POS>
impl<const POS: u8> Sync for ElemExpand<POS>
impl<const POS: u8> Unpin for ElemExpand<POS>
impl<const POS: u8> UnwindSafe for ElemExpand<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<T> Real for Twhere
    T: Float,
 
impl<T> Real for Twhere
    T: Float,
Source§fn min_positive_value() -> T
 
fn min_positive_value() -> T
Returns the smallest positive, normalized value that this type can represent. Read more
Source§fn round(self) -> T
 
fn round(self) -> T
Returns the nearest integer to a number. Round half-way cases away from
0.0. Read moreSource§fn is_sign_positive(self) -> bool
 
fn is_sign_positive(self) -> bool
Returns 
true if self is positive, including +0.0,
Float::infinity(), and with newer versions of Rust f64::NAN. Read moreSource§fn is_sign_negative(self) -> bool
 
fn is_sign_negative(self) -> bool
Returns 
true if self is negative, including -0.0,
Float::neg_infinity(), and with newer versions of Rust -f64::NAN. Read moreSource§fn mul_add(self, a: T, b: T) -> T
 
fn mul_add(self, a: T, b: T) -> T
Fused multiply-add. Computes 
(self * a) + b with only one rounding
error, yielding a more accurate result than an unfused multiply-add. Read moreSource§fn log(self, base: T) -> T
 
fn log(self, base: T) -> T
Returns the logarithm of the number with respect to an arbitrary base. Read more
Source§fn to_degrees(self) -> T
 
fn to_degrees(self) -> T
Converts radians to degrees. Read more
Source§fn to_radians(self) -> T
 
fn to_radians(self) -> T
Converts degrees to radians. Read more
Source§fn hypot(self, other: T) -> T
 
fn hypot(self, other: T) -> T
Calculate the length of the hypotenuse of a right-angle triangle given
legs of length 
x and y. Read moreSource§fn asin(self) -> T
 
fn asin(self) -> T
Computes the arcsine of a number. Return value is in radians in
the range [-pi/2, pi/2] or NaN if the number is outside the range
[-1, 1]. Read more
Source§fn acos(self) -> T
 
fn acos(self) -> T
Computes the arccosine of a number. Return value is in radians in
the range [0, pi] or NaN if the number is outside the range
[-1, 1]. Read more
Source§fn atan(self) -> T
 
fn atan(self) -> T
Computes the arctangent of a number. Return value is in radians in the
range [-pi/2, pi/2]; Read more
Source§fn exp_m1(self) -> T
 
fn exp_m1(self) -> T
Returns 
e^(self) - 1 in a way that is accurate even if the
number is close to zero. Read moreSource§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.