From ff940e98ea86685eb2033c79fb948ab2c25f632a Mon Sep 17 00:00:00 2001 From: Holger Franken Date: Wed, 18 Aug 2010 13:40:27 +0000 Subject: [PATCH] Bugfix in AbstractEAIndividual (dominance crit.) --- src/eva2/server/go/individuals/AbstractEAIndividual.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/eva2/server/go/individuals/AbstractEAIndividual.java b/src/eva2/server/go/individuals/AbstractEAIndividual.java index 45a6f50c..33441f9c 100644 --- a/src/eva2/server/go/individuals/AbstractEAIndividual.java +++ b/src/eva2/server/go/individuals/AbstractEAIndividual.java @@ -613,7 +613,7 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. boolean result = true; int i=0; while (result && (i < fit1.length) && (i < fit2.length)) { - if (firstIsFiniteAndLargerOrEqual(fit1[i], fit2[i])) result = false; + if (firstIsFiniteAndLargerNonEqual(fit1[i], fit2[i])) result = false; i++; } return result; @@ -624,6 +624,11 @@ public abstract class AbstractEAIndividual implements IndividualInterface, java. else return (a >= b); } + private static boolean firstIsFiniteAndLargerNonEqual(double a, double b) { + if (Double.isNaN(a) || Double.isInfinite(a)) return false; + else return (a > b); + } + /** * Returns true if the first fitness vector truly dominates the second one in every component. *