Class RandomAdaptor

java.lang.Object
java.util.Random
org.apache.commons.math3.random.RandomAdaptor
All Implemented Interfaces:
Serializable, RandomGenerator

public class RandomAdaptor extends Random implements RandomGenerator
Extension of java.util.Random wrapping a RandomGenerator.
Since:
1.1
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final RandomGenerator
    Wrapped randomGenerator instance
    private static final long
    Serializable version identifier.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Prevent instantiation without a generator argument
     
    RandomAdaptor(RandomGenerator randomGenerator)
    Construct a RandomAdaptor wrapping the supplied RandomGenerator.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Random
    createAdaptor(RandomGenerator randomGenerator)
    Factory method to create a Random using the supplied RandomGenerator.
    boolean
    Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence.
    void
    nextBytes(byte[] bytes)
    Generates random bytes and places them into a user-supplied byte array.
    double
    Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.
    float
    Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.
    double
    Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.
    int
    Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.
    int
    nextInt(int n)
    Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
    long
    Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.
    void
    setSeed(int seed)
    Sets the seed of the underlying random number generator using an int seed.
    void
    setSeed(int[] seed)
    Sets the seed of the underlying random number generator using an int array seed.
    void
    setSeed(long seed)
    Sets the seed of the underlying random number generator using a long seed.

    Methods inherited from class java.util.Random

    doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, next

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serializable version identifier.
      See Also:
    • randomGenerator

      private final RandomGenerator randomGenerator
      Wrapped randomGenerator instance
  • Constructor Details

    • RandomAdaptor

      private RandomAdaptor()
      Prevent instantiation without a generator argument
    • RandomAdaptor

      public RandomAdaptor(RandomGenerator randomGenerator)
      Construct a RandomAdaptor wrapping the supplied RandomGenerator.
      Parameters:
      randomGenerator - the wrapped generator
  • Method Details

    • createAdaptor

      public static Random createAdaptor(RandomGenerator randomGenerator)
      Factory method to create a Random using the supplied RandomGenerator.
      Parameters:
      randomGenerator - wrapped RandomGenerator instance
      Returns:
      a Random instance wrapping the RandomGenerator
    • nextBoolean

      public boolean nextBoolean()
      Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence.
      Specified by:
      nextBoolean in interface RandomGenerator
      Overrides:
      nextBoolean in class Random
      Returns:
      the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence
    • nextBytes

      public 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.
      Specified by:
      nextBytes in interface RandomGenerator
      Overrides:
      nextBytes in class Random
      Parameters:
      bytes - the non-null byte array in which to put the random bytes
    • nextDouble

      public double nextDouble()
      Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.
      Specified by:
      nextDouble in interface RandomGenerator
      Overrides:
      nextDouble in class Random
      Returns:
      the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence
    • nextFloat

      public float nextFloat()
      Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.
      Specified by:
      nextFloat in interface RandomGenerator
      Overrides:
      nextFloat in class Random
      Returns:
      the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence
    • nextGaussian

      public double nextGaussian()
      Returns the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence.
      Specified by:
      nextGaussian in interface RandomGenerator
      Overrides:
      nextGaussian in class Random
      Returns:
      the next pseudorandom, Gaussian ("normally") distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator's sequence
    • nextInt

      public int nextInt()
      Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence. All 232 possible int values should be produced with (approximately) equal probability.
      Specified by:
      nextInt in interface RandomGenerator
      Overrides:
      nextInt in class Random
      Returns:
      the next pseudorandom, uniformly distributed int value from this random number generator's sequence
    • nextInt

      public int nextInt(int n)
      Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
      Specified by:
      nextInt in interface RandomGenerator
      Overrides:
      nextInt in class Random
      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

      public long nextLong()
      Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence. All 264 possible long values should be produced with (approximately) equal probability.
      Specified by:
      nextLong in interface RandomGenerator
      Overrides:
      nextLong in class Random
      Returns:
      the next pseudorandom, uniformly distributed long value from this random number generator's sequence
    • setSeed

      public void setSeed(int seed)
      Sets the seed of the underlying random number generator using an int seed.

      Sequences of values generated starting with the same seeds should be identical.

      Specified by:
      setSeed in interface RandomGenerator
      Parameters:
      seed - the seed value
    • setSeed

      public void setSeed(int[] seed)
      Sets the seed of the underlying random number generator using an int array seed.

      Sequences of values generated starting with the same seeds should be identical.

      Specified by:
      setSeed in interface RandomGenerator
      Parameters:
      seed - the seed value
    • setSeed

      public void setSeed(long seed)
      Sets the seed of the underlying random number generator using a long seed.

      Sequences of values generated starting with the same seeds should be identical.

      Specified by:
      setSeed in interface RandomGenerator
      Overrides:
      setSeed in class Random
      Parameters:
      seed - the seed value