Add no-argument solve and sample to DiscretePrior

release/4.3a0
Frank Dellaert 2021-12-26 18:23:48 -05:00
parent 075a7cd0fd
commit 1d12995be5
2 changed files with 19 additions and 1 deletions

View File

@ -81,9 +81,25 @@ class GTSAM_EXPORT DiscretePrior : public DiscreteConditional {
/// Evaluate given a single value.
double operator()(size_t value) const;
/// Evaluate given a single value.
/// We also want to keep the Base version, taking DiscreteValues:
// TODO(dellaert): does not play well with wrapper!
// using Base::operator();
/// Return entire probability mass function.
std::vector<double> pmf() const;
/**
* solve a conditional
* @return MPE value of the child (1 frontal variable).
*/
size_t solve() const { return Base::solve({}); }
/**
* sample
* @return sample from conditional
*/
size_t sample() const { return Base::sample({}); }
/// @}
};
// DiscretePrior

View File

@ -81,6 +81,8 @@ virtual class DiscretePrior : gtsam::DiscreteConditional {
gtsam::DefaultKeyFormatter) const;
double operator()(size_t value) const;
std::vector<double> pmf() const;
size_t solve() const;
size_t sample() const;
};
#include <gtsam/discrete/DiscreteBayesNet.h>