Package cern.jet.random.engine
Class DRand
java.lang.Object
cern.colt.PersistentObject
cern.jet.random.engine.RandomEngine
cern.jet.random.engine.DRand
- All Implemented Interfaces:
DoubleFunction,IntFunction,Serializable,Cloneable
Quick medium quality uniform pseudo-random number generator.
Produces uniformly distributed
int's and long's in the
closed intervals [Integer.MIN_VALUE,Integer.MAX_VALUE] and
[Long.MIN_VALUE,Long.MAX_VALUE], respectively, as well as
float's and double's in the open unit intervals
(0.0f,1.0f) and (0.0,1.0), respectively.
The seed can be any integer satisfying
0 < 4*seed+1 < 232. In other words, there must hold
seed >= 0 && seed < 1073741823.
Quality: This generator follows the multiplicative congruential method of the form
-
z(i+1) = a * z(i) (mod m)witha=663608941 (=0X278DDE6DL), m=232. -
z(i)assumes all different values0 < 4*seed+1 < mduring a full period of 230.
Performance: TO_DO
Implementation: TO_DO
Note that this implementation is not synchronized.
- Version:
- 1.0, 09/24/99
- Author:
- wolfgang.hoschek@cern.ch
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class cern.jet.random.engine.RandomEngine
apply, apply, makeDefault, nextDouble, nextFloat, nextLong, rawMethods inherited from class cern.colt.PersistentObject
clone
-
Field Details
-
DEFAULT_SEED
public static final int DEFAULT_SEED- See Also:
-
-
Constructor Details
-
DRand
public DRand()Constructs and returns a random number generator with a default seed, which is a constant. -
DRand
public DRand(int seed) Constructs and returns a random number generator with the given seed.- Parameters:
seed- should not be 0, in such a caseDRand.DEFAULT_SEEDis substituted.
-
DRand
Constructs and returns a random number generator seeded with the given date.- Parameters:
d- typicallynew java.util.Date()
-
-
Method Details
-
nextInt
public int nextInt()Returns a 32 bit uniformly distributed random number in the closed interval[Integer.MIN_VALUE,Integer.MAX_VALUE](includingInteger.MIN_VALUEandInteger.MAX_VALUE).- Specified by:
nextIntin classRandomEngine
-
setSeed
protected void setSeed(int seed) Sets the receiver's seed. This method resets the receiver's entire internal state. The following condition must hold:seed >= 0 && seed < (232-1) / 4.- Parameters:
seed- if the above condition does not hold, a modified seed that meets the condition is silently substituted.
-