类 AbstractWell
java.lang.Object
org.hipparchus.random.AbstractWell
- 所有已实现的接口:
-
Serializable
,RandomGenerator
- 直接已知子类:
-
Well1024a
,Well19937a
,Well19937c
,Well44497a
,Well44497b
,Well512a
这个抽象类实现了来自François Panneton、Pierre L'Ecuyer和松本真的WELL伪随机数生成器类。
这个生成器在François Panneton、Pierre L'Ecuyer和松本真的一篇论文中有描述:基于模2线性递归的改进长周期生成器 ACM Transactions on Mathematical Software, 32, 1 (2006)。该论文的勘误在wellrng-errata.txt中。
- 另请参阅:
-
嵌套类概要
-
字段概要
-
构造器概要
限定符构造器说明protected
AbstractWell
(int k) 创建一个新的随机数生成器。protected
AbstractWell
(int k, int seed) 使用单个int种子创建一个新的随机数生成器。protected
AbstractWell
(int k, int[] seed) 使用int数组种子创建一个新的随机数生成器。protected
AbstractWell
(int k, long seed) 使用单个long种子创建一个新的随机数生成器。 -
方法概要
修饰符和类型方法说明protected void
清除默认实现中用于RandomGenerator.nextGaussian()
的缓存。boolean
从该随机数生成器的序列中返回下一个伪随机、均匀分布的boolean
值。void
nextBytes
(byte[] bytes) 生成随机字节并将其放入用户提供的字节数组中。void
nextBytes
(byte[] bytes, int start, int len) 生成随机字节并将其放入用户提供的字节数组中。double
从该随机数生成器的序列中返回下一个伪随机、均匀分布在0.0
和1.0
之间的double
值。float
从该随机数生成器的序列中返回下一个伪随机、均匀分布在0.0
和1.0
之间的float
值。double
从该随机数生成器的序列中返回下一个伪随机、均匀分布的double
值,其均值为0.0
,标准差为1.0
。abstract 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
(int[] seed) 重新初始化生成器,就像使用给定的int数组种子刚构建的一样。void
setSeed
(long seed) 使用一个long
种子设置底层随机数生成器的种子。toString()
-
字段详细资料
-
index
protected int index字节池中的当前索引。 -
v
protected final int[] v字节池。
-
-
构造器详细资料
-
AbstractWell
protected AbstractWell(int k) 创建一个新的随机数生成器。该实例使用当前时间加上该实例的系统标识哈希码作为种子进行初始化。
- 参数:
-
k
- 池中的位数(不一定是32的倍数)
-
AbstractWell
protected AbstractWell(int k, int seed) 使用单个int种子创建一个新的随机数生成器。- 参数:
-
k
- 池中的位数(不一定是32的倍数) -
seed
- 初始种子(32位整数)
-
AbstractWell
protected AbstractWell(int k, int[] seed) 使用int数组种子创建一个新的随机数生成器。- 参数:
-
k
- 池中的位数(不一定是32的倍数) -
seed
- 初始种子(32位整数数组),如果为null,则生成器的种子将与当前时间相关
-
AbstractWell
protected AbstractWell(int k, long seed) 使用单个long种子创建一个新的随机数生成器。- 参数:
-
k
- 池中的位数(不一定是32的倍数) -
seed
- 初始种子(64位整数)
-
-
方法详细资料
-
setSeed
public void setSeed(int[] seed) 重新初始化生成器,就像使用给定的int数组种子刚构建的一样。生成器的状态与使用相同种子构建的新生成器完全相同。
- 指定者:
-
setSeed
在接口中RandomGenerator
- 参数:
-
seed
- 初始种子(32位整数数组)。如果为null,则生成器的种子将是系统时间加上该实例的系统标识哈希码。
-
nextInt
public abstract int nextInt()从该随机数生成器的序列中返回下一个伪随机、均匀分布的int
值。所有232个可能的
int
值应该以(大约)相等的概率产生。- 返回:
-
从该随机数生成器的序列中返回下一个伪随机、均匀分布的
int
值
-
nextBoolean
public boolean nextBoolean()从该随机数生成器的序列中返回下一个伪随机、均匀分布的boolean
值。- 返回:
-
从该随机数生成器的序列中返回下一个伪随机、均匀分布的
boolean
值
-
nextDouble
public double nextDouble()从该随机数生成器的序列中返回下一个伪随机、均匀分布在0.0
和1.0
之间的double
值。- 返回:
-
从该随机数生成器的序列中返回下一个伪随机、均匀分布在
0.0
和1.0
之间的double
值
-
nextFloat
public float nextFloat()从该随机数生成器的序列中返回下一个伪随机、均匀分布在0.0
和1.0
之间的float
值。- 返回:
-
从该随机数生成器的序列中返回下一个伪随机、均匀分布在
0.0
和1.0
之间的float
值
-
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
-