5 个版本
使用旧的 Rust 2015
0.0.5 | 2019 年 1 月 14 日 |
---|---|
0.0.4 | 2018 年 9 月 11 日 |
0.0.3 | 2018 年 7 月 18 日 |
0.0.2 | 2018 年 6 月 26 日 |
0.0.1 | 2018 年 6 月 12 日 |
#110 in #rng
1,827 每月下载量
用于 2 crates
52KB
1K SLoC
xoshiro
该包已被废弃,推荐使用 rand_xoshiro 包。
Rust 实现的 xoshiro、xoroshiro 和 splitmix64 随机数生成器。
许可证
xoshiro
主要在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
请参阅 LICENSE-APACHE 和 LICENSE-MIT 以获取详细信息。
lib.rs
:
此包实现了 David Blackman 和 Sebastiano Vigna 设计的 xoshiro 系列伪随机数生成器。它们具有高性能和小状态,优于之前的 xorshift 基于生成器。但是,它们不是加密安全的,并且其输出可以通过观察少量样本来预测。
以下生成器已实现
64 位生成器
Xoshiro256StarStar
:推荐用于所有目的。速度优异,状态空间(256 位)足够任何并行应用使用。Xoshiro256Plus
:推荐用于生成 64 位浮点数。比Xoshiro256StarStar
快约 15%,但最低位(在生成浮点数时丢弃)具有 低线性复杂度,使其无法通过线性测试。这在实践中不太可能产生影响。Xoroshiro128StarStar
:是Xoshiro256StarStar
的替代品,具有相同的速度,但使用一半的状态。仅适用于低级并行应用。Xoroshiro128Plus
:是Xoshiro256Plus
的替代品,具有相同的速度,但使用一半的状态。仅适用于低级并行应用。最低位(在生成浮点数时丢弃)具有 低线性复杂度,使其无法通过线性测试。这在实践中不太可能产生影响。Xoshiro512StarStar
:是Xoshiro256StarStar
的替代品,具有更多状态和相同的速度。Xoshiro512Plus
:是Xoshiro512Plus
的替代品,具有更多状态和相同的速度。在最低位(在生成浮点数时被丢弃)具有低线性复杂度,导致它未能通过线性测试。这在实践中不太可能产生影响。SplitMix64
:建议用于从64位种子初始化xoshiro系列的生成器。用于实现seed_from_u64
。
32位生成器
Xoshiro128StarStar
:适用于所有目的。速度非常快。Xoshiro128Plus
:建议用于生成32位浮点数。比Xoshiro128StarStar
快,但在最低位(在生成浮点数时被丢弃)具有低线性复杂度,导致它未能通过线性测试。这在实践中不太可能产生影响。Xoroshiro64StarStar
:是Xoshiro128StarStar
的替代品,速度相同,但状态减半。Xoroshiro64Star
:是Xoshiro128Plus
的替代品,速度相同,但状态减半。在最低位(在生成浮点数时被丢弃)具有低线性复杂度,导致它未能通过线性测试。这在实践中不太可能产生影响。
依赖项
~180KB