summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
84cba33)
but it doesn't. Trying the apple approach to fixing isnan results in an
infinite loop (making me wonder what happens on OSX?) This is an alternative
approach to checking isnan() on freebsd ...
// #include <stdio.h>
#include <math.h>
// #include <stdio.h>
#include <math.h>
-#if defined (__APPLE__) || defined (__FreeBSD__)
// any C++ header file undefines isinf and isnan
// so this should be included before <iostream>
inline int (isinf)(double r) { return isinf(r); }
// any C++ header file undefines isinf and isnan
// so this should be included before <iostream>
inline int (isinf)(double r) { return isinf(r); }
#define isnan(x) _isnan(x)
#endif
#define isnan(x) _isnan(x)
#endif
+#if defined (__FreeBSD__)
+inline int isnan(double r) { return !(r < 0 || r > 0); }
+#endif
+
+
static ssgStateSelector *layer_states[SGCloudLayer::SG_MAX_CLOUD_COVERAGES];
static bool state_initialized = false;
static ssgStateSelector *layer_states[SGCloudLayer::SG_MAX_CLOUD_COVERAGES];
static bool state_initialized = false;
# include <AL/alc.h>
#endif
# include <AL/alc.h>
#endif
// any C++ header file undefines isinf and isnan
// so this should be included before <iostream>
inline int (isinf)(double r) { return isinf(r); }
// any C++ header file undefines isinf and isnan
// so this should be included before <iostream>
inline int (isinf)(double r) { return isinf(r); }
#define isnan(x) _isnan(x)
#endif
#define isnan(x) _isnan(x)
#endif
+#if defined (__FreeBSD__)
+inline int isnan(double r) { return !(r < 0 || r > 0); }
+#endif
+
#include STL_IOSTREAM
#include <simgear/debug/logstream.hxx>
#include STL_IOSTREAM
#include <simgear/debug/logstream.hxx>