MATH-1158

Removed deprecated sampling API.


Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/77c24aa9
Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/77c24aa9
Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/77c24aa9

Branch: refs/heads/feature-MATH-1158
Commit: 77c24aa92600598ee7994a1504b7bafc560b3809
Parents: 9867d9f
Author: Gilles <er...@apache.org>
Authored: Thu Mar 17 19:55:26 2016 +0100
Committer: Gilles <er...@apache.org>
Committed: Thu Mar 17 19:55:26 2016 +0100

----------------------------------------------------------------------
 .../distribution/AbstractRealDistribution.java  | 51 ------------
 .../math4/distribution/BetaDistribution.java    |  4 +-
 .../distribution/ConstantRealDistribution.java  | 15 ----
 .../distribution/EnumeratedDistribution.java    |  1 +
 .../EnumeratedRealDistribution.java             |  9 --
 .../distribution/ExponentialDistribution.java   | 52 ------------
 .../math4/distribution/GammaDistribution.java   | 84 +------------------
 .../distribution/LogNormalDistribution.java     | 12 +--
 .../math4/distribution/NormalDistribution.java  |  7 --
 .../math4/distribution/ParetoDistribution.java  |  8 --
 .../math4/distribution/RealDistribution.java    | 27 ------
 .../distribution/UniformRealDistribution.java   |  8 --
 .../math4/random/EmpiricalDistribution.java     | 88 --------------------
 .../stat/inference/KolmogorovSmirnovTest.java   |  5 +-
 .../fitting/PolynomialCurveFitterTest.java      |  7 +-
 .../math4/fitting/SimpleCurveFitterTest.java    |  6 +-
 .../math4/linear/EigenDecompositionTest.java    |  6 +-
 .../math4/linear/HessenbergTransformerTest.java |  6 +-
 .../math4/linear/SchurTransformerTest.java      |  6 +-
 .../AggregateSummaryStatisticsTest.java         |  8 +-
 .../UnivariateStatisticAbstractTest.java        |  5 +-
 .../descriptive/rank/PSquarePercentileTest.java | 19 +++--
 .../commons/math4/util/MathUtilsTest.java       |  5 +-
 23 files changed, 55 insertions(+), 384 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
----------------------------------------------------------------------
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 1f6c006..057dd8a 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/AbstractRealDistribution.java
@@ -20,11 +20,9 @@ import java.io.Serializable;
 
 import org.apache.commons.math4.analysis.UnivariateFunction;
 import org.apache.commons.math4.analysis.solvers.UnivariateSolverUtils;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
 import org.apache.commons.math4.exception.NumberIsTooLargeException;
 import org.apache.commons.math4.exception.OutOfRangeException;
 import org.apache.commons.math4.exception.util.LocalizedFormats;
-import org.apache.commons.math4.random.RandomGenerator;
 import org.apache.commons.math4.rng.UniformRandomProvider;
 import org.apache.commons.math4.util.FastMath;
 
