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 FormserialVersionUID
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.
|
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()).
|
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
public static RandomEngine makeDefaultGenerator()
MersenneTwister
.public abstract double nextDouble()
public int nextInt()
Jas4pp 1.5 © Java Analysis Studio for Particle Physics