def weighted_sums

mlbend-report@0.1.0.0 · main.bend:211

import mlbend-report@0.1.0.0/main.bend as MlbendReport
import 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))

Uses (7)

Used by (1)