#ifndef CLITKPORTABILITY_H
#define CLITKPORTABILITY_H
-
+
#if defined(WIN32)
# define rint(x) floor(x+0.5)
# define lrint(x) (long)rint(x)
# define _USE_MATH_DEFINES
#endif
+template<typename T>
+int IsNormal(const T val) {
+#if defined(_MSC_VER)
+ return _finite(val);
+#elif defined(unix)
+ return std::isnormal(val);
+#endif
+}
+
#endif /* end #define CLITKPORTABILITY_H */
else //Use the original formula as described in Guerrero's paper
vol_change=static_cast<TOutput>( 1000. * (Bstar-A) / (A*(1000.+Bstar)) );
- if (std::isnormal(vol_change))
+ if (IsNormal(vol_change))
return vol_change;
else
return 0.;