Crates.io | wbg-rand |
lib.rs | wbg-rand |
version | 0.4.1 |
source | src |
created_at | 2018-04-28 00:31:24.804775 |
updated_at | 2018-08-16 17:09:55.544352 |
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.