## Class FloatRandomEngine

- java.lang.Object
- cern.colt.PersistentObject
- cern.jet.random.tfloat.engine.FloatRandomEngine

- All Implemented Interfaces:
- FloatFunction, IntFunction, Serializable, Cloneable

- Direct Known Subclasses:
- FloatMersenneTwister, FRand

public abstract class FloatRandomEngineextends PersistentObjectimplements FloatFunction, IntFunction

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`float`'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.`float`'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:
`FloatMersenneTwister`

,`MersenneTwister64`

,`Random`

, Serialized Form

### Method Summary

Methods Modifier and Type Method and Description `float`

**apply**(float dummy)Equivalent to`raw()`.`int`

**apply**(int dummy)Equivalent to`nextInt()`.`static FloatRandomEngine`

**makeDefault**()Constructs and returns a new uniform random number engine seeded with the current time.`float`

**nextFloat**()Returns a 32 bit uniformly distributed random number in the open unit interval`(0.0f,1.0f)`

(excluding 0.0f and 1.0f).`abstract int`

**nextInt**()Returns a 32 bit uniformly distributed random number in the closed interval`[Integer.MIN_VALUE,Integer.MAX_VALUE]`(including`Integer.MIN_VALUE`and`Integer.MAX_VALUE`);`long`

**nextLong**()Returns a 64 bit uniformly distributed random number in the closed interval`[Long.MIN_VALUE,Long.MAX_VALUE]`(including`Long.MIN_VALUE`and`Long.MAX_VALUE`).`float`

**raw**()Returns a 32 bit uniformly distributed random number in the open unit interval`(0.0,1.0)`

(excluding 0.0 and 1.0).### Methods inherited from class cern.colt.PersistentObject

`clone`

### Method Detail

#### apply

public float apply(float dummy)

Equivalent to`raw()`. This has the effect that random engines can now be used as function objects, returning a random number upon function evaluation.**Specified by:**`apply`

in interface`FloatFunction`

- 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 random engines can now be used as function objects, returning a random number upon function evaluation.**Specified by:**`apply`

in interface`IntFunction`

- Parameters:
`dummy`

- argument passed to the function.- Returns:
- the result of the function.

#### makeDefault

public static FloatRandomEngine makeDefault()

Constructs and returns a new uniform random number engine seeded with the current time. Currently this is`FloatMersenneTwister`

.

#### nextFloat

public float nextFloat()

Returns a 32 bit uniformly distributed random number in the open unit interval`(0.0f,1.0f)`

(excluding 0.0f and 1.0f).

#### nextInt

public abstract int nextInt()

Returns a 32 bit uniformly distributed random number in the closed interval`[Integer.MIN_VALUE,Integer.MAX_VALUE]`(including`Integer.MIN_VALUE`and`Integer.MAX_VALUE`);

#### nextLong

public long nextLong()

Returns a 64 bit uniformly distributed random number in the closed interval`[Long.MIN_VALUE,Long.MAX_VALUE]`(including`Long.MIN_VALUE`and`Long.MAX_VALUE`).

#### raw

public float raw()

Returns a 32 bit uniformly distributed random number in the open unit interval`(0.0,1.0)`

(excluding 0.0 and 1.0).

**SCaVis 2.1 © jWork.ORG**