public class SynchronizedDescriptiveStatistics extends DescriptiveStatistics
DescriptiveStatistics that
is safe to use in a multithreaded environment. Multiple threads can safely
operate on a single instance without causing runtime exceptions due to race
conditions. In effect, this implementation makes modification and access
methods atomic operations for a single instance. That is to say, as one
thread is computing a statistic from the instance, no other thread can modify
the instance nor compute another statistic.INFINITE_WINDOW, windowSize| Constructor and Description |
|---|
SynchronizedDescriptiveStatistics()
Construct an instance with infinite window
|
SynchronizedDescriptiveStatistics(int window)
Construct an instance with finite window
|
SynchronizedDescriptiveStatistics(SynchronizedDescriptiveStatistics original)
A copy constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addValue(double v)
Adds the value to the dataset.
|
double |
apply(UnivariateStatistic stat)
Apply the given statistic to the data associated with this set of statistics.
|
void |
clear()
Resets all statistics and storage
|
SynchronizedDescriptiveStatistics |
copy()
Returns a copy of this SynchronizedDescriptiveStatistics instance with the
same internal state.
|
static void |
copy(SynchronizedDescriptiveStatistics source,
SynchronizedDescriptiveStatistics dest)
Copies source to dest.
|
double |
getElement(int index)
Returns the element at the specified index
|
long |
getN()
Returns the number of available values
|
double |
getQuadraticMean()
Returns the quadratic mean, a.k.a.
|
double |
getStandardDeviation()
Returns the standard deviation of the available values.
|
double[] |
getValues()
Returns the current set of values in an array of double primitives.
|
int |
getWindowSize()
Returns the maximum number of values that can be stored in the
dataset, or INFINITE_WINDOW (-1) if there is no limit.
|
void |
setWindowSize(int windowSize)
WindowSize controls the number of values that contribute to the
reported statistics.
|
String |
toString()
Generates a text report displaying univariate statistics from values
that have been added.
|
copy, getGeometricMean, getGeometricMeanImpl, getKurtosis, getKurtosisImpl, getMax, getMaxImpl, getMean, getMeanImpl, getMin, getMinImpl, getPercentile, getPercentileImpl, getPopulationVariance, getSkewness, getSkewnessImpl, getSortedValues, getSum, getSumImpl, getSumsq, getSumsqImpl, getVariance, getVarianceImpl, removeMostRecentValue, replaceMostRecentValue, setGeometricMeanImpl, setKurtosisImpl, setMaxImpl, setMeanImpl, setMinImpl, setPercentileImpl, setSkewnessImpl, setSumImpl, setSumsqImpl, setVarianceImplpublic SynchronizedDescriptiveStatistics()
public SynchronizedDescriptiveStatistics(int window)
throws MathIllegalArgumentException
window - the finite window size.MathIllegalArgumentException - if window size is less than 1 but
not equal to DescriptiveStatistics.INFINITE_WINDOWpublic SynchronizedDescriptiveStatistics(SynchronizedDescriptiveStatistics original) throws NullArgumentException
original.original - the SynchronizedDescriptiveStatistics instance to copyNullArgumentException - if original is nullpublic void addValue(double v)
addValue in class DescriptiveStatisticsv - the value to be addedpublic double apply(UnivariateStatistic stat)
apply in class DescriptiveStatisticsstat - the statistic to applypublic void clear()
clear in class DescriptiveStatisticspublic double getElement(int index)
getElement in class DescriptiveStatisticsindex - The Index of the elementpublic long getN()
getN in interface StatisticalSummarygetN in class DescriptiveStatisticspublic double getStandardDeviation()
getStandardDeviation in interface StatisticalSummarygetStandardDeviation in class DescriptiveStatisticspublic double getQuadraticMean()
getQuadraticMean in class DescriptiveStatisticsDouble.NaN if no values
have been added.public double[] getValues()
getValues in class DescriptiveStatisticspublic int getWindowSize()
getWindowSize in class DescriptiveStatisticspublic void setWindowSize(int windowSize)
throws MathIllegalArgumentException
windowSize is decreased as a result
of this call and there are more than the new value of elements in the
current dataset, values from the front of the array are discarded to
reduce the dataset to windowSize elements.setWindowSize in class DescriptiveStatisticswindowSize - sets the size of the window.MathIllegalArgumentException - if window size is less than 1 but
not equal to DescriptiveStatistics.INFINITE_WINDOWpublic String toString()
toString in class DescriptiveStatisticspublic SynchronizedDescriptiveStatistics copy()
copy in class DescriptiveStatisticspublic static void copy(SynchronizedDescriptiveStatistics source, SynchronizedDescriptiveStatistics dest) throws NullArgumentException
Neither source nor dest can be null.
Acquires synchronization lock on source, then dest before copying.
source - SynchronizedDescriptiveStatistics to copydest - SynchronizedDescriptiveStatistics to copy toNullArgumentException - if either source or dest is nullCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.