Class Statistics
- java.lang.Object
-
- org.apache.commons.statistics.descriptive.Statistics
-
final class Statistics extends java.lang.Object
Utility methods for statistics.- Since:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.util.function.DoubleConsumer
DOUBLE_NOOP
A no-operation double consumer.private static java.lang.String
INCOMPATIBLE_STATISTICS
Error message for an incompatible statistics.(package private) static java.util.function.IntConsumer
INT_NOOP
A no-operation int consumer.(package private) static java.util.function.LongConsumer
LONG_NOOP
A no-operation long consumer.
-
Constructor Summary
Constructors Modifier Constructor Description private
Statistics()
No instances.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static <T extends java.util.function.DoubleConsumer>
Tadd(T statistic, double[] values)
Add all thevalues
to thestatistic
.(package private) static <T extends java.util.function.DoubleConsumer>
Tadd(T statistic, int[] values)
Add all thevalues
to thestatistic
.(package private) static <T extends java.util.function.DoubleConsumer>
Tadd(T statistic, long[] values)
Add all thevalues
to thestatistic
.(package private) static void
checkCombineAssignable(FirstMoment a, FirstMoment b)
Check left-hand side argumenta
isnull
or else the right-hand side argumentb
must be run-time assignable to the same class asa
so the statistics can be combined.(package private) static <T extends StatisticResult & StatisticAccumulator<T>>
voidcheckCombineCompatible(T a, T b)
Check left-hand side argumenta
isnull
or else the right-hand side argumentb
must also be non-null
so the statistics can be combined.(package private) static <T extends StatisticResult & StatisticAccumulator<T>>
voidcombine(T a, T b)
If the left-hand side argumenta
is non-null
, combine it with the right-hand side argumentb
.(package private) static void
combineMoment(FirstMoment a, FirstMoment b)
If the left-hand side argumenta
is non-null
, combine it with the right-hand side argumentb
.(package private) static java.util.function.DoubleConsumer
compose(java.util.function.DoubleConsumer... consumers)
Chain theconsumers
into a single composite consumer.(package private) static java.util.function.IntConsumer
compose(java.util.function.IntConsumer... consumers)
Chain theconsumers
into a single composite consumer.(package private) static java.util.function.LongConsumer
compose(java.util.function.LongConsumer... consumers)
Chain theconsumers
into a single composite consumer.(package private) static StatisticResult
getResultAsBigIntegerOrNull(StatisticResult s)
Gets the statistic result using theBigInteger
value.(package private) static StatisticResult
getResultAsDoubleOrNull(StatisticResult s)
Gets the statistic result using thedouble
value.(package private) static StatisticResult
getResultAsIntOrNull(StatisticResult s)
Gets the statistic result using theint
value.(package private) static StatisticResult
getResultAsLongOrNull(StatisticResult s)
Gets the statistic result using thelong
value.(package private) static boolean
zeroVariance(double m1, double m2)
Returnstrue
if the second central momentm2
is effectively zero given the magnitude of the first raw momentm1
.
-
-
-
Field Detail
-
DOUBLE_NOOP
static final java.util.function.DoubleConsumer DOUBLE_NOOP
A no-operation double consumer. This is exposed for testing.
-
INT_NOOP
static final java.util.function.IntConsumer INT_NOOP
A no-operation int consumer. This is exposed for testing.
-
LONG_NOOP
static final java.util.function.LongConsumer LONG_NOOP
A no-operation long consumer. This is exposed for testing.
-
INCOMPATIBLE_STATISTICS
private static final java.lang.String INCOMPATIBLE_STATISTICS
Error message for an incompatible statistics.- See Also:
- Constant Field Values
-
-
Method Detail
-
add
static <T extends java.util.function.DoubleConsumer> T add(T statistic, double[] values)
Add all thevalues
to thestatistic
.- Type Parameters:
T
- Type of the statistic- Parameters:
statistic
- Statistic.values
- Values.- Returns:
- the statistic
-
add
static <T extends java.util.function.DoubleConsumer> T add(T statistic, int[] values)
Add all thevalues
to thestatistic
.- Type Parameters:
T
- Type of the statistic- Parameters:
statistic
- Statistic.values
- Values.- Returns:
- the statistic
-
add
static <T extends java.util.function.DoubleConsumer> T add(T statistic, long[] values)
Add all thevalues
to thestatistic
.- Type Parameters:
T
- Type of the statistic- Parameters:
statistic
- Statistic.values
- Values.- Returns:
- the statistic
-
add
static <T extends java.util.function.IntConsumer> T add(T statistic, int[] values)
Add all thevalues
to thestatistic
.- Type Parameters:
T
- Type of the statistic- Parameters:
statistic
- Statistic.values
- Values.- Returns:
- the statistic
-
add
static <T extends java.util.function.LongConsumer> T add(T statistic, long[] values)
Add all thevalues
to thestatistic
.- Type Parameters:
T
- Type of the statistic- Parameters:
statistic
- Statistic.values
- Values.- Returns:
- the statistic
-
zeroVariance
static boolean zeroVariance(double m1, double m2)
Returnstrue
if the second central momentm2
is effectively zero given the magnitude of the first raw momentm1
.This method shares the logic for detecting a zero variance among implementations that divide by the variance (e.g. skewness, kurtosis).
- Parameters:
m1
- First raw moment (mean).m2
- Second central moment (biased variance).- Returns:
- true if the variance is zero
-
compose
static java.util.function.DoubleConsumer compose(java.util.function.DoubleConsumer... consumers)
Chain theconsumers
into a single composite consumer. Ignore anynull
consumer. Returnsnull
if all arguments arenull
.- Parameters:
consumers
- Consumers.- Returns:
- a composed consumer (or null)
-
compose
static java.util.function.IntConsumer compose(java.util.function.IntConsumer... consumers)
Chain theconsumers
into a single composite consumer. Ignore anynull
consumer. Returnsnull
if all arguments arenull
.- Parameters:
consumers
- Consumers.- Returns:
- a composed consumer (or null)
-
compose
static java.util.function.LongConsumer compose(java.util.function.LongConsumer... consumers)
Chain theconsumers
into a single composite consumer. Ignore anynull
consumer. Returnsnull
if all arguments arenull
.- Parameters:
consumers
- Consumers.- Returns:
- a composed consumer (or null)
-
getResultAsIntOrNull
static StatisticResult getResultAsIntOrNull(StatisticResult s)
Gets the statistic result using theint
value. Returnnull
is the statistic isnull
.- Parameters:
s
- Statistic.- Returns:
- the result or null
-
getResultAsLongOrNull
static StatisticResult getResultAsLongOrNull(StatisticResult s)
Gets the statistic result using thelong
value. Returnnull
is the statistic isnull
.- Parameters:
s
- Statistic.- Returns:
- the result or null
-
getResultAsDoubleOrNull
static StatisticResult getResultAsDoubleOrNull(StatisticResult s)
Gets the statistic result using thedouble
value. Returnnull
is the statistic isnull
.- Parameters:
s
- Statistic.- Returns:
- the result or null
-
getResultAsBigIntegerOrNull
static StatisticResult getResultAsBigIntegerOrNull(StatisticResult s)
Gets the statistic result using theBigInteger
value. Returnnull
is the statistic isnull
.- Parameters:
s
- Statistic.- Returns:
- the result or null
-
checkCombineCompatible
static <T extends StatisticResult & StatisticAccumulator<T>> void checkCombineCompatible(T a, T b)
Check left-hand side argumenta
isnull
or else the right-hand side argumentb
must also be non-null
so the statistics can be combined.- Type Parameters:
T
-StatisticResult
being accumulated.- Parameters:
a
- LHS.b
- RHS.- Throws:
java.lang.IllegalArgumentException
- if the objects cannot be combined
-
checkCombineAssignable
static void checkCombineAssignable(FirstMoment a, FirstMoment b)
Check left-hand side argumenta
isnull
or else the right-hand side argumentb
must be run-time assignable to the same class asa
so the statistics can be combined.- Parameters:
a
- LHS.b
- RHS.- Throws:
java.lang.IllegalArgumentException
- if the objects cannot be combined
-
combine
static <T extends StatisticResult & StatisticAccumulator<T>> void combine(T a, T b)
If the left-hand side argumenta
is non-null
, combine it with the right-hand side argumentb
.- Type Parameters:
T
-StatisticResult
being accumulated.- Parameters:
a
- LHS.b
- RHS.
-
combineMoment
static void combineMoment(FirstMoment a, FirstMoment b)
If the left-hand side argumenta
is non-null
, combine it with the right-hand side argumentb
. Assumes that the RHS is run-time assignable to the same class as LHS.- Parameters:
a
- LHS.b
- RHS.- See Also:
checkCombineAssignable(FirstMoment, FirstMoment)
-
-