#include <dai/daialg.h>
#include <dai/properties.h>
#include <dai/exactinf.h>
+#include <dai/evidence.h>
+#include <dai/emalg.h>
#ifdef DAI_WITH_BP
#include <dai/bp.h>
#endif
#ifdef DAI_WITH_GIBBS
#include <dai/gibbs.h>
#endif
+#ifdef DAI_WITH_CBP
+ #include <dai/cbp.h>
+#endif
/// Namespace for libDAI
InfAlg *newInfAlg( const std::string &name, const FactorGraph &fg, const PropertySet &opts );
+/// Constructs a new approximate inference algorithm.
+/** \param nameOpts The name and options of the approximate inference algorithm (should be in the format "name[opts]").
+ * \param fg The FactorGraph that the algorithm should be applied to.
+ * \return Returns a pointer to the new InfAlg object; it is the responsibility of the caller to delete it later.
+ */
+InfAlg *newInfAlgFromString( const std::string &nameOpts, const FactorGraph &fg );
+
+
/// Contains the names of all approximate inference algorithms compiled into libDAI.
static const char* DAINames[] = {
ExactInf::Name,
#endif
#ifdef DAI_WITH_GIBBS
Gibbs::Name,
+#endif
+#ifdef DAI_WITH_CBP
+ CBP::Name,
#endif
""
};