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çois Panneton, Pierre L'Ecuyer and Makoto Matsumoto. + * * <p> * This generator is described in a paper by Franç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() {