Class Statistics

java.lang.Object
org.apache.commons.statistics.descriptive.Statistics

final class Statistics extends Object
Utility methods for statistics.
Since:
1.1
  • Field Details

    • DOUBLE_NOOP

      static final DoubleConsumer DOUBLE_NOOP
      A no-operation double consumer. This is exposed for testing.
    • INT_NOOP

      static final IntConsumer INT_NOOP
      A no-operation int consumer. This is exposed for testing.
    • LONG_NOOP

      static final LongConsumer LONG_NOOP
      A no-operation long consumer. This is exposed for testing.
    • INCOMPATIBLE_STATISTICS

      private static final String INCOMPATIBLE_STATISTICS
      Error message for an incompatible statistics.
      See Also:
  • Constructor Details

    • Statistics

      private Statistics()
      No instances.
  • Method Details

    • add

      static <T extends DoubleConsumer> T add(T statistic, double[] values)
      Add all the values to the statistic.
      Type Parameters:
      T - Type of the statistic
      Parameters:
      statistic - Statistic.
      values - Values.
      Returns:
      the statistic
    • add

      static <T extends DoubleConsumer> T add(T statistic, int[] values)
      Add all the values to the statistic.
      Type Parameters:
      T - Type of the statistic
      Parameters:
      statistic - Statistic.
      values - Values.
      Returns:
      the statistic
    • add

      static <T extends DoubleConsumer> T add(T statistic, long[] values)
      Add all the values to the statistic.
      Type Parameters:
      T - Type of the statistic
      Parameters:
      statistic - Statistic.
      values - Values.
      Returns:
      the statistic
    • add

      static <T extends IntConsumer> T add(T statistic, int[] values)
      Add all the values to the statistic.
      Type Parameters:
      T - Type of the statistic
      Parameters:
      statistic - Statistic.
      values - Values.
      Returns:
      the statistic
    • add

      static <T extends LongConsumer> T add(T statistic, long[] values)
      Add all the values to the statistic.
      Type Parameters:
      T - Type of the statistic
      Parameters:
      statistic - Statistic.
      values - Values.
      Returns:
      the statistic
    • zeroVariance

      static boolean zeroVariance(double m1, double m2)
      Returns true if the second central moment m2 is effectively zero given the magnitude of the first raw moment m1.

      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 DoubleConsumer compose(DoubleConsumer... consumers)
      Chain the consumers into a single composite consumer. Ignore any null consumer. Returns null if all arguments are null.
      Parameters:
      consumers - Consumers.
      Returns:
      a composed consumer (or null)
    • compose

      static IntConsumer compose(IntConsumer... consumers)
      Chain the consumers into a single composite consumer. Ignore any null consumer. Returns null if all arguments are null.
      Parameters:
      consumers - Consumers.
      Returns:
      a composed consumer (or null)
    • compose

      static LongConsumer compose(LongConsumer... consumers)
      Chain the consumers into a single composite consumer. Ignore any null consumer. Returns null if all arguments are null.
      Parameters:
      consumers - Consumers.
      Returns:
      a composed consumer (or null)
    • getResultAsIntOrNull

      static StatisticResult getResultAsIntOrNull(StatisticResult s)
      Gets the statistic result using the int value. Return null is the statistic is null.
      Parameters:
      s - Statistic.
      Returns:
      the result or null
    • getResultAsLongOrNull

      static StatisticResult getResultAsLongOrNull(StatisticResult s)
      Gets the statistic result using the long value. Return null is the statistic is null.
      Parameters:
      s - Statistic.
      Returns:
      the result or null
    • getResultAsDoubleOrNull

      static StatisticResult getResultAsDoubleOrNull(StatisticResult s)
      Gets the statistic result using the double value. Return null is the statistic is null.
      Parameters:
      s - Statistic.
      Returns:
      the result or null
    • getResultAsBigIntegerOrNull

      static StatisticResult getResultAsBigIntegerOrNull(StatisticResult s)
      Gets the statistic result using the BigInteger value. Return null is the statistic is null.
      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 argument a is null or else the right-hand side argument b must also be non-null so the statistics can be combined.
      Type Parameters:
      T - StatisticResult being accumulated.
      Parameters:
      a - LHS.
      b - RHS.
      Throws:
      IllegalArgumentException - if the objects cannot be combined
    • checkCombineAssignable

      static void checkCombineAssignable(FirstMoment a, FirstMoment b)
      Check left-hand side argument a is null or else the right-hand side argument b must be run-time assignable to the same class as a so the statistics can be combined.
      Parameters:
      a - LHS.
      b - RHS.
      Throws:
      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 argument a is non-null, combine it with the right-hand side argument b.
      Type Parameters:
      T - StatisticResult being accumulated.
      Parameters:
      a - LHS.
      b - RHS.
    • combineMoment

      static void combineMoment(FirstMoment a, FirstMoment b)
      If the left-hand side argument a is non-null, combine it with the right-hand side argument b. Assumes that the RHS is run-time assignable to the same class as LHS.
      Parameters:
      a - LHS.
      b - RHS.
      See Also: