public class SynchronizedSummaryStatistics extends SummaryStatistics
SummaryStatistics
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.Constructor and Description |
---|
SynchronizedSummaryStatistics()
Construct a SynchronizedSummaryStatistics instance
|
SynchronizedSummaryStatistics(SynchronizedSummaryStatistics original)
A copy constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addValue(double value)
Add a value to the data
|
void |
clear()
Resets all statistics and storage
|
SynchronizedSummaryStatistics |
copy()
Returns a copy of this SynchronizedSummaryStatistics instance with the
same internal state.
|
static void |
copy(SynchronizedSummaryStatistics source,
SynchronizedSummaryStatistics dest)
Copies source to dest.
|
boolean |
equals(Object object)
Returns true iff
object is a SummaryStatistics instance and all statistics have the
same values as this. |
StorelessUnivariateStatistic |
getGeoMeanImpl()
Returns the currently configured geometric mean implementation
|
double |
getGeometricMean()
Returns the geometric mean of the values that have been added.
|
double |
getMax()
Returns the maximum of the values that have been added.
|
StorelessUnivariateStatistic |
getMaxImpl()
Returns the currently configured maximum implementation
|
double |
getMean()
Returns the mean of the values that have been added.
|
StorelessUnivariateStatistic |
getMeanImpl()
Returns the currently configured mean implementation
|
double |
getMin()
Returns the minimum of the values that have been added.
|
StorelessUnivariateStatistic |
getMinImpl()
Returns the currently configured minimum implementation
|
long |
getN()
Returns the number of available values
|
double |
getPopulationVariance()
Returns the
population variance of the values that have been added.
|
double |
getStandardDeviation()
Returns the standard deviation of the values that have been added.
|
double |
getSum()
Returns the sum of the values that have been added
|
StorelessUnivariateStatistic |
getSumImpl()
Returns the currently configured Sum implementation
|
StorelessUnivariateStatistic |
getSumLogImpl()
Returns the currently configured sum of logs implementation
|
StatisticalSummary |
getSummary()
Return a
StatisticalSummaryValues instance reporting current
statistics. |
double |
getSumsq()
Returns the sum of the squares of the values that have been added.
|
StorelessUnivariateStatistic |
getSumsqImpl()
Returns the currently configured sum of squares implementation
|
double |
getVariance()
Returns the (sample) variance of the available values.
|
StorelessUnivariateStatistic |
getVarianceImpl()
Returns the currently configured variance implementation
|
int |
hashCode()
Returns hash code based on values of statistics
|
void |
setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl)
Sets the implementation for the geometric mean.
|
void |
setMaxImpl(StorelessUnivariateStatistic maxImpl)
Sets the implementation for the maximum.
|
void |
setMeanImpl(StorelessUnivariateStatistic meanImpl)
Sets the implementation for the mean.
|
void |
setMinImpl(StorelessUnivariateStatistic minImpl)
Sets the implementation for the minimum.
|
void |
setSumImpl(StorelessUnivariateStatistic sumImpl)
Sets the implementation for the Sum.
|
void |
setSumLogImpl(StorelessUnivariateStatistic sumLogImpl)
Sets the implementation for the sum of logs.
|
void |
setSumsqImpl(StorelessUnivariateStatistic sumsqImpl)
Sets the implementation for the sum of squares.
|
void |
setVarianceImpl(StorelessUnivariateStatistic varianceImpl)
Sets the implementation for the variance.
|
String |
toString()
Generates a text report displaying summary statistics from values that
have been added.
|
copy, getSecondMoment, getSumOfLogs
public SynchronizedSummaryStatistics()
public SynchronizedSummaryStatistics(SynchronizedSummaryStatistics original)
original
.original
- the SynchronizedSummaryStatistics
instance to copyNullArgumentException
- if original is nullpublic StatisticalSummary getSummary()
StatisticalSummaryValues
instance reporting current
statistics.getSummary
in class SummaryStatistics
public void addValue(double value)
addValue
in class SummaryStatistics
value
- the value to addpublic long getN()
getN
in interface StatisticalSummary
getN
in class SummaryStatistics
public double getSum()
getSum
in interface StatisticalSummary
getSum
in class SummaryStatistics
Double.NaN
if no values have been addedpublic double getSumsq()
Double.NaN is returned if no values have been added.
getSumsq
in class SummaryStatistics
public double getMean()
Double.NaN is returned if no values have been added.
getMean
in interface StatisticalSummary
getMean
in class SummaryStatistics
public double getStandardDeviation()
Double.NaN is returned if no values have been added.
getStandardDeviation
in interface StatisticalSummary
getStandardDeviation
in class SummaryStatistics
public double getVariance()
This method returns the bias-corrected sample variance (using n - 1
in the denominator). Use
SummaryStatistics.getPopulationVariance()
for the non-bias-corrected population variance.
Double.NaN is returned if no values have been added.
getVariance
in interface StatisticalSummary
getVariance
in class SummaryStatistics
public double getPopulationVariance()
Double.NaN is returned if no values have been added.
getPopulationVariance
in class SummaryStatistics
public double getMax()
Double.NaN is returned if no values have been added.
getMax
in interface StatisticalSummary
getMax
in class SummaryStatistics
public double getMin()
Double.NaN is returned if no values have been added.
getMin
in interface StatisticalSummary
getMin
in class SummaryStatistics
public double getGeometricMean()
Double.NaN is returned if no values have been added.
getGeometricMean
in class SummaryStatistics
public String toString()
toString
in class SummaryStatistics
public void clear()
clear
in class SummaryStatistics
public boolean equals(Object object)
object
is a SummaryStatistics
instance and all statistics have the
same values as this.equals
in class SummaryStatistics
object
- the object to test equality against.public int hashCode()
hashCode
in class SummaryStatistics
public StorelessUnivariateStatistic getSumImpl()
getSumImpl
in class SummaryStatistics
public void setSumImpl(StorelessUnivariateStatistic sumImpl)
Sets the implementation for the Sum.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setSumImpl
in class SummaryStatistics
sumImpl
- the StorelessUnivariateStatistic instance to use for
computing the Sumpublic StorelessUnivariateStatistic getSumsqImpl()
getSumsqImpl
in class SummaryStatistics
public void setSumsqImpl(StorelessUnivariateStatistic sumsqImpl)
Sets the implementation for the sum of squares.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setSumsqImpl
in class SummaryStatistics
sumsqImpl
- the StorelessUnivariateStatistic instance to use for
computing the sum of squarespublic StorelessUnivariateStatistic getMinImpl()
getMinImpl
in class SummaryStatistics
public void setMinImpl(StorelessUnivariateStatistic minImpl)
Sets the implementation for the minimum.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setMinImpl
in class SummaryStatistics
minImpl
- the StorelessUnivariateStatistic instance to use for
computing the minimumpublic StorelessUnivariateStatistic getMaxImpl()
getMaxImpl
in class SummaryStatistics
public void setMaxImpl(StorelessUnivariateStatistic maxImpl)
Sets the implementation for the maximum.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setMaxImpl
in class SummaryStatistics
maxImpl
- the StorelessUnivariateStatistic instance to use for
computing the maximumpublic StorelessUnivariateStatistic getSumLogImpl()
getSumLogImpl
in class SummaryStatistics
public void setSumLogImpl(StorelessUnivariateStatistic sumLogImpl)
Sets the implementation for the sum of logs.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setSumLogImpl
in class SummaryStatistics
sumLogImpl
- the StorelessUnivariateStatistic instance to use for
computing the log sumpublic StorelessUnivariateStatistic getGeoMeanImpl()
getGeoMeanImpl
in class SummaryStatistics
public void setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl)
Sets the implementation for the geometric mean.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setGeoMeanImpl
in class SummaryStatistics
geoMeanImpl
- the StorelessUnivariateStatistic instance to use for
computing the geometric meanpublic StorelessUnivariateStatistic getMeanImpl()
getMeanImpl
in class SummaryStatistics
public void setMeanImpl(StorelessUnivariateStatistic meanImpl)
Sets the implementation for the mean.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setMeanImpl
in class SummaryStatistics
meanImpl
- the StorelessUnivariateStatistic instance to use for
computing the meanpublic StorelessUnivariateStatistic getVarianceImpl()
getVarianceImpl
in class SummaryStatistics
public void setVarianceImpl(StorelessUnivariateStatistic varianceImpl)
Sets the implementation for the variance.
This method must be activated before any data has been added - i.e., before addValue
has been used to add data; otherwise an IllegalStateException will be thrown.
setVarianceImpl
in class SummaryStatistics
varianceImpl
- the StorelessUnivariateStatistic instance to use for
computing the variancepublic SynchronizedSummaryStatistics copy()
copy
in class SummaryStatistics
public static void copy(SynchronizedSummaryStatistics source, SynchronizedSummaryStatistics dest)
Neither source nor dest can be null.
Acquires synchronization lock on source, then dest before copying.
source
- SynchronizedSummaryStatistics to copydest
- SynchronizedSummaryStatistics to copy toNullArgumentException
- if either source or dest is nullCopyright © 2021 CNES. All rights reserved.