| Crates.io | wbg-rand |
| lib.rs | wbg-rand |
| version | 0.4.1 |
| created_at | 2018-04-28 00:31:24.804775+00 |
| updated_at | 2018-08-16 17:09:55.544352+00 |
| description | Random numbers and and RNG for wasm32-unknown-unknown using `#[wasm_bindgen]` |
| homepage | https://github.com/alexcrichton/wbg-rand |
| repository | https://github.com/alexcrichton/wbg-rand |
| max_upload_size | |
| id | 62683 |
| size | 17,542 |
Implementation of rand for wasm32-unknown-unknown in Rust using
#[wasm_bindgen].
First add a dependency to your Cargo.toml:
# Cargo.toml
[dependencies]
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!
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.