org.apache.commons.math3.random

## 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
  Version:
    $Id: RandomAdaptor.java 1244107 2012-02-14 16:17:55Z erans $
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RandomAdaptor(RandomGenerator randomGenerator)` Construct a RandomAdaptor wrapping the supplied RandomGenerator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Random` | `createAdaptor(RandomGenerator randomGenerator)` Factory method to create a `Random` using the supplied `RandomGenerator`.
    `boolean` | `nextBoolean()` 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` | `nextDouble()` Returns the next pseudorandom, uniformly distributed `double` value between `0.0` and `1.0` from this random number generator's sequence.
    `float` | `nextFloat()` Returns the next pseudorandom, uniformly distributed `float` value between `0.0` and `1.0` from this random number generator's sequence.
    `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.
    `int` | `nextInt()` 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` | `nextLong()` 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

      `next`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RandomAdaptor

          public RandomAdaptor(RandomGenerator randomGenerator)

      Construct a RandomAdaptor wrapping the supplied RandomGenerator.
      Parameters:
        `randomGenerator` - the wrapped generator

  - ### Method Detail

    - #### 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

Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.