pub struct StridedTileExpand<ES: Numeric, N: Size> {
pub container: <Box<[Vector<ES, N>]> as CubeType>::ExpandType,
pub start: <u32 as CubeType>::ExpandType,
pub end: <u32 as CubeType>::ExpandType,
pub stride: <u32 as CubeType>::ExpandType,
pub swizzle: <Swizzle as CubeType>::ExpandType,
pub layout: MatrixLayout,
}Fields§
§container: <Box<[Vector<ES, N>]> as CubeType>::ExpandType§start: <u32 as CubeType>::ExpandType§end: <u32 as CubeType>::ExpandType§stride: <u32 as CubeType>::ExpandType§swizzle: <Swizzle as CubeType>::ExpandType§layout: MatrixLayoutImplementations§
Source§impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
pub fn __expand_unvectorized_stride_method( &self, scope: &Scope, ) -> <u32 as CubeType>::ExpandType
pub fn __expand_unvectorized_stride( scope: &Scope, this: &Self, ) -> <u32 as CubeType>::ExpandType
Source§impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
Sourcepub fn __expand_as_slice_method<'infer, 'scope>(
&'infer self,
scope: &'scope Scope,
) -> &'infer <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice_method<'infer, 'scope>( &'infer self, scope: &'scope Scope, ) -> &'infer <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
Returns the tile as an offset read-only slice. Should only be used when swizzling is definitely not applicable.
Sourcepub fn __expand_as_slice_mut_method<'infer, 'scope>(
&'infer mut self,
scope: &'scope Scope,
) -> &'infer mut <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice_mut_method<'infer, 'scope>( &'infer mut self, scope: &'scope Scope, ) -> &'infer mut <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
Returns the tile as an offset slice. Should only be used when swizzling is definitely not applicable.
Sourcepub fn __expand_as_slice<'infer, 'scope>(
scope: &'scope Scope,
this: &'infer Self,
) -> &'infer <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice<'infer, 'scope>( scope: &'scope Scope, this: &'infer Self, ) -> &'infer <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
Returns the tile as an offset read-only slice. Should only be used when swizzling is definitely not applicable.
Sourcepub fn __expand_as_slice_mut<'infer, 'scope>(
scope: &'scope Scope,
this: &'infer mut Self,
) -> &'infer mut <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
pub fn __expand_as_slice_mut<'infer, 'scope>( scope: &'scope Scope, this: &'infer mut Self, ) -> &'infer mut <[Vector<ES, N>] as CubeType>::ExpandType ⓘ
Returns the tile as an offset slice. Should only be used when swizzling is definitely not applicable.
Source§impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> StridedTileExpand<ES, N>
Sourcepub fn __expand_get_vector_method(
&self,
scope: &Scope,
coor_strided: <u32 as CubeType>::ExpandType,
coor_contiguous: <u32 as CubeType>::ExpandType,
) -> <Vector<ES, N> as CubeType>::ExpandType
pub fn __expand_get_vector_method( &self, scope: &Scope, coor_strided: <u32 as CubeType>::ExpandType, coor_contiguous: <u32 as CubeType>::ExpandType, ) -> <Vector<ES, N> as CubeType>::ExpandType
Returns a specific vector from the tile based on coordinates.
pub fn __expand_stage_offset_method( &self, scope: &Scope, relative_offset: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
pub fn __expand_with_vector_size_method<N2: Size>( &self, scope: &Scope, ) -> <StridedTile<ES, N2> as CubeType>::ExpandType
Sourcepub fn __expand_get_vector(
scope: &Scope,
this: &Self,
coor_strided: <u32 as CubeType>::ExpandType,
coor_contiguous: <u32 as CubeType>::ExpandType,
) -> <Vector<ES, N> as CubeType>::ExpandType
pub fn __expand_get_vector( scope: &Scope, this: &Self, coor_strided: <u32 as CubeType>::ExpandType, coor_contiguous: <u32 as CubeType>::ExpandType, ) -> <Vector<ES, N> as CubeType>::ExpandType
Returns a specific vector from the tile based on coordinates.
pub fn __expand_stage_offset( scope: &Scope, this: &Self, relative_offset: <u32 as CubeType>::ExpandType, ) -> <u32 as CubeType>::ExpandType
pub fn __expand_with_vector_size<N2: Size>( scope: &Scope, this: &Self, ) -> <StridedTile<ES, N2> as CubeType>::ExpandType
Trait Implementations§
Source§impl<ES: Numeric, N: Size> AsMutExpand for StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> AsMutExpand for StridedTileExpand<ES, N>
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl<ES: Numeric, N: Size> AsRefExpand for StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> AsRefExpand for StridedTileExpand<ES, N>
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl<ES: Clone + Numeric, N: Clone + Size> Clone for StridedTileExpand<ES, N>
impl<ES: Clone + Numeric, N: Clone + Size> Clone for StridedTileExpand<ES, N>
Source§fn clone(&self) -> StridedTileExpand<ES, N>
fn clone(&self) -> StridedTileExpand<ES, N>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<ES: Numeric, N: Size> CubeDebug for StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> CubeDebug for StridedTileExpand<ES, N>
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<ES: Numeric, N: Size> ExpandTypeClone for StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> ExpandTypeClone for StridedTileExpand<ES, N>
Source§fn clone_unchecked(&self) -> Self
fn clone_unchecked(&self) -> Self
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<ES: Numeric, N: Size> IntoExpand for StridedTileExpand<ES, N>
impl<ES: Numeric, N: Size> IntoExpand for StridedTileExpand<ES, N>
type Expand = StridedTileExpand<ES, N>
fn into_expand(self, _: &Scope) -> Self
Auto Trait Implementations§
impl<ES, N> Freeze for StridedTileExpand<ES, N>
impl<ES, N> RefUnwindSafe for StridedTileExpand<ES, N>where
ES: RefUnwindSafe,
N: RefUnwindSafe,
impl<ES, N> Send for StridedTileExpand<ES, N>
impl<ES, N> Sync for StridedTileExpand<ES, N>
impl<ES, N> Unpin for StridedTileExpand<ES, N>
impl<ES, N> UnsafeUnpin for StridedTileExpand<ES, N>
impl<ES, N> UnwindSafe for StridedTileExpand<ES, N>where
ES: UnwindSafe,
N: UnwindSafe,
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> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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