You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by er...@apache.org on 2015/12/28 18:23:18 UTC

[06/18] [math] MATH-1307

MATH-1307

Extends new base class.


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

Branch: refs/heads/master
Commit: ffae3bdbb6740e336a223a82a3dd545c24cde7b5
Parents: 921d0d6
Author: Gilles <er...@apache.org>
Authored: Mon Dec 28 16:51:31 2015 +0100
Committer: Gilles <er...@apache.org>
Committed: Mon Dec 28 16:51:31 2015 +0100

----------------------------------------------------------------------
 .../commons/math4/random/AbstractWell.java      | 10 ++++-----
 .../apache/commons/math4/random/Well1024a.java  | 22 ++++++++++----------
 .../apache/commons/math4/random/Well19937a.java |  6 ++----
 .../apache/commons/math4/random/Well19937c.java |  6 ++----
 .../apache/commons/math4/random/Well44497a.java |  6 ++----
 .../apache/commons/math4/random/Well44497b.java |  6 ++----
 .../apache/commons/math4/random/Well512a.java   |  6 ++----
 .../commons/math4/random/Well1024aTest.java     |  2 +-
 .../commons/math4/random/Well19937aTest.java    |  2 +-
 .../commons/math4/random/Well19937cTest.java    |  2 +-
 .../commons/math4/random/Well44497aTest.java    |  2 +-
 .../commons/math4/random/Well44497bTest.java    |  2 +-
 .../commons/math4/random/Well512aTest.java      |  2 +-
 13 files changed, 31 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/AbstractWell.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/AbstractWell.java b/src/main/java/org/apache/commons/math4/random/AbstractWell.java
index 7251bcd..da222fd 100644
--- a/src/main/java/org/apache/commons/math4/random/AbstractWell.java
+++ b/src/main/java/org/apache/commons/math4/random/AbstractWell.java
@@ -34,10 +34,12 @@ import org.apache.commons.math4.util.FastMath;
  * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a>
  * @since 2.2
  */
