From 1f5e924eac4d4beb3e5a380cd423684855f195c7 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Mon, 5 Jun 2023 15:17:05 -0700 Subject: [PATCH] cartesianProduct --- gtsam/discrete/DiscreteValues.h | 5 +++++ gtsam/discrete/discrete.i | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gtsam/discrete/DiscreteValues.h b/gtsam/discrete/DiscreteValues.h index 8a6d6f930..9ec08302b 100644 --- a/gtsam/discrete/DiscreteValues.h +++ b/gtsam/discrete/DiscreteValues.h @@ -120,6 +120,11 @@ class GTSAM_EXPORT DiscreteValues : public Assignment { /// @} }; +/// Free version of CartesianProduct. +inline std::vector cartesianProduct(const DiscreteKeys& keys) { + return DiscreteValues::CartesianProduct(keys); +} + /// Free version of markdown. std::string markdown(const DiscreteValues& values, const KeyFormatter& keyFormatter = DefaultKeyFormatter, diff --git a/gtsam/discrete/discrete.i b/gtsam/discrete/discrete.i index 6df443300..158dc9016 100644 --- a/gtsam/discrete/discrete.i +++ b/gtsam/discrete/discrete.i @@ -17,6 +17,8 @@ class DiscreteKeys { }; // DiscreteValues is added in specializations/discrete.h as a std::map +std::vector cartesianProduct( + const gtsam::DiscreteKeys& keys); string markdown( const gtsam::DiscreteValues& values, const gtsam::KeyFormatter& keyFormatter = gtsam::DefaultKeyFormatter);