From 43f755d9d8d0ede5868ac18ae33e9350c43a2e78 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 6 Jan 2025 11:17:03 -0500 Subject: [PATCH] move multiply to Constraint.h --- gtsam_unstable/discrete/AllDiff.h | 7 ------- gtsam_unstable/discrete/BinaryAllDiff.h | 7 ------- gtsam_unstable/discrete/Constraint.h | 8 ++++++++ gtsam_unstable/discrete/Domain.h | 7 ------- gtsam_unstable/discrete/SingleValue.h | 7 ------- 5 files changed, 8 insertions(+), 28 deletions(-) diff --git a/gtsam_unstable/discrete/AllDiff.h b/gtsam_unstable/discrete/AllDiff.h index cfbd76e7c..1180abad4 100644 --- a/gtsam_unstable/discrete/AllDiff.h +++ b/gtsam_unstable/discrete/AllDiff.h @@ -53,13 +53,6 @@ class GTSAM_UNSTABLE_EXPORT AllDiff : public Constraint { /// Multiply into a decisiontree DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override; - /// Multiply factors, DiscreteFactor::shared_ptr edition - DiscreteFactor::shared_ptr multiply( - const DiscreteFactor::shared_ptr& df) const override { - return std::make_shared( - this->operator*(df->toDecisionTreeFactor())); - } - /// Compute error for each assignment and return as a tree AlgebraicDecisionTree errorTree() const override { throw std::runtime_error("AllDiff::error not implemented"); diff --git a/gtsam_unstable/discrete/BinaryAllDiff.h b/gtsam_unstable/discrete/BinaryAllDiff.h index a1a2bf0a6..e96bfdfde 100644 --- a/gtsam_unstable/discrete/BinaryAllDiff.h +++ b/gtsam_unstable/discrete/BinaryAllDiff.h @@ -69,13 +69,6 @@ class BinaryAllDiff : public Constraint { return toDecisionTreeFactor() * f; } - /// Multiply factors, DiscreteFactor::shared_ptr edition - DiscreteFactor::shared_ptr multiply( - const DiscreteFactor::shared_ptr& df) const override { - return std::make_shared( - this->operator*(df->toDecisionTreeFactor())); - } - /* * Ensure Arc-consistency by checking every possible value of domain j. * @param j domain to be checked diff --git a/gtsam_unstable/discrete/Constraint.h b/gtsam_unstable/discrete/Constraint.h index 3526a282d..71ed7647a 100644 --- a/gtsam_unstable/discrete/Constraint.h +++ b/gtsam_unstable/discrete/Constraint.h @@ -78,6 +78,14 @@ class GTSAM_UNSTABLE_EXPORT Constraint : public DiscreteFactor { /// Partially apply known values, domain version virtual shared_ptr partiallyApply(const Domains&) const = 0; + + /// Multiply factors, DiscreteFactor::shared_ptr edition + DiscreteFactor::shared_ptr multiply( + const DiscreteFactor::shared_ptr& df) const override { + return std::make_shared( + this->operator*(df->toDecisionTreeFactor())); + } + /// @} /// @name Wrapper support /// @{ diff --git a/gtsam_unstable/discrete/Domain.h b/gtsam_unstable/discrete/Domain.h index dea85934f..23a566d24 100644 --- a/gtsam_unstable/discrete/Domain.h +++ b/gtsam_unstable/discrete/Domain.h @@ -90,13 +90,6 @@ class GTSAM_UNSTABLE_EXPORT Domain : public Constraint { /// Multiply into a decisiontree DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override; - /// Multiply factors, DiscreteFactor::shared_ptr edition - DiscreteFactor::shared_ptr multiply( - const DiscreteFactor::shared_ptr& df) const override { - return std::make_shared( - this->operator*(df->toDecisionTreeFactor())); - } - /* * Ensure Arc-consistency by checking every possible value of domain j. * @param j domain to be checked diff --git a/gtsam_unstable/discrete/SingleValue.h b/gtsam_unstable/discrete/SingleValue.h index 8675c929b..3df1209b8 100644 --- a/gtsam_unstable/discrete/SingleValue.h +++ b/gtsam_unstable/discrete/SingleValue.h @@ -63,13 +63,6 @@ class GTSAM_UNSTABLE_EXPORT SingleValue : public Constraint { /// Multiply into a decisiontree DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override; - /// Multiply factors, DiscreteFactor::shared_ptr edition - DiscreteFactor::shared_ptr multiply( - const DiscreteFactor::shared_ptr& df) const override { - return std::make_shared( - this->operator*(df->toDecisionTreeFactor())); - } - /* * Ensure Arc-consistency: just sets domain[j] to {value_}. * @param j domain to be checked