def pick_ref.rng.go
unified-nsga-iii@0.2.2.0 · survival.bend:513
import unified-nsga-iii@0.2.2.0/survival.bend as Survival
import Base
import unified-nsga-iii@0.2.2.0/rng.bend as Rng
import unified-nsga-iii@0.2.2.0/util.bend as Util
513
514
515def pick_ref.rng.go(+mins: List<&2, Nat>, n: Nat, +fallback: Nat, rng: Rng.State) -> Rng.State:
516 match n:
517 case 0n:
518 Rng.with_k(rng, fallback)
519 case 1n:
520 Rng.with_k(rng, min_idx_ne(mins))
521 case 1n+p:
522 +rng2 = Rng.next_nat(rng, 1n+p)
523 Rng.with_k(rng2, Util.get_nat(mins, Rng.last_nat(rng2)))