Package org.hipparchus.random
Interface RandomGenerator
- All Known Implementing Classes:
AbstractWell
,ISAACRandom
,JDKRandomGenerator
,MersenneTwister
,RandomAdaptor
,RandomDataGenerator
,SynchronizedRandomGenerator
,Well1024a
,Well19937a
,Well19937c
,Well44497a
,Well44497b
,Well512a
public interface RandomGenerator
Interface for generators of random number sequences.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the next pseudorandom, uniformly distributedboolean
value from this random number generator's sequence.void
nextBytes
(byte[] bytes) Generates random bytes and places them into a user-supplied byte array.void
nextBytes
(byte[] bytes, int offset, int len) Generates random bytes and places them into a user-supplied byte array.double
Returns the next pseudorandom, uniformly distributeddouble
value between0.0
and1.0
from this random number generator's sequence.float
Returns the next pseudorandom, uniformly distributedfloat
value between0.0
and1.0
from this random number generator's sequence.double
Returns the next pseudorandom, Gaussian ("normally") distributeddouble
value with mean0.0
and standard deviation1.0
from this random number generator's sequence.int
nextInt()
Returns the next pseudorandom, uniformly distributedint
value from this random number generator's sequence.int
nextInt
(int n) Returns a pseudorandom, uniformly distributedint
value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.long
nextLong()
Returns the next pseudorandom, uniformly distributedlong
value from this random number generator's sequence.long
nextLong
(long n) Returns a pseudorandom, uniformly distributedint
value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.void
setSeed
(int seed) Sets the seed of the underlying random number generator using anint
seed.void
setSeed
(int[] seed) Sets the seed of the underlying random number generator using anint
array seed.void
setSeed
(long seed) Sets the seed of the underlying random number generator using along
seed.
-
Method Details
-
setSeed
void setSeed(int seed) Sets the seed of the underlying random number generator using anint
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 anint
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 along
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
-
nextBytes
void nextBytes(byte[] bytes, int offset, int len) Generates random bytes and places them into a user-supplied byte array.- Parameters:
bytes
- the non-null byte array in which to put the random bytesoffset
- the starting index for inserting the generated bytes into the arraylen
- the number of bytes to generate- Throws:
MathIllegalArgumentException
- ifoffset < 0
oroffset + len >= bytes.length
-
nextInt
int nextInt()Returns the next pseudorandom, uniformly distributedint
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 distributedint
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 distributedlong
value from this random number generator's sequence. All 264 possiblelong
values should be produced with (approximately) equal probability.- Returns:
- the next pseudorandom, uniformly distributed
long
value from this random number generator's sequence
-
nextLong
long nextLong(long n) Returns a pseudorandom, uniformly distributedint
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.
-
nextBoolean
boolean nextBoolean()Returns the next pseudorandom, uniformly distributedboolean
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 distributedfloat
value between0.0
and1.0
from this random number generator's sequence.- Returns:
- the next pseudorandom, uniformly distributed
float
value between0.0
and1.0
from this random number generator's sequence
-
nextDouble
double nextDouble()Returns the next pseudorandom, uniformly distributeddouble
value between0.0
and1.0
from this random number generator's sequence.- Returns:
- the next pseudorandom, uniformly distributed
double
value between0.0
and1.0
from this random number generator's sequence
-
nextGaussian
double nextGaussian()Returns the next pseudorandom, Gaussian ("normally") distributeddouble
value with mean0.0
and standard deviation1.0
from this random number generator's sequence.- Returns:
- the next pseudorandom, Gaussian ("normally") distributed
double
value with mean0.0
and standard deviation1.0
from this random number generator's sequence
-