new item to add to the running average
if datum is { @link Double#NaN}
amount by which to change a datum in the running average
if delta is { @link Double#NaN}
IllegalStateExceptionif count is 0
a (possibly immutable) object whose average is the negative of this object's
item to remove to the running average
if datum is { @link Double#NaN}
IllegalStateExceptionif count is 0
Interface for classes that can keep track of a running average of a series of numbers. One can add to or remove from the series, as well as update a datum in the series. The class does not actually keep track of the series of values, just its running average, so it doesn't even matter if you remove/change a value that wasn't added.
Ported from org.apache.mahout.cf.taste.impl.common.RunningAverage.java