10个版本
0.5.0-alpha.3 | 2024年7月31日 |
---|---|
0.5.0-alpha.1 | 2024年3月18日 |
0.5.0-alpha.0 | 2024年2月18日 |
0.4.3 | 2022年1月18日 |
0.2.1 |
|
#897 in 算法
1,823,117 每月下载量
用于 1,931 个crate (483 直接)
605KB
11K SLoC
rand_distr
实现了随机数分布采样的完整套件。
这个crate是rand::distr模块的超集,包括从Beta、二项、柯西、卡方、Dirichlet、指数、FisherF、伽玛、几何、超几何、逆高斯、对数正态、正态、帕累托、PERT、泊松、学生T、三角和威布尔分布中进行采样。还支持从单位球、单位圆、单位圆盘和单位球面的表面上进行采样。
值得一提的是statrs crate,它提供了类似的功能,以及各种支持函数,包括PDF和CDF计算。相比之下,这个rand_distr
crate专注于从分布中进行采样。
可移植性和libm
使用来自num_traits
和libm
的浮点函数来支持no_std
环境并确保可重复性。如果更喜欢来自std
的浮点函数,这可能会提供更好的精度和性能,但可能会产生不同的随机值,可以启用std_math
功能。(注意,任何依赖于num-traits
的crate,具有具有std
功能(默认启用)的crate都将产生相同的效果。)
crate功能
std
(默认启用):rand_distr
为其错误类型实现了Error
trait。意味着alloc
和rand/std
。alloc
(默认启用):在不使用std
时(特别是Dirichlet
和WeightedAliasIndex
)需要。std_math
:关于可移植性和libm的说明见上文serde
:使用serde
实现序列化和反序列化
链接
许可证
rand_distr
在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发。
有关详细信息,请参阅 LICENSE-APACHE、LICENSE-MIT 和 COPYRIGHT。
依赖项
~1–1.7MB
~29K SLoC