Merge branch 'eaton'
[libdai.git] / include / dai / alldai.h
index d13114b..862bf8d 100644 (file)
@@ -33,6 +33,8 @@
 #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_MR
     #include <dai/mr.h>
 #endif
+#ifdef DAI_WITH_GIBBS
+    #include <dai/gibbs.h>
+#endif
+#ifdef DAI_WITH_CBP
+    #include <dai/cbp.h>
+#endif
 
 
 /// Namespace for libDAI
@@ -69,6 +77,14 @@ namespace dai {
 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,
@@ -92,6 +108,12 @@ static const char* DAINames[] = {
 #endif
 #ifdef DAI_WITH_MR
     MR::Name,
+#endif
+#ifdef DAI_WITH_GIBBS
+    Gibbs::Name,
+#endif
+#ifdef DAI_WITH_CBP
+    CBP::Name,
 #endif
     ""
 };