Catalano.Math.Random
Class UniversalGenerator
- java.lang.Object
-
- Catalano.Math.Random.UniversalGenerator
-
- All Implemented Interfaces:
- IRandomNumberGenerator
public class UniversalGenerator extends java.lang.Object implements IRandomNumberGenerator
The so called "Universal Generator" based on multiplicative congruential method, which originally appeared in "Toward a Universal Random Number Generator" by Marsaglia, Zaman and Tsang. It was later modified by F. James in "A Review of Pseudo-random Number Generators". It passes ALL of the tests for random number generators and has a period of 2144. It is completely portable (gives bit identical results on all machines with at least 24-bit mantissas in the floating point representation).
-
-
Constructor Summary
Constructors Constructor and Description UniversalGenerator()Initialize Random with default seed.UniversalGenerator(int seed)Initialize Random with a specified integer seedUniversalGenerator(long seed)Initialize Random with a specified long seed
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intnextBits(int numbits)Returns up to 32 random bits.doublenextDouble()Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.voidnextDoubles(double[] d)Returns a vector of pseudorandom, uniformly distributed double values between 0.0 and 1.0 from this random number generator's sequence.intnextInt()Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.intnextInt(int n)Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.longnextLong()Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.voidsetSeed(long seed)Set seed.
-
-
-
Constructor Detail
-
UniversalGenerator
public UniversalGenerator()
Initialize Random with default seed.
-
UniversalGenerator
public UniversalGenerator(int seed)
Initialize Random with a specified integer seed
-
UniversalGenerator
public UniversalGenerator(long seed)
Initialize Random with a specified long seed
-
-
Method Detail
-
setSeed
public void setSeed(long seed)
Description copied from interface:IRandomNumberGeneratorSet seed.- Specified by:
setSeedin interfaceIRandomNumberGenerator- Parameters:
seed- Seed.
-
nextDouble
public double nextDouble()
Description copied from interface:IRandomNumberGeneratorReturns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.- Specified by:
nextDoublein interfaceIRandomNumberGenerator
-
nextDoubles
public void nextDoubles(double[] d)
Description copied from interface:IRandomNumberGeneratorReturns a vector of pseudorandom, uniformly distributed double values between 0.0 and 1.0 from this random number generator's sequence.- Specified by:
nextDoublesin interfaceIRandomNumberGenerator
-
nextBits
public int nextBits(int numbits)
Description copied from interface:IRandomNumberGeneratorReturns up to 32 random bits.- Specified by:
nextBitsin interfaceIRandomNumberGenerator
-
nextInt
public int nextInt()
Description copied from interface:IRandomNumberGeneratorReturns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.- Specified by:
nextIntin interfaceIRandomNumberGenerator
-
nextInt
public int nextInt(int n)
Description copied from interface:IRandomNumberGeneratorReturns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.- Specified by:
nextIntin interfaceIRandomNumberGenerator
-
nextLong
public long nextLong()
Description copied from interface:IRandomNumberGeneratorReturns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.- Specified by:
nextLongin interfaceIRandomNumberGenerator
-
-
DataMelt 3.0 © DataMelt by jWork.ORG