def weighted_sums
import mlbend-report@0.1.0.0/main.bend as MlbendReportimport Base
211# The weighted sums: every per-class score multiplied by its support.
212def weighted_sums(classes: List<&2, Cls>, +p: F32, +r: F32, +f: F32) -> Tot:
213 match classes:
214 case Nil{}:
215 Tot{p, r, f, 0n}
216 case Con{c, t}:
217 match c:
218 case Cls{p2, r2, f2, s2}:
219 +w = F32.from_nat(s2)
220 weighted_sums(t, (p + p2 * w : F32), (r + r2 * w : F32), (f + f2 * w : F32))