Changed testregression such that it doesn't fail on platform-dependent numerical...
[libdai.git] / examples / example_sprinkler_gibbs.cpp
index 8d90b4e..2d0503a 100644 (file)
@@ -1,10 +1,8 @@
 /*  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) 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.
  */
 
 
@@ -18,6 +16,7 @@ using namespace std;
 using namespace dai;
 
 int main() {
+#ifdef DAI_WITH_GIBBS
     // This example program illustrates how to use Gibbs sampling
     // to sample from a joint probability distribution described
     // by a factor graph, using the sprinkler network example discussed at
@@ -37,9 +36,9 @@ int main() {
 
     // Prepare a Gibbs sampler
     PropertySet gibbsProps;
-    gibbsProps.Set("iters", size_t(100));   // number of Gibbs sampler iterations
-    gibbsProps.Set("burnin", size_t(0));
-    gibbsProps.Set("verbose", size_t(0));
+    gibbsProps.set("maxiter", size_t(100));   // number of Gibbs sampler iterations
+    gibbsProps.set("burnin", size_t(0));
+    gibbsProps.set("verbose", size_t(0));
     Gibbs gibbsSampler( SprinklerNetwork, gibbsProps );
 
     // Open a .tab file for writing
@@ -58,6 +57,7 @@ int main() {
     size_t nrSamples = 1000;
     std::vector<size_t> state;
     for( size_t t = 0; t < nrSamples; t++ ) {
+        gibbsSampler.init();
         gibbsSampler.run();
         state = gibbsSampler.state();
         for( size_t i = 0; i < state.size(); i++ )
@@ -70,4 +70,7 @@ int main() {
     outfile.close();
 
     return 0;
+#else
+    cout << "libDAI was configured without Gibbs (this can be changed in include/dai/dai_config.h)." << endl;
+#endif
 }