Class RandomAdaptor

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

public class RandomAdaptor extends Random implements RandomGenerator
Extension of Random wrapping a RandomGenerator.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface java.util.random.RandomGenerator

    java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator, java.util.random.RandomGenerator.JumpableGenerator, java.util.random.RandomGenerator.LeapableGenerator, java.util.random.RandomGenerator.SplittableGenerator, java.util.random.RandomGenerator.StreamableGenerator
  • Constructor Summary

    Constructors
    Constructor
    Description
    RandomAdaptor(RandomGenerator randomGenerator)
    Construct a RandomAdaptor wrapping the supplied RandomGenerator.
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    void
    nextBytes(byte[] bytes, int offset, int len)
    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.
    long
    nextLong(long n)
    Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
    static Random
    of(RandomGenerator randomGenerator)
    Factory method to create a Random using the supplied RandomGenerator.
    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

    Methods inherited from interface java.util.random.RandomGenerator

    isDeprecated, nextDouble, nextDouble, nextExponential, nextFloat, nextFloat, nextGaussian, nextInt, nextLong
  • Constructor Details

    • RandomAdaptor

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

    • of

      public static Random of(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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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
    • nextBytes

      public void nextBytes(byte[] bytes, int offset, int len)
      Generates random bytes and places them into a user-supplied byte array.
      Specified by:
      nextBytes in interface RandomGenerator
      Parameters:
      bytes - the non-null byte array in which to put the random bytes
      offset - the starting index for inserting the generated bytes into the array
      len - the number of bytes to generate
    • 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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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 java.util.random.RandomGenerator
      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
    • nextLong

      public long nextLong(long 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:
      nextLong in interface java.util.random.RandomGenerator
      Specified by:
      nextLong in interface RandomGenerator
      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).
    • 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