public interface StorelessUnivariateStatistic extends UnivariateStatistic, DoubleConsumer
UnivariateStatistic with
 increment(double) and incrementAll(double[]) methods for adding
 values and updating internal state.
 This interface is designed to be used for calculating statistics that can be computed in one pass through the data without storing the full array of sample values.
 Note: unless otherwise stated, the UnivariateStatistic.evaluate(double[]) and
 evaluate(double[], int, int) methods do NOT alter the internal
 state of the respective statistic.
| Modifier and Type | Method and Description | 
|---|---|
| default void | accept(double value) | 
| void | clear()Clears the internal state of the Statistic | 
| StorelessUnivariateStatistic | copy()Returns a copy of the statistic with the same internal state. | 
| default double | evaluate(double[] values,
        int begin,
        int length)Returns the result of evaluating the statistic over the specified entries
 in the input array. | 
| long | getN()Returns the number of values that have been added. | 
| double | getResult()Returns the current value of the Statistic. | 
| void | increment(double d)Updates the internal state of the statistic to reflect the addition of the new value. | 
| default void | incrementAll(double[] values)Updates the internal state of the statistic to reflect addition of
 all values in the values array. | 
| default void | incrementAll(double[] values,
            int start,
            int length)Updates the internal state of the statistic to reflect addition of
 the values in the designated portion of the values array. | 
evaluateandThendefault double evaluate(double[] values,
                        int begin,
                        int length)
                 throws MathIllegalArgumentException
 The default implementation creates a copy of this StorelessUnivariateStatistic
 instance, calls clear() on it, then calls incrementAll(double[]) with the specified
 portion of the input array, and then uses getResult() to compute the return value.
 
Note that this implementation does not change the internal state of the statistic.
Implementations may override this method with a more efficient and possibly more accurate implementation that works directly with the input array.
evaluate in interface MathArrays.Functionevaluate in interface UnivariateStatisticvalues - the input arraybegin - the index of the first element to includelength - the number of elements to includeMathIllegalArgumentException - if the array is null or the indices are not validUnivariateStatistic.evaluate(double[], int, int)void increment(double d)
d - the new value.default void accept(double value)
accept in interface DoubleConsumerdefault void incrementAll(double[] values)
                   throws MathIllegalArgumentException
 The default implementation delegates to
 incrementAll(double[], int, int) in the natural way.
values - array holding the new values to addMathIllegalArgumentException - if the array is nulldefault void incrementAll(double[] values,
                          int start,
                          int length)
                   throws MathIllegalArgumentException
 The default implementation just calls increment(double) in a loop over
 the specified portion of the input array.
values - array holding the new values to addstart - the array index of the first value to addlength - the number of elements to addMathIllegalArgumentException - if the array is null or the indexdouble getResult()
Double.NaN if it
 has been cleared or just instantiated.long getN()
void clear()
StorelessUnivariateStatistic copy()
copy in interface UnivariateStatisticCopyright © 2016–2020 Hipparchus.org. All rights reserved.