Multiple changes: changes in build system, one workaround and one bug fix
[libdai.git] / src / mf.cpp
index 21cee6b..4c1d932 100644 (file)
@@ -6,6 +6,10 @@
  */
 
 
+#include <dai/dai_config.h>
+#ifdef DAI_WITH_MF
+
+
 #include <iostream>
 #include <sstream>
 #include <map>
@@ -91,9 +95,9 @@ void MF::init() {
 
 Factor MF::calcNewBelief( size_t i ) {
     Factor result;
-    foreach( const Neighbor &I, nbV(i) ) {
+    bforeach( const Neighbor &I, nbV(i) ) {
         Factor belief_I_minus_i;
-        foreach( const Neighbor &j, nbF(I) ) // for all j in I \ i
+        bforeach( const Neighbor &j, nbF(I) ) // for all j in I \ i
             if( j != i )
                 belief_I_minus_i *= _beliefs[j];
         Factor f_I = factor(I);
@@ -128,7 +132,7 @@ Real MF::run() {
         random_shuffle( update_seq.begin(), update_seq.end(), rnd );
 
         maxDiff = -INFINITY;
-        foreach( const size_t &i, update_seq ) {
+        bforeach( const size_t &i, update_seq ) {
             Factor nb = calcNewBelief( i );
 
             if( nb.hasNaNs() ) {
@@ -198,7 +202,7 @@ Real MF::logZ() const {
         s -= beliefV(i).entropy();
     for( size_t I = 0; I < nrFactors(); I++ ) {
         Factor henk;
-        foreach( const Neighbor &j, nbF(I) )  // for all j in I
+        bforeach( const Neighbor &j, nbF(I) )  // for all j in I
             henk *= _beliefs[j];
         henk.normalize();
         Factor piet;
@@ -223,3 +227,6 @@ void MF::init( const VarSet &ns ) {
 
 
 } // end of namespace dai
+
+
+#endif