Skip to content
Implementation of Walker's Alias method in Rust
Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
CHANGELOG.md
Cargo.toml
LICENSE
README.md

README.md

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);
You can’t perform that action at this time.