pub struct TiledLayoutExpand { /* private fields */ }Trait Implementations§
Source§impl AsMutExpand for TiledLayoutExpand
impl AsMutExpand for TiledLayoutExpand
fn __expand_ref_mut_method(&mut self, _: &Scope) -> &mut Self
fn __expand_as_mut_method(&mut self, scope: &Scope) -> &mut T
Source§impl AsRefExpand for TiledLayoutExpand
impl AsRefExpand for TiledLayoutExpand
fn __expand_ref_method(&self, _: &Scope) -> &Self
fn __expand_as_ref_method(&self, scope: &Scope) -> &T
Source§impl CubeDebug for TiledLayoutExpand
impl CubeDebug for TiledLayoutExpand
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 ExpandTypeClone for TiledLayoutExpand
impl ExpandTypeClone for TiledLayoutExpand
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 IntoExpand for TiledLayoutExpand
impl IntoExpand for TiledLayoutExpand
type Expand = TiledLayoutExpand
fn into_expand(self, _: &Scope) -> Self
Source§impl IntoMut for TiledLayoutExpand
impl IntoMut for TiledLayoutExpand
Source§impl LayoutExpand for TiledLayoutExpand
impl LayoutExpand for TiledLayoutExpand
Source§fn __expand_to_source_pos_method(
&self,
scope: &Scope,
pos: <Self::Coordinates as CubeType>::ExpandType,
) -> <Self::SourceCoordinates as CubeType>::ExpandType
fn __expand_to_source_pos_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <Self::SourceCoordinates as CubeType>::ExpandType
Logical coords to physical tile coords, laid out
[pre, grid…, level1…, …, levelL…, post]. Each tiled axis is decomposed
mixed-radix: the finest level (last block) is the least significant digit.
Source§fn __expand_shape_method(
&self,
scope: &Scope,
) -> <Self::Coordinates as CubeType>::ExpandType
fn __expand_shape_method( &self, scope: &Scope, ) -> <Self::Coordinates as CubeType>::ExpandType
Logical shape: each tiled axis collapses its levels + 1 factors back to
their product.
Source§type Coordinates = Sequence<u32>
type Coordinates = Sequence<u32>
The coordinate type used by the conceptual tensor represented by this layout, i.e.
(u32, u32, u32) for a fixed-rank 3D tensor.
This does not have to match the rank of the underlying storage (if applicable).
It’s only how the tensor is interpreted (viewed) by the code.Source§type SourceCoordinates = Sequence<u32>
type SourceCoordinates = Sequence<u32>
The coordinate type used by the inner storage wrapped in this layout, i.e.
u32 for
Array, or (u32, u32) for a 2D view.fn __expand_to_source_pos_checked_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> (<Self::SourceCoordinates as CubeType>::ExpandType, <bool as CubeType>::ExpandType)
fn __expand_is_in_bounds_method( &self, scope: &Scope, pos: <Self::Coordinates as CubeType>::ExpandType, ) -> <bool as CubeType>::ExpandType
Auto Trait Implementations§
impl Freeze for TiledLayoutExpand
impl RefUnwindSafe for TiledLayoutExpand
impl Send for TiledLayoutExpand
impl Sync for TiledLayoutExpand
impl Unpin for TiledLayoutExpand
impl UnsafeUnpin for TiledLayoutExpand
impl UnwindSafe for TiledLayoutExpand
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> 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