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 !RefUnwindSafe for TiledLayoutExpand
impl !UnwindSafe for TiledLayoutExpand
impl Freeze for TiledLayoutExpand
impl Send for TiledLayoutExpand
impl Sync for TiledLayoutExpand
impl Unpin for TiledLayoutExpand
impl UnsafeUnpin 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> 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
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