BendTensors.MatT.matmul: def of bend-tensors@0.0.0.2 Import: import bend-tensors@0.0.0.2/bend_tensors.bend as BendTensors Lines 888-895 of bend-tensors@0.0.0.2/bend_tensors.bend: https://jend.leeeet.dev/read.txt?path=bend-tensors@0.0.0.2/bend_tensors.bend&start_line=888&end_line=895 import Base # a * b: MatT(r, k) times MatT(k, c) is MatT(r, c). For two square # operands of one depth, MatT.matmul.sq is the same recursion with one # depth riding instead of three, and 3x faster per node; a runtime # dispatch to it is not possible without a cast, and any def that returns # or rebuilds a MatT parameter makes the compiler reference-count every # MatT node in the program (see AGENTS.md), so the choice is the caller's. def MatT.matmul(+r: Nat, +k: Nat, +c: Nat, +a: MatT(r, k), +b: MatT(k, c)) -> MatT(r, c): MatT.matmul.any(r, k, c, a, b) Uses (3): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=bend-tensors@0.0.0.2/bend_tensors.bend&name=MatT https://jend.leeeet.dev/definition.txt?path=bend-tensors@0.0.0.2/bend_tensors.bend&name=MatT.matmul.any