Symbolic logProbability just throws
parent
ecb0be494e
commit
b7fbe3f6a7
|
|
@ -33,4 +33,10 @@ bool SymbolicConditional::equals(const This& c, double tol) const {
|
|||
return BaseFactor::equals(c) && BaseConditional::equals(c);
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
double SymbolicConditional::logProbability(const HybridValues& c) const {
|
||||
throw std::runtime_error("SymbolicConditional::logProbability is not implemented");
|
||||
}
|
||||
|
||||
|
||||
} // namespace gtsam
|
||||
|
|
|
|||
|
|
@ -95,13 +95,10 @@ namespace gtsam {
|
|||
return FromIteratorsShared(keys.begin(), keys.end(), nrFrontals);
|
||||
}
|
||||
|
||||
~SymbolicConditional() override {}
|
||||
|
||||
/// Copy this object as its actual derived type.
|
||||
SymbolicFactor::shared_ptr clone() const { return boost::make_shared<This>(*this); }
|
||||
|
||||
/// @}
|
||||
|
||||
/// @name Testable
|
||||
/// @{
|
||||
|
||||
|
|
@ -114,6 +111,19 @@ namespace gtsam {
|
|||
bool equals(const This& c, double tol = 1e-9) const;
|
||||
|
||||
/// @}
|
||||
/// @name HybridValues methods.
|
||||
/// @{
|
||||
|
||||
/**
|
||||
* logProbability throws exception, symbolic.
|
||||
*/
|
||||
double logProbability(const HybridValues& x) const override;
|
||||
|
||||
using Conditional::evaluate; // Expose evaluate(const HybridValues&) method..
|
||||
using Conditional::operator(); // Expose evaluate(const HybridValues&) method..
|
||||
using SymbolicFactor::error; // Expose error(const HybridValues&) method..
|
||||
|
||||
/// @}
|
||||
|
||||
private:
|
||||
/** Serialization function */
|
||||
|
|
|
|||
|
|
@ -26,6 +26,11 @@ using namespace std;
|
|||
|
||||
namespace gtsam {
|
||||
|
||||
/* ************************************************************************* */
|
||||
double SymbolicFactor::error(const HybridValues& c) const {
|
||||
throw std::runtime_error("SymbolicFactor::error is not implemented");
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
|
||||
EliminateSymbolic(const SymbolicFactorGraph& factors, const Ordering& keys)
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ namespace gtsam {
|
|||
|
||||
// Forward declarations
|
||||
class SymbolicConditional;
|
||||
class HybridValues;
|
||||
class Ordering;
|
||||
|
||||
/** SymbolicFactor represents a symbolic factor that specifies graph topology but is not
|
||||
|
|
@ -46,7 +47,7 @@ namespace gtsam {
|
|||
/** Overriding the shared_ptr typedef */
|
||||
typedef boost::shared_ptr<This> shared_ptr;
|
||||
|
||||
/// @name Standard Interface
|
||||
/// @name Standard Constructors
|
||||
/// @{
|
||||
|
||||
/** Default constructor for I/O */
|
||||
|
|
@ -106,10 +107,9 @@ namespace gtsam {
|
|||
}
|
||||
|
||||
/// @}
|
||||
|
||||
/// @name Advanced Constructors
|
||||
/// @{
|
||||
public:
|
||||
|
||||
/** Constructor from a collection of keys */
|
||||
template<typename KEYITERATOR>
|
||||
static SymbolicFactor FromIterators(KEYITERATOR beginKey, KEYITERATOR endKey) {
|
||||
|
|
@ -143,6 +143,9 @@ namespace gtsam {
|
|||
/// @name Standard Interface
|
||||
/// @{
|
||||
|
||||
/// The `error` method throws an exception.
|
||||
double error(const HybridValues& c) const override;
|
||||
|
||||
/** Eliminate the variables in \c keys, in the order specified in \c keys, returning a
|
||||
* conditional and marginal. */
|
||||
std::pair<boost::shared_ptr<SymbolicConditional>, boost::shared_ptr<SymbolicFactor> >
|
||||
|
|
|
|||
Loading…
Reference in New Issue