Class MWC8222
- java.lang.Object
-
- dev.nm.stat.random.rng.univariate.uniform.MWC8222
-
- All Implemented Interfaces:
RandomLongGenerator
,RandomNumberGenerator
,Seedable
public class MWC8222 extends Object implements RandomLongGenerator
Marsaglia's MWC256 (also known as MWC8222) is a multiply-with-carry generator. It has a period of 2^8222 and fares well in tests of randomness. It is also extremely fast, between 2 and 3 times faster than the Mersenne Twister.
-
-
Constructor Summary
Constructors Constructor Description MWC8222()
Construct a random number generator to sample uniformly from [0, 1].
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
nextDouble()
Get the next randomdouble
.long
nextLong()
Get the next randomlong
.void
seed(long... seeds)
Seed the random number/vector/scenario generator to produce repeatable experiments.
-
-
-
Method Detail
-
seed
public void seed(long... seeds)
Description copied from interface:Seedable
Seed the random number/vector/scenario generator to produce repeatable experiments.
-
nextLong
public long nextLong()
Description copied from interface:RandomLongGenerator
Get the next randomlong
.- Specified by:
nextLong
in interfaceRandomLongGenerator
- Returns:
- the next random
long
-
nextDouble
public double nextDouble()
Description copied from interface:RandomNumberGenerator
Get the next randomdouble
.- Specified by:
nextDouble
in interfaceRandomNumberGenerator
- Returns:
- the next random number
-
-