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

commit 8c2cf0b5fe56410d8c63abe2cdd780112c91d617
Author: Alex Herbert <aherb...@apache.org>
AuthorDate: Thu Dec 21 22:04:01 2023 +0000

    Drop DoubleStatisticAccumulator interface
    
    All StatisticResult implementations can use the StatisticAccumulator
    interface; the argument type for the statistic computation
    (int/long/double) is not relevant to the accumulator combine method.
---
 .../descriptive/DoubleStatisticAccumulator.java    | 35 -----------------
 .../statistics/descriptive/DoubleStatistics.java   |  2 +-
 .../statistics/descriptive/FirstMoment.java        |  4 +-
 .../statistics/descriptive/GeometricMean.java      |  6 +--
 .../commons/statistics/descriptive/Kurtosis.java   |  6 +--
 .../apache/commons/statistics/descriptive/Max.java |  6 +--
 .../commons/statistics/descriptive/Mean.java       |  6 +--
 .../apache/commons/statistics/descriptive/Min.java |  6 +--
 .../commons/statistics/descriptive/Product.java    |  6 +--
 .../commons/statistics/descriptive/Skewness.java   |  6 +--
 .../statistics/descriptive/StandardDeviation.java  |  6 +--
 .../apache/commons/statistics/descriptive/Sum.java |  6 +--
 .../descriptive/SumOfCubedDeviations.java          |  4 +-
 .../descriptive/SumOfFourthDeviations.java         |  4 +-
 .../commons/statistics/descriptive/SumOfLogs.java  |  6 +--
 .../descriptive/SumOfSquaredDeviations.java        |  4 +-
 .../statistics/descriptive/SumOfSquares.java       |  6 +--
 .../commons/statistics/descriptive/Variance.java   |  6 +--
 .../descriptive/BaseDoubleStatisticTest.java       | 44 +++++++++++-----------
 .../descriptive/DoubleStatisticsTest.java          |  8 ++--
 .../descriptive/SumOfCubedDeviationsWrapper.java   |  2 +-
 .../descriptive/SumOfFourthDeviationsWrapper.java  |  2 +-
 22 files changed, 73 insertions(+), 108 deletions(-)

diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatisticAccumulator.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatisticAccumulator.java
deleted file mode 100644
index d06207c..0000000
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/DoubleStatisticAccumulator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.statistics.descriptive;
-
-/**
- * A mutable result container that accumulates a {@link DoubleStatistic}.
- *
- * @param <T> {@link DoubleStatistic} being accumulated.
- *
- * @since 1.1
- */
-public interface DoubleStatisticAccumulator<T extends DoubleStatistic> {
-
-    /**
-     * Combines the state of the {@code other} statistic into this one.
-     *
-     * @param other Another statistic to be combined.
-     * @return {@code this} instance after combining {@code other}.
-     */
-    T combine(T other);
-}
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 7ae57c8..299f52a 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
@@ -681,7 +681,7 @@ public final class DoubleStatistics implements 
DoubleConsumer {
      * @param a LHS.
      * @param b RHS.
      */
-    private static <T extends DoubleStatistic & DoubleStatisticAccumulator<T>> 
void combine(T a, T b) {
+    private static <T extends DoubleStatistic & StatisticAccumulator<T>> void 
combine(T a, T b) {
         if (a != null) {
             a.combine(b);
         }
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 18d4ed2..5fe08f5 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
@@ -38,10 +38,10 @@ import java.util.function.DoubleConsumer;
  * <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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
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 f550f8f..64f0647 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
@@ -44,10 +44,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This instance is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -58,7 +58,7 @@ package org.apache.commons.statistics.descriptive;
  * @see SumOfLogs
  * @since 1.1
  */
-public final class GeometricMean implements DoubleStatistic, 
DoubleStatisticAccumulator<GeometricMean> {
+public final class GeometricMean implements DoubleStatistic, 
StatisticAccumulator<GeometricMean> {
     /** Count of values that have been added. */
     private long n;
 
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 e4c6547..6057a5a 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
@@ -74,10 +74,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>Note that this instance 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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -87,7 +87,7 @@ package org.apache.commons.statistics.descriptive;
  * @see <a href="https://en.wikipedia.org/wiki/Kurtosis";>Kurtosis 
(Wikipedia)</a>
  * @since 1.1
  */
-public final class Kurtosis implements DoubleStatistic, 
DoubleStatisticAccumulator<Kurtosis> {
+public final class Kurtosis implements DoubleStatistic, 
StatisticAccumulator<Kurtosis> {
     /** 2, the length limit where the biased skewness is undefined.
      * This limit effectively imposes the result m4 / m2^2 = 0 / 0 = NaN when 
1 value
      * has been added. However note that when more samples are added and the 
variance
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Max.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Max.java
index 16709da..5ac6ad8 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Max.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Max.java
@@ -32,10 +32,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This implementation is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
@@ -45,7 +45,7 @@ package org.apache.commons.statistics.descriptive;
  * @since 1.1
  * @see Math#max(double, double)
  */
-public final class Max implements DoubleStatistic, 
DoubleStatisticAccumulator<Max> {
+public final class Max implements DoubleStatistic, StatisticAccumulator<Max> {
 
     /** Current maximum. */
     private double maximum = Double.NEGATIVE_INFINITY;
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 f35c07c..1f0e1b6 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
@@ -50,10 +50,10 @@ package org.apache.commons.statistics.descriptive;
  * <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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
@@ -71,7 +71,7 @@ package org.apache.commons.statistics.descriptive;
  * @see <a href="https://en.wikipedia.org/wiki/Mean";>Mean (Wikipedia)</a>
  * @since 1.1
  */
-public final class Mean implements DoubleStatistic, 
DoubleStatisticAccumulator<Mean> {
+public final class Mean implements DoubleStatistic, StatisticAccumulator<Mean> 
{
 
     /**
      * First moment used to compute the mean.
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Min.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Min.java
index 19f301f..7601f6b 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Min.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Min.java
@@ -32,10 +32,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This implementation is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
@@ -45,7 +45,7 @@ package org.apache.commons.statistics.descriptive;
  * @since 1.1
  * @see Math#min(double, double)
  */
-public final class Min implements DoubleStatistic, 
DoubleStatisticAccumulator<Min> {
+public final class Min implements DoubleStatistic, StatisticAccumulator<Min> {
 
     /** Current minimum. */
     private double minimum = Double.POSITIVE_INFINITY;
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Product.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Product.java
index 86cfbff..3e656f7 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Product.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Product.java
@@ -30,10 +30,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This instance is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -42,7 +42,7 @@ package org.apache.commons.statistics.descriptive;
  *
  * @since 1.1
  */
-public final class Product implements DoubleStatistic, 
DoubleStatisticAccumulator<Product> {
+public final class Product implements DoubleStatistic, 
StatisticAccumulator<Product> {
 
     /** Product of all values. */
     private double productValue = 1;
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 f948159..383dfe4 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
@@ -76,10 +76,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>Note that this instance 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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -89,7 +89,7 @@ package org.apache.commons.statistics.descriptive;
  * @see <a href="https://en.wikipedia.org/wiki/Skewness";>Skewness 
(Wikipedia)</a>
  * @since 1.1
  */
-public final class Skewness implements DoubleStatistic, 
DoubleStatisticAccumulator<Skewness> {
+public final class Skewness implements DoubleStatistic, 
StatisticAccumulator<Skewness> {
     /** 2, the length limit where the biased skewness is undefined.
      * This limit effectively imposes the result m3 / m2^1.5 = 0 / 0 = NaN 
when 1 value
      * has been added. However note that when more samples are added and the 
variance
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 97f0b77..d293bae 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
@@ -57,10 +57,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>Note that this instance 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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -85,7 +85,7 @@ package org.apache.commons.statistics.descriptive;
  * @see Variance
  * @since 1.1
  */
-public final class StandardDeviation implements DoubleStatistic, 
DoubleStatisticAccumulator<StandardDeviation> {
+public final class StandardDeviation implements DoubleStatistic, 
StatisticAccumulator<StandardDeviation> {
 
     /**
      * An instance of {@link SumOfSquaredDeviations}, which is used to
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Sum.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Sum.java
index 08ef6c3..4230336 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Sum.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/Sum.java
@@ -30,10 +30,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This instance is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -43,7 +43,7 @@ package org.apache.commons.statistics.descriptive;
  * @since 1.1
  * @see org.apache.commons.numbers.core.Sum
  */
-public final class Sum implements DoubleStatistic, 
DoubleStatisticAccumulator<Sum> {
+public final class Sum implements DoubleStatistic, StatisticAccumulator<Sum> {
 
     /** {@link org.apache.commons.numbers.core.Sum Sum} used to compute the 
sum. */
     private final org.apache.commons.numbers.core.Sum delegate =
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 e58610f..bcc5565 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
@@ -44,10 +44,10 @@ package org.apache.commons.statistics.descriptive;
  * <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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
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 b0bc155..8f379c4 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
@@ -48,10 +48,10 @@ package org.apache.commons.statistics.descriptive;
  * <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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfLogs.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfLogs.java
index b524138..aaf9664 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfLogs.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfLogs.java
@@ -42,10 +42,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This instance is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -56,7 +56,7 @@ package org.apache.commons.statistics.descriptive;
  * @see Math#log(double)
  * @since 1.1
  */
-public final class SumOfLogs implements DoubleStatistic, 
DoubleStatisticAccumulator<SumOfLogs> {
+public final class SumOfLogs implements DoubleStatistic, 
StatisticAccumulator<SumOfLogs> {
 
     /** {@link org.apache.commons.numbers.core.Sum Sum} used to compute the 
sum. */
     private final org.apache.commons.numbers.core.Sum delegate =
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 ed0f979..1a3d7d7 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
@@ -33,10 +33,10 @@ package org.apache.commons.statistics.descriptive;
  * <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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel implementation of {@link 
java.util.stream.Stream#collect Stream.collect()}
diff --git 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquares.java
 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquares.java
index 8364a94..9be57d0 100644
--- 
a/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquares.java
+++ 
b/commons-statistics-descriptive/src/main/java/org/apache/commons/statistics/descriptive/SumOfSquares.java
@@ -36,10 +36,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>This instance is not thread safe.</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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -48,7 +48,7 @@ package org.apache.commons.statistics.descriptive;
  *
  * @since 1.1
  */
-public final class SumOfSquares implements DoubleStatistic, 
DoubleStatisticAccumulator<SumOfSquares> {
+public final class SumOfSquares implements DoubleStatistic, 
StatisticAccumulator<SumOfSquares> {
 
     /** Sum of squares of all values. */
     private double ss;
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 dbb153a..b875a55 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
@@ -54,10 +54,10 @@ package org.apache.commons.statistics.descriptive;
  * <p><strong>Note that this instance 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
- * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} method, 
it must be synchronized externally.
+ * {@link StatisticAccumulator#combine(StatisticResult) combine} method, it 
must be synchronized externally.
  *
  * <p>However, it is safe to use {@link 
java.util.function.DoubleConsumer#accept(double) accept}
- * and {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ * and {@link StatisticAccumulator#combine(StatisticResult) combine}
  * as {@code accumulator} and {@code combiner} functions of
  * {@link java.util.stream.Collector Collector} on a parallel stream,
  * because the parallel instance of {@link java.util.stream.Stream#collect 
Stream.collect()}
@@ -81,7 +81,7 @@ package org.apache.commons.statistics.descriptive;
  * @see StandardDeviation
  * @since 1.1
  */
-public final class Variance implements DoubleStatistic, 
DoubleStatisticAccumulator<Variance> {
+public final class Variance implements DoubleStatistic, 
StatisticAccumulator<Variance> {
 
     /**
      * An instance of {@link SumOfSquaredDeviations}, which is used to
diff --git 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/BaseDoubleStatisticTest.java
 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/BaseDoubleStatisticTest.java
index bdda305..a349e2f 100644
--- 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/BaseDoubleStatisticTest.java
+++ 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/BaseDoubleStatisticTest.java
@@ -40,7 +40,7 @@ import org.junit.jupiter.params.provider.MethodSource;
 /**
  * Abstract base class for statistic tests.
  * This supports testing statistics that implement {@link DoubleStatistic} and
- * {@link DoubleStatisticAccumulator}.
+ * {@link StatisticAccumulator}.
  *
  * <p>This class uses parameterized tests that are repeated for instances of a
  * statistic. The statistic is tested using standard finite and non-finite 
data.
@@ -51,10 +51,10 @@ import org.junit.jupiter.params.provider.MethodSource;
  * <ol>
  *  <li>{@link java.util.function.DoubleConsumer#accept accept}
  *  <li>{@link java.util.function.DoubleConsumer#accept accept} and
- *      {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ *      {@link StatisticAccumulator#combine(DoubleStatistic) combine}
  *  <li>{@link #create(double...)}
  *  <li>{@link #create(double...)} and
- *      {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+ *      {@link StatisticAccumulator#combine(DoubleStatistic) combine}
  * </ol>
  *
  * <p>A test implementation has to provide these method implementations:
@@ -107,7 +107,7 @@ import org.junit.jupiter.params.provider.MethodSource;
  * @param <S> Statistic type
  */
 @TestInstance(Lifecycle.PER_CLASS)
-abstract class BaseDoubleStatisticTest<S extends DoubleStatistic & 
DoubleStatisticAccumulator<S>> {
+abstract class BaseDoubleStatisticTest<S extends DoubleStatistic & 
StatisticAccumulator<S>> {
     /** An empty {@code double[]}. */
     private static final double[] EMPTY = {};
     /** The number of random permutations to perform. */
@@ -547,7 +547,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
 
     /**
      * Returns {@code true} if the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine}
      * method is symmetric. If {@code true} then the combine will be tested 
with
      * duplicate instances of the statistic, combined in left-to-right and 
right-to-left;
      * the result must have the same statistic value.
@@ -740,10 +740,10 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
      * <ol>
      *  <li>{@link java.util.function.DoubleConsumer#accept accept}
      *  <li>{@link java.util.function.DoubleConsumer#accept accept} and
-     *      {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     *      {@link StatisticAccumulator#combine(DoubleStatistic) combine}
      *  <li>{@link #create(double...)}
      *  <li>{@link #create(double...)} and
-     *      {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     *      {@link StatisticAccumulator#combine(DoubleStatistic) combine}
      * </ol>
      *
      * <p>To test the {@code combine} method the data is split into 
approximately even groups
@@ -822,7 +822,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     /**
      * Stream the arguments to test the computation of the statistic using the
      * {@link java.util.function.DoubleConsumer#accept(double) accept} method 
for each
-     * array, then the {@link 
DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     * array, then the {@link StatisticAccumulator#combine(DoubleStatistic) 
combine}
      * method. The expected value and tolerance are supplied by the 
implementing class.
      *
      * @return the stream
@@ -834,7 +834,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     /**
      * Stream the arguments to test the computation of the statistic using the
      * {@link #create(double...)} method for each array, then the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method. The
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method. 
The
      * expected value and tolerance are supplied by the implementing class.
      *
      * @return the stream
@@ -847,7 +847,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
      * Stream the arguments to test the computation of the statistic using the
      * {@link java.util.function.DoubleConsumer#accept(double) accept} method 
for each
      * element of a parallel stream, then the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method.
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method.
      * The expected value and tolerance are supplied by the implementing class.
      *
      * <p>Note that this method uses the tolerance from {@link 
#getToleranceAcceptAndCombine()}.
@@ -861,7 +861,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     /**
      * Stream the arguments to test the computation of the statistic using the 
multiple
      * {@code double[]} arrays and the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method.
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method.
      *
      * @param tol Test tolerance.
      * @param tolCustom Tolerance for any custom test data.
@@ -1015,7 +1015,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     /**
      * Test the computation of the statistic using the
      * {@link java.util.function.DoubleConsumer#accept(double) accept} method 
for each
-     * array, then the {@link 
DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     * array, then the {@link StatisticAccumulator#combine(DoubleStatistic) 
combine}
      * method.
      */
     @ParameterizedTest
@@ -1027,7 +1027,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     /**
      * Test the computation of the statistic using the
      * {@link java.util.function.DoubleConsumer#accept(double) accept} method 
for each
-     * array, then the {@link 
DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     * array, then the {@link StatisticAccumulator#combine(DoubleStatistic) 
combine}
      * method.
      */
     @ParameterizedTest
@@ -1037,7 +1037,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     }
 
     /**
-     * Test the {@link DoubleStatisticAccumulator#combine(DoubleStatistic) 
combine} method
+     * Test the {@link StatisticAccumulator#combine(DoubleStatistic) combine} 
method
      * with an empty instance combined with a non-empty instance.
      */
     @ParameterizedTest
@@ -1052,7 +1052,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     }
 
     /**
-     * Test the {@link DoubleStatisticAccumulator#combine(DoubleStatistic) 
combine} method
+     * Test the {@link StatisticAccumulator#combine(DoubleStatistic) combine} 
method
      * with a non-empty instance combined with an empty instance.
      */
     @ParameterizedTest
@@ -1070,7 +1070,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
      * Test the computation of the statistic using a parallel stream of {@code 
double}
      * values. The accumulator is the
      * {@link java.util.function.DoubleConsumer#accept(double) accept} method; 
the
-     * combiner is the {@link 
DoubleStatisticAccumulator#combine(DoubleStatistic) combine}
+     * combiner is the {@link StatisticAccumulator#combine(DoubleStatistic) 
combine}
      * method.
      *
      * <p>Note: This method is similar to the
@@ -1086,7 +1086,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
     final void testAcceptParallelStream(double[] values, double expected, 
DoubleTolerance tol) {
         final double actual = Arrays.stream(values)
             .parallel()
-            .collect(this::create, DoubleStatistic::accept, 
DoubleStatisticAccumulator::combine)
+            .collect(this::create, DoubleStatistic::accept, 
StatisticAccumulator::combine)
             .getAsDouble();
         TestUtils.assertEquals(expected, actual, tol, () -> statisticName + ": 
" + format(values));
     }
@@ -1095,7 +1095,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
      * Test the computation of the statistic using a parallel stream of {@code 
double[]}
      * arrays. The arrays are mapped to a statistic using the {@link 
#create(double...)}
      * method, and the stream reduced using the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method.
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method.
      *
      * <p>Note: This method is similar to the
      * {@link #testArrayAndCombine(double[][], double, DoubleTolerance)} 
method and uses
@@ -1110,7 +1110,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
         final double actual = Arrays.stream(values)
             .parallel()
             .map(this::create)
-            .reduce(DoubleStatisticAccumulator::combine)
+            .reduce(StatisticAccumulator::combine)
             // Return an empty instance if there is no data
             .orElseGet(this::create)
             .getAsDouble();
@@ -1205,7 +1205,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
 
     /**
      * Test the computation of the statistic using an empty instance and the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method with
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method 
with
      * instances containing single values. Adding statistic instances 
containing 1 value
      * should be the same precision as adding a {@code double} value, although 
the two
      * results are not required to be exactly equal.
@@ -1240,7 +1240,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
 
     /**
      * Assert the computation of the statistic using the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method.
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method.
      *
      * @param constructor Function to create the statistic.
      * @param values Values.
@@ -1319,7 +1319,7 @@ abstract class BaseDoubleStatisticTest<S extends 
DoubleStatistic & DoubleStatist
 
     /**
      * Combine the two statistics. This method asserts the contract of the
-     * {@link DoubleStatisticAccumulator#combine(DoubleStatistic) combine} 
method.
+     * {@link StatisticAccumulator#combine(DoubleStatistic) combine} method.
      * The left-hand side (LHS) argument must be returned. The right-hand side 
(RHS) must
      * be unchanged by the operation.
      *
diff --git 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/DoubleStatisticsTest.java
 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/DoubleStatisticsTest.java
index 9f64644..576e435 100644
--- 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/DoubleStatisticsTest.java
+++ 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/DoubleStatisticsTest.java
@@ -187,20 +187,20 @@ class DoubleStatisticsTest {
      * @param constructor Constructor for an empty object.
      * @param arrayConstructor Constructor using an array of values.
      */
-    private static <T extends DoubleStatistic & DoubleStatisticAccumulator<T>> 
void addExpected(Statistic statistic,
+    private static <T extends DoubleStatistic & StatisticAccumulator<T>> void 
addExpected(Statistic statistic,
             Supplier<T> constructor, Function<double[], T> arrayConstructor) {
         final List<ExpectedResult> results = new ArrayList<>();
         for (final TestData d : testData) {
             // Stream values
             final double e1 = d.stream()
                 .map(values -> Statistics.add(constructor.get(), values))
-                .reduce(DoubleStatisticAccumulator::combine)
+                .reduce(StatisticAccumulator::combine)
                 .orElseThrow(IllegalStateException::new)
                 .getAsDouble();
             // Create from array
             final double e2 = d.stream()
                 .map(arrayConstructor)
-                .reduce(DoubleStatisticAccumulator::combine)
+                .reduce(StatisticAccumulator::combine)
                 .orElseThrow(IllegalStateException::new)
                 .getAsDouble();
             // Check that there is a finite value to compute during testing
@@ -574,7 +574,7 @@ class DoubleStatisticsTest {
      * @param setter Option setter.
      * @return the number of unique results
      */
-    private static <T extends DoubleStatistic & DoubleStatisticAccumulator<T>> 
int addBooleanOptionCase(
+    private static <T extends DoubleStatistic & StatisticAccumulator<T>> int 
addBooleanOptionCase(
             Stream.Builder<Arguments> builder, double[] values, Statistic 
statistic,
             Function<double[], T> arrayConstructor, BiConsumer<T, Boolean> 
setter) {
         final T stat = arrayConstructor.apply(values);
diff --git 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviationsWrapper.java
 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviationsWrapper.java
index e60eb8a..47e4706 100644
--- 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviationsWrapper.java
+++ 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfCubedDeviationsWrapper.java
@@ -20,7 +20,7 @@ package org.apache.commons.statistics.descriptive;
  * Wrapper for {@link SumOfCubedDeviations} to allow testing as a statistic.
  */
 final class SumOfCubedDeviationsWrapper implements
-        DoubleStatistic, 
DoubleStatisticAccumulator<SumOfCubedDeviationsWrapper> {
+        DoubleStatistic, StatisticAccumulator<SumOfCubedDeviationsWrapper> {
 
     private final SumOfCubedDeviations delegate;
 
diff --git 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviationsWrapper.java
 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviationsWrapper.java
index b540a2d..4f3dbf7 100644
--- 
a/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviationsWrapper.java
+++ 
b/commons-statistics-descriptive/src/test/java/org/apache/commons/statistics/descriptive/SumOfFourthDeviationsWrapper.java
@@ -20,7 +20,7 @@ package org.apache.commons.statistics.descriptive;
  * Wrapper for {@link SumOfFourthDeviations} to allow testing as a statistic.
  */
 final class SumOfFourthDeviationsWrapper implements
-        DoubleStatistic, 
DoubleStatisticAccumulator<SumOfFourthDeviationsWrapper> {
+        DoubleStatistic, StatisticAccumulator<SumOfFourthDeviationsWrapper> {
 
     private final SumOfFourthDeviations delegate;
 

Reply via email to