Trait TilingOrder

Source
pub trait TilingOrder:
    'static
    + Send
    + Sync
    + Clone
    + Copy {
    // Required methods
    fn to_row_col<C: StageConfig>(
        nth: u32,
        tile_count_rows: u32,
        tile_count_cols: u32,
        ident: Ident,
        config: C,
    ) -> (u32, u32);
    fn to_nth_tile<C: StageConfig>(
        row: u32,
        col: u32,
        tile_count_rows: u32,
        tile_count_cols: u32,
        ident: Ident,
        config: C,
    ) -> u32;
    fn to_enum() -> TilingOrderEnum;
    fn __expand_to_row_col<C: StageConfig>(
        scope: &mut Scope,
        nth: <u32 as CubeType>::ExpandType,
        tile_count_rows: u32,
        tile_count_cols: u32,
        ident: Ident,
        config: C,
    ) -> <(u32, u32) as CubeType>::ExpandType;
    fn __expand_to_nth_tile<C: StageConfig>(
        scope: &mut Scope,
        row: <u32 as CubeType>::ExpandType,
        col: <u32 as CubeType>::ExpandType,
        tile_count_rows: u32,
        tile_count_cols: u32,
        ident: Ident,
        config: C,
    ) -> <u32 as CubeType>::ExpandType;
    fn __expand_to_enum(scope: &mut Scope) -> TilingOrderEnum;
}
Expand description

Determines the order in which tiles are stored in shared memory, if TilingLayout is contiguous

Required Methods§

Source

fn to_row_col<C: StageConfig>( nth: u32, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> (u32, u32)

Returns the coordinates (row, col) of the tile

Source

fn to_nth_tile<C: StageConfig>( row: u32, col: u32, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> u32

Given the coordinates (row, col) of the tile, returns its index in shared memory

Source

fn to_enum() -> TilingOrderEnum

Return the trait value as enum

Source

fn __expand_to_row_col<C: StageConfig>( scope: &mut Scope, nth: <u32 as CubeType>::ExpandType, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> <(u32, u32) as CubeType>::ExpandType

Source

fn __expand_to_nth_tile<C: StageConfig>( scope: &mut Scope, row: <u32 as CubeType>::ExpandType, col: <u32 as CubeType>::ExpandType, tile_count_rows: u32, tile_count_cols: u32, ident: Ident, config: C, ) -> <u32 as CubeType>::ExpandType

Source

fn __expand_to_enum(scope: &mut Scope) -> TilingOrderEnum

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§