def cell_dot
bendtorch-core@0.1.0.0 · src/tensor/matmul.bend:264
import bendtorch-core@0.1.0.0/src/tensor/matmul.bend as Matmul
import Base
264
265
266
267
268def cell_dot(fuel: Nat, +inner: Nat, +columns: Nat, +row: Nat, +column: Nat, +cursor: Nat, accumulator: F32,
269 la: Array<F32>, ra: Array<F32>) -> F32 & (Array<F32> & Array<F32>):
270 match fuel:
271 case 0n:
272 (accumulator, (la, ra))
273 case 1n+rest:
274 product_run(rest, 1n, columns, Nat.add(Nat.mul(row, inner), cursor), Nat.add(Nat.mul(cursor, columns), column), accumulator,
275 Array.get(F32, la, left_index(inner, row, cursor)), Array.get(F32, ra, right_index(columns, column, cursor)))