Package org.apache.commons.math.random
Class Well512a
- java.lang.Object
-
- org.apache.commons.math.random.BitsStreamGenerator
-
- org.apache.commons.math.random.AbstractWell
-
- org.apache.commons.math.random.Well512a
-
- All Implemented Interfaces:
java.io.Serializable,RandomGenerator
public class Well512a extends AbstractWell
This class implements the WELL512a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.This generator is described in a paper by François Panneton, Pierre L'Ecuyer and Makoto Matsumoto Improved Long-Period Generators Based on Linear Recurrences Modulo 2 ACM Transactions on Mathematical Software, 32, 1 (2006). The errata for the paper are in wellrng-errata.txt.
- Since:
- 2.2
- Version:
- $Revision: 1003892 $ $Date: 2010-10-02 23:28:56 +0200 (sam. 02 oct. 2010) $
- See Also:
- WELL Random number generator, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Well512a()Creates a new random number generator.Well512a(int seed)Creates a new random number generator using a single int seed.Well512a(int[] seed)Creates a new random number generator using an int array seed.Well512a(long seed)Creates a new random number generator using a single long seed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intnext(int bits)Generate next pseudorandom number.-
Methods inherited from class org.apache.commons.math.random.AbstractWell
setSeed, setSeed, setSeed
-
Methods inherited from class org.apache.commons.math.random.BitsStreamGenerator
nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong
-
-
-
-
Constructor Detail
-
Well512a
public Well512a()
Creates a new random number generator.The instance is initialized using the current time as the seed.
-
Well512a
public Well512a(int seed)
Creates a new random number generator using a single int seed.- Parameters:
seed- the initial seed (32 bits integer)
-
Well512a
public Well512a(int[] seed)
Creates a new random number generator using an int array seed.- Parameters:
seed- the initial seed (32 bits integers array), if null the seed of the generator will be related to the current time
-
Well512a
public Well512a(long seed)
Creates a new random number generator using a single long seed.- Parameters:
seed- the initial seed (64 bits integer)
-
-
Method Detail
-
next
protected int next(int bits)
Generate next pseudorandom number.This method is the core generation algorithm. It is used by all the public generation methods for the various primitive types
BitsStreamGenerator.nextBoolean(),BitsStreamGenerator.nextBytes(byte[]),BitsStreamGenerator.nextDouble(),BitsStreamGenerator.nextFloat(),BitsStreamGenerator.nextGaussian(),BitsStreamGenerator.nextInt(),BitsStreamGenerator.next(int)andBitsStreamGenerator.nextLong().- Specified by:
nextin classAbstractWell- Parameters:
bits- number of random bits to produce- Returns:
- random bits generated
-
-