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.eDA, 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 |
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 which contribute
to the reported statistics.
|
java.lang.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, getSkewness, getSkewnessImpl, getSortedValues, getSum, getSumImpl, getSumsq, getSumsqImpl, getVariance, getVarianceImpl, removeMostRecentValue, replaceMostRecentValue, setGeometricMeanImpl, setKurtosisImpl, setMaxImpl, setMeanImpl, setMinImpl, setPercentileImpl, setSkewnessImpl, setSumImpl, setSumsqImpl, setVarianceImpl
public SynchronizedDescriptiveStatistics()
public SynchronizedDescriptiveStatistics(int window)
window
- the finite window size.public SynchronizedDescriptiveStatistics(SynchronizedDescriptiveStatistics original)
original
.original
- the SynchronizedDescriptiveStatistics
instance to copypublic void addValue(double v)
addValue
in class DescriptiveStatistics
v
- the value to be addedpublic double apply(UnivariateStatistic stat)
apply
in class DescriptiveStatistics
stat
- the statistic to applypublic void clear()
clear
in class DescriptiveStatistics
public double getElement(int index)
getElement
in class DescriptiveStatistics
index
- The Index of the elementpublic long getN()
getN
in interface StatisticalSummary
getN
in class DescriptiveStatistics
public double getStandardDeviation()
getStandardDeviation
in interface StatisticalSummary
getStandardDeviation
in class DescriptiveStatistics
public double[] getValues()
getValues
in class DescriptiveStatistics
public int getWindowSize()
getWindowSize
in class DescriptiveStatistics
public void setWindowSize(int windowSize)
setWindowSize
in class DescriptiveStatistics
windowSize
- sets the size of the window.public java.lang.String toString()
toString
in class DescriptiveStatistics
public SynchronizedDescriptiveStatistics copy()
copy
in class DescriptiveStatistics
public static void copy(SynchronizedDescriptiveStatistics source, SynchronizedDescriptiveStatistics dest)
Neither source nor dest can be null.
Acquires synchronization lock on source, then dest before copying.
source
- SynchronizedDescriptiveStatistics to copydest
- SynchronizedDescriptiveStatistics to copy tojava.lang.NullPointerException
- if either source or dest is null