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