aliasmethod

Crates.ioaliasmethod
lib.rsaliasmethod
version0.4.0
sourcesrc
created_at2016-08-23 23:55:36.815763
updated_at2019-08-06 13:18:45.041077
descriptionImplementation of Walker's Alias method.
homepagehttps://github.com/thara/rust_aliasmethod
repositoryhttps://github.com/thara/rust_aliasmethod
max_upload_size
id6088
size10,476
Tomochika Hara (thara)

documentation

README

aliasmethod

Build Status

Implementation of Walker's Alias method by Rust.

The algorithm is principally useful when you need to random sampling with replacement by O(1).

Example

use rand::XorShiftRng;
use aliasmethod::AliasTable

let weights = vec![1.0, 1.0, 8.0];

let alias_table = AliasTable::new(weights)?;

let rng = XorShiftRng::from_seed([189522394, 1694417663, 1363148323, 4087496301]);
let n = alias_table.random(rng);

assert!(0 <= n && n <= weights.length);
Commit count: 25

cargo fmt