def pexp

bendtorch@1.3.0.0 · main.bend:1340

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

1340# a[j] = exp(a[j] - m) for j = idx..idx + k, their sum added to acc in order
1341def pexp(k: Nat, +idx: U32, +m: F32, acc: F32, r: Array<F32> & F32) -> AS:
1342  match k r:
1343    case 0n Tuple{a, +x}:
1344      +e = F32.exp((x - m : F32))
1345      AS{Array.set(F32, a, idx, e), (acc + e : F32)}
1346    case 1n+q Tuple{a, +x}:
1347      +e = F32.exp((x - m : F32))
1348      pexp(q, (idx + 1 : U32), m, (acc + e : F32), Array.get(F32, Array.set(F32, a, idx, e), (idx + 1 : U32)))

Uses (13)

Used by (3)