diff --git a/gtsam/linear/GaussianConditional.cpp b/gtsam/linear/GaussianConditional.cpp index 10f4eabbb..7792e119b 100644 --- a/gtsam/linear/GaussianConditional.cpp +++ b/gtsam/linear/GaussianConditional.cpp @@ -205,9 +205,14 @@ namespace gtsam { } /* ************************************************************************* */ - double GaussianConditional::evaluate(const VectorValues& c) const { - return exp(logProbability(c)); + double GaussianConditional::evaluate(const VectorValues& x) const { + return exp(logProbability(x)); } + + double GaussianConditional::evaluate(const HybridValues& x) const { + return evaluate(x.continuous()); + } + /* ************************************************************************* */ VectorValues GaussianConditional::solve(const VectorValues& x) const { // Concatenate all vector values that correspond to parent variables diff --git a/gtsam/linear/GaussianConditional.h b/gtsam/linear/GaussianConditional.h index 18f0257cb..15efeae01 100644 --- a/gtsam/linear/GaussianConditional.h +++ b/gtsam/linear/GaussianConditional.h @@ -262,7 +262,12 @@ namespace gtsam { */ double logProbability(const HybridValues& x) const override; - using Conditional::evaluate; // Expose evaluate(const HybridValues&) method.. + /** + * Calculate probability for HybridValues `x`. + * Simply dispatches to VectorValues version. + */ + double evaluate(const HybridValues& x) const override; + using Conditional::operator(); // Expose evaluate(const HybridValues&) method.. using JacobianFactor::error; // Expose error(const HybridValues&) method..