Use faster and more robust RNG for tests.
Avoids the use of the WELL family of generators as they use a large
seed, are relatively slow and have less statistically robust output.
The RandomSource was selected using a generator with a period of
approximately 2^256 that passes PractRand for 4TiB of output. Fixed
seeds have been updated where appropriate.
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
index a662538..c3bf745 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
@@ -444,7 +444,7 @@
@Test
void testMomentsSampling() {
- final UniformRandomProvider rng = RandomSource.WELL_1024_A.create(123456789L);
+ final UniformRandomProvider rng = RandomSource.XO_SHI_RO_256_PP.create(123456789L);
final int numSamples = 1000;
for (final double alpha : ALPHA_BETAS) {
for (final double beta : ALPHA_BETAS) {
@@ -463,7 +463,7 @@
@Test
void testGoodnessOfFit() {
- final UniformRandomProvider rng = RandomSource.WELL_19937_A.create(123456789L);
+ final UniformRandomProvider rng = RandomSource.XO_SHI_RO_256_PP.create(123456789L);
final int numSamples = 1000;
final double level = 0.01;
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
index 0844da5..120de7c 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
@@ -473,7 +473,7 @@
// Use fixed seed.
final ContinuousDistribution.Sampler sampler =
- getDistribution().createSampler(RandomSource.WELL_19937_C.create(123456789L));
+ getDistribution().createSampler(RandomSource.XO_SHI_RO_256_PP.create(123456789L));
final double[] sample = TestUtils.sample(sampleSize, sampler);
final long[] counts = new long[4];
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
index 35ff33f..4ee99ad 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
@@ -490,7 +490,7 @@
// Use fixed seed.
final DiscreteDistribution.Sampler sampler =
- getDistribution().createSampler(RandomSource.WELL_512_A.create(1000));
+ getDistribution().createSampler(RandomSource.XO_SHI_RO_256_PP.create(1234567890L));
final int[] sample = TestUtils.sample(sampleSize, sampler);
final long[] counts = new long[length];
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/HypergeometricDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/HypergeometricDistributionTest.java
index 7956f57..21ce1f0 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/HypergeometricDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/HypergeometricDistributionTest.java
@@ -331,7 +331,7 @@
final int m = 42976365;
final int n = 50;
final DiscreteDistribution.Sampler dist =
- new HypergeometricDistribution(N, m, n).createSampler(RandomSource.WELL_512_A.create());
+ new HypergeometricDistribution(N, m, n).createSampler(RandomSource.XO_SHI_RO_256_PP.create());
for (int i = 0; i < 100; i++) {
final int sample = dist.sample();
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
index c8c4c3a..5325803 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
@@ -145,7 +145,7 @@
// that all test cases do not fail is 0.999^(32*22) = 0.49442874426
final DiscreteDistribution.Sampler distribution =
new ZipfDistribution(numPoints, exponent).createSampler(
- RandomSource.WELL_19937_C.create(6));
+ RandomSource.XO_SHI_RO_256_PP.create(6));
final double[] expectedCounts = new double[numPoints];
final long[] observedCounts = new long[numPoints];