From b5128b2c9fcf31d04e4760c3c4178d8449ad44c9 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Sun, 5 Jan 2025 19:40:37 -0500 Subject: [PATCH] use DecisionTreeFactor version of sum and max where not available --- gtsam_unstable/discrete/AllDiff.h | 8 ++++---- gtsam_unstable/discrete/BinaryAllDiff.h | 8 ++++---- gtsam_unstable/discrete/Domain.h | 8 ++++---- gtsam_unstable/discrete/SingleValue.h | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gtsam_unstable/discrete/AllDiff.h b/gtsam_unstable/discrete/AllDiff.h index cf0e5e3cf..267ddb9fd 100644 --- a/gtsam_unstable/discrete/AllDiff.h +++ b/gtsam_unstable/discrete/AllDiff.h @@ -84,19 +84,19 @@ class GTSAM_UNSTABLE_EXPORT AllDiff : public Constraint { uint64_t nrValues() const override { return 1; }; DiscreteFactor::shared_ptr sum(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(nrFrontals); } DiscreteFactor::shared_ptr sum(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(keys); } DiscreteFactor::shared_ptr max(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(nrFrontals); } DiscreteFactor::shared_ptr max(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(keys); } }; diff --git a/gtsam_unstable/discrete/BinaryAllDiff.h b/gtsam_unstable/discrete/BinaryAllDiff.h index c15ac8aec..3035d0620 100644 --- a/gtsam_unstable/discrete/BinaryAllDiff.h +++ b/gtsam_unstable/discrete/BinaryAllDiff.h @@ -108,19 +108,19 @@ class BinaryAllDiff : public Constraint { uint64_t nrValues() const override { return 1; }; DiscreteFactor::shared_ptr sum(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(nrFrontals); } DiscreteFactor::shared_ptr sum(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(keys); } DiscreteFactor::shared_ptr max(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(nrFrontals); } DiscreteFactor::shared_ptr max(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(keys); } }; diff --git a/gtsam_unstable/discrete/Domain.h b/gtsam_unstable/discrete/Domain.h index f64716028..4c2d3f9dd 100644 --- a/gtsam_unstable/discrete/Domain.h +++ b/gtsam_unstable/discrete/Domain.h @@ -123,19 +123,19 @@ class GTSAM_UNSTABLE_EXPORT Domain : public Constraint { Constraint::shared_ptr partiallyApply(const Domains& domains) const override; DiscreteFactor::shared_ptr sum(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(nrFrontals); } DiscreteFactor::shared_ptr sum(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(keys); } DiscreteFactor::shared_ptr max(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(nrFrontals); } DiscreteFactor::shared_ptr max(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(keys); } }; diff --git a/gtsam_unstable/discrete/SingleValue.h b/gtsam_unstable/discrete/SingleValue.h index c5824a96a..b6c91f912 100644 --- a/gtsam_unstable/discrete/SingleValue.h +++ b/gtsam_unstable/discrete/SingleValue.h @@ -89,19 +89,19 @@ class GTSAM_UNSTABLE_EXPORT SingleValue : public Constraint { uint64_t nrValues() const override { return 1; }; DiscreteFactor::shared_ptr sum(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(nrFrontals); } DiscreteFactor::shared_ptr sum(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().sum(keys); } DiscreteFactor::shared_ptr max(size_t nrFrontals) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(nrFrontals); } DiscreteFactor::shared_ptr max(const Ordering& keys) const override { - throw std::runtime_error("Not implemented"); + return toDecisionTreeFactor().max(keys); } };