This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-statistics.git
The following commit(s) were added to refs/heads/master by this push: new dc7495e STATISTICS-82: Javadoc the maximum supported count. dc7495e is described below commit dc7495e0bd2486fff022a44ebe1ddecdd69d8884 Author: Alex Herbert <aherb...@apache.org> AuthorDate: Thu Dec 28 09:02:18 2023 +0000 STATISTICS-82: Javadoc the maximum supported count. --- .../org/apache/commons/statistics/descriptive/DoubleStatistics.java | 3 +++ .../java/org/apache/commons/statistics/descriptive/FirstMoment.java | 3 +++ .../org/apache/commons/statistics/descriptive/GeometricMean.java | 3 +++ .../main/java/org/apache/commons/statistics/descriptive/IntMean.java | 5 +++-- .../apache/commons/statistics/descriptive/IntStandardDeviation.java | 4 ++-- .../main/java/org/apache/commons/statistics/descriptive/IntSum.java | 4 ++-- .../org/apache/commons/statistics/descriptive/IntSumOfSquares.java | 4 ++-- .../java/org/apache/commons/statistics/descriptive/IntVariance.java | 4 ++-- .../java/org/apache/commons/statistics/descriptive/Kurtosis.java | 3 +++ .../java/org/apache/commons/statistics/descriptive/LongMean.java | 5 +++-- .../apache/commons/statistics/descriptive/LongStandardDeviation.java | 4 ++-- .../main/java/org/apache/commons/statistics/descriptive/LongSum.java | 4 ++-- .../org/apache/commons/statistics/descriptive/LongSumOfSquares.java | 4 ++-- .../java/org/apache/commons/statistics/descriptive/LongVariance.java | 4 ++-- .../main/java/org/apache/commons/statistics/descriptive/Mean.java | 3 +++ .../java/org/apache/commons/statistics/descriptive/Skewness.java | 3 +++ .../org/apache/commons/statistics/descriptive/StandardDeviation.java | 3 +++ .../apache/commons/statistics/descriptive/SumOfCubedDeviations.java | 3 +++ .../apache/commons/statistics/descriptive/SumOfFourthDeviations.java | 3 +++ .../commons/statistics/descriptive/SumOfSquaredDeviations.java | 3 +++ .../java/org/apache/commons/statistics/descriptive/Variance.java | 3 +++ 21 files changed, 55 insertions(+), 20 deletions(-) diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatistics.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatistics.java index 299f52a..d77bc64 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatistics.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatistics.java @@ -28,6 +28,9 @@ import java.util.function.Function; * <p>This class provides combinations of individual statistic implementations in the * {@code org.apache.commons.statistics.descriptive} package. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * @since 1.1 */ public final class DoubleStatistics implements DoubleConsumer { diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/FirstMoment.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/FirstMoment.java index 5fe08f5..50ad24a 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/FirstMoment.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/FirstMoment.java @@ -35,6 +35,9 @@ import java.util.function.DoubleConsumer; * {@code NaN} may also be returned if the input includes {@code NaN} and / or infinite * values of opposite sign. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p><strong>Note that this implementation is not synchronized.</strong> If * multiple threads access an instance of this class concurrently, and at least * one of the threads invokes the {@link java.util.function.DoubleConsumer#accept(double) accept} or diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/GeometricMean.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/GeometricMean.java index 64f0647..e5342a4 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/GeometricMean.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/GeometricMean.java @@ -38,6 +38,9 @@ package org.apache.commons.statistics.descriptive; * and at least one value is zero, and one value is {@code +infinity}. * </ul> * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. * diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntMean.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntMean.java index 9bd384d..3c77d13 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntMean.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntMean.java @@ -28,8 +28,9 @@ package org.apache.commons.statistics.descriptive; * <li>The result is {@code NaN} if no values are added. * </ul> * - * <p>This class uses an exact integer sum to compute the mean. It supports up to 2<sup>63</sup> - * values as the count \( n \) is maintained as a {@code long}. + * <p>This class uses an exact integer sum to compute the mean. + * Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntStandardDeviation.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntStandardDeviation.java index 9460df5..eb1fc23 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntStandardDeviation.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntStandardDeviation.java @@ -42,8 +42,8 @@ package org.apache.commons.statistics.descriptive; * * <p>\[ \frac {n \times \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}{n \times (n - 1)} \] * - * <p>It supports up to 2<sup>63</sup> values as the count \( n \) is maintained - * as a {@code long}. + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSum.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSum.java index d1f4775..6b3b5d4 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSum.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSum.java @@ -25,8 +25,7 @@ import java.math.BigInteger; * <li>The result is zero if no values are added. * </ul> * - * <p>This class uses an exact integer sum. It supports up to 2<sup>63</sup> - * values as the count \( n \) is maintained as a {@code long}. The exact sum is + * <p>This class uses an exact integer sum. The exact sum is * returned using {@link #getAsBigInteger()}. Methods that return {@code int} or * {@code long} primitives will raise an exception if the result overflows. * The {@code long} value is safe up to the maximum array length for any input @@ -34,6 +33,7 @@ import java.math.BigInteger; * * <p>Note that the implementation does not use {@code BigInteger} arithmetic; for * performance the sum is computed using primitives to create a signed 128-bit integer. + * Support is provided for at least 2<sup>63</sup> observations. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSumOfSquares.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSumOfSquares.java index fde3728..31dd481 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSumOfSquares.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntSumOfSquares.java @@ -30,12 +30,12 @@ import java.math.BigInteger; * </ul> * * <p>The implementation uses an exact integer sum to compute the sum of squared values. - * It supports up to 2<sup>63</sup> values. The exact sum is - * returned using {@link #getAsBigInteger()}. Methods that return {@code int} or + * The exact sum is returned using {@link #getAsBigInteger()}. Methods that return {@code int} or * {@code long} primitives will raise an exception if the result overflows. * * <p>Note that the implementation does not use {@code BigInteger} arithmetic; for * performance the sum is computed using primitives to create an unsigned 128-bit integer. + * Support is provided for at least 2<sup>63</sup> observations. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntVariance.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntVariance.java index 05875f5..86a8358 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntVariance.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/IntVariance.java @@ -41,8 +41,8 @@ import java.math.BigInteger; * * <p>\[ \frac {n \times \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}{n \times (n - 1)} \] * - * <p>It supports up to 2<sup>63</sup> values as the count \( n \) is maintained - * as a {@code long}. + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Kurtosis.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Kurtosis.java index 6057a5a..d1156bb 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Kurtosis.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Kurtosis.java @@ -68,6 +68,9 @@ package org.apache.commons.statistics.descriptive; * {@link #of(double...) of} with the full array of values. The former approach * should only be used when the full array of values is not available. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. * diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongMean.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongMean.java index 37b2095..c1f9f3f 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongMean.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongMean.java @@ -28,8 +28,9 @@ package org.apache.commons.statistics.descriptive; * <li>The result is {@code NaN} if no values are added. * </ul> * - * <p>This class uses an exact integer sum to compute the mean. It supports up to 2<sup>63</sup> - * values as the count \( n \) is maintained as a {@code long}. + * <p>This class uses an exact integer sum to compute the mean. + * Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongStandardDeviation.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongStandardDeviation.java index 9231b1b..1b3fd4f 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongStandardDeviation.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongStandardDeviation.java @@ -42,8 +42,8 @@ package org.apache.commons.statistics.descriptive; * * <p>\[ \frac {n \times \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}{n \times (n - 1)} \] * - * <p>It supports up to 2<sup>63</sup> values as the count \( n \) is maintained - * as a {@code long}. + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSum.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSum.java index aacf80b..0c2779d 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSum.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSum.java @@ -25,13 +25,13 @@ import java.math.BigInteger; * <li>The result is zero if no values are added. * </ul> * - * <p>This class uses an exact integer sum. It supports up to 2<sup>63</sup> - * values as the count \( n \) is maintained as a {@code long}. The exact sum is + * <p>This class uses an exact integer sum. The exact sum is * returned using {@link #getAsBigInteger()}. Methods that return {@code int} or * {@code long} primitives will raise an exception if the result overflows. * * <p>Note that the implementation does not use {@code BigInteger} arithmetic; for * performance the sum is computed using primitives to create a signed 128-bit integer. + * Support is provided for at least 2<sup>63</sup> observations. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSumOfSquares.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSumOfSquares.java index bc3f5f8..74ea71b 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSumOfSquares.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongSumOfSquares.java @@ -30,12 +30,12 @@ import java.math.BigInteger; * </ul> * * <p>The implementation uses an exact integer sum to compute the sum of squared values. - * It supports up to 2<sup>63</sup> values. The exact sum is - * returned using {@link #getAsBigInteger()}. Methods that return {@code int} or + * The exact sum is returned using {@link #getAsBigInteger()}. Methods that return {@code int} or * {@code long} primitives will raise an exception if the result overflows. * * <p>Note that the implementation does not use {@code BigInteger} arithmetic; for * performance the sum is computed using primitives to create an unsigned 192-bit integer. + * Support is provided for at least 2<sup>63</sup> observations. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongVariance.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongVariance.java index a078da4..1ef7e18 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongVariance.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/LongVariance.java @@ -41,8 +41,8 @@ import java.math.BigInteger; * * <p>\[ \frac {n \times \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}{n \times (n - 1)} \] * - * <p>It supports up to 2<sup>63</sup> values as the count \( n \) is maintained - * as a {@code long}. + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Mean.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Mean.java index 1f0e1b6..147d631 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Mean.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Mean.java @@ -44,6 +44,9 @@ package org.apache.commons.statistics.descriptive; * the recursive updating algorithm mentioned above, and then correcting this by adding the * mean deviation of the data values from the one-pass mean (see Ling (1974)). * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. * diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Skewness.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Skewness.java index 383dfe4..4e40002 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Skewness.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Skewness.java @@ -70,6 +70,9 @@ package org.apache.commons.statistics.descriptive; * {@link #of(double...) of} with the full array of values. The former approach * should only be used when the full array of values is not available. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. * diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/StandardDeviation.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/StandardDeviation.java index d293bae..4629487 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/StandardDeviation.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/StandardDeviation.java @@ -51,6 +51,9 @@ package org.apache.commons.statistics.descriptive; * {@link #of(double...) of} with the full array of values. The former approach * should only be used when the full array of values is not available. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. * diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviations.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviations.java index fc1b69f..591030d 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviations.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviations.java @@ -41,6 +41,9 @@ package org.apache.commons.statistics.descriptive; * This updating formula is identical to that used in * {@code org.apache.commons.math3.stat.descriptive.moment.ThirdMoment}. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p><strong>Note that this implementation is not synchronized.</strong> If * multiple threads access an instance of this class concurrently, and at least * one of the threads invokes the {@link java.util.function.DoubleConsumer#accept(double) accept} or diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviations.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviations.java index 23f118c..b634e90 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviations.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviations.java @@ -45,6 +45,9 @@ package org.apache.commons.statistics.descriptive; * {@code org.apache.commons.math3.stat.descriptive.moment.FourthMoment}. The final term * uses a rearrangement \( (1 - N + N^2) = (N+1)^2 - 3N \). * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p><strong>Note that this implementation is not synchronized.</strong> If * multiple threads access an instance of this class concurrently, and at least * one of the threads invokes the {@link java.util.function.DoubleConsumer#accept(double) accept} or diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquaredDeviations.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquaredDeviations.java index d3dcc32..0047b90 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquaredDeviations.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquaredDeviations.java @@ -30,6 +30,9 @@ package org.apache.commons.statistics.descriptive; * <p>new value = old value + dev^2 * (n - 1) / n * <p>returns the sum of squared deviations of all values seen so far. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p><strong>Note that this implementation is not synchronized.</strong> If * multiple threads access an instance of this class concurrently, and at least * one of the threads invokes the {@link java.util.function.DoubleConsumer#accept(double) accept} or diff --git a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Variance.java b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Variance.java index b875a55..75be1c9 100644 --- a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Variance.java +++ b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Variance.java @@ -48,6 +48,9 @@ package org.apache.commons.statistics.descriptive; * {@link #of(double...) of} with the full array of values. The former approach * should only be used when the full array of values is not available. * + * <p>Supports up to 2<sup>63</sup> (exclusive) observations. + * This implementation does not check for overflow of the count. + * * <p>This class is designed to work with (though does not require) * {@linkplain java.util.stream streams}. *