pub fn weighted_random_bools(
    seed: Seed,
    p_numerator: u64,
    p_denominator: u64
) -> WeightedRandomBoolsNotable traits for WeightedRandomBoolsimpl Iterator for WeightedRandomBools type Item = bool;
Expand description

Generates random bools, with a fixed probability of generating true.

Let $n_p$ be p_numerator, $d_p$ be p_denominator, and let $p=n_p/d_p$. Then

$P(\text{true}) = p$,

$P(\text{false}) = 1-p$.

The output length is infinite.

Panics

Panics if p_denominator is 0 or p_numerator > p_denominator.

Expected complexity per iteration

Constant time and additional memory.

Examples

use malachite_base::bools::random::weighted_random_bools;
use malachite_base::iterators::prefix_to_string;
use malachite_base::random::EXAMPLE_SEED;

assert_eq!(
    prefix_to_string(weighted_random_bools(EXAMPLE_SEED, 3, 4), 10),
    "[true, true, false, true, false, false, true, false, true, true, ...]"
)