package org.ggp.base.apps.research; /** * WeightedAverage is a convenience class for tracking a weighted average. * * @author Sam Schreiber */ public final class WeightedAverage implements Comparable<WeightedAverage> { private double totalValue = 0, totalWeight = 0; public void addValue(double value) { addValue(value, 1.0); } public void addValue(double value, double weight) { totalValue += value; totalWeight += weight; } public double getValue() { return totalValue / totalWeight; } public double getWeight() { return totalWeight; } @Override public String toString() { return "" + ((int)(getValue() * 1000.0)/1000.0) + " [" + getWeight() + "]"; } @Override public int compareTo(WeightedAverage arg0) { return (int)Math.signum(getValue() - arg0.getValue()); } }