def MatT.to_rows
bend-tensors@0.0.0.2 · bend_tensors.bend:1138
import bend-tensors@0.0.0.2/bend_tensors.bend as BendTensors
import Base
1138
1139def MatT.to_rows(+r: Nat, +c: Nat, m: MatT(r, c)) -> List<&2, List<&2, F32>>:
1140 match r c:
1141 case 0n 0n:
1142 MatB{b} = m
1143 Blk{a00, a01, a02, a03, a10, a11, a12, a13, a20, a21, a22, a23, a30, a31, a32, a33} = b
1144 [[a00, a01, a02, a03], [a10, a11, a12, a13], [a20, a21, a22, a23], [a30, a31, a32, a33]]
1145 case 1n+p 0n:
1146 MatR{t, b} = m
1147 List.append(&2, List<&2, F32>, MatT.to_rows(p, 0n, t), MatT.to_rows(p, 0n, b))
1148 case 0n 1n+q:
1149 MatC{l, r2} = m
1150 MatT.rows_cat(MatT.to_rows(0n, q, l), MatT.to_rows(0n, q, r2))
1151 case 1n+p 1n+q:
1152 MatQ{a, b, c2, d} = m
1153 List.append(&2, List<&2, F32>, MatT.rows_cat(MatT.to_rows(p, q, a), MatT.to_rows(p, q, b)), MatT.rows_cat(MatT.to_rows(p, q, c2), MatT.to_rows(p, q, d)))