类 Well512a

java.lang.Object
org.hipparchus.random.AbstractWell
org.hipparchus.random.Well512a
所有已实现的接口:
Serializable, RandomGenerator

public class Well512a extends AbstractWell
This class implements the WELL512a pseudo-random number generator from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.

This generator is described in a paper by François Panneton, Pierre L'Ecuyer and Makoto Matsumoto Improved Long-Period Generators Based on Linear Recurrences Modulo 2 ACM Transactions on Mathematical Software, 32, 1 (2006). The errata for the paper are in wellrng-errata.txt.

另请参阅:
  • 嵌套类概要

    从类继承的嵌套类/接口 org.hipparchus.random.AbstractWell

    AbstractWell.IndexTable
  • 字段概要

    从类继承的字段 org.hipparchus.random.AbstractWell

    index, v
  • 构造器概要

    构造器
    构造器
    说明
    Creates a new random number generator.
    Well512a(int seed)
    Creates a new random number generator using a single int seed.
    Well512a(int[] seed)
    Creates a new random number generator using an int array seed.
    Well512a(long seed)
    Creates a new random number generator using a single long seed.
  • 方法概要

    修饰符和类型
    方法
    说明
    protected void
    Clears the cache used by the default implementation of RandomGenerator.nextGaussian().
    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 start, 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.
    void
    setSeed(int seed)
    Sets the seed of the underlying random number generator using an int seed.
    void
    setSeed(long seed)
    Sets the seed of the underlying random number generator using a long seed.

    从类继承的方法 org.hipparchus.random.AbstractWell

    setSeed

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 构造器详细资料

    • Well512a

      public Well512a()
      Creates a new random number generator.

      The instance is initialized using the current time as the seed.

    • Well512a

      public Well512a(int seed)
      Creates a new random number generator using a single int seed.
      参数:
      seed - the initial seed (32 bits integer)
    • Well512a

      public Well512a(int[] seed)
      Creates a new random number generator using an int array seed.
      参数:
      seed - the initial seed (32 bits integers array), if null the seed of the generator will be related to the current time
    • Well512a

      public Well512a(long seed)
      Creates a new random number generator using a single long seed.
      参数:
      seed - the initial seed (64 bits integer)
  • 方法详细资料

    • 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.

      指定者:
      nextInt 在接口中 RandomGenerator
      返回:
      the next pseudorandom, uniformly distributed int value 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.
      返回:
      the next pseudorandom, uniformly distributed boolean value 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.
      返回:
      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.
      返回:
      the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator's sequence
    • 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.
      返回:
      the next pseudorandom, uniformly distributed long 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.
      参数:
      bytes - the non-null byte array in which to put the random bytes
    • nextBytes

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

      指定者:
      setSeed 在接口中 RandomGenerator
      参数:
      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.

      指定者:
      setSeed 在接口中 RandomGenerator
      参数:
      seed - the seed value
    • nextInt

      public int nextInt(int n) throws IllegalArgumentException
      Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.
      指定者:
      nextInt 在接口中 RandomGenerator
      参数:
      n - 要返回的随机数的上限。必须是正数。
      返回:
      一个伪随机、均匀分布的int值,介于0(包括)和n(不包括)之间。
      抛出:
      IllegalArgumentException - 如果n不是正数。
    • nextLong

      public long nextLong(long n)
      返回一个伪随机、均匀分布的int值,介于0(包括)和指定值(不包括)之间,从此随机数生成器的序列中抽取。
      指定者:
      nextLong 在接口中 RandomGenerator
      参数:
      n - 要返回的随机数的上限。必须是正数。
      返回:
      一个伪随机、均匀分布的int值,介于0(包括)和n(不包括)之间。
    • nextGaussian

      public double nextGaussian()
      返回下一个伪随机、高斯(“正态”)分布的double值,均值为0.0,标准差为1.0,从此随机数生成器的序列中。
      指定者:
      nextGaussian 在接口中 RandomGenerator
      返回:
      下一个伪随机、高斯(“正态”)分布的double值,均值为0.0,标准差为1.0,从此随机数生成器的序列中。
    • clearCache

      protected void clearCache()
      清除默认实现中使用的缓存RandomGenerator.nextGaussian()
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object