JGAP

org.jgap.util
Class randomLCG

java.lang.Object
  extended by org.jgap.util.randomX
      extended by org.jgap.util.randomLCG

public class randomLCG
extends randomX

Implementation of a randomX-compliant class using the simple (and not very good) rand() linear congruential generator given as an example in the ANSI C specification. This is intended not for serious use, merely as an illustration of a simple software-based randomX generator.

The generation algorithm is:

Ij+1 = (Ij × 1103515245 + 12345) & 0x7FFFFFFF

Designed and implemented in July 1996 by John Walker, kelvin@fourmilab.ch.


Constructor Summary
randomLCG()
          Creates a new pseudorandom number generator, seeded from the current time.
randomLCG(long seed)
          Creates a new pseudorandom number generator with a specified seed.
 
Method Summary
 byte nextByte()
          Get next byte from generator.
 void setSeed(long seed)
          Set seed for generator.
 
Methods inherited from class org.jgap.util.randomX
nextBit, nextByte, nextByte, nextDouble, nextFloat, nextGaussian, nextInt, nextLong, nextShort, setSeed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

randomLCG

public randomLCG()
Creates a new pseudorandom number generator, seeded from the current time.


randomLCG

public randomLCG(long seed)
Creates a new pseudorandom number generator with a specified seed.

Parameters:
seed - initial seed for the generator
Method Detail

setSeed

public void setSeed(long seed)
Set seed for generator. Subsequent values will be based on the given seed.

Parameters:
seed - seed for the generator

nextByte

public byte nextByte()
Get next byte from generator. Given how poor this generator is, it's wise to make a separate call for each byte rather than extract fields from a single call, which may be correlated. Also, the higher-order bits of this generator are more random than the low, so we extract the byte after discarding the low-order 11 bits.

Specified by:
nextByte in class randomX
Returns:
the next byte from the generator.

JGAP