From c64edf31fc536681fc894d7181ebaa21f1235d8f Mon Sep 17 00:00:00 2001 From: David Anderson Date: Tue, 22 Apr 2014 20:04:12 -0700 Subject: [PATCH] Fix Windows build, again. --- core/logic/smn_float.cpp | 3 ++- core/sm_stringutil.cpp | 5 +++-- public/amtl/am-utility.h | 12 ++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/core/logic/smn_float.cpp b/core/logic/smn_float.cpp index 9edcaa48..91081982 100644 --- a/core/logic/smn_float.cpp +++ b/core/logic/smn_float.cpp @@ -35,6 +35,7 @@ #include "common_logic.h" #include "MersenneTwister.h" #include +#include /**************************************** * * @@ -119,7 +120,7 @@ static cell_t sm_FloatNe(IPluginContext *pCtx, const cell_t *params) static cell_t sm_FloatNot(IPluginContext *pCtx, const cell_t *params) { float val = sp_ctof(params[1]); - if (isnan(val)) + if (ke::IsNaN(val)) return 1; return val ? 0 : 1; } diff --git a/core/sm_stringutil.cpp b/core/sm_stringutil.cpp index 02ef4205..86ada852 100644 --- a/core/sm_stringutil.cpp +++ b/core/sm_stringutil.cpp @@ -33,12 +33,12 @@ #include #include #include -#include #include "sm_stringutil.h" #include "Logger.h" #include "PlayerManager.h" #include "logic_bridge.h" #include "sourcemod.h" +#include #define LADJUST 0x00000004 /* left adjustment */ #define ZEROPAD 0x00000080 /* zero (as opposed to blank) pad */ @@ -214,7 +214,8 @@ void AddFloat(char **buf_p, size_t &maxlen, double fval, int width, int prec, in int significant_digits = 0; // number of significant digits written const int MAX_SIGNIFICANT_DIGITS = 16; - if (isnan(fval)) { + if (ke::IsNaN(fval)) + { AddString(buf_p, maxlen, "NaN", width, prec); return; } diff --git a/public/amtl/am-utility.h b/public/amtl/am-utility.h index 20218cf4..d657fac1 100644 --- a/public/amtl/am-utility.h +++ b/public/amtl/am-utility.h @@ -34,6 +34,8 @@ #include #include #include +#include +#include #if defined(_MSC_VER) # include #endif @@ -218,6 +220,16 @@ FindRightmostBit(size_t number) #endif } +static inline bool +IsNaN(double v) +{ +#ifdef _MSC_VER + return _isnan(v); +#else + return isnan(v); +#endif +} + static inline bool IsPowerOfTwo(size_t value) {