diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java b/src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java index 4ea76002..027a302d 100644 --- a/src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java +++ b/src/de/lmu/ifi/dbs/elki/math/MeanVarianceMinMax.java @@ -1,12 +1,10 @@ package de.lmu.ifi.dbs.elki.math; -import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException; - /* This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -24,6 +22,9 @@ import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException; You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +import de.lmu.ifi.dbs.elki.utilities.exceptions.AbortException; + /** * Class collecting mean, variance, minimum and maximum statistics. * @@ -61,25 +62,32 @@ public class MeanVarianceMinMax extends MeanVariance { @Override public void put(double val) { super.put(val); - min = Math.min(min, val); - max = Math.max(max, val); + if (val < min) { + min = val; + } + if (val > max) { + max = val; + } } @Override public void put(double val, double weight) { super.put(val, weight); - min = Math.min(min, val); - max = Math.max(max, val); + if (val < min) { + min = val; + } + if (val > max) { + max = val; + } } @Override public void put(Mean other) { - if(other instanceof MeanVarianceMinMax) { + if (other instanceof MeanVarianceMinMax) { super.put(other); min = Math.min(min, ((MeanVarianceMinMax) other).min); max = Math.max(max, ((MeanVarianceMinMax) other).max); - } - else { + } else { throw new AbortException("Cannot aggregate into a minmax statistic: " + other.getClass()); } } @@ -101,14 +109,14 @@ public class MeanVarianceMinMax extends MeanVariance { public double getMax() { return this.max; } - + /** * Get the current minimum and maximum. * * @return current minimum and maximum */ - public DoubleMinMax getDoubleMinMax(){ - return new DoubleMinMax(this.min,this.max); + public DoubleMinMax getDoubleMinMax() { + return new DoubleMinMax(this.min, this.max); } /** @@ -119,7 +127,7 @@ public class MeanVarianceMinMax extends MeanVariance { public double getDiff() { return this.getMax() - this.getMin(); } - + /** * Create and initialize a new array of MeanVarianceMinMax * @@ -128,7 +136,7 @@ public class MeanVarianceMinMax extends MeanVariance { */ public static MeanVarianceMinMax[] newArray(int dimensionality) { MeanVarianceMinMax[] arr = new MeanVarianceMinMax[dimensionality]; - for(int i = 0; i < dimensionality; i++) { + for (int i = 0; i < dimensionality; i++) { arr[i] = new MeanVarianceMinMax(); } return arr; @@ -145,4 +153,4 @@ public class MeanVarianceMinMax extends MeanVariance { min = Double.POSITIVE_INFINITY; max = Double.NEGATIVE_INFINITY; } -}
\ No newline at end of file +} |