net.sourceforge.cilib.math.random.generator
Class RANLUX

java.lang.Object
  extended by java.util.Random
      extended by net.sourceforge.cilib.math.random.generator.Random
          extended by net.sourceforge.cilib.math.random.generator.RANLUX
All Implemented Interfaces:
Serializable, Cloneable

public class RANLUX
extends Random

This is an implementation of Martin Luescher's second generation double-precision (48-bit) version of the RANLUX generator.

It uses a lagged-fibonacci-with-skipping algorithm to produce "luxury random numbers". The period of the generator is about 10^171. The algorithm has mathematically proven properties and it can provide truly decorrelated numbers at a known level of randomness.

This generator is slow.

References:

This code is based on the implementation in GSL (GNU Scientific Library) which is also covered by the GNU General Public License. The original C source code is Copyright (C) 1996, 1997, 1998, 1999, 2000 James Theiler and Brian Gough. Comment text ripped from GSL.

Author:
Edwin Peer
See Also:
Serialized Form

Constructor Summary
RANLUX()
          Create a new instance of RANLUX.
RANLUX(long seed)
          Create a new instance of RANLUX with the provided seed value.
 
Method Summary
 RANLUX getClone()
          Create a cloned copy of the current object and return it.
protected  int next(int bits)
          
 void setSeed(long seed)
          
 
Methods inherited from class java.util.Random
nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RANLUX

public RANLUX()
Create a new instance of RANLUX.


RANLUX

public RANLUX(long seed)
Create a new instance of RANLUX with the provided seed value.

Parameters:
seed - The initial value for the seed.
Method Detail

getClone

public RANLUX getClone()
Create a cloned copy of the current object and return it. In general the created copy will be a deep copy of the provided instance. As a result this operation an be quite expensive if used incorrectly.

Specified by:
getClone in interface Cloneable
Specified by:
getClone in class Random
Returns:
An exact clone of the current object instance.
See Also:
Object.clone()

setSeed

public void setSeed(long seed)

Overrides:
setSeed in class Random

next

protected int next(int bits)

Overrides:
next in class Random


Copyright © 2009 CIRG. All Rights Reserved.