类 Well19937a
java.lang.Object
org.hipparchus.random.AbstractWell
org.hipparchus.random.Well19937a
- 所有已实现的接口:
-
Serializable
,RandomGenerator
This class implements the WELL19937a 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
-
构造器概要
构造器说明创建一个新的随机数生成器。Well19937a
(int seed) 使用单个int种子创建一个新的随机数生成器。Well19937a
(int[] seed) 使用int数组种子创建一个新的随机数生成器。Well19937a
(long seed) 使用单个long种子创建一个新的随机数生成器。 -
方法概要
修饰符和类型方法说明protected void
清除默认实现中使用的缓存RandomGenerator.nextGaussian()
。boolean
从此随机数生成器的序列中返回下一个伪随机、均匀分布的boolean
值。void
nextBytes
(byte[] bytes) 生成随机字节并将其放入用户提供的字节数组中。void
nextBytes
(byte[] bytes, int start, int len) 生成随机字节并将其放入用户提供的字节数组中。double
从此随机数生成器的序列中返回下一个伪随机、均匀分布的double
值,范围在0.0
和1.0
之间。float
从此随机数生成器的序列中返回下一个伪随机、均匀分布的float
值,范围在0.0
和1.0
之间。double
从此随机数生成器的序列中返回下一个伪随机、高斯("正态")分布的double
值,均值为0.0
,标准差为1.0
。int
nextInt()
从此随机数生成器的序列中返回下一个伪随机、均匀分布的int
值。int
nextInt
(int n) 从此随机数生成器的序列中返回一个伪随机、均匀分布的int
值,范围在0(包括)和指定值(不包括)之间。long
nextLong()
从此随机数生成器的序列中返回下一个伪随机、均匀分布的long
值。long
nextLong
(long n) 从此随机数生成器的序列中返回一个伪随机、均匀分布的int
值,范围在0(包括)和指定值(不包括)之间。void
setSeed
(int seed) 使用一个int
种子设置基础随机数生成器的种子。void
setSeed
(long seed) 使用一个long
种子设置基础随机数生成器的种子。toString()
从类继承的方法 org.hipparchus.random.AbstractWell
setSeed
-
构造器详细资料
-
Well19937a
public Well19937a()创建一个新的随机数生成器。该实例使用当前时间作为种子进行初始化。
-
Well19937a
public Well19937a(int seed) 使用单个int种子创建一个新的随机数生成器。- 参数:
-
seed
- 初始种子(32位整数)
-
Well19937a
public Well19937a(int[] seed) 使用int数组种子创建一个新的随机数生成器。- 参数:
-
seed
- 初始种子(32位整数数组),如果为null,则生成器的种子将与当前时间相关联
-
Well19937a
public Well19937a(long seed) 使用单个long种子创建一个新的随机数生成器。- 参数:
-
seed
- 初始种子(64位整数)
-
-
方法详细资料
-
nextInt
public int nextInt()从此随机数生成器的序列中返回下一个伪随机、均匀分布的int
值。所有232个可能的
int
值应以(大约)相等的概率产生。- 指定者:
-
nextInt
在接口中RandomGenerator
- 返回:
-
从此随机数生成器的序列中返回下一个伪随机、均匀分布的
int
值
-
nextBoolean
public boolean nextBoolean()从此随机数生成器的序列中返回下一个伪随机、均匀分布的boolean
值。- 返回:
-
从此随机数生成器的序列中返回下一个伪随机、均匀分布的
boolean
值
-
nextDouble
public double nextDouble()从此随机数生成器的序列中返回下一个伪随机、均匀分布的double
值,范围在0.0
和1.0
之间。- 返回:
-
从此随机数生成器的序列中返回下一个伪随机、均匀分布的
double
值,范围在0.0
和1.0
之间
-
nextFloat
public float nextFloat()从此随机数生成器的序列中返回下一个伪随机、均匀分布的float
值,范围在0.0
和1.0
之间。- 返回:
-
从此随机数生成器的序列中返回下一个伪随机、均匀分布的
float
值,范围在0.0
和1.0
之间
-
nextLong
public long nextLong()从此随机数生成器的序列中返回下一个伪随机、均匀分布的long
值。所有264个可能的long
值应以(大约)相等的概率产生。- 返回:
-
从此随机数生成器的序列中返回下一个伪随机、均匀分布的
long
值
-
nextBytes
public void nextBytes(byte[] bytes) 生成随机字节并将其放入用户提供的字节数组中。生成的随机字节数量等于字节数组的长度。- 参数:
-
bytes
- 非空字节数组,用于放置随机字节
-
nextBytes
public void nextBytes(byte[] bytes, int start, int len) 生成随机字节并将其放入用户提供的字节数组中。- 参数:
-
bytes
- 非空字节数组,用于放置随机字节 -
start
- 将生成的字节插入数组的起始索引 -
len
- 要生成的字节数量
-
setSeed
public void setSeed(int seed) 使用一个int
种子设置基础随机数生成器的种子。从相同种子开始生成的值序列应该是相同的。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 种子值
-
setSeed
public void setSeed(long seed) 使用一个long
种子设置基础随机数生成器的种子。从相同种子开始生成的值序列应该是相同的。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 种子值
-
nextInt
从此随机数生成器的序列中返回一个伪随机、均匀分布的int
值,范围在0(包括)和指定值(不包括)之间。- 指定者:
-
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
-