New git HEAD version
[libdai.git] / src / gibbs.cpp
index 0ce37d2..85b2379 100644 (file)
@@ -1,14 +1,15 @@
 /*  This file is part of libDAI - http://www.libdai.org/
  *
- *  libDAI is licensed under the terms of the GNU General Public License version
- *  2, or (at your option) any later version. libDAI is distributed without any
- *  warranty. See the file COPYING for more details.
+ *  Copyright (c) 2006-2011, The libDAI authors. All rights reserved.
  *
- *  Copyright (C) 2008  Frederik Eaton  [frederik at ofb dot net]
- *  Copyright (C) 2008-2010  Joris Mooij  [joris dot mooij at libdai dot org]
+ *  Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
  */
 
 
+#include <dai/dai_config.h>
+#ifdef DAI_WITH_GIBBS
+
+
 #include <iostream>
 #include <sstream>
 #include <map>
@@ -25,9 +26,6 @@ namespace dai {
 using namespace std;
 
 
-const char *Gibbs::Name = "GIBBS";
-
-
 void Gibbs::setProperties( const PropertySet &opts ) {
     DAI_ASSERT( opts.hasKey("maxiter") );
     props.maxiter = opts.getStringAs<size_t>("maxiter");
@@ -147,7 +145,7 @@ Prob Gibbs::getVarDist( size_t i ) {
     Prob i_given_MB( i_states, 1.0 );
 
     // use Markov blanket of var(i) to calculate distribution
-    foreach( const Neighbor &I, nbV(i) ) {
+    bforeach( const Neighbor &I, nbV(i) ) {
         const Factor &f_I = factor(I);
         size_t I_skip = getFactorEntryDiff( I, i );
         size_t I_entry = getFactorEntry(I) - (_state[i] * I_skip);
@@ -213,7 +211,7 @@ Real Gibbs::run() {
     }
 
     if( props.verbose >= 3 )
-        cerr << Name << "::run:  ran " << _iters << " passes (" << toc() - tic << " seconds)." << endl;
+        cerr << name() << "::run:  ran " << _iters << " passes (" << toc() - tic << " seconds)." << endl;
 
     if( _iters == 0 )
         return INFINITY;
@@ -277,3 +275,6 @@ std::vector<size_t> getGibbsState( const FactorGraph &fg, size_t maxiter ) {
 
 
 } // end of namespace dai
+
+
+#endif