SynchronizedRandomGenerator
org.apache.commons.math3.random

Class SynchronizedRandomGenerator

  • All Implemented Interfaces:
    RandomGenerator


    public class SynchronizedRandomGeneratorextends Objectimplements RandomGenerator
    Any RandomGenerator implementation can be thread-safe if it is used through an instance of this class. This is achieved by enclosing calls to the methods of the actual generator inside the overridden synchronized methods of this class.
    • Method Summary

      Methods 
      Modifier and TypeMethod and Description
      booleannextBoolean()
      Returns the next pseudorandom, uniformly distributed boolean value from this random number generator's sequence.
      voidnextBytes(byte[] bytes)
      Generates random bytes and places them into a user-supplied byte array.
      doublenextDouble()
      Returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator's sequence.
      floatnextFloat()
      Returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence.
      doublenextGaussian()
      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.
      intnextInt()
      Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.
      intnextInt(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.
      longnextLong()
      Returns the next pseudorandom, uniformly distributed long value from this random number generator's sequence.
      voidsetSeed(int seed)
      Sets the seed of the underlying random number generator using an int seed.
      voidsetSeed(int[] seed)
      Sets the seed of the underlying random number generator using an int array seed.
      voidsetSeed(long seed)
      Sets the seed of the underlying random number generator using a long seed.
    • Constructor Detail

      • SynchronizedRandomGenerator

        public SynchronizedRandomGenerator(RandomGenerator rng)
        Creates a synchronized wrapper for the given RandomGenerator instance.
        Parameters:
        rng - Generator whose methods will be called through their corresponding overridden synchronized version. To ensure thread-safety, the wrapped generator must not be used directly.
    • Method Detail

      • 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
        Parameters:
        seed - the seed value
      • 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
        Parameters:
        bytes - the non-null byte array in which to put the random bytes
      • 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
        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
        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).
      • 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
        Returns:
        the next pseudorandom, uniformly distributed longvalue from this random number generator's sequence
      • 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
        Returns:
        the next pseudorandom, uniformly distributed boolean value 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
        Returns:
        the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence
      • 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
        Returns:
        the next pseudorandom, uniformly distributed double 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
        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

SCaVis 2.2 © jWork.ORG