Tournament.stamp_asgs.go: def of unified-nsga-iii@0.2.2.0 Import: import unified-nsga-iii@0.2.2.0/tournament.bend as Tournament Lines 208-231 of unified-nsga-iii@0.2.2.0/tournament.bend: https://jend.leeeet.dev/read.txt?path=unified-nsga-iii@0.2.2.0/tournament.bend&start_line=208&end_line=231 import Base import unified-nsga-iii@0.2.2.0/individual.bend as Ind import unified-nsga-iii@0.2.2.0/survival.bend as Surv import unified-nsga-iii@0.2.2.0/util.bend as Util # Zip pop with assignments. Mid-split both lists at the same mid. def stamp_asgs.go(+fuel: Nat, pop: List<&2, Ind.Individual>, +asgs: List<&2, Surv.Assignment>) -> List<&2, Ind.Individual>: match fuel pop: case 0n Nil{}: Nil{} case 0n +ind <> rest: match asgs: case Nil{}: {ind <> rest : List<&2, Ind.Individual>} case +a <> as: stamp_asgs.one(a, ind) <> stamp_asgs.go(0n, rest, as) case 1n+p Nil{}: Nil{} case 1n+p +ind <> Nil{}: match asgs: case Nil{}: ind <> Nil{} case +a <> as: stamp_asgs.one(a, ind) <> Nil{} case 1n+p h <> t: +all = {h <> t : List<&2, Ind.Individual>} +mid = Nat.div(Util.list_len(Ind.Individual, all), 2n) lo hi = stamp_asgs.go(p, List.take(&2, Ind.Individual, all, mid), List.take(&2, Surv.Assignment, asgs, mid)) stamp_asgs.go(p, List.drop(&2, Ind.Individual, all, mid), List.drop(&2, Surv.Assignment, asgs, mid)) List.append(&2, Ind.Individual, lo, hi) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.drop https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.take https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.div https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/individual.bend&name=Individual https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/survival.bend&name=Assignment https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/tournament.bend&name=stamp_asgs.one https://jend.leeeet.dev/definition.txt?path=unified-nsga-iii@0.2.2.0/util.bend&name=list_len