You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2019/12/17 02:14:56 UTC

[commons-math] 02/02: Removed obsolete interface.

This is an automated email from the ASF dual-hosted git repository.

erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-math.git

commit bf5d19e08bfc74c56bc3d3828e5c3d93abbdff8b
Author: Gilles Sadowski <gi...@harfang.homelinux.org>
AuthorDate: Tue Dec 17 03:14:12 2019 +0100

    Removed obsolete interface.
---
 .../distribution/AbstractRealDistribution.java     |  2 +-
 .../math4/distribution/EmpiricalDistribution.java  |  2 +-
 .../distribution/MultivariateRealDistribution.java |  6 ++---
 .../math4/distribution/RealDistribution.java       | 26 ----------------------
 .../java/org/apache/commons/math4/TestUtils.java   |  4 ++--
 .../distribution/EmpiricalDistributionTest.java    |  4 ++--
 .../IntegerDistributionAbstractTest.java           | 18 +++++++--------
 .../distribution/RealDistributionAbstractTest.java | 17 +++++++-------
 8 files changed, 25 insertions(+), 54 deletions(-)

diff --git a/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java b/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
index 72edd8b..46e098a 100644
--- a/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
@@ -47,7 +47,7 @@ import org.apache.commons.math4.util.FastMath;
  * @since 3.0
  */
 public abstract class AbstractRealDistribution
