def bmv
bend-ml-tensor-array@0.1.19.0 · main.bend:1686
import bend-ml-tensor-array@0.1.19.0/main.bend as BendMlTensorArray
import Base
1686
1687
1688
1689
1690def bmv(+c: Nat, -r: Nat, b: Bands<r, c>, +rr: Nat, -e: {rr == r : Nat}, xp: Array<F32> & Array<F32>) -> BL<r, c>:
1691 match b xp:
1692 case BLeaf{m} Tuple{x, x2}:
1693 bv_mat(r, c, rr, x, m)
1694 case BNode{bx, by} Tuple{x1, x2}:
1695 p q = bmv(c, half(r), bx, half(rr), eq_half(rr, r, e), Array.clone(F32, x1)) bmv(c, Nat.sub(r, half(r)), by, Nat.sub(rr, half(rr)), eq_rest(rr, r, e), Array.clone(F32, x2))
1696 bv_join(r, c, p, q)