SFC64 小型快速混沌 PRNG #
- 类 numpy.random。SFC64(种子=无)#
Chris Doty-Humphrey 的小型快速混沌 PRNG 的 BitGenerator。
- 参数:
- 种子{None, int, array_like[ints], SeedSequence},可选
用于初始化 的种子
BitGenerator
。如果没有,那么将从操作系统中提取新的、不可预测的熵。如果传递了int
orarray_like[ints]
,则将传递它以SeedSequence
导出初始BitGenerator
状态。也可能会通过一个SeedSequence
实例。
笔记
SFC64
是 Chris Doty-Humphrey 的 Small Fast Chaotic PRNG ( [1] )的 256 位实现。SFC64
根据种子的不同,可能有几个不同的周期;预计期限约为 \(2^{255}\)([2])。SFC64
包含一个 64 位计数器,这意味着绝对最小周期长度是\(2^{64}\)并且不同的种子至少在一段时间内不会相遇\(2^{64}\)迭代。SFC64
提供一个胶囊,其中包含生成双精度数以及无符号 32 和 64 位整数的函数指针。这些在 Python 中不能直接使用,必须由Generator
支持低级访问的对象或类似对象使用。状态和种子
状态
SFC64
向量由 4 个无符号 64 位值组成。最后一个是 64 位计数器,每次迭代加 1。输入种子经过处理以
SeedSequence
生成前 3 个值,然后SFC64
迭代算法少量次以进行混合。兼容性保证
SFC64
保证固定种子总是产生相同的随机整数流。参考
[ 2 ]
状态#
获取或设置 PRNG 状态 |
扩展#
CFFI接口 |
|
ctypes接口 |