-    implements RealDistribution,
+    implements ContinuousDistribution,
                Serializable {
     /** Default absolute accuracy for inverse cumulative computation. */
     public static final double SOLVER_DEFAULT_ABSOLUTE_ACCURACY = 1e-6;
diff --git a/src/main/java/org/apache/commons/math4/distribution/EmpiricalDistribution.java b/src/main/java/org/apache/commons/math4/distribution/EmpiricalDistribution.java
index 82357e9..b9434d1 100644
--- a/src/main/java/org/apache/commons/math4/distribution/EmpiricalDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/EmpiricalDistribution.java
@@ -81,7 +81,7 @@ import org.apache.commons.math4.util.MathUtils;
  * <li>Generate a random Gaussian value with mean = mean of the associated
  *     bin and std dev = std dev of associated bin.</li></ol>
  *
- * <p>EmpiricalDistribution implements the {@link RealDistribution} interface
+ * <p>EmpiricalDistribution implements the {@link ContinuousDistribution} interface
  * as follows.  Given x within the range of values in the dataset, let B
  * be the bin containing x and let K be the within-bin kernel for B.  Let P(B-)
  * be the sum of the probabilities of the bins below B and let K(B) be the
diff --git a/src/main/java/org/apache/commons/math4/distribution/MultivariateRealDistribution.java b/src/main/java/org/apache/commons/math4/distribution/MultivariateRealDistribution.java
index ef5fca9..7c85965 100644
--- a/src/main/java/org/apache/commons/math4/distribution/MultivariateRealDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/MultivariateRealDistribution.java
@@ -21,9 +21,9 @@ import org.apache.commons.rng.UniformRandomProvider;
 /**
  * Base interface for multivariate distributions on the reals.
  *
- * This is based largely on the RealDistribution interface, but cumulative
- * distribution functions are not required because they are often quite
- * difficult to compute for multivariate distributions.
+ * This is based largely on the {@code ContinuousDistribution} interface,
+ * but cumulative distribution functions are not required because they
+ * are often quite difficult to compute for multivariate distributions.
  *
  * @since 3.1
  */
diff --git a/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java b/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
deleted file mode 100644
index 7d6eff2..0000000
--- a/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
+++ /dev/null
@@ -1,26 +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.math4.distribution;
-
-import org.apache.commons.statistics.distribution.ContinuousDistribution;
-
-/**
- * Base interface for distributions on the reals.
- *
- * @since 3.0
- */
-public interface RealDistribution extends ContinuousDistribution {}
diff --git a/src/test/java/org/apache/commons/math4/TestUtils.java b/src/test/java/org/apache/commons/math4/TestUtils.java
index 75fa790..0c73779 100644
--- a/src/test/java/org/apache/commons/math4/TestUtils.java
+++ b/src/test/java/org/apache/commons/math4/TestUtils.java
@@ -25,9 +25,9 @@ import java.text.DecimalFormat;
 
 import org.apache.commons.numbers.complex.Complex;
 import org.apache.commons.numbers.core.Precision;
+import org.apache.commons.statistics.distribution.ContinuousDistribution;
 import org.apache.commons.math4.FieldElement;
 import org.apache.commons.math4.complex.ComplexFormat;
-import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.linear.FieldMatrix;
 import org.apache.commons.math4.linear.RealMatrix;
 import org.apache.commons.math4.linear.RealVector;
@@ -531,7 +531,7 @@ public class TestUtils {
      * Computes the 25th, 50th and 75th percentiles of the given distribution and returns
      * these values in an array.
      */
-    public static double[] getDistributionQuartiles(RealDistribution distribution) {
+    public static double[] getDistributionQuartiles(ContinuousDistribution distribution) {
         double[] quantiles = new double[3];
         quantiles[0] = distribution.inverseCumulativeProbability(0.25d);
         quantiles[1] = distribution.inverseCumulativeProbability(0.5d);
diff --git a/src/test/java/org/apache/commons/math4/distribution/EmpiricalDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/EmpiricalDistributionTest.java
index 299af66..5b0f492 100644
--- a/src/test/java/org/apache/commons/math4/distribution/EmpiricalDistributionTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/EmpiricalDistributionTest.java
@@ -295,7 +295,7 @@ public final class EmpiricalDistributionTest extends RealDistributionAbstractTes
     //  Setup for distribution tests
 
     @Override
-    public RealDistribution makeDistribution() {
+    public ContinuousDistribution makeDistribution() {
         // Create a uniform distribution on [0, 10,000]
         final double[] sourceData = new double[n + 1];
         for (int i = 0; i < n + 1; i++) {
@@ -374,7 +374,7 @@ public final class EmpiricalDistributionTest extends RealDistributionAbstractTes
     @Override
     @Test
     public void testDensityIntegrals() {
-        final RealDistribution distribution = makeDistribution();
+        final ContinuousDistribution distribution = makeDistribution();
         final double tol = 1.0e-9;
         final BaseAbstractUnivariateIntegrator integrator =
             new IterativeLegendreGaussIntegrator(5, 1.0e-12, 1.0e-10);
diff --git a/src/test/java/org/apache/commons/math4/distribution/IntegerDistributionAbstractTest.java b/src/test/java/org/apache/commons/math4/distribution/IntegerDistributionAbstractTest.java
index bb99df8..8a6e229 100644
--- a/src/test/java/org/apache/commons/math4/distribution/IntegerDistributionAbstractTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/IntegerDistributionAbstractTest.java
@@ -16,9 +16,9 @@
  */
 package org.apache.commons.math4.distribution;
 
+import org.apache.commons.statistics.distribution.DiscreteDistribution;
 import org.apache.commons.math4.TestUtils;
 import org.apache.commons.math4.distribution.AbstractIntegerDistribution;
-import org.apache.commons.math4.distribution.IntegerDistribution;
 import org.apache.commons.math4.exception.MathIllegalArgumentException;
 import org.apache.commons.rng.simple.RandomSource;
 import org.apache.commons.math4.util.FastMath;
@@ -28,7 +28,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 /**
- * Abstract base class for {@link IntegerDistribution} tests.
+ * Abstract base class for {@link DiscreteDistribution} tests.
  * <p>
  * To create a concrete test class for an integer distribution implementation,
  *  implement makeDistribution() to return a distribution instance to use in
@@ -52,7 +52,7 @@ public abstract class IntegerDistributionAbstractTest {
 
 //-------------------- Private test instance data -------------------------
     /** Discrete distribution instance used to perform tests */
-    private IntegerDistribution distribution;
+    private DiscreteDistribution distribution;
 
     /** Tolerance used in comparing expected and returned values */
     private double tolerance = 1E-12;
@@ -81,7 +81,7 @@ public abstract class IntegerDistributionAbstractTest {
     //-------------------- Abstract methods -----------------------------------
 
     /** Creates the default discrete distribution instance to use in tests. */
-    public abstract IntegerDistribution makeDistribution();
+    public abstract DiscreteDistribution makeDistribution();
 
     /** Creates the default probability density test input values */
     public abstract int[] makeDensityTestPoints();
@@ -169,10 +169,9 @@ public abstract class IntegerDistributionAbstractTest {
      */
     protected void verifyLogDensities() {
         for (int i = 0; i < densityTestPoints.length; i++) {
-            // FIXME: when logProbability methods are added to IntegerDistribution in 4.0, remove cast below
             Assert.assertEquals("Incorrect log density value returned for " + densityTestPoints[i],
                     logDensityTestValues[i],
-                    ((AbstractIntegerDistribution) distribution).logProbability(densityTestPoints[i]), tolerance);
+                    distribution.logProbability(densityTestPoints[i]), tolerance);
         }
     }
 
@@ -299,7 +298,7 @@ public abstract class IntegerDistributionAbstractTest {
             expectedCounts[i] = sampleSize * densityValues[i];
         }
         // Use fixed seed.
-        final IntegerDistribution.Sampler sampler =
+        final DiscreteDistribution.Sampler sampler =
             distribution.createSampler(RandomSource.create(RandomSource.WELL_512_A,
                                                            1000));
         int[] sample = AbstractIntegerDistribution.sample(sampleSize, sampler);
@@ -373,14 +372,14 @@ public abstract class IntegerDistributionAbstractTest {
     /**
      * @return Returns the distribution.
      */
-    protected IntegerDistribution getDistribution() {
+    protected DiscreteDistribution getDistribution() {
         return distribution;
     }
 
     /**
      * @param distribution The distribution to set.
      */
-    protected void setDistribution(IntegerDistribution distribution) {
+    protected void setDistribution(DiscreteDistribution distribution) {
         this.distribution = distribution;
     }
 
@@ -425,5 +424,4 @@ public abstract class IntegerDistributionAbstractTest {
     protected void setTolerance(double tolerance) {
         this.tolerance = tolerance;
     }
-
 }
diff --git a/src/test/java/org/apache/commons/math4/distribution/RealDistributionAbstractTest.java b/src/test/java/org/apache/commons/math4/distribution/RealDistributionAbstractTest.java
index ea6d392..7039efa 100644
--- a/src/test/java/org/apache/commons/math4/distribution/RealDistributionAbstractTest.java
+++ b/src/test/java/org/apache/commons/math4/distribution/RealDistributionAbstractTest.java
@@ -30,7 +30,6 @@ import org.apache.commons.math4.TestUtils;
 import org.apache.commons.math4.analysis.UnivariateFunction;
 import org.apache.commons.math4.analysis.integration.BaseAbstractUnivariateIntegrator;
 import org.apache.commons.math4.analysis.integration.IterativeLegendreGaussIntegrator;
-import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.exception.MathIllegalArgumentException;
 import org.apache.commons.math4.exception.NumberIsTooLargeException;
 import org.apache.commons.rng.simple.RandomSource;
@@ -41,7 +40,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 /**
- * Abstract base class for {@link RealDistribution} tests.
+ * Abstract base class for {@link ContinuousDistribution} tests.
  * <p>
  * To create a concrete test class for a continuous distribution
  * implementation, first implement makeDistribution() to return a distribution
@@ -77,7 +76,7 @@ public abstract class RealDistributionAbstractTest {
 
 //-------------------- Private test instance data -------------------------
     /**  Distribution instance used to perform tests */
-    private RealDistribution distribution;
+    private ContinuousDistribution distribution;
 
     /** Tolerance used in comparing expected and returned values */
     private double tolerance = 1E-4;
@@ -103,7 +102,7 @@ public abstract class RealDistributionAbstractTest {
     //-------------------- Abstract methods -----------------------------------
 
     /** Creates the default continuous distribution instance to use in tests. */
-    public abstract RealDistribution makeDistribution();
+    public abstract ContinuousDistribution makeDistribution();
 
     /** Creates the default cumulative probability test input values */
     public abstract double[] makeCumulativeTestPoints();
@@ -394,7 +393,7 @@ public abstract class RealDistributionAbstractTest {
         ContinuousDistribution.Sampler origSampler = distribution.createSampler(RandomSource.create(source, seed));
 
         // Clone the distribution.
-        final RealDistribution cloned = deepClone();
+        final ContinuousDistribution cloned = deepClone();
         ContinuousDistribution.Sampler clonedSampler = cloned.createSampler(RandomSource.create(source, seed));
 
         // Make sure they still produce the same samples.
@@ -443,14 +442,14 @@ public abstract class RealDistributionAbstractTest {
     /**
      * @return Returns the distribution.
      */
-    protected RealDistribution getDistribution() {
+    protected ContinuousDistribution getDistribution() {
         return distribution;
     }
 
     /**
      * @param distribution The distribution to set.
      */
-    protected void setDistribution(RealDistribution distribution) {
+    protected void setDistribution(ContinuousDistribution distribution) {
         this.distribution = distribution;
     }
 
@@ -499,7 +498,7 @@ public abstract class RealDistributionAbstractTest {
     /**
      * Serialization and deserialization loop of the {@link #distribution}.
      */
-    private RealDistribution deepClone()
+    private ContinuousDistribution deepClone()
         throws IOException,
                ClassNotFoundException {
         // Serialize to byte array.
@@ -514,6 +513,6 @@ public abstract class RealDistributionAbstractTest {
         final Object clone = oIn.readObject();
         oIn.close();
 
-        return (RealDistribution) clone;
+        return (ContinuousDistribution) clone;
     }
 }