#numbers #generator #atomic #compatible #target #wasm #quad

quad-rand

基于 std 原子的伪随机实现

4 个版本

0.2.1 2021年2月15日
0.2.0 2021年1月20日
0.1.1 2020年4月18日
0.1.0 2020年4月18日

#764算法 中排名

Download history 18924/week @ 2024-03-14 17680/week @ 2024-03-21 19070/week @ 2024-03-28 16094/week @ 2024-04-04 18985/week @ 2024-04-11 17542/week @ 2024-04-18 17382/week @ 2024-04-25 16325/week @ 2024-05-02 21095/week @ 2024-05-09 19465/week @ 2024-05-16 16457/week @ 2024-05-23 18122/week @ 2024-05-30 17348/week @ 2024-06-06 17535/week @ 2024-06-13 15952/week @ 2024-06-20 12865/week @ 2024-06-27

每月下载量 67,391
149 仓库(直接使用 13 个)中使用

MIT 许可证

9KB
182

quad-rand

Crates.io version Documentation on docs.rs

quad-rand 实现了基于 rust 原子的伪随机生成器 http://www.pcg-random.org/download.html

兼容 wasm 以及任何具有 std 的 rust 目标

基本用法,不涉及任何依赖

use quad_rand as qrand;

// seed random
qrand::srand(12345);

// get random number from 0 to u32::MAX
let x = qrand::rand();

// get random number from given range
let x = qrand::gen_range(0., 1.);
assert!(x >= 0. && x < 1.);

// gen_range works for most of standart number types
let x: u8 = qrand::gen_range(64, 128);
assert!(x >= 64 && x < 128);

可选的与 rand 仓库的兼容层

use quad_rand::compat::QuadRand;
use rand::seq::SliceRandom;

let mut vec = vec![1, 2, 3, 4, 5, 6];

// QuadRand is rand::RngCore implementation, allowing to use all the cool stuff from rand
vec.shuffle(&mut QuadRand);

依赖

~72KB