#ifdef _MSC_VER
# include <float.h>
-# define finite _finite
-#elif defined(__sun) || defined(sgi)
-# include <ieeefp.h>
+# define isfinite(x) _finite(x)
+#else
+# define isfinite(x) std::isfinite(x)
#endif
SG_NORMALIZE_RANGE(calc_bearing, 0.0, 360.0);
}
- if (std::isfinite(calc_bearing)) {
+ if (isfinite(calc_bearing)) {
double hdg_error = calc_bearing - tgt_heading;
if (fabs(hdg_error) > 0.01) {
TurnTo( calc_bearing );
#ifdef _MSC_VER
# include <float.h>
-# define finite _finite
-#elif defined(__sun) || defined(sgi)
-# include <ieeefp.h>
+# define isfinite(x) _finite(x)
+#else
+# define isfinite(x) std::isfinite(x)
#endif
#include <math.h>
// now revise the required course for the next way point
_course = getCourse(pos.getLatitudeDeg(), pos.getLongitudeDeg(), curr->getLatitude(), curr->getLongitude());
- if (std::isfinite(_course))
+ if (isfinite(_course))
TurnTo(_course);
else
SG_LOG(SG_AI, SG_ALERT, "AIShip: Bearing or Range is not a finite number");