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 FormModifier 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 DoubleFunction
dummy
- argument passed to the function.public int apply(int dummy)
apply
in interface IntFunction
dummy
- argument passed to the function.public Object clone()
clone
in class PersistentObject
protected 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.