Interface StreamInterface
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
DX120Generator
,Java2Random
,MersenneTwister
,RandomNumberGenerator
The StreamInterface defines the streams to be used within the JSTATS package. Potential implementations include the pseudo
random stream, the fully one-time random stream, etc.
Copyright (c) 2002-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://simulation.tudelft.nl. The DSOL project is distributed under a three-clause BSD-style license, which can be found at https://https://simulation.tudelft.nl/dsol/docs/latest/license.html.
- Author:
- Alexander Verbraeck, Peter Jacobs
-
Method Summary
Modifier and TypeMethodDescriptionlong
Return the original seed of the generator with which it has been first initialized.long
getSeed()
Return the seed of the generator.boolean
Return the next pseudo-random, uniformly distributed boolean value.double
Return a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.float
Return a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.int
nextInt()
Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.int
nextInt
(int i, int j) Return pseudo-random number from the stream between the integers i (inclusive) and j (inclusive).long
nextLong()
Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.void
reset()
Reset the stream to use the original seed with which it was initialized.void
restoreState
(byte[] state) Restore the state to an earlier saved state object.byte[]
Save the state of the RNG into an object, e.g.void
setSeed
(long seed) Set the seed of the generator.
-
Method Details
-
nextBoolean
boolean nextBoolean()Return the next pseudo-random, uniformly distributed boolean value.- Returns:
- boolean; a pseudo-random boolean with 50/50 chance for true or false
-
nextDouble
double nextDouble()Return a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.- Returns:
- double; the pseudo-random number
-
nextFloat
float nextFloat()Return a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.- Returns:
- float; the pseudo-random number
-
nextInt
int nextInt()Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.- Returns:
- int; the pseudo-random number
-
nextInt
int nextInt(int i, int j) Return pseudo-random number from the stream between the integers i (inclusive) and j (inclusive).- Parameters:
i
- int; the minimal valuej
- int; the maximum value- Returns:
- int; a value between i and j
-
nextLong
long nextLong()Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.- Returns:
- long; the pseudo-random number
-
getSeed
long getSeed()Return the seed of the generator.- Returns:
- long; the seed
-
getOriginalSeed
long getOriginalSeed()Return the original seed of the generator with which it has been first initialized.- Returns:
- long; the original seed of the generator when it was first initialized
-
setSeed
void setSeed(long seed) Set the seed of the generator.- Parameters:
seed
- long; the new seed
-
reset
void reset()Reset the stream to use the original seed with which it was initialized. -
saveState
Save the state of the RNG into an object, e.g. to roll it back to this state.- Returns:
- the state as an object specific to the RNG.
- Throws:
StreamException
- when getting the state fails.
-
restoreState
Restore the state to an earlier saved state object.- Parameters:
state
- Object; the earlier saved state to which the RNG rolls back.- Throws:
StreamException
- when resetting the state fails.
-