def by_niche.eq
unified-nsga-iii@0.2.2.0 · tournament.bend:99
import unified-nsga-iii@0.2.2.0/tournament.bend as Tournament
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
99
100
101def by_niche.eq(+a: Ind.Individual, +b: Ind.Individual, rng: Rng.State, same: Bool) -> Rng.State & Ind.Individual:
102 match same:
103 case True{}:
104 by_dist(a, b, rng)
105 case False{}:
106 cmp_pick(a, b, rng, Nat.is_lt(Ind.niche(a), Ind.niche(b)), Nat.is_lt(Ind.niche(b), Ind.niche(a)))