implement evaluate in DiscreteFactor
parent
9844a555d4
commit
aa25ccfa6e
|
@ -131,11 +131,6 @@ namespace gtsam {
|
|||
|
||||
/// Calculate probability for given values,
|
||||
/// is just look up in AlgebraicDecisionTree.
|
||||
double evaluate(const Assignment<Key>& values) const override {
|
||||
return ADT::operator()(values);
|
||||
}
|
||||
|
||||
/// Evaluate probability distribution, sugar.
|
||||
double operator()(const Assignment<Key>& values) const override {
|
||||
return ADT::operator()(values);
|
||||
}
|
||||
|
|
|
@ -476,7 +476,7 @@ string DiscreteConditional::html(const KeyFormatter& keyFormatter,
|
|||
|
||||
/* ************************************************************************* */
|
||||
double DiscreteConditional::evaluate(const HybridValues& x) const {
|
||||
return this->evaluate(x.discrete());
|
||||
return this->operator()(x.discrete());
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
|
|
|
@ -168,11 +168,6 @@ class GTSAM_EXPORT DiscreteConditional
|
|||
static_cast<const BaseConditional*>(this)->print(s, formatter);
|
||||
}
|
||||
|
||||
/// Evaluate, just look up in AlgebraicDecisionTree
|
||||
double evaluate(const Assignment<Key>& values) const override {
|
||||
return ADT::operator()(values);
|
||||
}
|
||||
|
||||
using DecisionTreeFactor::error; ///< DiscreteValues version
|
||||
using DecisionTreeFactor::operator(); ///< DiscreteValues version
|
||||
|
||||
|
|
|
@ -93,8 +93,18 @@ class GTSAM_EXPORT DiscreteFactor : public Factor {
|
|||
|
||||
size_t cardinality(Key j) const { return cardinalities_.at(j); }
|
||||
|
||||
/// Calculate probability for given values
|
||||
virtual double evaluate(const Assignment<Key>& values) const = 0;
|
||||
/**
|
||||
* @brief Calculate probability for given values.
|
||||
* Calls specialized evaluation under the hood.
|
||||
*
|
||||
* Note: Uses Assignment<Key> as it is the base class of DiscreteValues.
|
||||
*
|
||||
* @param values Discrete assignment.
|
||||
* @return double
|
||||
*/
|
||||
double evaluate(const Assignment<Key>& values) const {
|
||||
return operator()(values);
|
||||
}
|
||||
|
||||
/// Find value for given assignment of values to variables
|
||||
virtual double operator()(const Assignment<Key>& values) const = 0;
|
||||
|
|
|
@ -169,13 +169,7 @@ class GTSAM_EXPORT TableFactor : public DiscreteFactor {
|
|||
// /// @name Standard Interface
|
||||
// /// @{
|
||||
|
||||
/// Calculate probability for given values,
|
||||
/// is just look up in TableFactor.
|
||||
double evaluate(const Assignment<Key>& values) const override {
|
||||
return operator()(values);
|
||||
}
|
||||
|
||||
/// Evaluate probability distribution, sugar.
|
||||
/// Evaluate probability distribution, is just look up in TableFactor.
|
||||
double operator()(const Assignment<Key>& values) const override;
|
||||
|
||||
/// Calculate error for DiscreteValues `x`, is -log(probability).
|
||||
|
|
Loading…
Reference in New Issue