Expose all needed versions of evaluate, operator(), error
parent
c9fcfe3299
commit
ce8bf7ac48
|
@ -20,7 +20,7 @@
|
|||
#include <gtsam/base/debug.h>
|
||||
#include <gtsam/discrete/DiscreteConditional.h>
|
||||
#include <gtsam/discrete/Signature.h>
|
||||
#include <gtsam/inference/Conditional-inst.h>
|
||||
#include <gtsam/hybrid/HybridValues.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <boost/make_shared.hpp>
|
||||
|
@ -510,6 +510,10 @@ string DiscreteConditional::html(const KeyFormatter& keyFormatter,
|
|||
return ss.str();
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
double DiscreteConditional::evaluate(const HybridValues& x) const{
|
||||
return this->evaluate(x.discrete());
|
||||
}
|
||||
/* ************************************************************************* */
|
||||
|
||||
} // namespace gtsam
|
||||
|
|
|
@ -160,10 +160,13 @@ class GTSAM_EXPORT DiscreteConditional
|
|||
}
|
||||
|
||||
/// Evaluate, just look up in AlgebraicDecisonTree
|
||||
double operator()(const DiscreteValues& values) const override {
|
||||
double evaluate(const DiscreteValues& values) const {
|
||||
return ADT::operator()(values);
|
||||
}
|
||||
|
||||
using DecisionTreeFactor::error; ///< DiscreteValues version
|
||||
using DecisionTreeFactor::operator(); ///< DiscreteValues version
|
||||
|
||||
/**
|
||||
* @brief restrict to given *parent* values.
|
||||
*
|
||||
|
@ -235,6 +238,14 @@ class GTSAM_EXPORT DiscreteConditional
|
|||
/// @name HybridValues methods.
|
||||
/// @{
|
||||
|
||||
/**
|
||||
* Calculate probability for HybridValues `x`.
|
||||
* Dispatches to DiscreteValues version.
|
||||
*/
|
||||
double evaluate(const HybridValues& x) const override;
|
||||
|
||||
using BaseConditional::operator(); ///< HybridValues version
|
||||
|
||||
/**
|
||||
* Calculate log-probability log(evaluate(x)) for HybridValues `x`.
|
||||
* This is actually just -error(x).
|
||||
|
@ -243,9 +254,6 @@ class GTSAM_EXPORT DiscreteConditional
|
|||
return -error(x);
|
||||
}
|
||||
|
||||
using DecisionTreeFactor::error; ///< HybridValues version
|
||||
using DecisionTreeFactor::evaluate; ///< HybridValues version
|
||||
|
||||
/// @}
|
||||
|
||||
#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V42
|
||||
|
|
Loading…
Reference in New Issue