quad-rand

Crates.io version Documentation on docs.rs

quad-rand implements pseudo-random generator http://www.pcg-random.org/download.html based on rust atomics.

Compatible with wasm and any other rust target with std.

Basic usage, no dependencies involved: ```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.);

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

Optional compatibility layer with rand crate:

```rust 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);

```