Skip to main content

TilingLayout

Trait TilingLayout 

Source
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§

Source

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

Source

fn to_enum() -> TilingLayoutEnum

Return the trait value as enum

Source

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

Source

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".

Implementors§