def csq
import bendtorch@1.3.0.0/main.bend as Bendtorchimport Base
1694# acc + (a[j] - mu)·(a[j] - mu) for j = idx..idx + k, in order
1695def csq(k: Nat, +idx: U32, +mu: F32, acc: F32, r: Array<F32> & F32) -> AS:
1696 match k r:
1697 case 0n Tuple{a, +x}:
1698 AS{a, (acc + ((x - mu : F32) * (x - mu : F32) : F32) : F32)}
1699 case 1n+q Tuple{a, +x}:
1700 csq(q, (idx + 1 : U32), mu, (acc + ((x - mu : F32) * (x - mu : F32) : F32) : F32), Array.get(F32, a, (idx + 1 : U32)))