cartesian_products
This library provides predicates for generating and querying Cartesian products over lists. The following categories of predicates are provided:
Generation operations - Predicates for generating Cartesian products and tuples.
Ordering variants - Predicates that support an additional order argument (
defaultorlexicographic) for controlling output order.Distinct-value generation - Predicates for generating tuples while deduplicating repeated values in factor lists.
Indexed access - Predicates for direct access to tuples at specific positions.
Lexicographic stepping - Predicates for navigating tuples in lexicographic order.
Counting operations - Predicates for counting tuples without generating them.
Random selection - Predicates for randomly selecting and sampling tuples.
Dedicated arrangements, permutations, combinations,
multisets, derangements, partitions, subsequences, and
integer_partitions libraries are also available for focused APIs on
related operations.
API documentation
Open the ../../apis/library_index.html#cartesian-products link in a web browser.
Loading
To load all entities in this library, load the loader.lgt file:
| ?- logtalk_load(cartesian_products(loader)).
Testing
To test this library predicates, load the tester.lgt file:
| ?- logtalk_load(cartesian_products(tester)).