1 个不稳定版本
0.1.0 | 2019年12月20日 |
---|
#70 in #数学
42KB
321 行
quasi-rd
这是对在这篇博客文章中描述的准随机Rd序列的实现。这个序列可能并不一定适用于所有维度或所有应用,但它具有在一般情况下工作得相当好的优势,生成速度非常快,并且因为是参数固定,所以不需要针对特定应用进行配置。
这个实现 不 使用浮点数来计算序列,而是使用128位定点表示,只有在必要时才将数据转换为浮点数。因此,它可以生成最多2^64个样本的精确序列,这对于几乎所有的应用都应该是足够的。使用有理数算术计算出1M维序列的参数,精确到128位。
用法
此代码生成二维空间中准随机分布的点
use quasi_rd::Sequence;
let mut sequence = Sequence::new(2);
for _ in 0..500 {
println!("({}, {})", sequence.next_f64(), sequence.next_f64());
}
绘制这些点将产生如下分布
许可证
此crate受MIT许可证的条款约束。有关更多信息,请参阅LICENSE.md
。
依赖
~610KB
~14K SLoC