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 TypeMethodDescriptionlongReturn the original seed of the generator with which it has been first initialized.longgetSeed()Return the seed of the generator.booleanReturn the next pseudo-random, uniformly distributed boolean value.doubleReturn a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.floatReturn a pseudo-random number from the stream over the interval (0,1) using this stream, after advancing its state by one step.intnextInt()Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.intnextInt(int i, int j) Return pseudo-random number from the stream between the integers i (inclusive) and j (inclusive).longnextLong()Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.voidreset()Reset the stream to use the original seed with which it was initialized.voidrestoreState(byte[] state) Restore the state to an earlier saved state object.byte[]Save the state of the RNG into an object, e.g.voidsetSeed(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.
-