**'cern.jet.random.tdouble.engine.DoubleRandomEngine'**Java class

## Class DoubleRandomEngine

- java.lang.Object
- cern.colt.PersistentObject
- cern.jet.random.tdouble.engine.DoubleRandomEngine

- All Implemented Interfaces:
- DoubleFunction, IntFunction, LongFunction, Serializable, Cloneable

- Direct Known Subclasses:
- DoubleMersenneTwister, DRand

public abstract class DoubleRandomEngineextends PersistentObjectimplements DoubleFunction, IntFunction, LongFunction

Abstract base class for uniform pseudo-random number generating engines.Most probability distributions are obtained by using a

**uniform**pseudo-random number generation engine followed by a transformation to the desired distribution. Thus, subclasses of this class are at the core of computational statistics, simulations, Monte Carlo methods, etc.Subclasses produce uniformly distributed

`int`'s and`long`'s in the closed intervals`[Integer.MIN_VALUE,Integer.MAX_VALUE]`and`[Long.MIN_VALUE,Long.MAX_VALUE]`, respectively, as well as`float`'s and`double`'s in the open unit intervals`(0.0f,1.0f)`and`(0.0,1.0)`, respectively.Subclasses need to override one single method only:

`nextInt()`. All other methods generating different data types or ranges are usually layered upon`nextInt()`.`long`'s are formed by concatenating two 32 bit`int`'s.`float`'s are formed by dividing the interval`[0.0f,1.0f]`into 2^{32}sub intervals, then randomly choosing one subinterval.`double`'s are formed by dividing the interval`[0.0,1.0]`into 2^{64}sub intervals, then randomly choosing one subinterval.Note that this implementation is

**not synchronized**.- See Also:
`DoubleMersenneTwister`

,`MersenneTwister64`

,`Random`

, Serialized Form

**Warning:**You cannot see the full API documentation of this class since the access to the DatMelt documentation for third-party Java classes is denied. Guests can only view jhplot Java API. To view the complete description of this class and its methods, please request the full DataMelt membership.

If you are already a full member, please login to the DataMelt member area before visiting this documentation.