Sample one index (O(1) per call).
(&self, rng: &mut SeedableRng)
| 87 | |
| 88 | /// Sample one index (O(1) per call). |
| 89 | pub fn sample(&self, rng: &mut SeedableRng) -> usize { |
| 90 | let i = rng.gen_range(self.n as u64) as usize; |
| 91 | let u = rng.gen_f64(); |
| 92 | if u < self.prob[i] { i } else { self.alias[i] } |
| 93 | } |
| 94 | |
| 95 | /// Sample `count` indices without replacement. |
| 96 | /// |