#random #simd #mersenne #twister #algorithm #x86-simd

sfmt

Rust对SIMD定向快速梅森旋转(SFMT)的实现

11个版本 (6个破坏性版本)

0.7.0 2021年9月3日
0.6.0 2019年7月27日
0.5.0 2018年11月25日
0.3.0 2018年5月31日
0.2.1 2018年3月9日

#2017算法


用于 2 crates

MIT 协议

18KB
336

sfmt

docs.rs Build Status

Rust对SIMD定向快速梅森旋转(SFMT)的接口实现,使用x86-SIMD,位于 std::arch。这是一个纯Rust重实现,并在Windows/macOS/Linux上进行了测试。

限制

  • 仅支持x86和x86_64(由于原始SFMT)
  • 不支持MT19937以外的算法(可能在未来的版本中修复)

许可

MIT许可证


lib.rs:

使用稳定SIMD实现的SIMD定向快速梅森旋转(SFMT)

use rand_core::{RngCore, SeedableRng};
let mut rng = sfmt::SFMT::seed_from_u64(42);
let r = rng.next_u32();
println!("random u32 number = {}", r);

依赖项

~115KB