Crates.io | selfsimilar |
lib.rs | selfsimilar |
version | 0.1.0 |
source | src |
created_at | 2021-11-24 01:12:17.346966 |
updated_at | 2021-11-24 01:12:17.346966 |
description | A fast generator of discrete self similar random numbers |
homepage | |
repository | https://github.com/XiangpengHao/rust-selfsimilar |
max_upload_size | |
id | 486636 |
size | 5,571 |
A fast generator of discrete random numbers.
The self similar distribution (80-20 rule) was described in
Jim Gray, Prakash Sundaresan, Susanne Englert, Ken Baclawski, and Peter J. Weinberger.1994. Quickly generating billion-record synthetic databases. SIGMOD Rec. 23, 2 (June 1994), 243–252.
DOI:https://doi.org/10.1145/191843.191886
Integers between 1...N. The first h•N integers get 1-h of the distribution.
For example:
if N = 25 and h= .10,
then 80% of the weight goes to the first 5 integers.
and 64% of the weight goes to the first integer.
let dist = SelfSimilarDistribution::new(0, 100, 0.2);
let mut rng = rand::thread_rng();
let v = dist.sample(rng);