def dtlz2_fi
import unified-nsga-iii@0.2.2.0/problems.bend as Problemsimport Base
309# C# Dtlz2Problem: (1+g) * prod_{j<M-i-1} cos(x[j] π/2) [* sin(x[M-i-1] π/2) if i>0].
310def dtlz2_fi(+x: List<&2, F32>, +m: Nat, +g: F32, +i: Nat) -> F32:
311 dtlz2_fi.tail(
312 x,
313 m,
314 g,
315 i,
316 F32.mul(F32.add(1.0, g), prod_cos(x, pred(Nat.sub(m, i)))),
317 Nat.is_eq(i, 0n)
318 )