def dtlz2_fi

unified-nsga-iii@0.2.2.0 · problems.bend:309

import unified-nsga-iii@0.2.2.0/problems.bend as Problems
import 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  )

Uses (10)

Used by (1)