public class RanMT extends RandomSeedable implements java.io.Serializable
Source code is available.
This class is derived from Sean Luke's implementation
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Modifier and Type | Field and Description |
---|---|
private static int |
LOWER_MASK |
private static int |
M |
private int[] |
mag01 |
private static int |
MATRIX_A |
private int[] |
mt |
private int |
mti |
private static int |
N |
private static int |
TEMPERING_MASK_B |
private static int |
TEMPERING_MASK_C |
private static int |
UPPER_MASK |
BMoutput
Constructor and Description |
---|
RanMT() |
RanMT(java.util.Date d) |
RanMT(int[] array)
If a 32 bit seed isn't enough for you, you can pass an array of
624 integers.
|
RanMT(long seed) |
Modifier and Type | Method and Description |
---|---|
double |
raw()
The abstract method that must be defined to make a working RandomElement.
|
private void |
setSeed(int[] array)
An alternative, more complete, method of seeding the
pseudo random number generator.
|
private void |
setSeed(long seed) |
ClockSeed, ClockSeed
private static final int N
private static final int M
private static final int MATRIX_A
private static final int UPPER_MASK
private static final int LOWER_MASK
private static final int TEMPERING_MASK_B
private static final int TEMPERING_MASK_C
private int[] mt
private int mti
private int[] mag01
public RanMT()
public RanMT(long seed)
public RanMT(java.util.Date d)
public RanMT(int[] array)
private void setSeed(long seed)
private void setSeed(int[] array)
public final double raw()
RandomElement
RandomJava
for an example of how to do this.raw
in class RandomElement
RandomJava