You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2022/09/26 13:48:19 UTC
[commons-rng] 08/08: Use better RNGs for the user examples
This is an automated email from the ASF dual-hosted git repository.
aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-rng.git
commit 38218ddc30a9a6b9e25e6927acdb0ed5cd4a44db
Author: aherbert <ah...@apache.org>
AuthorDate: Mon Sep 26 14:09:44 2022 +0100
Use better RNGs for the user examples
Replace Mersenne-Twister (MT) with a more robust xor-based generator
XO_RO_SHI_RO_128_PP
---
.../distribution/InverseTransformContinuousSampler.java | 2 +-
.../sampling/distribution/InverseTransformDiscreteSampler.java | 2 +-
.../main/java/org/apache/commons/rng/simple/RandomSource.java | 10 +++++-----
src/site/apt/userguide/rng.apt | 2 +-
src/site/xdoc/index.xml | 2 +-
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java
index 3df26152..e274123b 100644
--- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java
+++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformContinuousSampler.java
@@ -42,7 +42,7 @@ import org.apache.commons.rng.UniformRandomProvider;
* final RealDistribution dist = new ChiSquaredDistribution(9);
* // Create the sampler.
* final ContinuousSampler chiSquareSampler =
- * InverseTransformContinuousSampler.of(RandomSource.MT.create(),
+ * InverseTransformContinuousSampler.of(RandomSource.XO_RO_SHI_RO_128_PP.create(),
* new ContinuousInverseCumulativeProbabilityFunction() {
* public double inverseCumulativeProbability(double p) {
* return dist.inverseCumulativeProbability(p);
diff --git a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java
index 29dfc4fa..bab46280 100644
--- a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java
+++ b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseTransformDiscreteSampler.java
@@ -42,7 +42,7 @@ import org.apache.commons.rng.UniformRandomProvider;
* final IntegerDistribution dist = new BinomialDistribution(11, 0.56);
* // Create the sampler.
* final DiscreteSampler binomialSampler =
- * InverseTransformDiscreteSampler.of(RandomSource.MT.create(),
+ * InverseTransformDiscreteSampler.of(RandomSource.XO_RO_SHI_RO_128_PP.create(),
* new DiscreteInverseCumulativeProbabilityFunction() {
* public int inverseCumulativeProbability(double p) {
* return dist.inverseCumulativeProbability(p);
diff --git a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/RandomSource.java b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/RandomSource.java
index 0c834499..e7fbb386 100644
--- a/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/RandomSource.java
+++ b/commons-rng-simple/src/main/java/org/apache/commons/rng/simple/RandomSource.java
@@ -29,17 +29,17 @@ import org.apache.commons.rng.simple.internal.SeedFactory;
*
* <p>Usage examples:</p>
* <pre><code>
- * UniformRandomProvider rng = RandomSource.MT.create();
+ * UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();
* </code></pre>
* or
* <pre><code>
* final int[] seed = new int[] { 196, 9, 0, 226 };
- * UniformRandomProvider rng = RandomSource.MT.create(seed);
+ * UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create(seed);
* </code></pre>
* or
* <pre><code>
* final int[] seed = RandomSource.createIntArray(256);
- * UniformRandomProvider rng = RandomSource.MT.create(seed);
+ * UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create(seed);
* </code></pre>
* where the enum value is the identifier of the generator's concrete
* implementation, and the argument to method {@code create} is the
@@ -825,11 +825,11 @@ public enum RandomSource {
*
* <p>Usage example:</p>
* <pre><code>
- * UniformRandomProvider rng = RandomSource.MT.create();
+ * UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();
* </code></pre>
* <p>or, if a {@link RestorableUniformRandomProvider "save/restore"} functionality is needed,</p>
* <pre><code>
- * RestorableUniformRandomProvider rng = RandomSource.MT.create();
+ * RestorableUniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();
* </code></pre>
*
* <p>This method will raise an exception if the generator requires arguments in addition
diff --git a/src/site/apt/userguide/rng.apt b/src/site/apt/userguide/rng.apt
index 1e72b33e..1a07f9fb 100644
--- a/src/site/apt/userguide/rng.apt
+++ b/src/site/apt/userguide/rng.apt
@@ -136,7 +136,7 @@ The Apache Commons RNG User Guide
import org.apache.commons.rng.UniformRandomProvider;
import org.apache.commons.rng.simple.RandomSource;
-UniformRandomProvider rng = RandomSource.MT.create();
+UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();
+--------------------------+
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 02ab036f..5b098b4f 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -39,7 +39,7 @@
import org.apache.commons.rng.simple.RandomSource;
// Instantiate a "Mersenne-Twister" generator with a factory method.
-UniformRandomProvider rng = RandomSource.MT.create();
+UniformRandomProvider rng = RandomSource.XO_RO_SHI_RO_128_PP.create();
// Use it to produce a floating-point value between 0 and 1.
double random = rng.nextDouble();