From b57e4482322a94ff6db9d9d4df7bf281f8f541aa Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Mon, 30 Dec 2024 22:55:17 -0500 Subject: [PATCH] DiscreteConditional evaluate method for conditionals --- gtsam/discrete/DiscreteConditional.cpp | 7 ++++++- gtsam/discrete/DiscreteConditional.h | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gtsam/discrete/DiscreteConditional.cpp b/gtsam/discrete/DiscreteConditional.cpp index eeb5dca3f..7db602795 100644 --- a/gtsam/discrete/DiscreteConditional.cpp +++ b/gtsam/discrete/DiscreteConditional.cpp @@ -24,13 +24,13 @@ #include #include +#include #include #include #include #include #include #include -#include using namespace std; using std::pair; @@ -478,6 +478,11 @@ double DiscreteConditional::evaluate(const HybridValues& x) const { return this->evaluate(x.discrete()); } +/* ************************************************************************* */ +double DiscreteConditional::evaluate(const Assignment& values) const { + return BaseFactor::evaluate(values); +} + /* ************************************************************************* */ double DiscreteConditional::negLogConstant() const { return 0.0; } diff --git a/gtsam/discrete/DiscreteConditional.h b/gtsam/discrete/DiscreteConditional.h index 3ec9ae590..c44a59577 100644 --- a/gtsam/discrete/DiscreteConditional.h +++ b/gtsam/discrete/DiscreteConditional.h @@ -249,6 +249,9 @@ class GTSAM_EXPORT DiscreteConditional */ double evaluate(const HybridValues& x) const override; + /// Evaluate the conditional given values. + virtual double evaluate(const Assignment& values) const override; + using BaseConditional::operator(); ///< HybridValues version /**