def u_next

unified-nsga-iii@0.2.2.0 · algorithm.bend:344

import unified-nsga-iii@0.2.2.0/algorithm.bend as Algorithm
import Base
import unified-nsga-iii@0.2.2.0/individual.bend as Ind
import unified-nsga-iii@0.2.2.0/rng.bend as Rng
import unified-nsga-iii@0.2.2.0/polynomial_mutation.bend as Poly
import unified-nsga-iii@0.2.2.0/problems.bend as Prob
import unified-nsga-iii@0.2.2.0/util.bend as Util

344def u_next(+parents: List<&2, Ind.Individual>, +prob: Prob.Problem, +mut_p: F32, +elim: Bool, hold: UHold) -> UHold:
345  match hold:
346    case UH{rng, acc, seen, need}:
347      +n = Util.list_len(Ind.Individual, parents)
348      +rng_i = Rng.next_nat(rng, n)
349      u_step(elim, acc, seen, need, Poly.mutate(Poly.default(), get_ind(parents, Rng.last_nat(rng_i)), Prob.box_of(prob), rng_i, mut_p))

Uses (14)

Used by (1)