pub struct DynamicScalar<Marker: 'static> { /* private fields */ }Expand description
A fake element type that can be configured to map to any other element type.
Implementations§
Source§impl<Marker: 'static> DynamicScalar<Marker>
impl<Marker: 'static> DynamicScalar<Marker>
Trait Implementations§
Source§impl<Marker: 'static> Abs for DynamicScalar<Marker>
impl<Marker: 'static> Abs for DynamicScalar<Marker>
fn abs(self) -> Self
fn __expand_abs(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Add for DynamicScalar<Marker>
impl<Marker: 'static> Add for DynamicScalar<Marker>
Source§impl<Marker: 'static> AddAssign for DynamicScalar<Marker>
impl<Marker: 'static> AddAssign for DynamicScalar<Marker>
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl<Marker: 'static> ArcCos for DynamicScalar<Marker>
impl<Marker: 'static> ArcCos for DynamicScalar<Marker>
fn acos(self) -> Self
fn __expand_acos(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcCosh for DynamicScalar<Marker>
impl<Marker: 'static> ArcCosh for DynamicScalar<Marker>
fn acosh(self) -> Self
fn __expand_acosh( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcSin for DynamicScalar<Marker>
impl<Marker: 'static> ArcSin for DynamicScalar<Marker>
fn asin(self) -> Self
fn __expand_asin(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcSinh for DynamicScalar<Marker>
impl<Marker: 'static> ArcSinh for DynamicScalar<Marker>
fn asinh(self) -> Self
fn __expand_asinh( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcTan for DynamicScalar<Marker>
impl<Marker: 'static> ArcTan for DynamicScalar<Marker>
fn atan(self) -> Self
fn __expand_atan(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcTan2 for DynamicScalar<Marker>
impl<Marker: 'static> ArcTan2 for DynamicScalar<Marker>
fn atan2(self, _rhs: Self) -> Self
fn __expand_atan2( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> ArcTanh for DynamicScalar<Marker>
impl<Marker: 'static> ArcTanh for DynamicScalar<Marker>
fn atanh(self) -> Self
fn __expand_atanh( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> BitAnd for DynamicScalar<Marker>
impl<Marker: 'static> BitAnd for DynamicScalar<Marker>
Source§impl<Marker: 'static> BitAndAssign for DynamicScalar<Marker>
impl<Marker: 'static> BitAndAssign for DynamicScalar<Marker>
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the
&= operation. Read moreSource§impl<Marker: 'static> BitOr for DynamicScalar<Marker>
impl<Marker: 'static> BitOr for DynamicScalar<Marker>
Source§impl<Marker: 'static> BitOrAssign for DynamicScalar<Marker>
impl<Marker: 'static> BitOrAssign for DynamicScalar<Marker>
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|= operation. Read moreSource§impl<Marker: 'static> BitXor for DynamicScalar<Marker>
impl<Marker: 'static> BitXor for DynamicScalar<Marker>
Source§impl<Marker: 'static> BitXorAssign for DynamicScalar<Marker>
impl<Marker: 'static> BitXorAssign for DynamicScalar<Marker>
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
Performs the
^= operation. Read moreSource§impl<Marker: 'static> Ceil for DynamicScalar<Marker>
impl<Marker: 'static> Ceil for DynamicScalar<Marker>
fn ceil(self) -> Self
fn __expand_ceil(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Clone for DynamicScalar<Marker>
impl<Marker: 'static> Clone for DynamicScalar<Marker>
Source§impl<Marker: 'static> Cos for DynamicScalar<Marker>
impl<Marker: 'static> Cos for DynamicScalar<Marker>
fn cos(self) -> Self
fn __expand_cos(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Cosh for DynamicScalar<Marker>
impl<Marker: 'static> Cosh for DynamicScalar<Marker>
fn cosh(self) -> Self
fn __expand_cosh(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> CountOnes for DynamicScalar<Marker>
impl<Marker: 'static> CountOnes for DynamicScalar<Marker>
fn count_ones(self) -> Self::WithScalar<u32>
fn __expand_count_ones( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<u32>>
Source§impl<Marker: 'static> CubeNot for DynamicScalar<Marker>
impl<Marker: 'static> CubeNot for DynamicScalar<Marker>
fn __expand_not(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> CubePrimitive for DynamicScalar<Marker>
impl<Marker: 'static> CubePrimitive for DynamicScalar<Marker>
type Scalar = DynamicScalar<Marker>
type Size = Const<1>
type WithScalar<S: Scalar> = S
fn from_const_value(value: ConstantValue) -> Self
Source§fn as_type_native() -> Option<Type>
fn as_type_native() -> Option<Type>
Native or static element type.
Source§fn as_type_native_unchecked() -> Type
fn as_type_native_unchecked() -> Type
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: ManagedVariable) -> 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_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<Marker: 'static> CubeType for DynamicScalar<Marker>
impl<Marker: 'static> CubeType for DynamicScalar<Marker>
type ExpandType = NativeExpand<DynamicScalar<Marker>>
Source§impl<Marker: 'static> Debug for DynamicScalar<Marker>
impl<Marker: 'static> Debug for DynamicScalar<Marker>
Source§impl<Marker: 'static> Default for DynamicScalar<Marker>
impl<Marker: 'static> Default for DynamicScalar<Marker>
Source§impl<Marker: 'static> Degrees for DynamicScalar<Marker>
impl<Marker: 'static> Degrees for DynamicScalar<Marker>
fn to_degrees(self) -> Self
fn __expand_to_degrees( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Display for DynamicScalar<Marker>
impl<Marker: 'static> Display for DynamicScalar<Marker>
Source§impl<Marker: 'static> Div for DynamicScalar<Marker>
impl<Marker: 'static> Div for DynamicScalar<Marker>
Source§impl<Marker: 'static> DivAssign for DynamicScalar<Marker>
impl<Marker: 'static> DivAssign for DynamicScalar<Marker>
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Performs the
/= operation. Read moreSource§impl<Marker: 'static> Dot for DynamicScalar<Marker>
impl<Marker: 'static> Dot for DynamicScalar<Marker>
fn dot(self, _rhs: Self) -> Self::Scalar
fn __expand_dot( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self::Scalar>
Source§impl<Marker: 'static> Erf for DynamicScalar<Marker>
impl<Marker: 'static> Erf for DynamicScalar<Marker>
fn erf(self) -> Self
fn __expand_erf(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Exp for DynamicScalar<Marker>
impl<Marker: 'static> Exp for DynamicScalar<Marker>
fn exp(self) -> Self
fn __expand_exp(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> FindFirstSet for DynamicScalar<Marker>
impl<Marker: 'static> FindFirstSet for DynamicScalar<Marker>
fn find_first_set(self) -> Self::WithScalar<u32>
fn __expand_find_first_set( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<u32>>
Source§impl<Marker: 'static> Float for DynamicScalar<Marker>
impl<Marker: 'static> Float for DynamicScalar<Marker>
Source§const MAX_10_EXP: i32 = f32::MAX_10_EXP
const MAX_10_EXP: i32 = f32::MAX_10_EXP
Maximum possible cubecl_common::tf32 power of 10 exponent
Source§const MAX_EXP: i32 = f32::MAX_EXP
const MAX_EXP: i32 = f32::MAX_EXP
Maximum possible cubecl_common::tf32 power of 2 exponent
Source§const MIN_10_EXP: i32 = f32::MIN_10_EXP
const MIN_10_EXP: i32 = f32::MIN_10_EXP
Minimum possible normal cubecl_common::tf32 power of 10 exponent
Source§const MIN_EXP: i32 = f32::MIN_EXP
const MIN_EXP: i32 = f32::MIN_EXP
One greater than the minimum possible normal cubecl_common::tf32 power of 2 exponent
const DIGITS: u32 = 32
const EPSILON: Self
const INFINITY: Self
const MANTISSA_DIGITS: u32 = f32::MANTISSA_DIGITS
const MIN_POSITIVE: Self
const NAN: Self
const NEG_INFINITY: Self
const RADIX: u32 = 2
fn new(val: f32) -> Self
fn __expand_new(scope: &mut Scope, val: f32) -> <Self as CubeType>::ExpandType
Source§impl<Marker: 'static> Float for DynamicScalar<Marker>
impl<Marker: 'static> Float for DynamicScalar<Marker>
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<Marker: 'static> Floor for DynamicScalar<Marker>
impl<Marker: 'static> Floor for DynamicScalar<Marker>
fn floor(self) -> Self
fn __expand_floor( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> From<DynamicScalar<Marker>> for ConstantValue
impl<Marker: 'static> From<DynamicScalar<Marker>> for ConstantValue
Source§fn from(val: DynamicScalar<Marker>) -> Self
fn from(val: DynamicScalar<Marker>) -> Self
Converts to this type from the input type.
Source§impl<Marker: 'static> From<DynamicScalar<Marker>> for NativeExpand<DynamicScalar<Marker>>
impl<Marker: 'static> From<DynamicScalar<Marker>> for NativeExpand<DynamicScalar<Marker>>
Source§fn from(value: DynamicScalar<Marker>) -> Self
fn from(value: DynamicScalar<Marker>) -> Self
Converts to this type from the input type.
Source§impl<Marker: 'static> From<DynamicScalar<Marker>> for Variable
impl<Marker: 'static> From<DynamicScalar<Marker>> for Variable
Source§fn from(val: DynamicScalar<Marker>) -> Self
fn from(val: DynamicScalar<Marker>) -> Self
Converts to this type from the input type.
Source§impl<Marker: 'static> Hash for DynamicScalar<Marker>
impl<Marker: 'static> Hash for DynamicScalar<Marker>
Source§impl<Marker: 'static> Hypot for DynamicScalar<Marker>
impl<Marker: 'static> Hypot for DynamicScalar<Marker>
fn hypot(self, _rhs: Self) -> Self
fn __expand_hypot( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Int for DynamicScalar<Marker>
impl<Marker: 'static> Int for DynamicScalar<Marker>
Source§impl<Marker: 'static> IntoRuntime for DynamicScalar<Marker>
impl<Marker: 'static> IntoRuntime for DynamicScalar<Marker>
fn __expand_runtime_method(self, scope: &mut Scope) -> NativeExpand<Self>
fn runtime(self) -> Self
Source§impl<Marker: 'static> InverseSqrt for DynamicScalar<Marker>
impl<Marker: 'static> InverseSqrt for DynamicScalar<Marker>
fn inverse_sqrt(self) -> Self
fn __expand_inverse_sqrt( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> IsInf for DynamicScalar<Marker>
impl<Marker: 'static> IsInf for DynamicScalar<Marker>
fn is_inf(self) -> Self::WithScalar<bool>
fn __expand_is_inf( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<bool>>
Source§impl<Marker: 'static> IsNan for DynamicScalar<Marker>
impl<Marker: 'static> IsNan for DynamicScalar<Marker>
fn is_nan(self) -> Self::WithScalar<bool>
fn __expand_is_nan( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<bool>>
Source§impl<Marker: 'static> LeadingZeros for DynamicScalar<Marker>
impl<Marker: 'static> LeadingZeros for DynamicScalar<Marker>
fn leading_zeros(self) -> Self::WithScalar<u32>
fn __expand_leading_zeros( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<u32>>
Source§impl<Marker: 'static> Log for DynamicScalar<Marker>
impl<Marker: 'static> Log for DynamicScalar<Marker>
fn ln(self) -> Self
fn __expand_ln(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Log1p for DynamicScalar<Marker>
impl<Marker: 'static> Log1p for DynamicScalar<Marker>
fn log1p(self) -> Self
fn __expand_log1p( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Magnitude for DynamicScalar<Marker>
impl<Marker: 'static> Magnitude for DynamicScalar<Marker>
fn magnitude(self) -> Self
fn __expand_magnitude( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::Scalar>
Source§impl<Marker: 'static> Mul for DynamicScalar<Marker>
impl<Marker: 'static> Mul for DynamicScalar<Marker>
Source§impl<Marker: 'static> MulAssign for DynamicScalar<Marker>
impl<Marker: 'static> MulAssign for DynamicScalar<Marker>
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*= operation. Read moreSource§impl<Marker: 'static> NativeAssign for DynamicScalar<Marker>
impl<Marker: 'static> NativeAssign for DynamicScalar<Marker>
fn elem_init_mut(scope: &mut Scope, elem: ManagedVariable) -> ManagedVariable
Source§impl<Marker: 'static> Neg for DynamicScalar<Marker>
impl<Marker: 'static> Neg for DynamicScalar<Marker>
Source§impl<Marker: 'static> Normalize for DynamicScalar<Marker>
impl<Marker: 'static> Normalize for DynamicScalar<Marker>
fn normalize(self) -> Self
fn __expand_normalize( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Not for DynamicScalar<Marker>
impl<Marker: 'static> Not for DynamicScalar<Marker>
Source§impl<Marker: 'static> Num for DynamicScalar<Marker>
impl<Marker: 'static> Num for DynamicScalar<Marker>
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<Marker: 'static> NumCast for DynamicScalar<Marker>
impl<Marker: 'static> NumCast for DynamicScalar<Marker>
Source§impl<Marker: 'static> Numeric for DynamicScalar<Marker>
impl<Marker: 'static> Numeric for DynamicScalar<Marker>
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
Source§fn from_int_128(val: i128) -> Self
fn from_int_128(val: i128) -> Self
Create a new constant numeric. Uses
i128 to be able to represent both signed integers, and
u64::MAX. Read morefn from_vec<const D: usize>(_vec: [u32; D]) -> Self
fn __expand_from_int( scope: &mut Scope, val: NativeExpand<i64>, ) -> <Self as CubeType>::ExpandType
Source§impl<Marker: 'static> One for DynamicScalar<Marker>
impl<Marker: 'static> One for DynamicScalar<Marker>
Source§impl<Marker: 'static> Ord for DynamicScalar<Marker>
impl<Marker: 'static> Ord for DynamicScalar<Marker>
Source§impl<Marker: 'static> PartialEq for DynamicScalar<Marker>
impl<Marker: 'static> PartialEq for DynamicScalar<Marker>
Source§impl<Marker: 'static> PartialOrd for DynamicScalar<Marker>
impl<Marker: 'static> PartialOrd for DynamicScalar<Marker>
Source§impl<Marker: 'static> Powf for DynamicScalar<Marker>
impl<Marker: 'static> Powf for DynamicScalar<Marker>
fn powf(self, _rhs: Self) -> Self
fn __expand_powf( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static, I: CubePrimitive> Powi<I> for DynamicScalar<Marker>
impl<Marker: 'static, I: CubePrimitive> Powi<I> for DynamicScalar<Marker>
fn powi(self, _rhs: Rhs) -> Self
fn __expand_powi( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Rhs>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Radians for DynamicScalar<Marker>
impl<Marker: 'static> Radians for DynamicScalar<Marker>
fn to_radians(self) -> Self
fn __expand_to_radians( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Recip for DynamicScalar<Marker>
impl<Marker: 'static> Recip for DynamicScalar<Marker>
fn recip(self) -> Self
fn __expand_recip( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Rem for DynamicScalar<Marker>
impl<Marker: 'static> Rem for DynamicScalar<Marker>
Source§impl<Marker: 'static> RemAssign for DynamicScalar<Marker>
impl<Marker: 'static> RemAssign for DynamicScalar<Marker>
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
Performs the
%= operation. Read moreSource§impl<Marker: 'static> Remainder for DynamicScalar<Marker>
impl<Marker: 'static> Remainder for DynamicScalar<Marker>
fn rem(self, _rhs: Self) -> Self
fn __expand_rem( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> ReverseBits for DynamicScalar<Marker>
impl<Marker: 'static> ReverseBits for DynamicScalar<Marker>
fn reverse_bits(self) -> Self
fn __expand_reverse_bits( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Rhypot for DynamicScalar<Marker>
impl<Marker: 'static> Rhypot for DynamicScalar<Marker>
fn rhypot(self, _rhs: Self) -> Self
fn __expand_rhypot( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Round for DynamicScalar<Marker>
impl<Marker: 'static> Round for DynamicScalar<Marker>
fn round(self) -> Self
fn __expand_round( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> SaturatingAdd for DynamicScalar<Marker>
impl<Marker: 'static> SaturatingAdd for DynamicScalar<Marker>
fn saturating_add(self, _rhs: Self) -> Self
fn __expand_saturating_add( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> SaturatingSub for DynamicScalar<Marker>
impl<Marker: 'static> SaturatingSub for DynamicScalar<Marker>
fn saturating_sub(self, _rhs: Self) -> Self
fn __expand_saturating_sub( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> ScalarArgSettings for DynamicScalar<Marker>
impl<Marker: 'static> ScalarArgSettings for DynamicScalar<Marker>
Source§fn register<R: Runtime>(&self, _launcher: &mut KernelLauncher<R>)
fn register<R: Runtime>(&self, _launcher: &mut KernelLauncher<R>)
Register the information to the
KernelLauncher.fn expand_scalar(builder: &mut KernelBuilder) -> NativeExpand<Self>
Source§impl<Marker: 'static> Serialize for DynamicScalar<Marker>
impl<Marker: 'static> Serialize for DynamicScalar<Marker>
Source§impl<Marker: 'static> Shl for DynamicScalar<Marker>
impl<Marker: 'static> Shl for DynamicScalar<Marker>
Source§impl<Marker: 'static> ShlAssign<u32> for DynamicScalar<Marker>
impl<Marker: 'static> ShlAssign<u32> for DynamicScalar<Marker>
Source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
Performs the
<<= operation. Read moreSource§impl<Marker: 'static> Shr for DynamicScalar<Marker>
impl<Marker: 'static> Shr for DynamicScalar<Marker>
Source§impl<Marker: 'static> ShrAssign<u32> for DynamicScalar<Marker>
impl<Marker: 'static> ShrAssign<u32> for DynamicScalar<Marker>
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
Performs the
>>= operation. Read moreSource§impl<Marker: 'static> Sin for DynamicScalar<Marker>
impl<Marker: 'static> Sin for DynamicScalar<Marker>
fn sin(self) -> Self
fn __expand_sin(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Sinh for DynamicScalar<Marker>
impl<Marker: 'static> Sinh for DynamicScalar<Marker>
fn sinh(self) -> Self
fn __expand_sinh(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Sqrt for DynamicScalar<Marker>
impl<Marker: 'static> Sqrt for DynamicScalar<Marker>
fn sqrt(self) -> Self
fn __expand_sqrt(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Sub for DynamicScalar<Marker>
impl<Marker: 'static> Sub for DynamicScalar<Marker>
Source§impl<Marker: 'static> SubAssign for DynamicScalar<Marker>
impl<Marker: 'static> SubAssign for DynamicScalar<Marker>
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-= operation. Read moreSource§impl<Marker: 'static> Tan for DynamicScalar<Marker>
impl<Marker: 'static> Tan for DynamicScalar<Marker>
fn tan(self) -> Self
fn __expand_tan(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> Tanh for DynamicScalar<Marker>
impl<Marker: 'static> Tanh for DynamicScalar<Marker>
fn tanh(self) -> Self
fn __expand_tanh(scope: &mut Scope, x: NativeExpand<Self>) -> NativeExpand<Self>
Source§impl<Marker: 'static> ToPrimitive for DynamicScalar<Marker>
impl<Marker: 'static> ToPrimitive for DynamicScalar<Marker>
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<Marker: 'static> TrailingZeros for DynamicScalar<Marker>
impl<Marker: 'static> TrailingZeros for DynamicScalar<Marker>
fn trailing_zeros(self) -> Self::WithScalar<u32>
fn __expand_trailing_zeros( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self::WithScalar<u32>>
Source§impl<Marker: 'static> Trunc for DynamicScalar<Marker>
impl<Marker: 'static> Trunc for DynamicScalar<Marker>
fn trunc(self) -> Self
fn __expand_trunc( scope: &mut Scope, x: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<Marker: 'static> Zero for DynamicScalar<Marker>
impl<Marker: 'static> Zero for DynamicScalar<Marker>
Source§impl<Marker: 'static> Zeroable for DynamicScalar<Marker>
impl<Marker: 'static> Zeroable for DynamicScalar<Marker>
impl<Marker: 'static> Copy for DynamicScalar<Marker>
impl<Marker: 'static> Eq for DynamicScalar<Marker>
impl<Marker: 'static> Scalar for DynamicScalar<Marker>
impl<Marker: 'static> Send for DynamicScalar<Marker>
impl<Marker: 'static> Sync for DynamicScalar<Marker>
Auto Trait Implementations§
impl<Marker> Freeze for DynamicScalar<Marker>
impl<Marker> RefUnwindSafe for DynamicScalar<Marker>where
Marker: RefUnwindSafe,
impl<Marker> Unpin for DynamicScalar<Marker>where
Marker: Unpin,
impl<Marker> UnsafeUnpin for DynamicScalar<Marker>
impl<Marker> UnwindSafe for DynamicScalar<Marker>where
Marker: UnwindSafe,
Blanket Implementations§
Source§impl<T> Assign for Twhere
T: CubePrimitive,
impl<T> Assign for Twhere
T: CubePrimitive,
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: NativeExpand<From>, ) -> <Self as CubeType>::ExpandType
Source§impl<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg: CompilationArg>(&self) -> Arg
fn dynamic_cast<Arg: CompilationArg>(&self) -> Arg
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
Source§impl<T> CubeAdd for Twhere
T: Add<Output = T> + CubePrimitive,
impl<T> CubeAdd for Twhere
T: Add<Output = T> + CubePrimitive,
fn __expand_add( scope: &mut 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: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, )
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> CubeDiv for Twhere
T: Div<Output = T> + CubePrimitive,
impl<T> CubeDiv for Twhere
T: Div<Output = T> + CubePrimitive,
fn __expand_mul( scope: &mut 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: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeMul for Twhere
T: Mul<Output = T> + CubePrimitive,
impl<T> CubeMul for Twhere
T: Mul<Output = T> + CubePrimitive,
fn __expand_mul( scope: &mut 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: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeOrd for Twhere
T: Ord + CubePrimitive,
impl<T> CubeOrd for Twhere
T: Ord + CubePrimitive,
fn __expand_cmp( scope: &mut Scope, lhs: Self::ExpandType, rhs: Self::ExpandType, ) -> OrderingExpand
fn __expand_min( scope: &mut Scope, lhs: Self::ExpandType, rhs: Self::ExpandType, ) -> Self::ExpandType
fn __expand_max( scope: &mut Scope, lhs: Self::ExpandType, rhs: Self::ExpandType, ) -> Self::ExpandType
fn __expand_clamp( scope: &mut Scope, lhs: Self::ExpandType, min: Self::ExpandType, max: Self::ExpandType, ) -> Self::ExpandType
Source§impl<T> CubeRem for Twhere
T: Rem<Output = T> + CubePrimitive,
impl<T> CubeRem for Twhere
T: Rem<Output = T> + CubePrimitive,
fn __expand_rem( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, ) -> NativeExpand<Self>
Source§impl<T> CubeRemAssign for Twhere
T: RemAssign + CubePrimitive,
impl<T> CubeRemAssign for Twhere
T: RemAssign + CubePrimitive,
fn __expand_rem_assign( scope: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> CubeSub for Twhere
T: Sub<Output = T> + CubePrimitive,
impl<T> CubeSub for Twhere
T: Sub<Output = T> + CubePrimitive,
fn __expand_sub( scope: &mut 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: &mut Scope, lhs: NativeExpand<Self>, rhs: NativeExpand<Self>, )
Source§impl<T> DefaultExpand for T
impl<T> DefaultExpand for T
fn __expand_default(scope: &mut Scope) -> <T as CubeType>::ExpandType
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> FloatOps for Twhere
T: Float,
impl<T> FloatOps for Twhere
T: Float,
fn min(self, other: Self) -> Self
fn max(self, other: Self) -> Self
fn clamp(self, min: Self, max: Self) -> Self
fn __expand_min( scope: &mut Scope, this: <Self as CubeType>::ExpandType, other: <Self as CubeType>::ExpandType, ) -> <Self as CubeType>::ExpandType
fn __expand_max( scope: &mut Scope, this: <Self as CubeType>::ExpandType, other: <Self as CubeType>::ExpandType, ) -> <Self as CubeType>::ExpandType
fn __expand_clamp( scope: &mut Scope, this: <Self as CubeType>::ExpandType, min: <Self as CubeType>::ExpandType, max: <Self as CubeType>::ExpandType, ) -> <Self as CubeType>::ExpandType
Source§impl<T> LaunchArg for Twhere
T: ScalarArgSettings,
impl<T> LaunchArg for Twhere
T: ScalarArgSettings,
Source§type RuntimeArg<R: Runtime> = T
type RuntimeArg<R: Runtime> = T
The runtime argument for the kernel.
Source§type CompilationArg = ()
type CompilationArg = ()
Compilation argument.
fn register<R>(
arg: <T as LaunchArg>::RuntimeArg<R>,
launcher: &mut KernelLauncher<R>,
)where
R: Runtime,
Source§fn expand(_: &(), builder: &mut KernelBuilder) -> NativeExpand<T>
fn expand(_: &(), builder: &mut KernelBuilder) -> NativeExpand<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> OneExpand for T
impl<T> OneExpand for T
fn __expand_one(scope: &mut Scope) -> <T as CubeType>::ExpandType
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.
Source§fn reinterpret_vectorization<From: CubePrimitive>() -> usize
fn reinterpret_vectorization<From: CubePrimitive>() -> usize
Calculates the expected vectorization for the reinterpret target