http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/NormalDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/NormalDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/NormalDistributionTest.java
deleted file mode 100644
index 4e00f56..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/NormalDistributionTest.java
+++ /dev/null
@@ -1,216 +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.math4.distribution.NormalDistribution;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for {@link NormalDistribution}. Extends
- * {@link RealDistributionAbstractTest}. See class javadoc of that class
- * for details.
- *
- */
-public class NormalDistributionTest extends RealDistributionAbstractTest {
-
-    //-------------- Implementations for abstract methods 
-----------------------
-
-    /** Creates the default real distribution instance to use in tests. */
-    @Override
-    public NormalDistribution makeDistribution() {
-        return new NormalDistribution(2.1, 1.4);
-    }
-
-    /** Creates the default cumulative probability distribution test input 
values */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        // quantiles computed using R
-        return new double[] {-2.226325228634938d, -1.156887023657177d, 
-0.643949578356075d, -0.2027950777320613d, 0.305827808237559d,
-                6.42632522863494d, 5.35688702365718d, 4.843949578356074d, 
4.40279507773206d, 3.89417219176244d};
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0.001d, 0.01d, 0.025d, 0.05d, 0.1d, 0.999d,
-                0.990d, 0.975d, 0.950d, 0.900d};
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] {0.00240506434076, 0.0190372444310, 
0.0417464784322, 0.0736683145538, 0.125355951380,
-                0.00240506434076, 0.0190372444310, 0.0417464784322, 
0.0736683145538, 0.125355951380};
-    }
-
-    // --------------------- Override tolerance  --------------
-    protected double defaultTolerance = 
NormalDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY;
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(defaultTolerance);
-    }
-
-    //---------------------------- Additional test cases 
-------------------------
-
-    private void verifyQuantiles() {
-        NormalDistribution distribution = (NormalDistribution) 
getDistribution();
-        double mu = distribution.getMean();
-        double sigma = distribution.getStandardDeviation();
-        setCumulativeTestPoints( new double[] {mu - 2 *sigma, mu - sigma,
-                mu, mu + sigma, mu + 2 * sigma,  mu + 3 * sigma, mu + 4 * 
sigma,
-                mu + 5 * sigma});
-        // Quantiles computed using R (same as Mathematica)
-        setCumulativeTestValues(new double[] {0.02275013194817921, 
0.158655253931457, 0.5, 0.841344746068543,
-                0.977249868051821, 0.99865010196837, 0.999968328758167,  
0.999999713348428});
-        verifyCumulativeProbabilities();
-    }
-
-    @Test
-    public void testQuantiles() {
-        setDensityTestValues(new double[] {0.0385649760808, 0.172836231799, 
0.284958771715, 0.172836231799, 0.0385649760808,
-                0.00316560600853, 9.55930184035e-05, 1.06194251052e-06});
-        verifyQuantiles();
-        verifyDensities();
-
-        setDistribution(new NormalDistribution(0, 1));
-        setDensityTestValues(new double[] {0.0539909665132, 0.241970724519, 
0.398942280401, 0.241970724519, 0.0539909665132,
-                0.00443184841194, 0.000133830225765, 1.48671951473e-06});
-        verifyQuantiles();
-        verifyDensities();
-
-        setDistribution(new NormalDistribution(0, 0.1));
-        setDensityTestValues(new double[] {0.539909665132, 2.41970724519, 
3.98942280401, 2.41970724519,
-                0.539909665132, 0.0443184841194, 0.00133830225765, 
1.48671951473e-05});
-        verifyQuantiles();
-        verifyDensities();
-    }
-
-    @Test
-    public void testInverseCumulativeProbabilityExtremes() {
-        setInverseCumulativeTestPoints(new double[] {0, 1});
-        setInverseCumulativeTestValues(
-                new double[] {Double.NEGATIVE_INFINITY, 
Double.POSITIVE_INFINITY});
-        verifyInverseCumulativeProbabilities();
-    }
-
-    // MATH-1257
-    @Test
-    public void testCumulativeProbability() {
-        final RealDistribution dist = new NormalDistribution(0, 1);
-        double x = -10;
-        double expected = 7.61985e-24;
-        double v = dist.cumulativeProbability(x);
-        double tol = 1e-5;
-        Assert.assertEquals(1, v / expected, 1e-5);
-    }
-
-    @Test
-    public void testGetMean() {
-        NormalDistribution distribution = (NormalDistribution) 
getDistribution();
-        Assert.assertEquals(2.1, distribution.getMean(), 0);
-    }
-
-    @Test
-    public void testGetStandardDeviation() {
-        NormalDistribution distribution = (NormalDistribution) 
getDistribution();
-        Assert.assertEquals(1.4, distribution.getStandardDeviation(), 0);
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testPreconditions() {
-        new NormalDistribution(1, 0);
-    }
-
-    @Test
-    public void testDensity() {
-        double [] x = new double[]{-2, -1, 0, 1, 2};
-        // R 2.5: print(dnorm(c(-2,-1,0,1,2)), digits=10)
-        checkDensity(0, 1, x, new double[]{0.05399096651, 0.24197072452, 
0.39894228040, 0.24197072452, 0.05399096651});
-        // R 2.5: print(dnorm(c(-2,-1,0,1,2), mean=1.1), digits=10)
-        checkDensity(1.1, 1, x, new 
double[]{0.003266819056,0.043983595980,0.217852177033,0.396952547477,0.266085249899});
-    }
-
-    private void checkDensity(double mean, double sd, double[] x, double[] 
expected) {
-        NormalDistribution d = new NormalDistribution(mean, sd);
-        for (int i = 0; i < x.length; i++) {
-            Assert.assertEquals(expected[i], d.density(x[i]), 1e-9);
-        }
-    }
-
-    /**
-     * Check to make sure top-coding of extreme values works correctly.
-     * Verifies fixes for JIRA MATH-167, MATH-414
-     */
-    @Test
-    public void testExtremeValues() {
-        NormalDistribution distribution = new NormalDistribution(0, 1);
-        for (int i = 0; i < 100; i++) { // make sure no convergence exception
-            double lowerTail = distribution.cumulativeProbability(-i);
-            double upperTail = distribution.cumulativeProbability(i);
-            if (i < 9) { // make sure not top-coded
-                // For i = 10, due to bad tail precision in erf (MATH-364), 1 
is returned
-                // TODO: once MATH-364 is resolved, replace 9 with 30
-                Assert.assertTrue(lowerTail > 0.0d);
-                Assert.assertTrue(upperTail < 1.0d);
-            }
-            else { // make sure top coding not reversed
-                Assert.assertTrue(lowerTail < 0.00001);
-                Assert.assertTrue(upperTail > 0.99999);
-            }
-        }
-
-        
Assert.assertEquals(distribution.cumulativeProbability(Double.MAX_VALUE), 1, 0);
-        
Assert.assertEquals(distribution.cumulativeProbability(-Double.MAX_VALUE), 0, 
0);
-        
Assert.assertEquals(distribution.cumulativeProbability(Double.POSITIVE_INFINITY),
 1, 0);
-        
Assert.assertEquals(distribution.cumulativeProbability(Double.NEGATIVE_INFINITY),
 0, 0);
-    }
-
-    @Test
-    public void testMath280() {
-        NormalDistribution normal = new NormalDistribution(0,1);
-        double result = 
normal.inverseCumulativeProbability(0.9986501019683698);
-        Assert.assertEquals(3.0, result, defaultTolerance);
-        result = normal.inverseCumulativeProbability(0.841344746068543);
-        Assert.assertEquals(1.0, result, defaultTolerance);
-        result = normal.inverseCumulativeProbability(0.9999683287581673);
-        Assert.assertEquals(4.0, result, defaultTolerance);
-        result = normal.inverseCumulativeProbability(0.9772498680518209);
-        Assert.assertEquals(2.0, result, defaultTolerance);
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        NormalDistribution dist;
-
-        dist = new NormalDistribution(0, 1);
-        Assert.assertEquals(dist.getNumericalMean(), 0, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 1, tol);
-
-        dist = new NormalDistribution(2.2, 1.4);
-        Assert.assertEquals(dist.getNumericalMean(), 2.2, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 1.4 * 1.4, tol);
-
-        dist = new NormalDistribution(-2000.9, 10.4);
-        Assert.assertEquals(dist.getNumericalMean(), -2000.9, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 10.4 * 10.4, tol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/ParetoDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/ParetoDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/ParetoDistributionTest.java
deleted file mode 100644
index 0c5d488..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/ParetoDistributionTest.java
+++ /dev/null
@@ -1,206 +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.math4.distribution.ParetoDistribution;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for {@link ParetoDistribution}.
- * <p>
- * Extends {@link RealDistributionAbstractTest}. See class javadoc of that 
class for details.
- *
- * @since 3.3
- */
-public class ParetoDistributionTest extends RealDistributionAbstractTest {
-
-    //-------------- Implementations for abstract methods 
-----------------------
-
-    /** Creates the default real distribution instance to use in tests. */
-    @Override
-    public ParetoDistribution makeDistribution() {
-        return new ParetoDistribution(2.1, 1.4);
-    }
-
-    /** Creates the default cumulative probability distribution test input 
values */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        // quantiles computed using R
-        return new double[] { -2.226325228634938, -1.156887023657177, 
-0.643949578356075, -0.2027950777320613, 0.305827808237559,
-                              +6.42632522863494, 5.35688702365718, 
4.843949578356074, 4.40279507773206, 3.89417219176244 };
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] { 0, 0, 0, 0, 0, 0.791089998892, 0.730456085931, 
0.689667290488, 0.645278794701, 0.578763688757 };
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] { 0, 0, 0, 0, 0, 0.0455118580441, 0.070444173646, 
0.0896924681582, 0.112794186114, 0.151439332084 };
-    }
-
-    /**
-     * Creates the default inverse cumulative probability distribution test 
input values.
-     */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-        // Exclude the test points less than zero, as they have cumulative
-        // probability of zero, meaning the inverse returns zero, and not the
-        // points less than zero.
-        double[] points = makeCumulativeTestValues();
-        double[] points2 = new double[points.length - 5];
-        System.arraycopy(points, 5, points2, 0, points.length - 5);
-        return points2;
-    }
-
-    /**
-     * Creates the default inverse cumulative probability test expected values.
-     */
-    @Override
-    public double[] makeInverseCumulativeTestValues() {
-        // Exclude the test points less than zero, as they have cumulative
-        // probability of zero, meaning the inverse returns zero, and not the
-        // points less than zero.
-        double[] points = makeCumulativeTestPoints();
-        double[] points2 = new double[points.length - 5];
-        System.arraycopy(points, 5, points2, 0, points.length - 5);
-        return points2;
-    }
-
-    // --------------------- Override tolerance  --------------
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(ParetoDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY);
-    }
-
-    //---------------------------- Additional test cases 
-------------------------
-
-    private void verifyQuantiles() {
-        ParetoDistribution distribution = 
(ParetoDistribution)getDistribution();
-        double mu = distribution.getScale();
-        double sigma = distribution.getShape();
-        setCumulativeTestPoints( new double[] { mu - 2 *sigma,  mu - sigma,
-                                                mu,             mu + sigma,
-                                                mu + 2 * sigma, mu + 3 * sigma,
-                                                mu + 4 * sigma, mu + 5 * sigma 
});
-        verifyCumulativeProbabilities();
-    }
-
-    @Test
-    public void testQuantiles() {
-        setCumulativeTestValues(new double[] {0, 0, 0, 0.510884134236, 
0.694625688662, 0.785201995008, 0.837811522357, 0.871634279326});
-        setDensityTestValues(new double[] {0, 0, 0.666666666, 0.195646346305, 
0.0872498032394, 0.0477328899983, 0.0294888141169, 0.0197485724114});
-        verifyQuantiles();
-        verifyDensities();
-
-        setDistribution(new ParetoDistribution(1, 1));
-        setCumulativeTestValues(new double[] {0, 0, 0, 0.5, 0.666666666667, 
0.75, 0.8, 0.833333333333});
-        setDensityTestValues(new double[] {0, 0, 1.0, 0.25, 0.111111111111, 
0.0625, 0.04, 0.0277777777778});
-        verifyQuantiles();
-        verifyDensities();
-
-        setDistribution(new ParetoDistribution(0.1, 0.1));
-        setCumulativeTestValues(new double[] {0, 0, 0, 0.0669670084632, 
0.104041540159, 0.129449436704, 0.148660077479, 0.164041197922});
-        setDensityTestValues(new double[] {0, 0, 1.0, 0.466516495768, 
0.298652819947, 0.217637640824, 0.170267984504, 0.139326467013});
-        verifyQuantiles();
-        verifyDensities();
-    }
-
-    @Test
-    public void testInverseCumulativeProbabilityExtremes() {
-        setInverseCumulativeTestPoints(new double[] {0, 1});
-        setInverseCumulativeTestValues(new double[] {2.1, 
Double.POSITIVE_INFINITY});
-        verifyInverseCumulativeProbabilities();
-    }
-
-    @Test
-    public void testGetScale() {
-        ParetoDistribution distribution = 
(ParetoDistribution)getDistribution();
-        Assert.assertEquals(2.1, distribution.getScale(), 0);
-    }
-
-    @Test
-    public void testGetShape() {
-        ParetoDistribution distribution = 
(ParetoDistribution)getDistribution();
-        Assert.assertEquals(1.4, distribution.getShape(), 0);
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testPreconditions() {
-        new ParetoDistribution(1, 0);
-    }
-
-    @Test
-    public void testDensity() {
-        double [] x = new double[]{-2, -1, 0, 1, 2};
-        // R 2.14: print(dpareto(c(-2,-1,0,1,2), scale=1, shape=1), digits=10)
-        checkDensity(1, 1, x, new double[] { 0.00, 0.00, 0.00, 1.00, 0.25 });
-        // R 2.14: print(dpareto(c(-2,-1,0,1,2), scale=1.1, shape=1), 
digits=10)
-        checkDensity(1.1, 1, x, new double[] { 0.000, 0.000, 0.000, 0.000, 
0.275 });
-    }
-
-    private void checkDensity(double scale, double shape, double[] x,
-        double[] expected) {
-        ParetoDistribution d = new ParetoDistribution(scale, shape);
-        for (int i = 0; i < x.length; i++) {
-            Assert.assertEquals(expected[i], d.density(x[i]), 1e-9);
-        }
-    }
-
-    /**
-     * Check to make sure top-coding of extreme values works correctly.
-     */
-    @Test
-    public void testExtremeValues() {
-        ParetoDistribution d = new ParetoDistribution(1, 1);
-        for (int i = 0; i < 1e5; i++) { // make sure no convergence exception
-            double upperTail = d.cumulativeProbability(i);
-            if (i <= 1000) { // make sure not top-coded
-                Assert.assertTrue(upperTail < 1.0d);
-            }
-            else { // make sure top coding not reversed
-                Assert.assertTrue(upperTail > 0.999);
-            }
-        }
-
-        Assert.assertEquals(d.cumulativeProbability(Double.MAX_VALUE), 1, 0);
-        Assert.assertEquals(d.cumulativeProbability(-Double.MAX_VALUE), 0, 0);
-        Assert.assertEquals(d.cumulativeProbability(Double.POSITIVE_INFINITY), 
1, 0);
-        Assert.assertEquals(d.cumulativeProbability(Double.NEGATIVE_INFINITY), 
0, 0);
-    }
-
-    @Test
-    public void testMeanVariance() {
-        final double tol = 1e-9;
-        ParetoDistribution dist;
-
-        dist = new ParetoDistribution(1, 1);
-        Assert.assertEquals(dist.getNumericalMean(), Double.POSITIVE_INFINITY, 
tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 
Double.POSITIVE_INFINITY, tol);
-
-        dist = new ParetoDistribution(2.2, 2.4);
-        Assert.assertEquals(dist.getNumericalMean(), 3.771428571428, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 14.816326530, tol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/PascalDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/PascalDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/PascalDistributionTest.java
deleted file mode 100644
index 6f2725e..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/PascalDistributionTest.java
+++ /dev/null
@@ -1,135 +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.math4.distribution.IntegerDistribution;
-import org.apache.commons.math4.distribution.NormalDistribution;
-import org.apache.commons.math4.distribution.PascalDistribution;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for PascalDistribution.
- * Extends IntegerDistributionAbstractTest.  See class javadoc for
- * IntegerDistributionAbstractTest for details.
- *
- */
-public class PascalDistributionTest extends IntegerDistributionAbstractTest {
-
-    // --------------------- Override tolerance  --------------
-    protected double defaultTolerance = 
NormalDistribution.DEFAULT_INVERSE_ABSOLUTE_ACCURACY;
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(defaultTolerance);
-    }
-
-    //-------------- Implementations for abstract methods 
-----------------------
-
-    /** Creates the default discrete distribution instance to use in tests. */
-    @Override
-    public IntegerDistribution makeDistribution() {
-        return new PascalDistribution(10,0.70);
-    }
-
-    /** Creates the default probability density test input values */
-    @Override
-    public int[] makeDensityTestPoints() {
-      return new int[] {-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-      return new double[] {0, 0.0282475249, 0.0847425747, 0.139825248255, 
0.167790297906, 0.163595540458,
-              0.137420253985, 0.103065190489, 0.070673273478, 0.0450542118422, 
0.0270325271053,
-              0.0154085404500, 0.0084046584273};
-    }
-
-    /** Creates the default cumulative probability density test input values */
-    @Override
-    public int[] makeCumulativeTestPoints() {
-      return makeDensityTestPoints();
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-      return new double[] {0, 0.0282475249, 0.1129900996, 0.252815347855, 
0.420605645761, 0.584201186219,
-              0.721621440204, 0.824686630693, 0.895359904171, 0.940414116013, 
0.967446643119,
-              0.982855183569, 0.991259841996};
-        }
-
-    /** Creates the default inverse cumulative probability test input values */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-      return new double[] {0.0, 0.001, 0.010, 0.025, 0.050, 0.100, 0.999,
-          0.990, 0.975, 0.950, 0.900, 1.0};
-        }
-
-    /** Creates the default inverse cumulative probability density test 
expected values */
-    @Override
-    public int[] makeInverseCumulativeTestValues() {
-      return new int[] {0, 0, 0, 0, 1, 1, 14, 11, 10, 9, 8, Integer.MAX_VALUE};
-    }
-
-    //----------------- Additional test cases ---------------------------------
-
-    /** Test degenerate case p = 0   */
-    @Test
-    public void testDegenerate0() {
-        setDistribution(new PascalDistribution(5, 0.0d));
-        setCumulativeTestPoints(new int[] {-1, 0, 1, 5, 10 });
-        setCumulativeTestValues(new double[] {0d, 0d, 0d, 0d, 0d});
-        setDensityTestPoints(new int[] {-1, 0, 1, 10, 11});
-        setDensityTestValues(new double[] {0d, 0d, 0d, 0d, 0d});
-        setInverseCumulativeTestPoints(new double[] {0.1d, 0.5d});
-        setInverseCumulativeTestValues(new int[] {Integer.MAX_VALUE, 
Integer.MAX_VALUE});
-        verifyDensities();
-        verifyCumulativeProbabilities();
-        verifyInverseCumulativeProbabilities();
-    }
-
-    /** Test degenerate case p = 1   */
-    @Test
-    public void testDegenerate1() {
-        setDistribution(new PascalDistribution(5, 1.0d));
-        setCumulativeTestPoints(new int[] {-1, 0, 1, 2, 5, 10 });
-        setCumulativeTestValues(new double[] {0d, 1d, 1d, 1d, 1d, 1d});
-        setDensityTestPoints(new int[] {-1, 0, 1, 2, 5, 10});
-        setDensityTestValues(new double[] {0d, 1d, 0d, 0d, 0d, 0d});
-        setInverseCumulativeTestPoints(new double[] {0.1d, 0.5d});
-        setInverseCumulativeTestValues(new int[] {0, 0});
-        verifyDensities();
-        verifyCumulativeProbabilities();
-        verifyInverseCumulativeProbabilities();
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        PascalDistribution dist;
-
-        dist = new PascalDistribution(10, 0.5);
-        Assert.assertEquals(dist.getNumericalMean(), ( 10d * 0.5d ) / 0.5d, 
tol);
-        Assert.assertEquals(dist.getNumericalVariance(), ( 10d * 0.5d ) / 
(0.5d * 0.5d), tol);
-
-        dist = new PascalDistribution(25, 0.7);
-        Assert.assertEquals(dist.getNumericalMean(), ( 25d * 0.3d ) / 0.7d, 
tol);
-        Assert.assertEquals(dist.getNumericalVariance(), ( 25d * 0.3d ) / 
(0.7d * 0.7d), tol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/PoissonDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/PoissonDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/PoissonDistributionTest.java
deleted file mode 100644
index a0c404c..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/PoissonDistributionTest.java
+++ /dev/null
@@ -1,248 +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.math4.distribution.IntegerDistribution;
-import org.apache.commons.math4.distribution.PoissonDistribution;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-import org.apache.commons.math4.util.FastMath;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * <code>PoissonDistributionTest</code>
- *
- */
-public class PoissonDistributionTest extends IntegerDistributionAbstractTest {
-
-    /**
-     * Poisson parameter value for the test distribution.
-     */
-    private static final double DEFAULT_TEST_POISSON_PARAMETER = 4.0;
-
-    /**
-     * Constructor.
-     */
-    public PoissonDistributionTest() {
-        setTolerance(1e-12);
-    }
-
-    /**
-     * Creates the default discrete distribution instance to use in tests.
-     */
-    @Override
-    public IntegerDistribution makeDistribution() {
-        return new PoissonDistribution(DEFAULT_TEST_POISSON_PARAMETER);
-    }
-
-    /**
-     * Creates the default probability density test input values.
-     */
-    @Override
-    public int[] makeDensityTestPoints() {
-        return new int[] { -1, 0, 1, 2, 3, 4, 5, 10, 20};
-    }
-
-    /**
-     * Creates the default probability density test expected values.
-     * These and all other test values are generated by R, version 1.8.1
-     */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] { 0d, 0.0183156388887d,  0.073262555555d,
-                0.14652511111d, 0.195366814813d, 0.195366814813,
-                0.156293451851d, 0.00529247667642d, 8.27746364655e-09};
-    }
-
-    /**
-     * Creates the default logarithmic probability density test expected 
values.
-     * Reference values are from R, version 2.14.1.
-     */
-    @Override
-    public double[] makeLogDensityTestValues() {
-        return new double[] { Double.NEGATIVE_INFINITY, -4.000000000000d,
-                -2.613705638880d, -1.920558458320d, -1.632876385868d,
-                -1.632876385868d, -1.856019937183d, -5.241468961877d,
-                -18.609729238356d};
-    }
-
-    /**
-     * Creates the default cumulative probability density test input values.
-     */
-    @Override
-    public int[] makeCumulativeTestPoints() {
-        return new int[] { -1, 0, 1, 2, 3, 4, 5, 10, 20 };
-    }
-
-    /**
-     * Creates the default cumulative probability density test expected values.
-     */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] { 0d,  0.0183156388887d, 0.0915781944437d,
-                0.238103305554d, 0.433470120367d, 0.62883693518,
-                0.78513038703d,  0.99716023388d, 0.999999998077 };
-    }
-
-    /**
-     * Creates the default inverse cumulative probability test input values.
-     */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-        IntegerDistribution dist = getDistribution();
-        return new double[] { 0d, 0.018315638886d, 0.018315638890d,
-                0.091578194441d, 0.091578194445d, 0.238103305552d,
-                0.238103305556d, dist.cumulativeProbability(3),
-                dist.cumulativeProbability(4), dist.cumulativeProbability(5),
-                dist.cumulativeProbability(10), 
dist.cumulativeProbability(20)};
-    }
-
-    /**
-     * Creates the default inverse cumulative probability density test 
expected values.
-     */
-    @Override
-    public int[] makeInverseCumulativeTestValues() {
-        return new int[] { 0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 10, 20};
-    }
-
-    /**
-     * Test the normal approximation of the Poisson distribution by
-     * calculating P(90 &le; X &le; 110) for X = Po(100) and
-     * P(9900 &le; X &le; 10200) for X  = Po(10000)
-     */
-    @Test
-    public void testNormalApproximateProbability() {
-        PoissonDistribution dist = new PoissonDistribution(100);
-        double result = dist.normalApproximateProbability(110)
-                - dist.normalApproximateProbability(89);
-        Assert.assertEquals(0.706281887248, result, 1E-10);
-
-        dist = new PoissonDistribution(10000);
-        result = dist.normalApproximateProbability(10200)
-        - dist.normalApproximateProbability(9899);
-        Assert.assertEquals(0.820070051552, result, 1E-10);
-    }
-
-    /**
-     * Test the degenerate cases of a 0.0 and 1.0 inverse cumulative 
probability.
-     */
-    @Test
-    public void testDegenerateInverseCumulativeProbability() {
-        PoissonDistribution dist = new 
PoissonDistribution(DEFAULT_TEST_POISSON_PARAMETER);
-        Assert.assertEquals(Integer.MAX_VALUE, 
dist.inverseCumulativeProbability(1.0d));
-        Assert.assertEquals(0, dist.inverseCumulativeProbability(0d));
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testNegativeMean() {
-        new PoissonDistribution(-1);
-    }
-
-    @Test
-    public void testMean() {
-        PoissonDistribution dist = new PoissonDistribution(10.0);
-        Assert.assertEquals(10.0, dist.getMean(), 0.0);
-    }
-
-    @Test
-    public void testLargeMeanCumulativeProbability() {
-        double mean = 1.0;
-        while (mean <= 10000000.0) {
-            PoissonDistribution dist = new PoissonDistribution(mean);
-
-            double x = mean * 2.0;
-            double dx = x / 10.0;
-            double p = Double.NaN;
-            double sigma = FastMath.sqrt(mean);
-            while (x >= 0) {
-                try {
-                    p = dist.cumulativeProbability((int) x);
-                    Assert.assertFalse("NaN cumulative probability returned 
for mean = " +
-                            mean + " x = " + x,Double.isNaN(p));
-                    if (x > mean - 2 * sigma) {
-                        Assert.assertTrue("Zero cum probaility returned for 
mean = " +
-                                mean + " x = " + x, p > 0);
-                    }
-                } catch (Exception ex) {
-                    Assert.fail("mean of " + mean + " and x of " + x + " 
caused " + ex.getMessage());
-                }
-                x -= dx;
-            }
-
-            mean *= 10.0;
-        }
-    }
-
-    /**
-     * JIRA: MATH-282
-     */
-    @Test
-    public void testCumulativeProbabilitySpecial() {
-        PoissonDistribution dist;
-        dist = new PoissonDistribution(9120);
-        checkProbability(dist, 9075);
-        checkProbability(dist, 9102);
-        dist = new PoissonDistribution(5058);
-        checkProbability(dist, 5044);
-        dist = new PoissonDistribution(6986);
-        checkProbability(dist, 6950);
-    }
-
-    private void checkProbability(PoissonDistribution dist, int x) {
-        double p = dist.cumulativeProbability(x);
-        Assert.assertFalse("NaN cumulative probability returned for mean = " +
-                dist.getMean() + " x = " + x, Double.isNaN(p));
-        Assert.assertTrue("Zero cum probability returned for mean = " +
-                dist.getMean() + " x = " + x, p > 0);
-    }
-
-    @Test
-    public void testLargeMeanInverseCumulativeProbability() {
-        double mean = 1.0;
-        while (mean <= 100000.0) { // Extended test value: 1E7.  Reduced to 
limit run time.
-            PoissonDistribution dist = new PoissonDistribution(mean);
-            double p = 0.1;
-            double dp = p;
-            while (p < .99) {
-                try {
-                    int ret = dist.inverseCumulativeProbability(p);
-                    // Verify that returned value satisties definition
-                    Assert.assertTrue(p <= dist.cumulativeProbability(ret));
-                    Assert.assertTrue(p > dist.cumulativeProbability(ret - 1));
-                } catch (Exception ex) {
-                    Assert.fail("mean of " + mean + " and p of " + p + " 
caused " + ex.getMessage());
-                }
-                p += dp;
-            }
-            mean *= 10.0;
-        }
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        PoissonDistribution dist;
-
-        dist = new PoissonDistribution(1);
-        Assert.assertEquals(dist.getNumericalMean(), 1, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 1, tol);
-
-        dist = new PoissonDistribution(11.23);
-        Assert.assertEquals(dist.getNumericalMean(), 11.23, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 11.23, tol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/TDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/TDistributionTest.java 
b/src/test/java/org/apache/commons/math4/distribution/TDistributionTest.java
deleted file mode 100644
index 992bb34..0000000
--- a/src/test/java/org/apache/commons/math4/distribution/TDistributionTest.java
+++ /dev/null
@@ -1,173 +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.junit.Assert;
-import org.junit.Test;
-import org.apache.commons.math4.TestUtils;
-import org.apache.commons.math4.distribution.TDistribution;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-/**
- * Test cases for TDistribution.
- * Extends ContinuousDistributionAbstractTest.  See class javadoc for
- * ContinuousDistributionAbstractTest for details.
- *
- */
-public class TDistributionTest extends RealDistributionAbstractTest {
-
-//-------------- Implementations for abstract methods -----------------------
-
-    /** Creates the default continuous distribution instance to use in tests. 
*/
-    @Override
-    public TDistribution makeDistribution() {
-        return new TDistribution(5.0);
-    }
-
-    /** Creates the default cumulative probability distribution test input 
values */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        // quantiles computed using R version 2.9.2
-        return new double[] {-5.89342953136, -3.36492999891, -2.57058183564, 
-2.01504837333, -1.47588404882,
-                5.89342953136, 3.36492999891, 2.57058183564, 2.01504837333, 
1.47588404882};
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0.001, 0.01, 0.025, 0.05, 0.1, 0.999,
-                0.990, 0.975, 0.950, 0.900};
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] {0.000756494565517, 0.0109109752919, 
0.0303377878006, 0.0637967988952, 0.128289492005,
-                0.000756494565517, 0.0109109752919, 0.0303377878006, 
0.0637967988952, 0.128289492005};
-    }
-
-    // --------------------- Override tolerance  --------------
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(1E-9);
-    }
-
-    //---------------------------- Additional test cases 
-------------------------
-    /**
-     * @see <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27243";>
-     *      Bug report that prompted this unit test.</a>
-     */
-    @Test
-    public void testCumulativeProbabilityAgainstStackOverflow() {
-        TDistribution td = new TDistribution(5.);
-        td.cumulativeProbability(.1);
-        td.cumulativeProbability(.01);
-    }
-
-    @Test
-    public void testSmallDf() {
-        setDistribution(new TDistribution(1d));
-        // quantiles computed using R version 2.9.2
-        setCumulativeTestPoints(new double[] {-318.308838986, -31.8205159538, 
-12.7062047362,
-                -6.31375151468, -3.07768353718, 318.308838986, 31.8205159538, 
12.7062047362,
-                 6.31375151468, 3.07768353718});
-        setDensityTestValues(new double[] {3.14158231817e-06, 
0.000314055924703, 0.00195946145194,
-                0.00778959736375, 0.0303958893917, 3.14158231817e-06, 
0.000314055924703,
-                0.00195946145194, 0.00778959736375, 0.0303958893917});
-        setInverseCumulativeTestValues(getCumulativeTestPoints());
-        verifyCumulativeProbabilities();
-        verifyInverseCumulativeProbabilities();
-        verifyDensities();
-    }
-
-    @Test
-    public void testInverseCumulativeProbabilityExtremes() {
-        setInverseCumulativeTestPoints(new double[] {0, 1});
-        setInverseCumulativeTestValues(
-                new double[] {Double.NEGATIVE_INFINITY, 
Double.POSITIVE_INFINITY});
-        verifyInverseCumulativeProbabilities();
-    }
-
-    @Test
-    public void testCumulativeProbablilityExtremes() {
-        TDistribution dist;
-        for (int i = 1; i < 11; i++) {
-            dist = new TDistribution(i * 5);
-            Assert.assertEquals(1,
-                dist.cumulativeProbability(Double.POSITIVE_INFINITY), 
Double.MIN_VALUE);
-            Assert.assertEquals(0,
-                dist.cumulativeProbability(Double.NEGATIVE_INFINITY), 
Double.MIN_VALUE);
-        }
-    }
-
-    @Test
-    public void testDfAccessors() {
-        TDistribution dist = (TDistribution) getDistribution();
-        Assert.assertEquals(5d, dist.getDegreesOfFreedom(), Double.MIN_VALUE);
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testPreconditions() {
-        new TDistribution(0);
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        TDistribution dist;
-
-        dist = new TDistribution(1);
-        Assert.assertTrue(Double.isNaN(dist.getNumericalMean()));
-        Assert.assertTrue(Double.isNaN(dist.getNumericalVariance()));
-
-        dist = new TDistribution(1.5);
-        Assert.assertEquals(dist.getNumericalMean(), 0, tol);
-        Assert.assertTrue(Double.isInfinite(dist.getNumericalVariance()));
-
-        dist = new TDistribution(5);
-        Assert.assertEquals(dist.getNumericalMean(), 0, tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 5d / (5d - 2d), tol);
-    }
-
-    /*
-     * Adding this test to benchmark against tables published by NIST
-     * http://itl.nist.gov/div898/handbook/eda/section3/eda3672.htm
-     * Have chosen tabulated results for degrees of freedom 2,10,30,100
-     * Have chosen problevels from 0.10 to 0.001
-     */
-    @Test
-    public void nistData(){
-        double[] prob = new double[]{ 0.10,0.05,0.025,0.01,0.005,0.001};
-        double[] args2 = new double[]{1.886,2.920,4.303,6.965,9.925,22.327};
-        double[] args10 = new double[]{1.372,1.812,2.228,2.764,3.169,4.143};
-        double[] args30 = new double[]{1.310,1.697,2.042,2.457,2.750,3.385};
-        double[] args100= new double[]{1.290,1.660,1.984,2.364,2.626,3.174};
-        TestUtils.assertEquals(prob, makeNistResults(args2, 2), 1.0e-4);
-        TestUtils.assertEquals(prob, makeNistResults(args10, 10), 1.0e-4);
-        TestUtils.assertEquals(prob, makeNistResults(args30, 30), 1.0e-4);
-        TestUtils.assertEquals(prob, makeNistResults(args100, 100), 1.0e-4);
-        return;
-    }
-    private double[] makeNistResults(double[] args, int df){
-        TDistribution td =  new TDistribution(df);
-        double[] res  = new double[ args.length ];
-        for( int i = 0 ; i < res.length ; i++){
-            res[i] = 1.0 - td.cumulativeProbability(args[i]);
-        }
-        return res;
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/TriangularDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/TriangularDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/TriangularDistributionTest.java
deleted file mode 100644
index d8027e7..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/TriangularDistributionTest.java
+++ /dev/null
@@ -1,194 +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.math4.distribution.TriangularDistribution;
-import org.apache.commons.math4.exception.NumberIsTooLargeException;
-import org.apache.commons.math4.exception.NumberIsTooSmallException;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for {@link TriangularDistribution}. See class javadoc for
- * {@link RealDistributionAbstractTest} for further details.
- */
-public class TriangularDistributionTest extends RealDistributionAbstractTest {
-
-    // --- Override tolerance -------------------------------------------------
-
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(1e-4);
-    }
-
-    //--- Implementations for abstract methods --------------------------------
-
-    /**
-     * Creates the default triangular distribution instance to use in tests.
-     */
-    @Override
-    public TriangularDistribution makeDistribution() {
-        // Left side 5 wide, right side 10 wide.
-        return new TriangularDistribution(-3, 2, 12);
-    }
-
-    /**
-     * Creates the default cumulative probability distribution test input
-     * values.
-     */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        return new double[] { -3.0001,                 // below lower limit
-                              -3.0,                    // at lower limit
-                              -2.0, -1.0, 0.0, 1.0,    // on lower side
-                              2.0,                     // at mode
-                              3.0, 4.0, 10.0, 11.0,    // on upper side
-                              12.0,                    // at upper limit
-                              12.0001                  // above upper limit
-                            };
-    }
-
-    /**
-     * Creates the default cumulative probability density test expected values.
-     */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        // Top at 2 / (b - a) = 2 / (12 - -3) = 2 / 15 = 7.5
-        // Area left  = 7.5 * 5  * 0.5 = 18.75 (1/3 of the total area)
-        // Area right = 7.5 * 10 * 0.5 = 37.5  (2/3 of the total area)
-        // Area total = 18.75 + 37.5 = 56.25
-        // Derivative left side = 7.5 / 5 = 1.5
-        // Derivative right side = -7.5 / 10 = -0.75
-        double third = 1 / 3.0;
-        double left = 18.75;
-        double area = 56.25;
-        return new double[] { 0.0,
-                              0.0,
-                              0.75 / area, 3 / area, 6.75 / area, 12 / area,
-                              third,
-                              (left + 7.125) / area, (left + 13.5) / area,
-                              (left + 36) / area, (left + 37.125) / area,
-                              1.0,
-                              1.0
-                            };
-    }
-
-    /**
-     * Creates the default inverse cumulative probability distribution test
-     * input values.
-     */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-        // Exclude the points outside the limits, as they have cumulative
-        // probability of zero and one, meaning the inverse returns the
-        // limits and not the points outside the limits.
-        double[] points = makeCumulativeTestValues();
-        double[] points2 = new double[points.length-2];
-        System.arraycopy(points, 1, points2, 0, points2.length);
-        return points2;
-        //return Arrays.copyOfRange(points, 1, points.length - 1);
-    }
-
-    /**
-     * Creates the default inverse cumulative probability density test expected
-     * values.
-     */
-    @Override
-    public double[] makeInverseCumulativeTestValues() {
-        // Exclude the points outside the limits, as they have cumulative
-        // probability of zero and one, meaning the inverse returns the
-        // limits and not the points outside the limits.
-        double[] points = makeCumulativeTestPoints();
-        double[] points2 = new double[points.length-2];
-        System.arraycopy(points, 1, points2, 0, points2.length);
-        return points2;
-        //return Arrays.copyOfRange(points, 1, points.length - 1);
-    }
-
-    /** Creates the default probability density test expected values. */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] { 0,
-                              0,
-                              2 / 75.0, 4 / 75.0, 6 / 75.0, 8 / 75.0,
-                              10 / 75.0,
-                              9 / 75.0, 8 / 75.0, 2 / 75.0, 1 / 75.0,
-                              0,
-                              0
-                            };
-    }
-
-    //--- Additional test cases -----------------------------------------------
-
-    /** Test lower bound getter. */
-    @Test
-    public void testGetLowerBound() {
-        TriangularDistribution distribution = makeDistribution();
-        Assert.assertEquals(-3.0, distribution.getSupportLowerBound(), 0);
-    }
-
-    /** Test upper bound getter. */
-    @Test
-    public void testGetUpperBound() {
-        TriangularDistribution distribution = makeDistribution();
-        Assert.assertEquals(12.0, distribution.getSupportUpperBound(), 0);
-    }
-
-    /** Test pre-condition for equal lower/upper limit. */
-    @Test(expected=NumberIsTooLargeException.class)
-    public void testPreconditions1() {
-        new TriangularDistribution(0, 0, 0);
-    }
-
-    /** Test pre-condition for lower limit larger than upper limit. */
-    @Test(expected=NumberIsTooLargeException.class)
-    public void testPreconditions2() {
-        new TriangularDistribution(1, 1, 0);
-    }
-
-    /** Test pre-condition for mode larger than upper limit. */
-    @Test(expected=NumberIsTooLargeException.class)
-    public void testPreconditions3() {
-        new TriangularDistribution(0, 2, 1);
-    }
-
-    /** Test pre-condition for mode smaller than lower limit. */
-    @Test(expected=NumberIsTooSmallException.class)
-    public void testPreconditions4() {
-        new TriangularDistribution(2, 1, 3);
-    }
-
-    /** Test mean/variance. */
-    @Test
-    public void testMeanVariance() {
-        TriangularDistribution dist;
-
-        dist = new TriangularDistribution(0, 0.5, 1.0);
-        Assert.assertEquals(dist.getNumericalMean(), 0.5, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 1 / 24.0, 0);
-
-        dist = new TriangularDistribution(0, 1, 1);
-        Assert.assertEquals(dist.getNumericalMean(), 2 / 3.0, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 1 / 18.0, 0);
-
-        dist = new TriangularDistribution(-3, 2, 12);
-        Assert.assertEquals(dist.getNumericalMean(), 3 + (2 / 3.0), 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 175 / 18.0, 0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/UniformIntegerDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/UniformIntegerDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/UniformIntegerDistributionTest.java
deleted file mode 100644
index 7d552dc..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/UniformIntegerDistributionTest.java
+++ /dev/null
@@ -1,142 +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.junit.Assert;
-import org.junit.Test;
-import org.apache.commons.math4.distribution.IntegerDistribution;
-import org.apache.commons.math4.distribution.UniformIntegerDistribution;
-import org.apache.commons.math4.exception.NumberIsTooLargeException;
-import org.apache.commons.numbers.core.Precision;
-
-/**
- * Test cases for UniformIntegerDistribution. See class javadoc for
- * {@link IntegerDistributionAbstractTest} for further details.
- */
-public class UniformIntegerDistributionTest extends 
IntegerDistributionAbstractTest {
-
-    // --- Override tolerance -------------------------------------------------
-
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(1e-9);
-    }
-
-    //--- Implementations for abstract methods --------------------------------
-
-    /** Creates the default discrete distribution instance to use in tests. */
-    @Override
-    public IntegerDistribution makeDistribution() {
-        return new UniformIntegerDistribution(-3, 5);
-    }
-
-    /** Creates the default probability density test input values. */
-    @Override
-    public int[] makeDensityTestPoints() {
-        return new int[] {-4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6};
-    }
-
-    /** Creates the default probability density test expected values. */
-    @Override
-    public double[] makeDensityTestValues() {
-        double d = 1.0 / (5 - -3 + 1);
-        return new double[] {0, d, d, d, d, d, d, d, d, d, 0};
-    }
-
-    /** Creates the default cumulative probability density test input values. 
*/
-    @Override
-    public int[] makeCumulativeTestPoints() {
-        return makeDensityTestPoints();
-    }
-
-    /** Creates the default cumulative probability density test expected 
values. */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0, 1 / 9.0, 2 / 9.0, 3 / 9.0, 4 / 9.0, 5 / 9.0,
-                             6 / 9.0, 7 / 9.0, 8 / 9.0, 1, 1};
-    }
-
-    /** Creates the default inverse cumulative probability test input values */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-        return new double[] {0, 0.001, 0.010, 0.025, 0.050, 0.100, 0.200,
-                             0.5, 0.999, 0.990, 0.975, 0.950, 0.900, 1};
-    }
-
-    /** Creates the default inverse cumulative probability density test 
expected values */
-    @Override
-    public int[] makeInverseCumulativeTestValues() {
-        return new int[] {-3, -3, -3, -3, -3, -3, -2, 1, 5, 5, 5, 5, 5, 5};
-    }
-
-    //--- Additional test cases -----------------------------------------------
-
-    /** Test mean/variance. */
-    @Test
-    public void testMoments() {
-        UniformIntegerDistribution dist;
-
-        dist = new UniformIntegerDistribution(0, 5);
-        Assert.assertEquals(dist.getNumericalMean(), 2.5, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 35 / 12.0, 0);
-
-        dist = new UniformIntegerDistribution(0, 1);
-        Assert.assertEquals(dist.getNumericalMean(), 0.5, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 3 / 12.0, 0);
-    }
-
-    // MATH-1141
-    @Test
-    public void testPreconditionUpperBoundInclusive() {
-        try {
-            new UniformIntegerDistribution(1, 0);
-        } catch (NumberIsTooLargeException e) {
-            // Expected.
-        }
-
-        // Degenerate case is allowed.
-        new UniformIntegerDistribution(0, 0);
-    }
-
-    // MATH-1396
-    @Test
-    public void testLargeRangeSubtractionOverflow() {
-        final int hi = Integer.MAX_VALUE / 2 + 10;
-        UniformIntegerDistribution dist = new UniformIntegerDistribution(-hi, 
hi - 1);
-
-        final double tol = Math.ulp(1d);
-        Assert.assertEquals(0.5 / hi, dist.probability(123456), tol);
-        Assert.assertEquals(0.5, dist.cumulativeProbability(-1), tol);
-
-        Assert.assertTrue(Precision.equals((Math.pow(2d * hi, 2) - 1) / 12, 
dist.getNumericalVariance(), 1));
-    }
-
-    // MATH-1396
-    @Test
-    public void testLargeRangeAdditionOverflow() {
-        final int hi = Integer.MAX_VALUE / 2 + 10;
-        UniformIntegerDistribution dist = new UniformIntegerDistribution(hi - 
1, hi + 1);
-
-        final double tol = Math.ulp(1d);
-        Assert.assertEquals(1d / 3d, dist.probability(hi), tol);
-        Assert.assertEquals(2d / 3d, dist.cumulativeProbability(hi), tol);
-
-        Assert.assertTrue(Precision.equals(hi, dist.getNumericalMean(), 1));
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/UniformRealDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/UniformRealDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/UniformRealDistributionTest.java
deleted file mode 100644
index f09f876..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/UniformRealDistributionTest.java
+++ /dev/null
@@ -1,125 +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.math4.distribution.UniformRealDistribution;
-import org.apache.commons.math4.exception.NumberIsTooLargeException;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for UniformRealDistribution. See class javadoc for
- * {@link RealDistributionAbstractTest} for further details.
- */
-public class UniformRealDistributionTest extends RealDistributionAbstractTest {
-
-    // --- Override tolerance -------------------------------------------------
-
-    @Override
-    public void setUp() {
-        super.setUp();
-        setTolerance(1e-4);
-    }
-
-    //--- Implementations for abstract methods --------------------------------
-
-    /** Creates the default uniform real distribution instance to use in 
tests. */
-    @Override
-    public UniformRealDistribution makeDistribution() {
-        return new UniformRealDistribution(-0.5, 1.25);
-    }
-
-    /** Creates the default cumulative probability distribution test input 
values */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        return new double[] {-0.5001, -0.5, -0.4999, -0.25, -0.0001, 0.0,
-                             0.0001, 0.25, 1.0, 1.2499, 1.25, 1.2501};
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0.0, 0.0, 0.0001, 0.25/1.75, 0.4999/1.75,
-                             0.5/1.75, 0.5001/1.75, 0.75/1.75, 1.5/1.75,
-                             1.7499/1.75, 1.0, 1.0};
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-        double d = 1 / 1.75;
-        return new double[] {0, d, d, d, d, d, d, d, d, d, d, 0};
-    }
-
-    //--- Additional test cases -----------------------------------------------
-
-    /** Test lower bound getter. */
-    @Test
-    public void testGetLowerBound() {
-        UniformRealDistribution distribution = makeDistribution();
-        Assert.assertEquals(-0.5, distribution.getSupportLowerBound(), 0);
-    }
-
-    /** Test upper bound getter. */
-    @Test
-    public void testGetUpperBound() {
-        UniformRealDistribution distribution = makeDistribution();
-        Assert.assertEquals(1.25, distribution.getSupportUpperBound(), 0);
-    }
-
-    /** Test pre-condition for equal lower/upper bound. */
-    @Test(expected=NumberIsTooLargeException.class)
-    public void testPreconditions1() {
-        new UniformRealDistribution(0, 0);
-    }
-
-    /** Test pre-condition for lower bound larger than upper bound. */
-    @Test(expected=NumberIsTooLargeException.class)
-    public void testPreconditions2() {
-        new UniformRealDistribution(1, 0);
-    }
-
-    /** Test mean/variance. */
-    @Test
-    public void testMeanVariance() {
-        UniformRealDistribution dist;
-
-        dist = new UniformRealDistribution(0, 1);
-        Assert.assertEquals(dist.getNumericalMean(), 0.5, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 1/12.0, 0);
-
-        dist = new UniformRealDistribution(-1.5, 0.6);
-        Assert.assertEquals(dist.getNumericalMean(), -0.45, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 0.3675, 0);
-
-        dist = new UniformRealDistribution(-0.5, 1.25);
-        Assert.assertEquals(dist.getNumericalMean(), 0.375, 0);
-        Assert.assertEquals(dist.getNumericalVariance(), 0.2552083333333333, 
0);
-    }
-
-    /**
-     * Check accuracy of analytical inverse CDF. Fails if a solver is used
-     * with the default accuracy.
-     */
-    @Test
-    public void testInverseCumulativeDistribution() {
-        UniformRealDistribution dist = new UniformRealDistribution(0, 1e-9);
-
-        Assert.assertEquals(2.5e-10, dist.inverseCumulativeProbability(0.25), 
0);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/WeibullDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/WeibullDistributionTest.java
 
b/src/test/java/org/apache/commons/math4/distribution/WeibullDistributionTest.java
deleted file mode 100644
index 1f5846d..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/WeibullDistributionTest.java
+++ /dev/null
@@ -1,126 +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.math4.distribution.WeibullDistribution;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-import org.apache.commons.numbers.gamma.LogGamma;
-import org.apache.commons.math4.util.FastMath;
-import org.junit.Assert;
-import org.junit.Test;
-
-/**
- * Test cases for WeibullDistribution.
- * Extends ContinuousDistributionAbstractTest.  See class javadoc for
- * ContinuousDistributionAbstractTest for details.
- *
- */
-public class WeibullDistributionTest extends RealDistributionAbstractTest {
-
-    //-------------- Implementations for abstract methods 
-----------------------
-
-    /** Creates the default continuous distribution instance to use in tests. 
*/
-    @Override
-    public WeibullDistribution makeDistribution() {
-        return new WeibullDistribution(1.2, 2.1);
-    }
-
-    /** Creates the default cumulative probability distribution test input 
values */
-    @Override
-    public double[] makeCumulativeTestPoints() {
-        // quantiles computed using R version 2.9.2
-        return new double[] {0.00664355180993, 0.0454328283309, 
0.0981162737374, 0.176713524579, 0.321946865392,
-                10.5115496887, 7.4976304671, 6.23205600701, 5.23968436955, 
4.2079028257};
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0.001, 0.01, 0.025, 0.05, 0.1, 0.999, 0.990, 
0.975, 0.950, 0.900};
-    }
-
-    /** Creates the default probability density test expected values */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] {0.180535929306, 0.262801138133, 0.301905425199, 
0.330899152971,
-          0.353441418887, 0.000788590320203, 0.00737060094841, 
0.0177576041516, 0.0343043442574, 0.065664589369};
-    }
-
-    //---------------------------- Additional test cases 
-------------------------
-
-    @Test
-    public void testInverseCumulativeProbabilitySmallPAccuracy() {
-        WeibullDistribution dist = new WeibullDistribution(2, 3);
-        double t = dist.inverseCumulativeProbability(1e-17);
-        // Analytically, answer is solution to 1e-17 = 1-exp(-(x/3)^2)
-        // x = sqrt(-9*log(1-1e-17))
-        // If we're not careful, answer will be 0. Answer below is computed 
with care in Octave:
-        Assert.assertEquals(9.48683298050514e-9, t, 1e-17);
-    }
-
-    @Test
-    public void testInverseCumulativeProbabilityExtremes() {
-        setInverseCumulativeTestPoints(new double[] {0.0, 1.0});
-        setInverseCumulativeTestValues(
-                new double[] {0.0, Double.POSITIVE_INFINITY});
-        verifyInverseCumulativeProbabilities();
-    }
-
-    @Test
-    public void testAlpha() {
-        WeibullDistribution dist = new WeibullDistribution(1, 2);
-        Assert.assertEquals(1, dist.getShape(), 0);
-        try {
-            new WeibullDistribution(0, 2);
-            Assert.fail("NotStrictlyPositiveException expected");
-        } catch (NotStrictlyPositiveException e) {
-            // Expected.
-        }
-    }
-
-    @Test
-    public void testBeta() {
-        WeibullDistribution dist = new WeibullDistribution(1, 2);
-        Assert.assertEquals(2, dist.getScale(), 0);
-        try {
-            new WeibullDistribution(1, 0);
-            Assert.fail("NotStrictlyPositiveException expected");
-        } catch (NotStrictlyPositiveException e) {
-            // Expected.
-        }
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        WeibullDistribution dist;
-
-        dist = new WeibullDistribution(2.5, 3.5);
-        // In R: 3.5*gamma(1+(1/2.5)) (or emperically: mean(rweibull(10000, 
2.5, 3.5)))
-        Assert.assertEquals(dist.getNumericalMean(), 3.5 * 
FastMath.exp(LogGamma.value(1 + (1 / 2.5))), tol);
-        Assert.assertEquals(dist.getNumericalVariance(), (3.5 * 3.5) *
-                FastMath.exp(LogGamma.value(1 + (2 / 2.5))) -
-                (dist.getNumericalMean() * dist.getNumericalMean()), tol);
-
-        dist = new WeibullDistribution(10.4, 2.222);
-        Assert.assertEquals(dist.getNumericalMean(), 2.222 * 
FastMath.exp(LogGamma.value(1 + (1 / 10.4))), tol);
-        Assert.assertEquals(dist.getNumericalVariance(), (2.222 * 2.222) *
-                FastMath.exp(LogGamma.value(1 + (2 / 10.4))) -
-                (dist.getNumericalMean() * dist.getNumericalMean()), tol);
-    }
-}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ef846813/src/test/java/org/apache/commons/math4/distribution/ZipfDistributionTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/distribution/ZipfDistributionTest.java 
b/src/test/java/org/apache/commons/math4/distribution/ZipfDistributionTest.java
deleted file mode 100644
index ca28514..0000000
--- 
a/src/test/java/org/apache/commons/math4/distribution/ZipfDistributionTest.java
+++ /dev/null
@@ -1,197 +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.math4.TestUtils;
-import org.apache.commons.math4.exception.NotStrictlyPositiveException;
-import org.apache.commons.rng.simple.RandomSource;
-import org.apache.commons.math4.util.FastMath;
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Test cases for {@link ZipfDistribution}.
- * Extends IntegerDistributionAbstractTest.
- * See class javadoc for IntegerDistributionAbstractTest for details.
- */
-public class ZipfDistributionTest extends IntegerDistributionAbstractTest {
-
-    /**
-     * Constructor to override default tolerance.
-     */
-    public ZipfDistributionTest() {
-        setTolerance(1e-12);
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testPreconditions1() {
-        new ZipfDistribution(0, 1);
-    }
-
-    @Test(expected=NotStrictlyPositiveException.class)
-    public void testPreconditions2() {
-        new ZipfDistribution(1, 0);
-    }
-
-    //-------------- Implementations for abstract methods 
-----------------------
-
-    /** Creates the default discrete distribution instance to use in tests. */
-    @Override
-    public IntegerDistribution makeDistribution() {
-        return new ZipfDistribution(10, 1);
-    }
-
-    /** Creates the default probability density test input values */
-    @Override
-    public int[] makeDensityTestPoints() {
-        return new int[] {-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
-    }
-
-    /**
-     * Creates the default probability density test expected values.
-     * Reference values are from R, version 2.15.3 (VGAM package 0.9-0).
-     */
-    @Override
-    public double[] makeDensityTestValues() {
-        return new double[] {0d, 0d, 0.341417152147, 0.170708576074, 
0.113805717382, 0.0853542880369, 0.0682834304295,
-            0.0569028586912, 0.0487738788782, 0.0426771440184, 
0.0379352391275, 0.0341417152147, 0};
-    }
-
-    /**
-     * Creates the default logarithmic probability density test expected 
values.
-     * Reference values are from R, version 2.14.1.
-     */
-    @Override
-    public double[] makeLogDensityTestValues() {
-        return new double[] {Double.NEGATIVE_INFINITY, 
Double.NEGATIVE_INFINITY,
-            -1.07465022926458, -1.76779740982453, -2.17326251793269, 
-2.46094459038447,
-            -2.68408814169868, -2.86640969849264, -3.0205603783199, 
-3.15409177094442,
-            -3.2718748066008, -3.37723532225863, Double.NEGATIVE_INFINITY};
-    }
-
-    /** Creates the default cumulative probability density test input values */
-    @Override
-    public int[] makeCumulativeTestPoints() {
-        return makeDensityTestPoints();
-    }
-
-    /** Creates the default cumulative probability density test expected 
values */
-    @Override
-    public double[] makeCumulativeTestValues() {
-        return new double[] {0, 0, 0.341417152147, 0.512125728221, 
0.625931445604, 0.71128573364,
-            0.77956916407, 0.836472022761, 0.885245901639, 0.927923045658, 
0.965858284785, 1d, 1d};
-        }
-
-    /** Creates the default inverse cumulative probability test input values */
-    @Override
-    public double[] makeInverseCumulativeTestPoints() {
-        return new double[] {0d, 0.001d, 0.010d, 0.025d, 0.050d, 0.3413d, 
0.3415d, 0.999d,
-                0.990d, 0.975d, 0.950d, 0.900d, 1d};
-        }
-
-    /** Creates the default inverse cumulative probability density test 
expected values */
-    @Override
-    public int[] makeInverseCumulativeTestValues() {
-        return new int[] {1, 1, 1, 1, 1, 1, 2, 10, 10, 10, 9, 8, 10};
-    }
-
-    @Test
-    public void testMoments() {
-        final double tol = 1e-9;
-        ZipfDistribution dist;
-
-        dist = new ZipfDistribution(2, 0.5);
-        Assert.assertEquals(dist.getNumericalMean(), FastMath.sqrt(2), tol);
-        Assert.assertEquals(dist.getNumericalVariance(), 0.24264068711928521, 
tol);
-    }
-
-
-    /**
-     * Test sampling for various number of points and exponents.
-     */
-    @Test
-    public void testSamplingExtended() {
-        int sampleSize = 1000;
-
-        int[] numPointsValues = {
-            2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 
70, 80, 90, 100
-        };
-        double[] exponentValues = {
-            1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 2e-1, 
5e-1,
-            1. - 1e-9, 1.0, 1. + 1e-9, 1.1, 1.2, 1.3, 1.5, 1.6, 1.7, 1.8, 2.0,
-            2.5, 3.0, 4., 5., 6., 7., 8., 9., 10., 20., 30., 100., 150.
-        };
-
-        for (int numPoints : numPointsValues) {
-            for (double exponent : exponentValues) {
-                double weightSum = 0.;
-                double[] weights = new double[numPoints];
-                for (int i = numPoints; i>=1; i-=1) {
-                    weights[i-1] = Math.pow(i, -exponent);
-                    weightSum += weights[i-1];
-                }
-
-                // Use fixed seed, the test is expected to fail for more than 
50% of all
-                // seeds because each test case can fail with probability 
0.001, the chance
-                // that all test cases do not fail is 0.999^(32*22) = 
0.49442874426
-                IntegerDistribution.Sampler distribution =
-                    new ZipfDistribution(numPoints, 
exponent).createSampler(RandomSource.create(RandomSource.WELL_19937_C, 6));
-
-                double[] expectedCounts = new double[numPoints];
-                long[] observedCounts = new long[numPoints];
-                for (int i = 0; i < numPoints; i++) {
-                    expectedCounts[i] = sampleSize * (weights[i]/weightSum);
-                }
-                int[] sample = AbstractIntegerDistribution.sample(sampleSize, 
distribution);
-                for (int s : sample) {
-                    observedCounts[s-1]++;
-                }
-                TestUtils.assertChiSquareAccept(expectedCounts, 
observedCounts, 0.001);
-            }
-        }
-    }
-
-    @Ignore
-    @Test
-    public void testSamplerPerformance() {
-        int[] numPointsValues = {1, 2, 5, 10, 100, 1000, 10000};
-        double[] exponentValues = {1e-3, 1e-2, 1e-1, 1., 2., 5., 10.};
-        int  numGeneratedSamples = 1000000;
-
-        long sum = 0;
-
-        for (int numPoints : numPointsValues) {
-            for (double exponent : exponentValues) {
-                long start = System.currentTimeMillis();
-                final int[] randomNumberCounter = new int[1];
-
-                final IntegerDistribution.Sampler distribution =
-                    new ZipfDistribution(numPoints, 
exponent).createSampler(RandomSource.create(RandomSource.WELL_1024_A));
-                for (int i = 0; i < numGeneratedSamples; ++i) {
-                    sum += distribution.sample();
-                }
-
-                long end = System.currentTimeMillis();
-                System.out.println("n = " + numPoints + ", exponent = " + 
exponent + ", avg number consumed random values = " + 
(double)(randomNumberCounter[0])/numGeneratedSamples + ", measured time = " + 
(end-start)/1000. + "s");
-            }
-        }
-        System.out.println(sum);
-    }
-
-}

Reply via email to