pub struct RangeInclusiveExpand<Idx>where
Idx: Scalar,{ /* private fields */ }Implementations§
Source§impl<Idx> RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> RangeInclusiveExpand<Idx>where
Idx: Scalar,
pub fn new( start: NativeExpand<Idx>, last: NativeExpand<Idx>, ) -> RangeInclusiveExpand<Idx>
Source§impl<I> RangeInclusiveExpand<I>where
I: Int,
impl<I> RangeInclusiveExpand<I>where
I: Int,
pub fn __expand_step_by_method( self, _: &Scope, n: impl Into<NativeExpand<I>>, ) -> SteppedRangeExpand<I>
Trait Implementations§
Source§impl<Idx> AsMutExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> AsMutExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
fn __expand_ref_mut_method( &mut self, _: &Scope, ) -> &mut RangeInclusiveExpand<Idx>
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<Idx> AsRefExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> AsRefExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
fn __expand_ref_method(&self, _: &Scope) -> &RangeInclusiveExpand<Idx>
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<Idx> CubeDebug for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> CubeDebug for RangeInclusiveExpand<Idx>where
Idx: Scalar,
Source§fn set_debug_name(&self, scope: &Scope, name: &'static str)
fn set_debug_name(&self, scope: &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<Idx> ExpandTypeClone for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> ExpandTypeClone for RangeInclusiveExpand<Idx>where
Idx: Scalar,
Source§fn clone_unchecked(&self) -> RangeInclusiveExpand<Idx>
fn clone_unchecked(&self) -> RangeInclusiveExpand<Idx>
Unchecked clone that only clones the conceptual runtime value. Should only be used in cases
where each copy is used in a mutually exclusive branch (i.e. match, runtime enums). This is
intentionally separated from Rust’s
Clone semantics and should only be used for the
conceptual expand values, never real data. Using two values in the same branch is undefined
behaviour.Source§impl<E> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<[E]>where
E: CubePrimitive,
impl<E> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<[E]>where
E: CubePrimitive,
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &<NativeExpand<[E]> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>where
E: CubePrimitive,
impl<E> IndexExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>where
E: CubePrimitive,
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &<NativeExpand<Array<E>> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E> IndexExpand<RangeInclusiveExpand<usize>> for TensorExpand<E>where
E: CubePrimitive,
impl<E> IndexExpand<RangeInclusiveExpand<usize>> for TensorExpand<E>where
E: CubePrimitive,
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &<TensorExpand<E> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
type Output = NativeExpand<[E]>
fn __expand_index_method( &self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &<NativeExpand<Shared<[E]>> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<[E]>where
E: CubePrimitive,
impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<[E]>where
E: CubePrimitive,
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <NativeExpand<[E]> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>where
E: CubePrimitive,
impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for NativeExpand<Array<E>>where
E: CubePrimitive,
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <NativeExpand<Array<E>> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for TensorExpand<E>where
E: CubePrimitive,
impl<E> IndexMutExpand<RangeInclusiveExpand<usize>> for TensorExpand<E>where
E: CubePrimitive,
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <TensorExpand<E> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
fn __expand_index_mut_method( &mut self, scope: &Scope, index: RangeInclusiveExpand<usize>, ) -> &mut <NativeExpand<Shared<[E]>> as IndexExpand<RangeInclusiveExpand<usize>>>::Output
Source§impl<Idx> IntoExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> IntoExpand for RangeInclusiveExpand<Idx>where
Idx: Scalar,
type Expand = RangeInclusiveExpand<Idx>
fn into_expand(self, _: &Scope) -> RangeInclusiveExpand<Idx>
Source§impl<Idx> IntoMut for RangeInclusiveExpand<Idx>where
Idx: Scalar,
impl<Idx> IntoMut for RangeInclusiveExpand<Idx>where
Idx: Scalar,
Source§fn into_mut(self, scope: &Scope) -> RangeInclusiveExpand<Idx>
fn into_mut(self, scope: &Scope) -> RangeInclusiveExpand<Idx>
Convert the variable into a potentially new mutable variable in
scope, copying if needed.Source§impl<I> Iterable for RangeInclusiveExpand<I>where
I: Int,
impl<I> Iterable for RangeInclusiveExpand<I>where
I: Int,
type Item = NativeExpand<I>
Source§fn expand_unroll(
self,
scope: &Scope,
body: &mut dyn FnMut(&Scope, <I as CubeType>::ExpandType),
)
fn expand_unroll( self, scope: &Scope, body: &mut dyn FnMut(&Scope, <I as CubeType>::ExpandType), )
Expand an unrolled loop. The body should be invoced
n times, where n is the number of
iterations. Read moreAuto Trait Implementations§
impl<Idx> Freeze for RangeInclusiveExpand<Idx>
impl<Idx> RefUnwindSafe for RangeInclusiveExpand<Idx>
impl<Idx> Send for RangeInclusiveExpand<Idx>
impl<Idx> Sync for RangeInclusiveExpand<Idx>
impl<Idx> Unpin for RangeInclusiveExpand<Idx>
impl<Idx> UnsafeUnpin for RangeInclusiveExpand<Idx>
impl<Idx> UnwindSafe for RangeInclusiveExpand<Idx>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more