def dotr
bend-ml-tensor-array@0.1.19.0 · main.bend:30
import bend-ml-tensor-array@0.1.19.0/main.bend as BendMlTensorArray
import Base
30
31
32
33
34
35def dotr(k: Nat, +ia: U32, +ib: U32, +sa: U32, +sb: U32, a0: F32, a1: F32, a2: F32, a3: F32, ra: Array<F32> & F32, rb: Array<F32> & F32) -> R:
36 match k ra rb:
37 case 0n Tuple{a, x} Tuple{b, y}:
38 R{a, b, ((a0 + a1 : F32) + (a2 + a3 : F32) : F32)}
39 case 1n+p Tuple{a, +x} Tuple{b, +y}:
40 dotr(p, (ia + sa : U32), (ib + sb : U32), sa, sb, a1, a2, a3, (a0 + (x * y : F32) : F32), Array.get(F32, a, (ia + sa : U32)), Array.get(F32, b, (ib + sb : U32)))