pub trait TilingLayout:
'static
+ Send
+ Sync
+ Clone
+ Copy
+ TilingValidation {
// Required methods
fn get_tile<ES: Numeric, NS: Size>(
stage: &StridedStageMemory<ES, NS, Self>,
tile: Coords2d,
config: StageMemoryConfig,
) -> StridedTile<ES, NS>;
fn to_enum() -> TilingLayoutEnum;
fn __expand_get_tile<ES: Numeric, NS: Size>(
scope: &Scope,
stage: &<StridedStageMemory<ES, NS, Self> as CubeType>::ExpandType,
tile: <Coords2d as CubeType>::ExpandType,
config: StageMemoryConfig,
) -> <StridedTile<ES, NS> as CubeType>::ExpandType;
fn __expand_to_enum(scope: &Scope) -> TilingLayoutEnum;
}Expand description
Describes how tiles are arranged in shared memory.
Required Methods§
Sourcefn get_tile<ES: Numeric, NS: Size>(
stage: &StridedStageMemory<ES, NS, Self>,
tile: Coords2d,
config: StageMemoryConfig,
) -> StridedTile<ES, NS>
fn get_tile<ES: Numeric, NS: Size>( stage: &StridedStageMemory<ES, NS, Self>, tile: Coords2d, config: StageMemoryConfig, ) -> StridedTile<ES, NS>
Returns the tile at shared memory coordinates
Sourcefn to_enum() -> TilingLayoutEnum
fn to_enum() -> TilingLayoutEnum
Return the trait value as enum
fn __expand_get_tile<ES: Numeric, NS: Size>( scope: &Scope, stage: &<StridedStageMemory<ES, NS, Self> as CubeType>::ExpandType, tile: <Coords2d as CubeType>::ExpandType, config: StageMemoryConfig, ) -> <StridedTile<ES, NS> as CubeType>::ExpandType
fn __expand_to_enum(scope: &Scope) -> TilingLayoutEnum
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".