def dtlz7_g
import unified-nsga-iii@0.2.2.0/problems.bend as Problemsimport Base
import unified-nsga-iii@0.2.2.0/util.bend as Util
413# C# Dtlz7Problem g: 1 + 9 * sum(x[M-1..]) / (n - M + 1).
414def dtlz7_g(+x: List<&2, F32>, m: Nat) -> F32:
415 +tail = tail_from_m(x, m)
416 +den = pos_or(F32.from_nat(Util.list_len(F32, tail)), 1.0)
417 F32.add(1.0, F32.div(F32.mul(9.0, sum_from(tail)), den))