pub fn roll(
bounds: Arg<'_, u64>,
n: usize,
items: &mut Items,
out: &mut Vec<u64>,
)Expand description
Appends n integers to out, each uniform from 0 up to but not including its bound: the one bound, or each of the bounds in turn. Each bound must be at least 1. Each draw reads the next item of items, which packs one word for each item, and is the number that rand’s Uniform gives for its bound from the item’s words, by Lemire’s method. A draw maps a word w to the high word of w × b, unless the low word is below 2⁶⁴ mod b. Then it discards w and maps the item’s next word, from its region, instead. Reading every packed word before mapping any lets the mapping run as a separate pass.