IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].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:

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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(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 (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values[SIMDLength((Int((add len(shape.element_types.values[0]._ParamListType if shape.element_types.values[0].is_tuple if (Int(len(shape.element_types.values)) == Int(1)) else (Int(len(shape.element_types.values)) == Int(1)) else shape.element_types.values), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].static_value)], PrevV))]()]: A Layout with row-major strides.

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 (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].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 implement CoordLike.

Args:

  • ​*elements (*element_types.values): The shape as a Coord.

Returns:

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 (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), [idx: __mlir_type.index] element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values[SIMDLength((Int((add len(element_types.values[0]._ParamListType if element_types.values[0].is_tuple if (Int(len(element_types.values)) == Int(1)) else (Int(len(element_types.values)) == Int(1)) else element_types.values), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].static_value)], PrevV))]()]: A Layout with row-major strides.

def row_major[*idxs: Int]() -> Layout[TypeList[#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(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[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].static_value)], PrevV))]()]

Creates a row-major layout from compile-time shape dimensions.

Parameters:

  • ​*idxs (Int): The shape dimensions as compile-time integers.

Returns:

Layout[TypeList[#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(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[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))]), base=, reducer=[PrevV: KGENParamList[CoordLike], VA: KGENParamList[CoordLike], idx: __mlir_type.index] #kgen.param_list.concat(ComptimeInt[Int(1)] if (Int(idx) == Int(0)) else Scalar[#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].DTYPE if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else PrevV[0].DTYPE] if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() if not #kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[SIMDLength((Int(idx) - Int(1)))].is_static_value.__bool__() else not PrevV[0].is_static_value.__bool__() else ComptimeInt[(#kgen.param_list.tabulate(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), [idx: __mlir_type.index] #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[SIMDLength((Int((add len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0]._ParamListType if #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])[0].is_tuple if (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else (Int(len(#kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]]))) == Int(1)) else #kgen.param_list.tabulate(len(idxs.values), [idx: __mlir_type.index] ComptimeInt[idxs.values[SIMDLength(Int(idx))]])), -1)) - Int(idx)))])[(add idx, -1)].static_value * PrevV[0].static_value)], PrevV))]()]: A Layout with row-major strides.

Was this page helpful?