For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).
Mojo function
row_major
def row_major(var shape: Coord) -> Layout[shape.element_types, TypeList[#kgen.param_list.reduce(#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if identical(idx, 0) else Scalar[#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)])[(add idx, -1)].DTYPE if (xor #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)])[(add idx, -1)].is_static_value, True) else PrevV[0].DTYPE] if (xor #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)])[(add idx, -1)].is_static_value, True) if (xor #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)])[(add idx, -1)].is_static_value, True) else (xor PrevV[0].is_static_value, True) else ComptimeInt[Int((mul PrevV[0].static_value, #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), [idx: __mlir_type.index] shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values[(add (mul idx, -1), len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if identical(len(shape.element_types.values), 1) else identical(len(shape.element_types.values), 1) else shape.element_types.values), -1)])[(add idx, -1)].static_value))], PrevV))]()]
Creates a row-major layout from a shape Coord.
Row-major means the rightmost dimension has stride 1, and each preceding dimension has stride equal to the product of all following dimensions.
For shape (M, N, K):
- row_major strides: (N*K, K, 1)
- col_major strides: (1, M, M*N)
Args:
- βshape (
Coord): The shape as a Coord.
Returns:
def row_major[*element_types: CoordLike](var *elements: *element_types.values) -> Layout[element_types, TypeList[#kgen.param_list.reduce(#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if identical(idx, 0) else Scalar[#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)])[(add idx, -1)].DTYPE if (xor #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)])[(add idx, -1)].is_static_value, True) else PrevV[0].DTYPE] if (xor #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)])[(add idx, -1)].is_static_value, True) if (xor #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)])[(add idx, -1)].is_static_value, True) else (xor PrevV[0].is_static_value, True) else ComptimeInt[Int((mul PrevV[0].static_value, #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values[(add (mul idx, -1), len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if identical(len(element_types.values), 1) else identical(len(element_types.values), 1) else element_types.values), -1)])[(add idx, -1)].static_value))], PrevV))]()]
Creates a row-major layout from a shape Coord.
Row-major means the rightmost dimension has stride 1, and each preceding dimension has stride equal to the product of all following dimensions.
Parameters:
- β*element_types (
CoordLike): The variadic pack of element types that implementCoordLike.
Args:
- β*elements (
*element_types.values): The shape as a Coord.
Returns:
def row_major[*idxs: Int]() -> Layout[TypeList[#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])](), TypeList[#kgen.param_list.reduce(#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if identical(idx, 0) else Scalar[#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)])[(add idx, -1)].DTYPE if (xor #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)])[(add idx, -1)].is_static_value, True) else PrevV[0].DTYPE] if (xor #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)])[(add idx, -1)].is_static_value, True) if (xor #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)])[(add idx, -1)].is_static_value, True) else (xor PrevV[0].is_static_value, True) else ComptimeInt[Int((mul PrevV[0].static_value, #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[(add (mul idx, -1), len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])[0].is_tuple if identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else identical(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), 1) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[idx]])), -1)])[(add idx, -1)].static_value))], PrevV))]()]
Creates a row-major layout from compile-time shape dimensions.
Parameters:
- β*idxs (
Int): The shape dimensions as compile-time integers.
Returns: