macro_rules! random_ordered_unique_tuples {
(
($($vis:tt)*),
$struct: ident,
$k: expr,
$out_t: ty,
$fn: ident,
[$($i: expr),*]
) => { ... };
}
Expand description
Defines random ordered unique tuple generators.
Malachite provides random_ordered_unique_pairs
, but you can also define
random_ordered_unique_triples
, random_ordered_unique_quadruples
, and so on, in your program
using the code below.
See usage examples here.
use malachite_base::sets::random::{
random_b_tree_sets_fixed_length,
RandomBTreeSetsFixedLength
};
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueTriples,
3,
(I::Item, I::Item, I::Item),
random_ordered_unique_triples,
[0, 1, 2]
);
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueQuadruples,
4,
(I::Item, I::Item, I::Item, I::Item),
random_ordered_unique_quadruples,
[0, 1, 2, 3]
);
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueQuintuples,
5,
(I::Item, I::Item, I::Item, I::Item, I::Item),
random_ordered_unique_quintuples,
[0, 1, 2, 3, 4]
);
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueSextuples,
6,
(I::Item, I::Item, I::Item, I::Item, I::Item, I::Item),
random_ordered_unique_sextuples,
[0, 1, 2, 3, 4, 5]
);
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueSeptuples,
7,
(
I::Item,
I::Item,
I::Item,
I::Item,
I::Item,
I::Item,
I::Item
),
random_ordered_unique_septuples,
[0, 1, 2, 3, 4, 5, 6]
);
random_ordered_unique_tuples!(
(pub(crate)),
RandomOrderedUniqueOctuples,
8,
(
I::Item,
I::Item,
I::Item,
I::Item,
I::Item,
I::Item,
I::Item,
I::Item
),
random_ordered_unique_octuples,
[0, 1, 2, 3, 4, 5, 6, 7]
);