Class Java2Random
- java.lang.Object
-
- java.util.Random
-
- nl.tudelft.simulation.jstats.streams.Java2Random
-
- All Implemented Interfaces:
Serializable,StreamInterface
public class Java2Random extends Random implements StreamInterface
The Java2Random is an extension of thejava.util.Randomclass which implements the StreamInterface.Copyright (c) 2002-2023 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
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Java2Random()Create a new Java2Random and initializes with System.currentTimeMillis.Java2Random(long seed)Create a new Java2Random and initialize with a given seed.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetOriginalSeed()Return the original seed of the generator with which it has been first initialized.longgetSeed()Return the seed of the generator.intnextInt(int i, int j)Return pseudo-random number from the stream between the integers i (inclusive) and j (inclusive).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[]saveState()Save the state of the RNG into an object, e.g.voidsetSeed(long seed)Set the seed of the generator.-
Methods inherited from class java.util.Random
doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, next, nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLong
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface nl.tudelft.simulation.jstats.streams.StreamInterface
nextBoolean, nextDouble, nextFloat, nextInt, nextLong
-
-
-
-
Method Detail
-
reset
public void reset()
Reset the stream to use the original seed with which it was initialized.- Specified by:
resetin interfaceStreamInterface
-
getOriginalSeed
public long getOriginalSeed()
Return the original seed of the generator with which it has been first initialized.- Specified by:
getOriginalSeedin interfaceStreamInterface- Returns:
- long; the original seed of the generator when it was first initialized
-
nextInt
public int nextInt(int i, int j)Return pseudo-random number from the stream between the integers i (inclusive) and j (inclusive).- Specified by:
nextIntin interfaceStreamInterface- Parameters:
i- int; the minimal valuej- int; the maximum value- Returns:
- int; a value between i and j
-
setSeed
public void setSeed(long seed)
Set the seed of the generator.- Specified by:
setSeedin interfaceStreamInterface- Overrides:
setSeedin classRandom- Parameters:
seed- long; the new seed
-
getSeed
public long getSeed()
Return the seed of the generator.- Specified by:
getSeedin interfaceStreamInterface- Returns:
- long; the seed
-
saveState
public byte[] saveState() throws StreamExceptionSave the state of the RNG into an object, e.g. to roll it back to this state.- Specified by:
saveStatein interfaceStreamInterface- Returns:
- the state as an object specific to the RNG.
- Throws:
StreamException- when getting the state fails.
-
restoreState
public void restoreState(byte[] state) throws StreamExceptionRestore the state to an earlier saved state object.- Specified by:
restoreStatein interfaceStreamInterface- Parameters:
state- Object; the earlier saved state to which the RNG rolls back.- Throws:
StreamException- when resetting the state fails.
-
-