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§
Sourcefn to_row_col<C: StageConfig>(
nth: u32,
tile_count_rows: u32,
tile_count_cols: u32,
ident: Ident,
config: C,
) -> (u32, u32)
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
Sourcefn to_nth_tile<C: StageConfig>(
row: u32,
col: u32,
tile_count_rows: u32,
tile_count_cols: u32,
ident: Ident,
config: C,
) -> u32
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
Sourcefn to_enum() -> TilingOrderEnum
fn to_enum() -> TilingOrderEnum
Return the trait value as enum
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
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.