SFC64 小型快速混沌 PRNG #

numpy.random。SFC64种子=#

Chris Doty-Humphrey 的小型快速混沌 PRNG 的 BitGenerator。

参数
种子{None, int, array_like[ints], SeedSequence},可选

用于初始化 的种子BitGenerator。如果没有,那么将从操作系统中提取新的、不可预测的熵。如果传递了intor array_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保证固定种子总是产生相同的随机整数流。

参考

状态

state

获取或设置 PRNG 状态

扩展#

cffi

CFFI接口

ctypes

ctypes接口