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))