Package edu.rit.util
Class Mcg1Random
java.lang.Object
edu.rit.util.Random
edu.rit.util.Mcg1Random
- All Implemented Interfaces:
Serializable
Class Mcg1Random provides a default pseudorandom number generator (PRNG)
designed for use in parallel scientific programming. To create an instance of
class Mcg1Random, either use the
Mcg1Random()
constructor, or use
the static getInstance(long,String)
method in class Random.
Class Mcg1Random uses L'Ecuyer's 63-bit multiplicative congruential generator:
seed := seed * A (mod M);with A = 2307085864 and M = 263-25. For further information, see P. L'Ecuyer, F. Blouin, and R. Couture, A search for good multiple recursive random number generators, ACM Transactions on Modeling and Computer Simulation, 3(2):87-98, April 1993.
- Version:
- 01-Mar-2008
- Author:
- Alan Kaminsky
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected long
next()
Return the next 64-bit pseudorandom value in this PRNG's sequence.protected long
next
(long skip) Return the 64-bit pseudorandom value the given number of positions ahead in this PRNG's sequence.void
setSeed
(long seed) Set this PRNG's seed.Methods inherited from class edu.rit.util.Random
getInstance, getInstance, nextBoolean, nextBoolean, nextByte, nextByte, nextCharacter, nextCharacter, nextDouble, nextDouble, nextFloat, nextFloat, nextInt, nextInt, nextInteger, nextInteger, nextLong, nextLong, nextShort, nextShort, nextUnsignedByte, nextUnsignedByte, nextUnsignedShort, nextUnsignedShort, skip, skip
-
Constructor Details
-
Mcg1Random
public Mcg1Random(long seed) Construct a new PRNG with the given seed. The seed must not be 0.- Parameters:
seed
- Seed.- Throws:
IllegalArgumentException
- (unchecked exception) Thrown ifseed
= 0.
-
-
Method Details
-
setSeed
public void setSeed(long seed) Set this PRNG's seed.Note: Depending on the PRNG algorithm, certain seed values may not be allowed. See the PRNG algorithm subclass for further information. Set this PRNG's seed. The seed must not be 0.
- Specified by:
setSeed
in classRandom
- Parameters:
seed
- Seed.- Throws:
IllegalArgumentException
- (unchecked exception) Thrown ifseed
= 0.
-
next
protected long next()Return the next 64-bit pseudorandom value in this PRNG's sequence. -
next
protected long next(long skip) Return the 64-bit pseudorandom value the given number of positions ahead in this PRNG's sequence. Return the 64-bit pseudorandom value the given number of positions ahead in this PRNG's sequence.
-