public abstract class AbstractDistribution extends PersistentObject implements DoubleFunction, IntFunction
Currently all subclasses use a uniform pseudo-random number generation engine and transform its results to the target distribution. Thus, they expect such a uniform engine upon instance construction.
MersenneTwister is recommended as uniform pseudo-random number generation engine, since it is very strong and at the same time quick.
makeDefaultGenerator() will conveniently construct and return such a magic thing.
You can also, for example, use DRand, a quicker (but much weaker) uniform random number generation engine.
Of course, you can also use other strong uniform random number generation engines.
Ressources on the Web:
Other useful ressources:
cern.jet.random.engine,
Benchmark,
Benchmark,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
protected RandomEngine |
randomGenerator |
serialVersionUID| Modifier | Constructor and Description |
|---|---|
protected |
AbstractDistribution()
Makes this class non instantiable, but still let's others inherit from it.
|
| Modifier and Type | Method and Description |
|---|---|
double |
apply(double dummy)
Equivalent to nextDouble().
|
int |
apply(int dummy)
Equivalent to nextInt().
|
Object |
clone()
Returns a deep copy of the receiver; the copy will produce identical sequences.
|
protected RandomEngine |
getRandomGenerator()
Returns the used uniform random number generator;
|
static RandomEngine |
makeDefaultGenerator()
Constructs and returns a new uniform random number generation engine seeded with the current time.
|
abstract double |
nextDouble()
Returns a random number from the distribution.
|
int |
nextInt()
Returns a random number from the distribution; returns (int) Math.round(nextDouble()).
|
protected void |
setRandomGenerator(RandomEngine randomGenerator)
Sets the uniform random generator internally used.
|
protected RandomEngine randomGenerator
protected AbstractDistribution()
public double apply(double dummy)
apply in interface DoubleFunctiondummy - argument passed to the function.public int apply(int dummy)
apply in interface IntFunctiondummy - argument passed to the function.public Object clone()
clone in class PersistentObjectprotected RandomEngine getRandomGenerator()
public static RandomEngine makeDefaultGenerator()
MersenneTwister.public abstract double nextDouble()
public int nextInt()
protected void setRandomGenerator(RandomEngine randomGenerator)
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.