Class JDKRandomBridge

java.lang.Object
java.util.Random
org.apache.commons.rng.simple.JDKRandomBridge
All Implemented Interfaces:
java.io.Serializable

public final class JDKRandomBridge
extends java.util.Random
Subclass of Random that delegates to a RestorableUniformRandomProvider instance but will otherwise rely on the base class for generating all the random types.

Legacy applications coded against the JDK's API could use this subclass of Random in order to replace its linear congruential generator by any RandomSource.

Caveat: Use of this class is not recommended for new applications. In particular, there is no guarantee that the serialized form of this class will be compatible across (even minor) releases of the library.
Since:
1.0
See Also:
Serialized Form
  • Constructor Summary

    Constructors 
    Constructor Description
    JDKRandomBridge​(RandomSource source, java.lang.Object seed)
    Creates a new instance.
  • Method Summary

    Modifier and Type Method Description
    protected int next​(int n)
    Delegates the generation of 32 random bits to the RandomSource argument provided at construction.
    void setSeed​(long seed)

    Methods inherited from class java.util.Random

    doubles, doubles, doubles, doubles, ints, ints, ints, ints, longs, longs, longs, longs, 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
  • Constructor Details

    • JDKRandomBridge

      public JDKRandomBridge​(RandomSource source, java.lang.Object seed)
      Creates a new instance.
      Parameters:
      source - Source of randomness.
      seed - Seed. Can be null.
  • Method Details

    • setSeed

      public void setSeed​(long seed)
      Overrides:
      setSeed in class java.util.Random
    • next

      protected int next​(int n)
      Delegates the generation of 32 random bits to the RandomSource argument provided at construction. The returned value is such that if the source of randomness is RandomSource.JDK, all the generated values will be identical to those produced by the same sequence of calls on a Random instance initialized with the same seed.
      Overrides:
      next in class java.util.Random
      Parameters:
      n - Number of random bits which the requested value must contain.
      Returns:
      the value represented by the n high-order bits of a pseudo-random 32-bits integer.