def gfix

bendtorch@1.3.0.0 · main.bend:2596

import bendtorch@1.3.0.0/main.bend as Bendtorch
import Base

2596# g[j] = (p[j] * (g[j] - s)) * sc for j = idx..idx + k; rg and rp hold g[idx] and p[idx]
2597def gfix(k: Nat, +idx: U32, +s: F32, +sc: F32, rg: Array<F32> & F32, rp: Array<F32> & F32) -> A2:
2598  match k rg rp:
2599    case 0n Tuple{g, +d} Tuple{p, +y}:
2600      A2{p, Array.set(F32, g, idx, ((y * (d - s : F32) : F32) * sc : F32))}
2601    case 1n+q Tuple{g, +d} Tuple{p, +y}:
2602      gfix(q, (idx + 1 : U32), s, sc, Array.get(F32, Array.set(F32, g, idx, ((y * (d - s : F32) : F32) * sc : F32)), (idx + 1 : U32)), Array.get(F32, p, (idx + 1 : U32)))

Uses (12)

Used by (1)