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();