Uncommons Maths API
(Version 1.2.3)

org.uncommons.maths.random
Class JavaRNG

java.lang.Object
  extended by java.util.Random
      extended by org.uncommons.maths.random.JavaRNG
All Implemented Interfaces:
Serializable, RepeatableRNG

public class JavaRNG
extends Random
implements RepeatableRNG

This is the default JDK RNG extended to implement the RepeatableRNG interface (for consistency with the other RNGs in this package).

The MersenneTwisterRNG should be used in preference to this class because it is statistically more random and performs slightly better.

NOTE: Instances of this class do not use the seeding mechanism inherited from Random. Calls to the Random.setSeed(long) method will have no effect. Instead the seed must be set by a constructor.

Author:
Daniel Dyer
See Also:
Serialized Form

Constructor Summary
JavaRNG()
          Creates a new RNG and seeds it using the default seeding strategy.
JavaRNG(byte[] seed)
          Creates an RNG and seeds it with the specified seed data.
JavaRNG(SeedGenerator seedGenerator)
          Seed the RNG using the provided seed generation strategy.
 
Method Summary
 byte[] getSeed()
          
 
Methods inherited from class java.util.Random
next, nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong, setSeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaRNG

public JavaRNG()
Creates a new RNG and seeds it using the default seeding strategy.


JavaRNG

public JavaRNG(SeedGenerator seedGenerator)
        throws SeedException
Seed the RNG using the provided seed generation strategy.

Parameters:
seedGenerator - The seed generation strategy that will provide the seed value for this RNG.
Throws:
SeedException - If there is a problem generating a seed.

JavaRNG

public JavaRNG(byte[] seed)
Creates an RNG and seeds it with the specified seed data.

Parameters:
seed - The seed data used to initialise the RNG.
Method Detail

getSeed

public byte[] getSeed()

Specified by:
getSeed in interface RepeatableRNG
Returns:
The seed data used to initialise this pseudo-random number generator.

Uncommons Maths API
(Version 1.2.3)