Package org.apache.commons.math3.random

# Interface RandomGenerator

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

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

Since:
  1.1

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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:
  `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