Class MovingAverage

java.lang.Object
io.permazen.util.MovingAverage

public class MovingAverage extends Object
Exponential moving average calculator.
See Also:
  • Constructor Details

    • MovingAverage

      public MovingAverage(double alpha)
      Constructor.
      Parameters:
      alpha - averaging parameter
      Throws:
      IllegalArgumentException - if alpha is not a finite number in the range 0.0 to 1.0 (inclusive)
    • MovingAverage

      public MovingAverage(double alpha, double initialValue)
      Constructor with initial value.
      Parameters:
      alpha - averaging parameter
      initialValue - initial value
      Throws:
      IllegalArgumentException - if alpha is not a finite number in the range 0.0 to 1.0 (inclusive)
      IllegalArgumentException - if initialValue is not a finite number
  • Method Details

    • get

      public double get()
      Get the current average.
      Returns:
      current average, or Double.NaN if no values have been added yet.
    • add

      public void add(double value)
      Add a value to the moving average.
      Parameters:
      value - value to add
      Throws:
      IllegalArgumentException - if value is not a finite number