cern.jet.random.tdouble
Class AbstractDoubleDistribution
- java.lang.Object
-
- cern.colt.PersistentObject
-
- cern.jet.random.tdouble.AbstractDoubleDistribution
-
- All Implemented Interfaces:
- DoubleFunction, IntFunction, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- AbstractContinousDoubleDistribution, AbstractDiscreteDistribution
public abstract class AbstractDoubleDistribution extends PersistentObject implements DoubleFunction, IntFunction
Abstract base class for all random distributions. A subclass of this class need to override method nextDouble() and, in rare cases, also nextInt().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.
DoubleMersenneTwisteris 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, useDRand, 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:
- Check the Web version of the CERN Data Analysis Briefbook . This will clarify the definitions of most distributions.
- Also consult the StatSoft Electronic Textbook - the definite web book.
Other useful ressources:
- Another site and yet another site describing the definitions of several distributions.
- You may want to check out a Glossary of Statistical Terms.
- The GNU Scientific Library contains an extensive (but hardly readable) list of definition of distributions.
- Use this Web interface to plot all sort of distributions.
- Even more ressources: Internet glossary of Statistical Terms, a text book, another text book.
- Finally, a good link list Statistics on the Web.
- See Also:
cern.jet.random.tdouble.engine, Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description doubleapply(double dummy)Equivalent to nextDouble().intapply(int dummy)Equivalent to nextInt().java.lang.Objectclone()Returns a deep copy of the receiver; the copy will produce identical sequences.static DoubleRandomEnginemakeDefaultGenerator()Constructs and returns a new uniform random number generation engine seeded with the current time.abstract doublenextDouble()Returns a random number from the distribution.intnextInt()Returns a random number from the distribution; returns (int) Math.round(nextDouble()).
-
-
-
Method Detail
-
apply
public double apply(double dummy)
Equivalent to nextDouble(). This has the effect that distributions can now be used as function objects, returning a random number upon function evaluation.- Specified by:
applyin interfaceDoubleFunction- Parameters:
dummy- argument passed to the function.- Returns:
- the result of the function.
-
apply
public int apply(int dummy)
Equivalent to nextInt(). This has the effect that distributions can now be used as function objects, returning a random number upon function evaluation.- Specified by:
applyin interfaceIntFunction- Parameters:
dummy- argument passed to the function.- Returns:
- the result of the function.
-
clone
public java.lang.Object clone()
Returns a deep copy of the receiver; the copy will produce identical sequences. After this call has returned, the copy and the receiver have equal but separate state.- Overrides:
clonein classPersistentObject- Returns:
- a copy of the receiver.
-
makeDefaultGenerator
public static DoubleRandomEngine makeDefaultGenerator()
Constructs and returns a new uniform random number generation engine seeded with the current time. Currently this isDoubleMersenneTwister.
-
nextDouble
public abstract double nextDouble()
Returns a random number from the distribution.
-
nextInt
public int nextInt()
Returns a random number from the distribution; returns (int) Math.round(nextDouble()). Override this method if necessary.
-
-
DMelt 3.0 © DataMelt by jWork.ORG