org.apache.commons.math.random

## Interface RandomGenerator

All Known Implementing Classes:
  AbstractRandomGenerator, AbstractWell, BitsStreamGenerator, JDKRandomGenerator, MersenneTwister, RandomAdaptor, Well1024a, Well19937a, Well19937c, Well44497a, Well44497b, Well512a

    public interface RandomGenerator

Interface extracted from `java.util.Random`. This interface is implemented by `AbstractRandomGenerator`.

Since:
  1.1
Version:
  $Revision: 949750 $ $Date: 2010-05-31 16:06:04 +0200 (lun. 31 mai 2010) $

### Method Summary

Methods
`boolean` `nextBoolean()` Returns the next pseudorandom, uniformly distributed `boolean` value from this random number generator's sequence.
`void` `nextBytes(byte[] bytes)` Generates random bytes and places them into a user-supplied byte array.
`double` `nextDouble()` Returns the next pseudorandom, uniformly distributed `double` value between `0.0` and `1.0` from this random number generator's sequence.
`float` `nextFloat()` Returns the next pseudorandom, uniformly distributed `float` value between `0.0` and `1.0` from this random number generator's sequence.
`double` `nextGaussian()` Returns the next pseudorandom, Gaussian ("normally") distributed `double` value with mean `0.0` and standard deviation `1.0` from this random number generator's sequence.
`int` `nextInt()` Returns the next pseudorandom, uniformly distributed `int` value from this random number generator's sequence.
`int` `nextInt(int n)` Returns a pseudorandom, uniformly distributed `int` value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
`long` `nextLong()` Returns the next pseudorandom, uniformly distributed `long` value from this random number generator's sequence.
`void` `setSeed(int seed)` Sets the seed of the underlying random number generator using an `int` seed.
`void` `setSeed(int[] seed)` Sets the seed of the underlying random number generator using an `int` array seed.
`void` `setSeed(long seed)` Sets the seed of the underlying random number generator using a `long` seed.

### Method Detail

#### setSeed

    void setSeed(int seed)

Sets the seed of the underlying random number generator using an `int` seed.

Sequences of values generated starting with the same seeds should be identical.

Parameters:
  `seed` - the seed value

#### setSeed

    void setSeed(int[] seed)

Sets the seed of the underlying random number generator using an `int` array seed.

Sequences of values generated starting with the same seeds should be identical.

Parameters:
  `seed` - the seed value

#### setSeed

    void setSeed(long seed)

Sets the seed of the underlying random number generator using a `long` seed.

Sequences of values generated starting with the same seeds should be identical.

Parameters:
  `seed` - the seed value

#### nextBytes

    void nextBytes(byte[] bytes)

Generates random bytes and places them into a user-supplied byte array. The number of random bytes produced is equal to the length of the byte array.

Parameters:
  `bytes` - the non-null byte array in which to put the random bytes

#### nextInt

    int nextInt()

Returns the next pseudorandom, uniformly distributed `int` value from this random number generator's sequence. All 232 possible `int` values should be produced with (approximately) equal probability.

Returns:
  the next pseudorandom, uniformly distributed `int` value from this random number generator's sequence

#### nextInt

    int nextInt(int n)

Returns a pseudorandom, uniformly distributed `int` value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.

Parameters:
  `n` - the bound on the random number to be returned. Must be positive.
Returns:
  a pseudorandom, uniformly distributed `int` value between 0 (inclusive) and n (exclusive).
Throws:
  `java.lang.IllegalArgumentException` - if n is not positive.

#### nextLong

    long nextLong()

Returns the next pseudorandom, uniformly distributed `long` value from this random number generator's sequence. All 264 possible `long` values should be produced with (approximately) equal probability.

Returns:
  the next pseudorandom, uniformly distributed `long` value from this random number generator's sequence

#### nextBoolean

    boolean nextBoolean()

Returns the next pseudorandom, uniformly distributed `boolean` value from this random number generator's sequence.

Returns:
  the next pseudorandom, uniformly distributed `boolean` value from this random number generator's sequence

#### nextFloat

    float nextFloat()

Returns the next pseudorandom, uniformly distributed `float` value between `0.0` and `1.0` from this random number generator's sequence.

Returns:
  the next pseudorandom, uniformly distributed `float` value between `0.0` and `1.0` from this random number generator's sequence

#### nextDouble

    double nextDouble()

Returns the next pseudorandom, uniformly distributed `double` value between `0.0` and `1.0` from this random number generator's sequence.

Returns:
  the next pseudorandom, uniformly distributed `double` value between `0.0` and `1.0` from this random number generator's sequence

#### nextGaussian

    double nextGaussian()

Returns the next pseudorandom, Gaussian ("normally") distributed `double` value with mean `0.0` and standard deviation `1.0` from this random number generator's sequence.

Returns:
  the next pseudorandom, Gaussian ("normally") distributed `double` value with mean `0.0` and standard deviation `1.0` from this random number generator's sequence