#cargo

nightly build wbg-rand

Random numbers and and RNG for wasm32-unknown-unknown using #[wasm_bindgen]

2 releases

Uses old Rust 2015

0.4.1 Aug 16, 2018
0.4.0 Apr 28, 2018

#1125 in #cargo

Download history 3/week @ 2024-07-17 3/week @ 2024-07-24 4/week @ 2024-07-31 3/week @ 2024-08-07 2/week @ 2024-08-14 5/week @ 2024-09-18 27/week @ 2024-09-25 13/week @ 2024-10-02

63 downloads per month

MIT/Apache

7KB
54 lines

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.

Dependencies

~1–1.9MB
~33K SLoC