def spans_or_one
import unified-nsga-iii@0.2.2.0/normalization.bend as Normalizationimport Base
470def spans_or_one(nadir: List<&2, F32>, ideal: List<&2, F32>) -> List<&2, F32>:
471 match nadir ideal:
472 case Nil{} ils:
473 Nil{}
474 case ns Nil{}:
475 Nil{}
476 case +n <> ns +i <> ils:
477 +span = F32.sub(n, i)
478 Bool.pick(F32, F32.is_le(span, 1.0e-12), 1.0, span) <> spans_or_one(ns, ils)