@@ -51,14 +49,6 @@ public abstract class AbstractRealDistribution
     private static final long serialVersionUID = 20160311L;
 
     /**
-     * RNG instance used to generate samples from the distribution.
-     * @since 3.1
-     * XXX: hard-coded value to prevent "NullPointerException".
-     */
-    @Deprecated
-    protected final RandomGenerator random = new 
org.apache.commons.math4.random.Well19937c();
-
-    /**
      * For a random variable {@code X} whose values are distributed according
      * to this distribution, this method returns {@code P(x0 < X <= x1)}.
      *
@@ -211,47 +201,6 @@ public abstract class AbstractRealDistribution
         return SOLVER_DEFAULT_ABSOLUTE_ACCURACY;
     }
 
-    /** {@inheritDoc} */
-    @Override
-    @Deprecated
-    public void reseedRandomGenerator(long seed) {
-        random.setSeed(seed);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * The default implementation uses the
-     * <a href="http://en.wikipedia.org/wiki/Inverse_transform_sampling";>
-     * inversion method.
-     * </a>
-     */
-    @Override
-    @Deprecated
-    public double sample() {
-        return inverseCumulativeProbability(random.nextDouble());
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * The default implementation generates the sample by calling
-     * {@link #sample()} in a loop.
-     */
-    @Override
-    @Deprecated
-    public double[] sample(int sampleSize) {
-        if (sampleSize <= 0) {
-            throw new 
NotStrictlyPositiveException(LocalizedFormats.NUMBER_OF_SAMPLES,
-                    sampleSize);
-        }
-        double[] out = new double[sampleSize];
-        for (int i = 0; i < sampleSize; i++) {
-            out[i] = sample();
-        }
-        return out;
-    }
-
     /**
      * {@inheritDoc}
      *

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/BetaDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/BetaDistribution.java 
b/src/main/java/org/apache/commons/math4/distribution/BetaDistribution.java
index 0644eb1..987e8eb 100644
--- a/src/main/java/org/apache/commons/math4/distribution/BetaDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/BetaDistribution.java
@@ -254,7 +254,7 @@ public class BetaDistribution extends 
AbstractRealDistribution {
      * @since 3.6
      */
     private static class ChengBetaSampler implements RealDistribution.Sampler {
-        /** RNG (uniform distribution. */
+        /** RNG (uniform distribution). */
         private final UniformRandomProvider rng;
         /** First shape parameter. */
         private final double alphaShape;
@@ -264,7 +264,7 @@ public class BetaDistribution extends 
AbstractRealDistribution {
         /**
          * Creates a sampler instance.
          *
-         * @param rng Generator.
+         * @param generator RNG.
          * @param alpha Distribution first shape parameter.
          * @param beta Distribution second shape parameter.
          */

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java
index a9b3383..a34179a 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java
@@ -104,21 +104,6 @@ public class ConstantRealDistribution extends 
AbstractRealDistribution {
         return true;
     }
 
-    /** {@inheritDoc} */
-    @Override
-    @Deprecated
-    public double sample()  {
-        return value;
-    }
-
-    /**
-     * Override with no-op (there is no generator).
-     * @param seed (ignored)
-     */
-    @Override
-    @Deprecated
-    public void reseedRandomGenerator(long seed) {}
-
     /**
      * {@inheritDoc}
      *

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/EnumeratedDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/EnumeratedDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/EnumeratedDistribution.java
index fd339b2..3f9acc8 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/EnumeratedDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/EnumeratedDistribution.java
@@ -310,6 +310,7 @@ public class EnumeratedDistribution<T> implements 
Serializable {
      * Creates a {@link Sampler}.
      *
      * @param rng Random number generator.
+     * @return a new sampler instance.
      */
     public Sampler createSampler(final UniformRandomProvider rng) {
         return new Sampler(rng);

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/EnumeratedRealDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/EnumeratedRealDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/EnumeratedRealDistribution.java
index 7cf834b..0e34f5a 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/EnumeratedRealDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/EnumeratedRealDistribution.java
@@ -273,15 +273,6 @@ public class EnumeratedRealDistribution extends 
AbstractRealDistribution {
         return true;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    @Deprecated
-    public double sample() {
-        return innerDistribution.sample();
-    }
-
     /** {@inheritDoc} */
     @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/ExponentialDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/ExponentialDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/ExponentialDistribution.java
index 1dbd6b1..9527aa0 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/ExponentialDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/ExponentialDistribution.java
@@ -186,58 +186,6 @@ public class ExponentialDistribution extends 
AbstractRealDistribution {
         return ret;
     }
 
-    /**
-     * {@inheritDoc}
-     *
-     * <p><strong>Algorithm Description</strong>: this implementation uses the
-     * <a href="http://www.jesus.ox.ac.uk/~clifford/a5/chap1/node5.html";>
-     * Inversion Method</a> to generate exponentially distributed random values
-     * from uniform deviates.</p>
-     *
-     * @return a random value.
-     * @since 2.2
-     */
-    @Override
-    @Deprecated
-    public double sample() {
-        // Step 1:
-        double a = 0;
-        double u = random.nextDouble();
-
-        // Step 2 and 3:
-        while (u < 0.5) {
-            a += EXPONENTIAL_SA_QI[0];
-            u *= 2;
-        }
-
-        // Step 4 (now u >= 0.5):
-        u += u - 1;
-
-        // Step 5:
-        if (u <= EXPONENTIAL_SA_QI[0]) {
-            return mean * (a + u);
-        }
-
-        // Step 6:
-        int i = 0; // Should be 1, be we iterate before it in while using 0
-        double u2 = random.nextDouble();
-        double umin = u2;
-
-        // Step 7 and 8:
-        do {
-            ++i;
-            u2 = random.nextDouble();
-
-            if (u2 < umin) {
-                umin = u2;
-            }
-
-            // Step 8:
-        } while (u > EXPONENTIAL_SA_QI[i]); // Ensured to exit since 
EXPONENTIAL_SA_QI[MAX] = 1
-
-        return mean * (a + umin * EXPONENTIAL_SA_QI[0]);
-    }
-
     /** {@inheritDoc} */
     @Override
     protected double getSolverAbsoluteAccuracy() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/GammaDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/GammaDistribution.java 
b/src/main/java/org/apache/commons/math4/distribution/GammaDistribution.java
index c50c974..413493f 100644
--- a/src/main/java/org/apache/commons/math4/distribution/GammaDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/GammaDistribution.java
@@ -351,88 +351,6 @@ public class GammaDistribution extends 
AbstractRealDistribution {
     }
 
     /**
-     * <p>This implementation uses the following algorithms: </p>
-     *
-     * <p>For 0 < shape < 1: <br/>
-     * Ahrens, J. H. and Dieter, U., <i>Computer methods for
-     * sampling from gamma, beta, Poisson and binomial distributions.</i>
-     * Computing, 12, 223-246, 1974.</p>
-     *
-     * <p>For shape >= 1: <br/>
-     * Marsaglia and Tsang, <i>A Simple Method for Generating
-     * Gamma Variables.</i> ACM Transactions on Mathematical Software,
-     * Volume 26 Issue 3, September, 2000.</p>
-     *
-     * @return random value sampled from the Gamma(shape, scale) distribution
-     */
-    @Override
-    @Deprecated
-    public double sample()  {
-        if (shape < 1) {
-            // [1]: p. 228, Algorithm GS
-
-            while (true) {
-                // Step 1:
-                final double u = random.nextDouble();
-                final double bGS = 1 + shape / FastMath.E;
-                final double p = bGS * u;
-
-                if (p <= 1) {
-                    // Step 2:
-
-                    final double x = FastMath.pow(p, 1 / shape);
-                    final double u2 = random.nextDouble();
-
-                    if (u2 > FastMath.exp(-x)) {
-                        // Reject
-                        continue;
-                    } else {
-                        return scale * x;
-                    }
-                } else {
-                    // Step 3:
-
-                    final double x = -1 * FastMath.log((bGS - p) / shape);
-                    final double u2 = random.nextDouble();
-
-                    if (u2 > FastMath.pow(x, shape - 1)) {
-                        // Reject
-                        continue;
-                    } else {
-                        return scale * x;
-                    }
-                }
-            }
-        }
-
-        // Now shape >= 1
-
-        final double d = shape - 0.333333333333333333;
-        final double c = 1 / (3 * FastMath.sqrt(d));
-
-        while (true) {
-            final double x = random.nextGaussian();
-            final double v = (1 + c * x) * (1 + c * x) * (1 + c * x);
-
-            if (v <= 0) {
-                continue;
-            }
-
-            final double x2 = x * x;
-            final double u = random.nextDouble();
-
-            // Squeeze
-            if (u < 1 - 0.0331 * x2 * x2) {
-                return scale * d * v;
-            }
-
-            if (FastMath.log(u) < 0.5 * x2 + d * (1 - v + FastMath.log(v))) {
-                return scale * d * v;
-            }
-        }
-    }
-
-    /**
      * {@inheritDoc}
      *
      * <p>
@@ -461,7 +379,7 @@ public class GammaDistribution extends 
AbstractRealDistribution {
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {
         return new RealDistribution.Sampler() {
             /** Gaussian sampling. */
-            final RealDistribution.Sampler gaussian = new 
NormalDistribution().createSampler(rng);
+            private final RealDistribution.Sampler gaussian = new 
NormalDistribution().createSampler(rng);
 
             /** {@inheritDoc} */
             @Override

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/LogNormalDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/LogNormalDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/LogNormalDistribution.java
index eafb90e..6b155d5 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/LogNormalDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/LogNormalDistribution.java
@@ -290,23 +290,15 @@ public class LogNormalDistribution extends 
AbstractRealDistribution {
 
     /** {@inheritDoc} */
     @Override
-    @Deprecated
-    public double sample()  {
-        final double n = random.nextGaussian();
-        return FastMath.exp(scale + shape * n);
-    }
-
-    /** {@inheritDoc} */
-    @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {
         return new RealDistribution.Sampler() {
             /** Gaussian sampling. */
-            final RealDistribution.Sampler gaussian = new 
NormalDistribution().createSampler(rng);
+            private final RealDistribution.Sampler gaussian = new 
NormalDistribution().createSampler(rng);
 
             /** {@inheritDoc} */
             @Override
             public double sample() {
-                final double n = random.nextGaussian();
+                final double n = gaussian.sample();
                 return FastMath.exp(scale + shape * n);
             }
         };

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/NormalDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/NormalDistribution.java 
b/src/main/java/org/apache/commons/math4/distribution/NormalDistribution.java
index a8330d5..b8e919b 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/NormalDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/NormalDistribution.java
@@ -237,13 +237,6 @@ public class NormalDistribution extends 
AbstractRealDistribution {
 
     /** {@inheritDoc} */
     @Override
-    @Deprecated
-    public double sample()  {
-        return standardDeviation * random.nextGaussian() + mean;
-    }
-
-    /** {@inheritDoc} */
-    @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {
         return new RealDistribution.Sampler() {
             /** Next gaussian. */

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/ParetoDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/ParetoDistribution.java 
b/src/main/java/org/apache/commons/math4/distribution/ParetoDistribution.java
index 2174322..04427da 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/ParetoDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/ParetoDistribution.java
@@ -250,14 +250,6 @@ public class ParetoDistribution extends 
AbstractRealDistribution {
 
     /** {@inheritDoc} */
     @Override
-    @Deprecated
-    public double sample()  {
-        final double n = random.nextDouble();
-        return scale / FastMath.pow(n, 1 / shape);
-    }
-
-    /** {@inheritDoc} */
-    @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {
         return new RealDistribution.Sampler() {
             /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java 
b/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
index f0e453a..7ddc1fd 100644
--- a/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
+++ b/src/main/java/org/apache/commons/math4/distribution/RealDistribution.java
@@ -161,33 +161,6 @@ public interface RealDistribution {
     boolean isSupportConnected();
 
     /**
-     * Reseed the random generator used to generate samples.
-     *
-     * @param seed the new seed
-     */
-    @Deprecated
-    void reseedRandomGenerator(long seed);
-
-    /**
-     * Generate a random value sampled from this distribution.
-     *
-     * @return a random value.
-     */
-    @Deprecated
-    double sample();
-
-    /**
-     * Generate a random sample from the distribution.
-     *
-     * @param sampleSize the number of random values to generate
-     * @return an array representing the random sample
-     * @throws org.apache.commons.math4.exception.NotStrictlyPositiveException
-     * if {@code sampleSize} is not positive
-     */
-    @Deprecated
-    double[] sample(int sampleSize);
-
-    /**
      * Creates a sampler.
      *
      * @param rng Generator of uniformly distributed numbers.

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/distribution/UniformRealDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/distribution/UniformRealDistribution.java
 
b/src/main/java/org/apache/commons/math4/distribution/UniformRealDistribution.java
index 404cc02..a7a1c4d 100644
--- 
a/src/main/java/org/apache/commons/math4/distribution/UniformRealDistribution.java
+++ 
b/src/main/java/org/apache/commons/math4/distribution/UniformRealDistribution.java
@@ -160,14 +160,6 @@ public class UniformRealDistribution extends 
AbstractRealDistribution {
 
     /** {@inheritDoc} */
     @Override
-    @Deprecated
-    public double sample()  {
-        final double u = random.nextDouble();
-        return u * upper + (1 - u) * lower;
-    }
-
-    /** {@inheritDoc} */
-    @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {
         return new RealDistribution.Sampler() {
             /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/random/EmpiricalDistribution.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/random/EmpiricalDistribution.java 
b/src/main/java/org/apache/commons/math4/random/EmpiricalDistribution.java
index 926ad09..fad5226 100644
--- a/src/main/java/org/apache/commons/math4/random/EmpiricalDistribution.java
+++ b/src/main/java/org/apache/commons/math4/random/EmpiricalDistribution.java
@@ -42,7 +42,6 @@ import 
org.apache.commons.math4.exception.util.LocalizedFormats;
 import org.apache.commons.math4.stat.descriptive.StatisticalSummary;
 import org.apache.commons.math4.stat.descriptive.SummaryStatistics;
 import org.apache.commons.math4.rng.UniformRandomProvider;
-import org.apache.commons.math4.rng.RandomSource;
 import org.apache.commons.math4.util.FastMath;
 import org.apache.commons.math4.util.MathUtils;
 
@@ -113,10 +112,6 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
     /** Serializable version identifier */
     private static final long serialVersionUID = 5729073523949762654L;
 
-    /** RandomDataGenerator instance to use in repeated calls to getNext() */
-    @Deprecated
-    protected final RandomDataGenerator randomData;
-
     /** List of SummaryStatistics objects characterizing the bins */
     private final List<SummaryStatistics> binStats;
 
@@ -160,55 +155,9 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
         }
         this.binCount = binCount;
         binStats = new ArrayList<SummaryStatistics>();
-        randomData = null; // XXX remove
      }
 
     /**
-     * Creates a new EmpiricalDistribution with the specified bin count using 
the
-     * provided {@link RandomGenerator} as the source of random data.
-     *
-     * @param binCount number of bins. Must be strictly positive.
-     * @param generator random data generator (may be null, resulting in 
default JDK generator)
-     * @throws NotStrictlyPositiveException if {@code binCount <= 0}.
-     * @since 3.0
-     */
-    @Deprecated
-    public EmpiricalDistribution(int binCount, RandomGenerator generator) {
-         this(binCount, new RandomDataGenerator(generator));
-    }
-
-    /**
-     * Creates a new EmpiricalDistribution with default bin count using the
-     * provided {@link RandomGenerator} as the source of random data.
-     *
-     * @param generator random data generator (may be null, resulting in 
default JDK generator)
-     * @since 3.0
-     */
-    @Deprecated
-    public EmpiricalDistribution(RandomGenerator generator) {
-         this(DEFAULT_BIN_COUNT, generator);
-    }
-
-    /**
-     * Private constructor to allow lazy initialisation of the RNG contained
-     * in the {@link #randomData} instance variable.
-     *
-     * @param binCount number of bins. Must be strictly positive.
-     * @param randomData Random data generator.
-     * @throws NotStrictlyPositiveException if {@code binCount <= 0}.
-     */
-    @Deprecated
-    private EmpiricalDistribution(int binCount,
-                                  RandomDataGenerator randomData) {
-        if (binCount <= 0) {
-            throw new NotStrictlyPositiveException(binCount);
-        }
-        this.binCount = binCount;
-        this.randomData = randomData;
-        binStats = new ArrayList<SummaryStatistics>();
-    }
-
-    /**
      * Computes the empirical distribution from the provided
      * array of numbers.
      *
@@ -456,21 +405,6 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
     }
 
     /**
-     * Generates a random value from this distribution.
-     * <strong>Preconditions:</strong><ul>
-     * <li>the distribution must be loaded before invoking this 
method</li></ul>
-     * @return the random value.
-     * @throws MathIllegalStateException if the distribution has not been 
loaded
-     */
-    @Deprecated
-    public double getNextValue() throws MathIllegalStateException {
-        if (!loaded) {
-            throw new 
MathIllegalStateException(LocalizedFormats.DISTRIBUTION_NOT_LOADED);
-        }
-        return sample();
-    }
-
-    /**
      * Returns a {@link StatisticalSummary} describing this distribution.
      * <strong>Preconditions:</strong><ul>
      * <li>the distribution must be loaded before invoking this 
method</li></ul>
@@ -556,18 +490,6 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
         return loaded;
     }
 
-    /**
-     * Reseeds the random number generator used by {@link #getNextValue()}.
-     *
-     * @param seed random generator seed
-     * @since 3.0
-     * XXX REMOVE
-     */
-    @Deprecated
-    public void reSeed(long seed) {
-        randomData.reSeed(seed);
-    }
-
     // Distribution methods ---------------------------
 
     /**
@@ -742,16 +664,6 @@ public class EmpiricalDistribution extends 
AbstractRealDistribution {
         return true;
     }
 
-    /**
-     * {@inheritDoc}
-     * @since 3.1
-     */
-    @Override
-    @Deprecated
-    public void reseedRandomGenerator(long seed) {
-        randomData.reSeed(seed);
-    }
-
     /**{@inheritDoc} */
     @Override
     public RealDistribution.Sampler createSampler(final UniformRandomProvider 
rng) {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
 
b/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
index b75de0e..79451dd 100644
--- 
a/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
+++ 
b/src/main/java/org/apache/commons/math4/stat/inference/KolmogorovSmirnovTest.java
@@ -160,7 +160,8 @@ public class KolmogorovSmirnovTest {
      * The #monteCarloP(double, int, int, boolean, int) that uses the 
generator supplied to this
      * constructor is deprecated as of version 3.6.
      *
-     * @param rng random data generator used by {@link #monteCarloP(double, 
int, int, boolean, int)}
+     * @param source random data generator used by {@link #monteCarloP(double, 
int, int, boolean, int)}
+     * @param seed Seed.
      */
     @Deprecated
     public KolmogorovSmirnovTest(RandomSource source,
@@ -1209,10 +1210,8 @@ public class KolmogorovSmirnovTest {
     private static void jitter(double[] data, RealDistribution.Sampler 
sampler) {
         for (int i = 0; i < data.length; i++) {
             final double d = sampler.sample();
-            System.out.println("d=" + d); // XXX
             data[i] += d;
         }
-        System.out.println(); // XXX
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/fitting/PolynomialCurveFitterTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/fitting/PolynomialCurveFitterTest.java 
b/src/test/java/org/apache/commons/math4/fitting/PolynomialCurveFitterTest.java
index 89ebc2b..2b1e2d3 100644
--- 
a/src/test/java/org/apache/commons/math4/fitting/PolynomialCurveFitterTest.java
+++ 
b/src/test/java/org/apache/commons/math4/fitting/PolynomialCurveFitterTest.java
@@ -26,6 +26,7 @@ import 
org.apache.commons.math4.exception.ConvergenceException;
 import org.apache.commons.math4.fitting.PolynomialCurveFitter;
 import org.apache.commons.math4.fitting.WeightedObservedPoints;
 import org.apache.commons.math4.util.FastMath;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -35,9 +36,9 @@ import org.junit.Test;
 public class PolynomialCurveFitterTest {
     @Test
     public void testFit() {
-        final RealDistribution rng = new UniformRealDistribution(-100, 100);
-        rng.reseedRandomGenerator(64925784252L);
-
+        final RealDistribution.Sampler rng
+            = new UniformRealDistribution(-100, 
100).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
        64925784252L));
         final double[] coeff = { 12.9, -3.4, 2.1 }; // 12.9 - 3.4 x + 2.1 x^2
         final PolynomialFunction f = new PolynomialFunction(coeff);
 

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/fitting/SimpleCurveFitterTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/fitting/SimpleCurveFitterTest.java 
b/src/test/java/org/apache/commons/math4/fitting/SimpleCurveFitterTest.java
index 01d28b2..4a3867c 100644
--- a/src/test/java/org/apache/commons/math4/fitting/SimpleCurveFitterTest.java
+++ b/src/test/java/org/apache/commons/math4/fitting/SimpleCurveFitterTest.java
@@ -25,6 +25,7 @@ import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.distribution.UniformRealDistribution;
 import org.apache.commons.math4.fitting.SimpleCurveFitter;
 import org.apache.commons.math4.fitting.WeightedObservedPoints;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Test;
 
 /**
@@ -34,8 +35,9 @@ public class SimpleCurveFitterTest {
     @Test
     public void testPolynomialFit() {
         final Random randomizer = new Random(53882150042L);
-        final RealDistribution rng = new UniformRealDistribution(-100, 100);
-        rng.reseedRandomGenerator(64925784252L);
+        final RealDistribution.Sampler rng
+            = new UniformRealDistribution(-100, 
100).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
        64925784253L));
 
         final double[] coeff = { 12.9, -3.4, 2.1 }; // 12.9 - 3.4 x + 2.1 x^2
         final PolynomialFunction f = new PolynomialFunction(coeff);

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/linear/EigenDecompositionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/linear/EigenDecompositionTest.java 
b/src/test/java/org/apache/commons/math4/linear/EigenDecompositionTest.java
index fba9e90..683954f 100644
--- a/src/test/java/org/apache/commons/math4/linear/EigenDecompositionTest.java
+++ b/src/test/java/org/apache/commons/math4/linear/EigenDecompositionTest.java
@@ -20,6 +20,7 @@ package org.apache.commons.math4.linear;
 import java.util.Arrays;
 import java.util.Random;
 
+import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.distribution.NormalDistribution;
 import org.apache.commons.math4.exception.MathUnsupportedOperationException;
 import org.apache.commons.math4.linear.ArrayRealVector;
@@ -32,6 +33,7 @@ import org.apache.commons.math4.linear.TriDiagonalTransformer;
 import org.apache.commons.math4.util.FastMath;
 import org.apache.commons.math4.util.MathArrays;
 import org.apache.commons.math4.util.Precision;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -468,7 +470,9 @@ public class EigenDecompositionTest {
     public void testNormalDistributionUnsymmetricMatrix() {
         for (int run = 0; run < 100; run++) {
             Random r = new Random(System.currentTimeMillis());
-            NormalDistribution dist = new NormalDistribution(0.0, 
r.nextDouble() * 5);
+            RealDistribution.Sampler dist 
+                = new NormalDistribution(0.0, r.nextDouble() * 
5).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
                     64925784252L));
 
             // matrix size
             int size = r.nextInt(20) + 4;

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/linear/HessenbergTransformerTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/linear/HessenbergTransformerTest.java 
b/src/test/java/org/apache/commons/math4/linear/HessenbergTransformerTest.java
index 310f23d..af6e837 100644
--- 
a/src/test/java/org/apache/commons/math4/linear/HessenbergTransformerTest.java
+++ 
b/src/test/java/org/apache/commons/math4/linear/HessenbergTransformerTest.java
@@ -19,11 +19,13 @@ package org.apache.commons.math4.linear;
 
 import java.util.Random;
 
+import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.distribution.NormalDistribution;
 import org.apache.commons.math4.linear.HessenbergTransformer;
 import org.apache.commons.math4.linear.MatrixUtils;
 import org.apache.commons.math4.linear.NonSquareMatrixException;
 import org.apache.commons.math4.linear.RealMatrix;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Test;
 import org.junit.Assert;
 
@@ -112,7 +114,9 @@ public class HessenbergTransformerTest {
     public void testRandomDataNormalDistribution() {
         for (int run = 0; run < 100; run++) {
             Random r = new Random(System.currentTimeMillis());
-            NormalDistribution dist = new NormalDistribution(0.0, 
r.nextDouble() * 5);
+            RealDistribution.Sampler dist 
+                = new NormalDistribution(0.0, r.nextDouble() * 
5).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
                     64925784252L));
 
             // matrix size
             int size = r.nextInt(20) + 4;

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/linear/SchurTransformerTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/linear/SchurTransformerTest.java 
b/src/test/java/org/apache/commons/math4/linear/SchurTransformerTest.java
index e0a5611..f2cf72e 100644
--- a/src/test/java/org/apache/commons/math4/linear/SchurTransformerTest.java
+++ b/src/test/java/org/apache/commons/math4/linear/SchurTransformerTest.java
@@ -19,11 +19,13 @@ package org.apache.commons.math4.linear;
 
 import java.util.Random;
 
+import org.apache.commons.math4.distribution.RealDistribution;
 import org.apache.commons.math4.distribution.NormalDistribution;
 import org.apache.commons.math4.linear.MatrixUtils;
 import org.apache.commons.math4.linear.NonSquareMatrixException;
 import org.apache.commons.math4.linear.RealMatrix;
 import org.apache.commons.math4.linear.SchurTransformer;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Test;
 import org.junit.Assert;
 
@@ -116,7 +118,9 @@ public class SchurTransformerTest {
     public void testRandomDataNormalDistribution() {
         for (int run = 0; run < 100; run++) {
             Random r = new Random(System.currentTimeMillis());
-            NormalDistribution dist = new NormalDistribution(0.0, 
r.nextDouble() * 5);
+            RealDistribution.Sampler dist
+                = new NormalDistribution(0.0, r.nextDouble() * 
5).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
                     64925784252L));
 
             // matrix size
             int size = r.nextInt(20) + 4;

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatisticsTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatisticsTest.java
 
b/src/test/java/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatisticsTest.java
index 5324ecf..139a060 100644
--- 
a/src/test/java/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatisticsTest.java
+++ 
b/src/test/java/org/apache/commons/math4/stat/descriptive/AggregateSummaryStatisticsTest.java
@@ -23,9 +23,11 @@ import java.util.Collection;
 import org.apache.commons.math4.TestUtils;
 import org.apache.commons.math4.distribution.IntegerDistribution;
 import org.apache.commons.math4.distribution.RealDistribution;
+import org.apache.commons.math4.distribution.AbstractRealDistribution;
 import org.apache.commons.math4.distribution.UniformIntegerDistribution;
 import org.apache.commons.math4.distribution.UniformRealDistribution;
 import org.apache.commons.math4.util.Precision;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -281,9 +283,11 @@ public class AggregateSummaryStatisticsTest {
      */
     private double[] generateSample() {
         final IntegerDistribution size = new UniformIntegerDistribution(10, 
100);
-        final RealDistribution randomData = new UniformRealDistribution(-100, 
100);
+        final RealDistribution.Sampler randomData
+            = new UniformRealDistribution(-100, 
100).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
        64925784252L));;
         final int sampleSize = size.sample();
-        final double[] out = randomData.sample(sampleSize);
+        final double[] out = AbstractRealDistribution.sample(sampleSize, 
randomData);
         return out;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/stat/descriptive/UnivariateStatisticAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/stat/descriptive/UnivariateStatisticAbstractTest.java
 
b/src/test/java/org/apache/commons/math4/stat/descriptive/UnivariateStatisticAbstractTest.java
index 6f12b1e..cd5be56 100644
--- 
a/src/test/java/org/apache/commons/math4/stat/descriptive/UnivariateStatisticAbstractTest.java
+++ 
b/src/test/java/org/apache/commons/math4/stat/descriptive/UnivariateStatisticAbstractTest.java
@@ -27,6 +27,7 @@ import 
org.apache.commons.math4.distribution.UniformIntegerDistribution;
 import org.apache.commons.math4.stat.descriptive.UnivariateStatistic;
 import org.apache.commons.math4.stat.descriptive.WeightedEvaluation;
 import org.apache.commons.math4.util.FastMath;
+import org.apache.commons.math4.rng.RandomSource;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -187,7 +188,9 @@ public abstract class UnivariateStatisticAbstractTest {
         // Fill values array with random data from N(mu, sigma)
         // and fill valuesList with values from values array with
         // values[i] repeated weights[i] times, each i
-        final RealDistribution valueDist = new NormalDistribution(mu, sigma);
+        final RealDistribution.Sampler valueDist
+            = new NormalDistribution(mu, 
sigma).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
   64925784252L));
         List<Double> valuesList = new ArrayList<Double>();
         for (int i = 0; i < len; i++) {
             double value = valueDist.sample();

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentileTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentileTest.java
 
b/src/test/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentileTest.java
index fdbf689..52cea33 100644
--- 
a/src/test/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentileTest.java
+++ 
b/src/test/java/org/apache/commons/math4/stat/descriptive/rank/PSquarePercentileTest.java
@@ -27,6 +27,7 @@ import java.util.Set;
 import org.apache.commons.math4.distribution.LogNormalDistribution;
 import org.apache.commons.math4.distribution.NormalDistribution;
 import org.apache.commons.math4.distribution.RealDistribution;
+import org.apache.commons.math4.distribution.AbstractRealDistribution;
 import org.apache.commons.math4.exception.MathIllegalArgumentException;
 import org.apache.commons.math4.exception.NullArgumentException;
 import org.apache.commons.math4.exception.OutOfRangeException;
@@ -714,39 +715,39 @@ public class PSquarePercentileTest extends
             
distribution.createSampler(RandomSource.create(RandomSource.WELL_19937_C, 
1000));
         double data[];
 
-        data = distribution.sample(VERY_LARGE);
+        data = AbstractRealDistribution.sample(VERY_LARGE, sampler);
         doCalculatePercentile(50, data, 0.0001);
         doCalculatePercentile(95, data, 0.0001);
 
-        data = distribution.sample(LARGE);
+        data = AbstractRealDistribution.sample(LARGE, sampler);
         doCalculatePercentile(50, data, 0.001);
         doCalculatePercentile(95, data, 0.001);
 
-        data = distribution.sample(VERY_BIG);
+        data = AbstractRealDistribution.sample(VERY_BIG, sampler);
         doCalculatePercentile(50, data, 0.001);
         doCalculatePercentile(95, data, 0.001);
 
-        data = distribution.sample(BIG);
+        data = AbstractRealDistribution.sample(BIG, sampler);
         doCalculatePercentile(50, data, 0.001);
         doCalculatePercentile(95, data, 0.001);
 
-        data = distribution.sample(STANDARD);
+        data = AbstractRealDistribution.sample(STANDARD, sampler);
         doCalculatePercentile(50, data, 0.005);
         doCalculatePercentile(95, data, 0.005);
 
-        data = distribution.sample(MEDIUM);
+        data = AbstractRealDistribution.sample(MEDIUM, sampler);
         doCalculatePercentile(50, data, 0.005);
         doCalculatePercentile(95, data, 0.005);
 
-        data = distribution.sample(NOMINAL);
+        data = AbstractRealDistribution.sample(NOMINAL, sampler);
         doCalculatePercentile(50, data, 0.01);
         doCalculatePercentile(95, data, 0.01);
 
-        data = distribution.sample(SMALL);
+        data = AbstractRealDistribution.sample(SMALL, sampler);
         doCalculatePercentile(50, data, 0.01);
         doCalculatePercentile(95, data, 0.01);
 
-        data = distribution.sample(TINY);
+        data = AbstractRealDistribution.sample(TINY, sampler);
         doCalculatePercentile(50, data, 0.05);
         doCalculatePercentile(95, data, 0.05);
 

http://git-wip-us.apache.org/repos/asf/commons-math/blob/77c24aa9/src/test/java/org/apache/commons/math4/util/MathUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/util/MathUtilsTest.java 
b/src/test/java/org/apache/commons/math4/util/MathUtilsTest.java
index b9beee3..8ce9a2d 100644
--- a/src/test/java/org/apache/commons/math4/util/MathUtilsTest.java
+++ b/src/test/java/org/apache/commons/math4/util/MathUtilsTest.java
@@ -20,6 +20,7 @@ import 
org.apache.commons.math4.exception.NotFiniteNumberException;
 import org.apache.commons.math4.exception.NullArgumentException;
 import org.apache.commons.math4.exception.util.LocalizedFormats;
 import org.apache.commons.math4.random.RandomDataGenerator;
+import org.apache.commons.math4.rng.RandomSource;
 import org.apache.commons.math4.util.FastMath;
 import org.apache.commons.math4.util.MathUtils;
 import org.junit.Assert;
@@ -100,7 +101,9 @@ public final class MathUtilsTest {
 
         // Generate 10 distinct random values
         for (int i = 0; i < 10; i++) {
-            final RealDistribution u = new UniformRealDistribution(i + 0.5, i 
+ 0.75);
+            final RealDistribution.Sampler u
+                = new UniformRealDistribution(i + 0.5, i + 
0.75).createSampler(RandomSource.create(RandomSource.WELL_512_A,
+                                                                               
                    64925784252L));
             original[i] = u.sample();
         }
 

Reply via email to