def pick_among.nrows

unified-nsga-iii@0.2.2.0 · survival.bend:638

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

638def pick_among.nrows(+rows: List<&2, NRow>, n: Nat, +fallback: Nat, rng: Rng.State) -> Rng.State:
639  match n:
640    case 0n:
641      Rng.with_k(rng, fallback)
642    case 1n:
643      Rng.with_k(rng, first_row_i(rows))
644    case 1n+p:
645      +rng2 = Rng.next_nat(rng, 1n+p)
646      Rng.with_k(rng2, nrow_i(get_nrow(rows, Rng.last_nat(rng2))))

Uses (10)

Used by (1)