Function malachite_base::bools::random::weighted_random_bools
source · [−]pub fn weighted_random_bools(
seed: Seed,
p_numerator: u64,
p_denominator: u64
) -> WeightedRandomBoolsⓘNotable traits for WeightedRandomBoolsimpl Iterator for WeightedRandomBools type Item = bool;
Expand description
Generates random bool
s, 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, ...]"
)