def pmul_copy
bendtorch@1.3.0.0 · main.bend:2511
import bendtorch@1.3.0.0/main.bend as Bendtorch
import Base
2511def pmul_copy(left: Nat, +idx: U32, +c: U32, +ow: U32, +oc: U32, o: Array<F32>, r: Array<F32> & F32) -> A2:
2512 match left r:
2513 case 0n Tuple{s, +x}:
2514 A2{s, Array.set(F32, o, ((U32.div(idx, c) * ow : U32) + (oc + U32.mod(idx, c) : U32) : U32), x)}
2515 case 1n+n Tuple{s, +x}:
2516 pmul_copy(n, (idx + 1 : U32), c, ow, oc, Array.set(F32, o, ((U32.div(idx, c) * ow : U32) + (oc + U32.mod(idx, c) : U32) : U32), x), Array.get(F32, s, (idx + 1 : U32)))