DiscreteConditional evaluate method for conditionals

release/4.3a0
Varun Agrawal 2024-12-30 22:55:17 -05:00
parent de652eafc2
commit b57e448232
2 changed files with 9 additions and 1 deletions

View File

@ -24,13 +24,13 @@
#include <gtsam/hybrid/HybridValues.h> #include <gtsam/hybrid/HybridValues.h>
#include <algorithm> #include <algorithm>
#include <cassert>
#include <random> #include <random>
#include <set> #include <set>
#include <stdexcept> #include <stdexcept>
#include <string> #include <string>
#include <utility> #include <utility>
#include <vector> #include <vector>
#include <cassert>
using namespace std; using namespace std;
using std::pair; using std::pair;
@ -478,6 +478,11 @@ double DiscreteConditional::evaluate(const HybridValues& x) const {
return this->evaluate(x.discrete()); return this->evaluate(x.discrete());
} }
/* ************************************************************************* */
double DiscreteConditional::evaluate(const Assignment<Key>& values) const {
return BaseFactor::evaluate(values);
}
/* ************************************************************************* */ /* ************************************************************************* */
double DiscreteConditional::negLogConstant() const { return 0.0; } double DiscreteConditional::negLogConstant() const { return 0.0; }

View File

@ -249,6 +249,9 @@ class GTSAM_EXPORT DiscreteConditional
*/ */
double evaluate(const HybridValues& x) const override; double evaluate(const HybridValues& x) const override;
/// Evaluate the conditional given values.
virtual double evaluate(const Assignment<Key>& values) const override;
using BaseConditional::operator(); ///< HybridValues version using BaseConditional::operator(); ///< HybridValues version
/** /**