NonDominatedSort.is_dominated: def of unified-nsga-iii@0.2.2.0 Import: import unified-nsga-iii@0.2.2.0/non_dominated_sort.bend as NonDominatedSort Lines 166-179 of unified-nsga-iii@0.2.2.0/non_dominated_sort.bend: https://jend.leeeet.dev/read.txt?path=unified-nsga-iii@0.2.2.0/non_dominated_sort.bend&start_line=166&end_line=179 import Base # Sequential OR so a first hit can skip the rest. Candidate-level # parallelism lives in split_walk (coarse mid-split). Walks `all` # rows directly — no List.get into the population. def is_dominated(+all: List<&2, Row>, +i: Nat, +fi: List<&2, F32>, +cvi: F32) -> Bool: match all: case Nil{}: False{} case +r <> rs: match r: case Row{+j, +fj, +cvj}: Bool.or( Bool.and(Bool.not(Nat.is_eq(i, j)), dominates_cd(fj, cvj, fi, cvi)), is_dominated(rs, i, fi, cvi) ) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/non_dominated_sort.bend&name=Row https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/non_dominated_sort.bend&name=dominates_cd