Now compiles also with Visual Studio 2008 under Windows (still buggy!)
[libdai.git] / src / util.cpp
index 18596ee..728f62f 100644 (file)
@@ -27,6 +27,9 @@
 
 #ifdef WINDOWS
     #include <windows.h>
+    #include <boost/math/special_functions/atanh.hpp>  // for atanh
+    #include <boost/math/special_functions/log1p.hpp>  // for log1p
+    #include <float.h>  // for _isnan
 #else
     // Assume POSIX compliant system. We need the following for querying the CPU time for this process
     #include <sys/times.h>
 #endif
 
 
+#ifdef WINDOWS
+bool isnan( double x ) {
+    return _isnan( x );
+}
+double atanh( double x ) {
+    return boost::math::atanh( x );
+}
+double log1p( double x ) {
+    return boost::math::log1p( x );
+}
+#endif
+
+
 namespace dai {
 
 
@@ -50,7 +66,6 @@ double toc() {
 #endif
 }
 
-
 // This is a typedef for a random number generator.
 // Try boost::mt19937 or boost::ecuyer1988 instead of boost::minstd_rand
 typedef boost::minstd_rand _rnd_gen_type;