-public abstract class AbstractWell extends BitsStreamGenerator implements Serializable {
+public abstract class AbstractWell
+    extends BaseRandomGenerator
+    implements Serializable {
 
     /** Serializable version identifier. */
-    private static final long serialVersionUID = 20150223L;
+    private static final long serialVersionUID = 20150228L;
 
     /** Current index in the bytes pool. */
     protected int index;
@@ -133,10 +135,6 @@ public abstract class AbstractWell extends BitsStreamGenerator implements Serial
         setSeed(new int[] { (int) (seed >>> 32), (int) (seed & 0xffffffffl) });
     }
 
-    /** {@inheritDoc} */
-    @Override
-    protected abstract int next(final int bits);
-
     /** Calculate the number of 32-bits blocks.
      * @param k number of bits in the pool (not necessarily a multiple of 32)
      * @return the number of 32-bits blocks

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well1024a.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well1024a.java b/src/main/java/org/apache/commons/math4/random/Well1024a.java
index 39153f2..ff1de07 100644
--- a/src/main/java/org/apache/commons/math4/random/Well1024a.java
+++ b/src/main/java/org/apache/commons/math4/random/Well1024a.java
@@ -16,15 +16,18 @@
  */
 package org.apache.commons.math4.random;
 
-/** This class implements the WELL1024a pseudo-random number generator
+/**
+ * This class implements the WELL1024a pseudo-random number generator
  * from Fran&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.
+ *
  * <p>
  * This generator is described in a paper by Fran&ccedil;ois Panneton,
- * Pierre L'Ecuyer and Makoto Matsumoto <a
- * href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf">Improved
- * Long-Period Generators Based on Linear Recurrences Modulo 2</a> ACM
- * Transactions on Mathematical Software, 32, 1 (2006). The errata for the paper
- * are in <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.</p>
+ * Pierre L'Ecuyer and Makoto Matsumoto
+ * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf">
+ * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a>
+ * ACM Transactions on Mathematical Software, 32, 1 (2006). The errata for the paper
+ * are in <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.
+ * </p>
  *
  * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a>
  * @since 2.2
@@ -81,8 +84,7 @@ public class Well1024a extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
-
+    public int nextInt() {
         final int indexRm1 = TABLE.getIndexPred(index);
 
         final int v0       = v[index];
@@ -100,8 +102,6 @@ public class Well1024a extends AbstractWell {
         v[indexRm1]  = z4;
         index        = indexRm1;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well19937a.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well19937a.java b/src/main/java/org/apache/commons/math4/random/Well19937a.java
index 856a42d..d4b877a 100644
--- a/src/main/java/org/apache/commons/math4/random/Well19937a.java
+++ b/src/main/java/org/apache/commons/math4/random/Well19937a.java
@@ -82,7 +82,7 @@ public class Well19937a extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
+    public int nextInt() {
 
         final int indexRm1 = TABLE.getIndexPred(index);
         final int indexRm2 = TABLE.getIndexPred2(index);
@@ -103,8 +103,6 @@ public class Well19937a extends AbstractWell {
         v[indexRm2] &= 0x80000000;
         index        = indexRm1;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well19937c.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well19937c.java b/src/main/java/org/apache/commons/math4/random/Well19937c.java
index 1ff77c7..c15350d 100644
--- a/src/main/java/org/apache/commons/math4/random/Well19937c.java
+++ b/src/main/java/org/apache/commons/math4/random/Well19937c.java
@@ -82,7 +82,7 @@ public class Well19937c extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
+    public int nextInt() {
 
         final int indexRm1 = TABLE.getIndexPred(index);
         final int indexRm2 = TABLE.getIndexPred2(index);
@@ -108,8 +108,6 @@ public class Well19937c extends AbstractWell {
         z4 ^= (z4 <<  7) & 0xe46e1700;
         z4 ^= (z4 << 15) & 0x9b868000;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well44497a.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well44497a.java b/src/main/java/org/apache/commons/math4/random/Well44497a.java
index 1c7765f..667d458 100644
--- a/src/main/java/org/apache/commons/math4/random/Well44497a.java
+++ b/src/main/java/org/apache/commons/math4/random/Well44497a.java
@@ -81,7 +81,7 @@ public class Well44497a extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
+    public int nextInt() {
 
         final int indexRm1 = TABLE.getIndexPred(index);
         final int indexRm2 = TABLE.getIndexPred2(index);
@@ -105,8 +105,6 @@ public class Well44497a extends AbstractWell {
         v[indexRm2] &= 0xFFFF8000;
         index        = indexRm1;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well44497b.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well44497b.java b/src/main/java/org/apache/commons/math4/random/Well44497b.java
index 551da47..91c506f 100644
--- a/src/main/java/org/apache/commons/math4/random/Well44497b.java
+++ b/src/main/java/org/apache/commons/math4/random/Well44497b.java
@@ -81,7 +81,7 @@ public class Well44497b extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
+    public int nextInt() {
 
         // compute raw value given by WELL44497a generator
         // which is NOT maximally-equidistributed
@@ -112,8 +112,6 @@ public class Well44497b extends AbstractWell {
         z4 ^= (z4 <<  7) & 0x93dd1400;
         z4 ^= (z4 << 15) & 0xfa118000;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/main/java/org/apache/commons/math4/random/Well512a.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/math4/random/Well512a.java b/src/main/java/org/apache/commons/math4/random/Well512a.java
index 391bb2f..55fc6db 100644
--- a/src/main/java/org/apache/commons/math4/random/Well512a.java
+++ b/src/main/java/org/apache/commons/math4/random/Well512a.java
@@ -82,7 +82,7 @@ public class Well512a extends AbstractWell {
 
     /** {@inheritDoc} */
     @Override
-    protected int next(final int bits) {
+    public int nextInt() {
 
         final int indexRm1 = TABLE.getIndexPred(index);
 
@@ -101,8 +101,6 @@ public class Well512a extends AbstractWell {
         v[indexRm1]  = z4;
         index    = indexRm1;
 
-        return z4 >>> (32 - bits);
-
+        return z4;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well1024aTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well1024aTest.java b/src/test/java/org/apache/commons/math4/random/Well1024aTest.java
index d5e0e67..242c24d 100644
--- a/src/test/java/org/apache/commons/math4/random/Well1024aTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well1024aTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well1024a;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well1024aTest extends RandomGeneratorAbstractTest {
+public class Well1024aTest extends BaseRandomGeneratorTest {
 
     @Override
     protected RandomGenerator makeGenerator() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well19937aTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well19937aTest.java b/src/test/java/org/apache/commons/math4/random/Well19937aTest.java
index 97f05f4..00ff92b 100644
--- a/src/test/java/org/apache/commons/math4/random/Well19937aTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well19937aTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well19937a;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well19937aTest extends RandomGeneratorAbstractTest {
+public class Well19937aTest extends BaseRandomGeneratorTest {
 
     @Override
     public RandomGenerator makeGenerator() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well19937cTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well19937cTest.java b/src/test/java/org/apache/commons/math4/random/Well19937cTest.java
index cfffcd1..a97cbcc 100644
--- a/src/test/java/org/apache/commons/math4/random/Well19937cTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well19937cTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well19937c;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well19937cTest extends RandomGeneratorAbstractTest {
+public class Well19937cTest extends BaseRandomGeneratorTest {
 
     @Override
     public RandomGenerator makeGenerator() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well44497aTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well44497aTest.java b/src/test/java/org/apache/commons/math4/random/Well44497aTest.java
index e6dc96f..426f3cd 100644
--- a/src/test/java/org/apache/commons/math4/random/Well44497aTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well44497aTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well44497a;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well44497aTest extends RandomGeneratorAbstractTest {
+public class Well44497aTest extends BaseRandomGeneratorTest {
 
     @Override
     public RandomGenerator makeGenerator() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well44497bTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well44497bTest.java b/src/test/java/org/apache/commons/math4/random/Well44497bTest.java
index 7f3dee1..6ce8d79 100644
--- a/src/test/java/org/apache/commons/math4/random/Well44497bTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well44497bTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well44497b;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well44497bTest extends RandomGeneratorAbstractTest {
+public class Well44497bTest extends BaseRandomGeneratorTest {
 
     @Override
     public RandomGenerator makeGenerator() {

http://git-wip-us.apache.org/repos/asf/commons-math/blob/ffae3bdb/src/test/java/org/apache/commons/math4/random/Well512aTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/math4/random/Well512aTest.java b/src/test/java/org/apache/commons/math4/random/Well512aTest.java
index 192d7d5..3f63688 100644
--- a/src/test/java/org/apache/commons/math4/random/Well512aTest.java
+++ b/src/test/java/org/apache/commons/math4/random/Well512aTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.math4.random.Well512a;
 import org.junit.Assert;
 import org.junit.Test;
 
-public class Well512aTest extends RandomGeneratorAbstractTest {
+public class Well512aTest extends BaseRandomGeneratorTest {
 
     @Override
     public RandomGenerator makeGenerator() {