wbg-rand

Crates.iowbg-rand
lib.rswbg-rand
version0.4.1
sourcesrc
created_at2018-04-28 00:31:24.804775
updated_at2018-08-16 17:09:55.544352
descriptionRandom numbers and and RNG for wasm32-unknown-unknown using `#[wasm_bindgen]`
homepagehttps://github.com/alexcrichton/wbg-rand
repositoryhttps://github.com/alexcrichton/wbg-rand
max_upload_size
id62683
size17,542
Alex Crichton (alexcrichton)

documentation

https://docs.rs/wbg-rand

README

wbg-rand

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

Usage

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!

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

License

This project is licensed under either of

at your option.

Contribution

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.

Commit count: 13

cargo fmt