.. index:: single: cartesian_products .. _cartesian_products/0: .. rst-class:: right **object** ``cartesian_products`` ====================== Implementation of Cartesian-product operations over lists. | **Availability:** | ``logtalk_load(cartesian_products(loader))`` | **Author:** Paulo Moura | **Version:** 1:0:0 | **Date:** 2026-05-12 | **Compilation flags:** | ``static, context_switching_calls`` | **Implements:** | ``public`` :ref:`cartesian_products_protocol ` | **Uses:** | :ref:`fast_random(Algorithm) ` | :ref:`list ` | **Remarks:** | (none) | **Inherited public predicates:** |  :ref:`cartesian_products_protocol/0::cartesian_product/2`  :ref:`cartesian_products_protocol/0::cartesian_product/3`  :ref:`cartesian_products_protocol/0::cartesian_tuple/2`  :ref:`cartesian_products_protocol/0::cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::cartesian_tuple_index/3`  :ref:`cartesian_products_protocol/0::cartesian_tuple_index/4`  :ref:`cartesian_products_protocol/0::count_cartesian_product/2`  :ref:`cartesian_products_protocol/0::count_distinct_cartesian_product/2`  :ref:`cartesian_products_protocol/0::distinct_cartesian_product/2`  :ref:`cartesian_products_protocol/0::distinct_cartesian_product/3`  :ref:`cartesian_products_protocol/0::distinct_cartesian_tuple/2`  :ref:`cartesian_products_protocol/0::distinct_cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::distinct_cartesian_tuple_index/3`  :ref:`cartesian_products_protocol/0::next_cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::nth_cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::nth_cartesian_tuple/4`  :ref:`cartesian_products_protocol/0::nth_distinct_cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::previous_cartesian_tuple/3`  :ref:`cartesian_products_protocol/0::random_cartesian_tuple/2`  :ref:`cartesian_products_protocol/0::random_distinct_cartesian_tuple/2`  :ref:`cartesian_products_protocol/0::sample_cartesian_tuples/3`  :ref:`cartesian_products_protocol/0::sample_distinct_cartesian_tuples/3`   .. contents:: :local: :backlinks: top Public predicates ----------------- (no local declarations; see entity ancestors if any) Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ (no local declarations; see entity ancestors if any) Operators --------- (none)