def resid_sq

unified-nsga-iii@0.2.2.0 · survival.bend:209

import unified-nsga-iii@0.2.2.0/survival.bend as Survival
import Base

209# Same F32 steps as `vec_sqnorm(vec_sub(f, vec_scale(t, w)))`: left-to-right
210# `r*r` with `r = f - t*w`, no scaled-vector and residual-vector spines.
211def resid_sq(+t: F32, f: List<&2, F32>, w: List<&2, F32>) -> F32:
212  match f w:
213    case Nil{} Nil{}:
214      0.0
215    case x <> xs y <> ys:
216      +r = F32.sub(x, F32.mul(t, y))
217      F32.add(F32.mul(r, r), resid_sq(t, xs, ys))
218    case Nil{} y <> ys:
219      0.0
220    case x <> xs Nil{}:
221      0.0

Uses (5)

Used by (1)