Interface StreamInterface

All Superinterfaces:
Serializable
All Known Implementing Classes:
DX120Generator, Java2Random, MersenneTwister, RandomNumberGenerator

public interface StreamInterface extends Serializable
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 Type
    Method
    Description
    long
    Return the original seed of the generator with which it has been first initialized.
    long
    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
    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
    Return a pseudo-random number from the stream over using this stream, after advancing its state by one step.
    void
    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. to roll it back to this state.
    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 value
      j - 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

      byte[] saveState() throws StreamException
      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

      void restoreState(byte[] state) throws StreamException
      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.