From 43544ae194d79e11b96ac4470d50a9ad4aea94cb Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sun, 2 Feb 2025 12:23:27 -0500 Subject: [PATCH] Add restrict --- gtsam_unstable/discrete/AllDiff.h | 5 ----- gtsam_unstable/discrete/BinaryAllDiff.h | 5 ----- gtsam_unstable/discrete/Constraint.h | 11 +++++++++++ gtsam_unstable/discrete/Domain.h | 5 ----- gtsam_unstable/discrete/SingleValue.h | 5 ----- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/gtsam_unstable/discrete/AllDiff.h b/gtsam_unstable/discrete/AllDiff.h index 1180abad4..4a36f3883 100644 --- a/gtsam_unstable/discrete/AllDiff.h +++ b/gtsam_unstable/discrete/AllDiff.h @@ -53,11 +53,6 @@ class GTSAM_UNSTABLE_EXPORT AllDiff : public Constraint { /// Multiply into a decisiontree DecisionTreeFactor operator*(const DecisionTreeFactor& f) const override; - /// Compute error for each assignment and return as a tree - AlgebraicDecisionTree errorTree() const override { - throw std::runtime_error("AllDiff::error not implemented"); - } - /* * Ensure Arc-consistency by checking every possible value of domain j. * @param j domain to be checked diff --git a/gtsam_unstable/discrete/BinaryAllDiff.h b/gtsam_unstable/discrete/BinaryAllDiff.h index e96bfdfde..97a04f3ca 100644 --- a/gtsam_unstable/discrete/BinaryAllDiff.h +++ b/gtsam_unstable/discrete/BinaryAllDiff.h @@ -91,11 +91,6 @@ class BinaryAllDiff : public Constraint { const Domains&) const override { throw std::runtime_error("BinaryAllDiff::partiallyApply not implemented"); } - - /// Compute error for each assignment and return as a tree - AlgebraicDecisionTree errorTree() const override { - throw std::runtime_error("BinaryAllDiff::error not implemented"); - } }; } // namespace gtsam diff --git a/gtsam_unstable/discrete/Constraint.h b/gtsam_unstable/discrete/Constraint.h index 637cf404e..cb4bcc7cb 100644 --- a/gtsam_unstable/discrete/Constraint.h +++ b/gtsam_unstable/discrete/Constraint.h @@ -125,6 +125,17 @@ class GTSAM_UNSTABLE_EXPORT Constraint : public DiscreteFactor { return toDecisionTreeFactor().max(keys); } + /// Compute error for each assignment and return as a tree + AlgebraicDecisionTree errorTree() const override { + throw std::runtime_error("Constraint::error not implemented"); + } + + /// Compute error for each assignment and return as a tree + DiscreteFactor::shared_ptr restrict( + const DiscreteValues& assignment) const override { + throw std::runtime_error("Constraint::restrict not implemented"); + } + /// @} /// @name Wrapper support /// @{ diff --git a/gtsam_unstable/discrete/Domain.h b/gtsam_unstable/discrete/Domain.h index 6ce846201..f9f8a14d6 100644 --- a/gtsam_unstable/discrete/Domain.h +++ b/gtsam_unstable/discrete/Domain.h @@ -69,11 +69,6 @@ class GTSAM_UNSTABLE_EXPORT Domain : public Constraint { } } - /// Compute error for each assignment and return as a tree - AlgebraicDecisionTree errorTree() const override { - throw std::runtime_error("Domain::error not implemented"); - } - // Return concise string representation, mostly to debug arc consistency. // Converts from base 0 to base1. std::string base1Str() const; diff --git a/gtsam_unstable/discrete/SingleValue.h b/gtsam_unstable/discrete/SingleValue.h index 3df1209b8..30e405c5b 100644 --- a/gtsam_unstable/discrete/SingleValue.h +++ b/gtsam_unstable/discrete/SingleValue.h @@ -49,11 +49,6 @@ class GTSAM_UNSTABLE_EXPORT SingleValue : public Constraint { } } - /// Compute error for each assignment and return as a tree - AlgebraicDecisionTree errorTree() const override { - throw std::runtime_error("SingleValue::error not implemented"); - } - /// Calculate value double evaluate(const Assignment& values) const override;