#rng #middle #sequence #square #generator #numbers

weyl

适用于Rust的Middle Square Weyl序列RNG

4个版本

0.1.3 2019年8月9日
0.1.2 2019年8月9日
0.1.1 2019年8月9日
0.1.0 2019年8月9日

#6 in #middle

ISC许可证

6KB
92

适用于Rust的Middle Square Weyl序列RNG

travis license version documentation

John von Neumann的中平方随机数生成器(RNG)的新实现。利用Weyl序列来保持生成器在长时间内运行。

论文

使用

此库包含一些线程安全函数。

weyl::u64()            // generates a random u64
weyl::f64()            // generates a random f64
weyl::fill(&mut bytes) // fill byte slice with random data
weyl::seed(my_seed)    // reseed the number generator

如果您需要在隔离的线程中生成随机数,还有一个Generator类型。它稍微快一些,因为它避免了互斥锁。

let mut rand = weyl::Generator::new(my_seed);
println!("{}", rand.u64());             // generates a random u64

联系

Josh Baker @tidwall

许可证

Weyl源代码可在ISC 许可证下获得。

依赖项

~10KB