Package org.apache.commons.math3.random
Class Well44497a
java.lang.Object
org.apache.commons.math3.random.BitsStreamGenerator
org.apache.commons.math3.random.AbstractWell
org.apache.commons.math3.random.Well44497a
- All Implemented Interfaces:
Serializable,RandomGenerator
This class implements the WELL44497a 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
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new random number generator.Well44497a(int seed) Creates a new random number generator using a single int seed.Well44497a(int[] seed) Creates a new random number generator using an int array seed.Well44497a(long seed) Creates a new random number generator using a single long seed. -
Method Summary
Modifier and TypeMethodDescriptionprotected intnext(int bits) Generate next pseudorandom number.Methods inherited from class org.apache.commons.math3.random.AbstractWell
setSeed, setSeed, setSeedMethods inherited from class org.apache.commons.math3.random.BitsStreamGenerator
clear, nextBoolean, nextBytes, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong, nextLong
-
Constructor Details
-
Well44497a
public Well44497a()Creates a new random number generator.The instance is initialized using the current time as the seed.
-
Well44497a
public Well44497a(int seed) Creates a new random number generator using a single int seed.- Parameters:
seed- the initial seed (32 bits integer)
-
Well44497a
public Well44497a(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
-
Well44497a
public Well44497a(long seed) Creates a new random number generator using a single long seed.- Parameters:
seed- the initial seed (64 bits integer)
-
-
Method Details
-
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
-