【发布时间】:2021-05-12 11:16:58
【问题描述】:
这是How can I input an integer seed for producing random numbers using the rand crate in Rust? 的后续行动。在this answer 中指出,如果需要跨构建和架构的可重复性,
然后查看诸如
rand_chacha、rand_pcg、rand_xoshiro之类的板条箱
documentation 中对StdRng 也有同样的说明:
该算法是确定性的,但由于依赖于配置以及未来库版本中可能的替换,因此不应将其视为可重现的。对于安全的可重现生成器,我们建议直接使用 rand_chacha crate。
我查看了这些板条箱,但我还没有找到如何将它们用于我的用例。我正在寻找一个小样本,展示如何使用这些 crate 中的一个来生成一系列伪随机数,这些伪随机数对于给定的种子总是相同的。
【问题讨论】:
-
嗯,
rand_chacha应该为您提供来自种子 iirc 的序列。 -
基本上,
rand_chacha中的所有 RNG 结构都实现了SeedableRngtrait,所以你可以调用ChaChaRng::from_seed()或ChaChaRng::from_seed_u64()来初始化带有种子的RNG。
标签: random rust random-seed