7 个不稳定版本 (3 个破坏性)
0.10.0 | 2024年5月23日 |
---|---|
0.9.0 | 2024年5月14日 |
0.8.1 | 2023年9月19日 |
0.8.0 | 2023年8月12日 |
0.7.3 | 2023年8月9日 |
#378 in 算法
每月下载量 564
在 3 crates 中使用
22KB
460 行
FRand
FRand 是一个闪电般的快速、小巧且简单的伪随机数生成器 (PRNG),用 Rust 编写。使用 FRand 的优点是它每秒可以产生比其他库更多的随机数。它还使用快速的 非加密 哈希算法产生高质量的随机数。
为了找到算法的最佳常数,我使用了一个自动程序,该程序每秒尝试许多随机常数并测量输出的偏差。偏差是通过雪崩效应来估计的,这是好哈希函数的一个特性,确保输入的微小变化会在输出中产生大的变化。程序选择了最小化偏差并最大化随机性的常数。
用法
此 crate 可在 crates.io 上找到,可以通过将 frand
添加到项目 Cargo.toml
中的依赖项来使用。
[dependencies]
frand = "0.10"
FRand 非常简单易用。以下是如何使用 FRand 生成随机浮点数的简单示例
use frand::Rand;
let mut rng = Rand::new();
println!("{}", rng.gen::<f32>());
速度
u64
rand::ThreadRng | rand::SmallRng | fastrand::Rng | frand::Rand |
---|---|---|---|
1.00x | 3.74x | 5.80x | 6.09x |
f64
rand::ThreadRng | rand::SmallRng | fastrand::Rng | frand::Rand |
---|---|---|---|
1.00x | 3.79x | 2.34x | 5.57x |
u128
rand::ThreadRng | rand::SmallRng | fastrand::Rng | frand::Rand |
---|---|---|---|
1.00x | 2.15x | 6.79x | 7.24x |
如果您有改进此库的建议,您可以为此项目做出贡献!
依赖项
~3.5MB
~104K SLoC