def lsmb_fix

bendtorch@1.3.0.0 · main.bend:1502

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

1502# dy[j] = dy[j] - exp(y[j]) * s, j = idx..idx + k
1503def lsmb_fix(k: Nat, +idx: U32, +s: F32, rd: Array<F32> & F32, ry: Array<F32> & F32) -> A2:
1504  match k rd ry:
1505    case 0n Tuple{d, +g} Tuple{y, +v}:
1506      A2{Array.set(F32, d, idx, (g - (F32.exp(v) * s : F32) : F32)), y}
1507    case 1n+q Tuple{d, +g} Tuple{y, +v}:
1508      lsmb_fix(q, (idx + 1 : U32), s, Array.get(F32, Array.set(F32, d, idx, (g - (F32.exp(v) * s : F32) : F32)), (idx + 1 : U32)), Array.get(F32, y, (idx + 1 : U32)))

Uses (13)

Used by (1)