Function malachite_base::strings::random::random_fixed_length_strings
source · [−]pub fn random_fixed_length_strings(
seed: Seed,
len: u64
) -> StringsFromCharVecs<RandomFixedLengthVecsFromSingle<RandomCharRange>>ⓘNotable traits for StringsFromCharVecs<I>impl<I: Iterator<Item = Vec<char>>> Iterator for StringsFromCharVecs<I> type Item = String;
Expand description
Randomly generates String
s of a given length.
The probability of a particular length-$n$ String
being generated is $1112064^{-\ell}$,
where $\ell$ is len
.
If len
is 0, the output consists of the empty String
, repeated.
Expected complexity per iteration
$T(n) = O(n)$
$M(n) = O(n)$
where $T$ is time, $M$ is additional memory, and $n$ is len
.
Examples
extern crate itertools;
use itertools::Itertools;
use malachite_base::random::EXAMPLE_SEED;
use malachite_base::strings::random::random_fixed_length_strings;
let ss = random_fixed_length_strings(EXAMPLE_SEED, 2)
.take(10)
.collect_vec();
assert_eq!(
ss.iter().map(|cs| cs.as_str()).collect_vec().as_slice(),
&[
"\u{5f771}\u{87234}",
"\u{bcd36}\u{9e195}",
"\u{5da07}\u{36553}",
"\u{45028}\u{1cdfd}",
"\u{d8530}\u{c7f2e}",
"\u{ba4bc}\u{ff677}",
"\u{a12e2}\u{d775c}",
"\u{f827b}\u{bdf7a}",
"簅\u{15aca}",
"\u{4e5e2}\u{bb286}"
]
);