pub fn variable_range_generator(seed: Seed) -> VariableRangeGenerator
Expand description

Generates unsigneds sampled from ranges. A single generator can sample from different ranges of different types.

If you only need to generate values from a single range, it is slightly more efficient to use random_unsigned_bit_chunks, random_unsigneds_less_than, random_unsigned_range, or random_unsigned_inclusive_range.

Worst-case complexity

Constant time and additional memory.

Examples

use malachite_base::num::random::variable_range_generator;
use malachite_base::random::EXAMPLE_SEED;

let mut generator = variable_range_generator(EXAMPLE_SEED);
assert_eq!(generator.next_bit_chunk::<u16>(10), 881);
assert_eq!(generator.next_less_than::<u8>(100), 34);
assert_eq!(generator.next_in_range::<u32>(10, 20), 16);
assert_eq!(generator.next_in_inclusive_range::<u64>(10, 20), 14);