def MatT.Padded

bend-tensors@0.0.0.2 · bend_tensors.bend:1592

import bend-tensors@0.0.0.2/bend_tensors.bend as BendTensors
import Base

1592def MatT.Padded(+r: Nat, +c: Nat, m: MatT(r, c), +i0: Nat, +j0: Nat, +rows: Nat, +cols: Nat) -> Type:
1593  match r c:
1594    case 0n 0n:
1595      MatB{b} = m
1596      Blk.Padded(Nat.sub(rows, i0), Nat.sub(cols, j0), b)
1597    case 1n+p 0n:
1598      MatR{t, b} = m
1599      MatT.Padded(p, 0n, t, i0, j0, rows, cols) & MatT.Padded(p, 0n, b, Nat.add(i0, VecT.size(p)), j0, rows, cols)
1600    case 0n 1n+q:
1601      MatC{l, rt} = m
1602      MatT.Padded(0n, q, l, i0, j0, rows, cols) & MatT.Padded(0n, q, rt, i0, Nat.add(j0, VecT.size(q)), rows, cols)
1603    case 1n+p 1n+q:
1604      MatQ{a, b, c2, d} = m
1605      (MatT.Padded(p, q, a, i0, j0, rows, cols) & MatT.Padded(p, q, b, i0, Nat.add(j0, VecT.size(q)), rows, cols)) & (MatT.Padded(p, q, c2, Nat.add(i0, VecT.size(p)), j0, rows, cols) & MatT.Padded(p, q, d, Nat.add(i0, VecT.size(p)), Nat.add(j0, VecT.size(q)), rows, cols))

Uses (11)

Used by (1)