wbg-rand 0.4.1

Random numbers and and RNG for wasm32-unknown-unknown using `#[wasm_bindgen]`
docs.rs failed to build wbg-rand-0.4.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: wbg-rand-0.4.0


Implementation of rand for wasm32-unknown-unknown in Rust using #[wasm_bindgen].


First add a dependency to your Cargo.toml:

# Cargo.toml
wbg-rand = "0.4"

Next add the following to your crate:

extern crate wbg_rand;

use wbg_rand::{Rng, wasm_rng};

The rand crate is reexported from the wbg-rand crate so the Rng trait here is the same as it is upstream.

And now you use wasm_rng just like you would thread_rng!

Example Usages

See the Rng trait for more documentation.

use wbg_rand::{Rng, wasm_rng, math_random_rng};

// get random boolean, `math_random_rng()` samples `Math.random` in JS every call
let a: bool = math_random_rng().gen();
println!("{}", a);

// `wasm_rng()` only samples `Math.random` to re-seed periodically
let n = wasm_rng().gen::<f64>();
println!("{}", n);

let r: usize = wasm_rng().gen_range(0, 10);
println!("{}", r);


This project is licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.