## org.apache.mahout.cf.taste.impl.common
Interface RunningAverage

All Known Subinterfaces:
  RunningAverageAndStdDev

All Known Implementing Classes:
  FixedRunningAverage, FixedRunningAverageAndStdDev, FullRunningAverage, FullRunningAverageAndStdDev, InvertedRunningAverage, InvertedRunningAverageAndStdDev, WeightedRunningAverage, WeightedRunningAverageAndStdDev

    public interface RunningAverage

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.

Method Summary
`void` `addDatum(double datum)`
`void` `changeDatum(double delta)`
`double` `getAverage()`
`int` `getCount()`
`RunningAverage` `inverse()`
`void` `removeDatum(double datum)`

Method Detail

### addDatum

    void addDatum(double datum)

  Parameters:
    `datum` - new item to add to the running average
  Throws:
    `IllegalArgumentException` - if datum is `Double.NaN`

### removeDatum

    void removeDatum(double datum)

  Parameters:
    `datum` - item to remove to the running average
  Throws:
    `IllegalArgumentException` - if datum is `Double.NaN`
    `IllegalStateException` - if count is 0

### changeDatum

    void changeDatum(double delta)

  Parameters:
    `delta` - amount by which to change a datum in the running average
  Throws:
    `IllegalArgumentException` - if delta is `Double.NaN`
    `IllegalStateException` - if count is 0

### getCount

    int getCount()

### getAverage

    double getAverage()

### inverse

    RunningAverage inverse()

  Returns:
    a (possibly immutable) object whose average is the negative of this object's

Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.