diff --git a/celt/float_cast.h b/celt/float_cast.h index 36a13fcab2637b25a43073e31193ce2f1f899605..5ded29159986912b774a1ca1214b3cfd3174b179 100644 --- a/celt/float_cast.h +++ b/celt/float_cast.h @@ -90,14 +90,14 @@ #include <math.h> #define float2int(x) lrint(x) -#elif (_MSC_VER >= 1400) && (defined (WIN64) || defined (_WIN64)) +#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined (WIN64) || defined (_WIN64)) #include <xmmintrin.h> __inline long int float2int(float value) { return _mm_cvtss_si32(_mm_load_ss(&value)); } -#elif (_MSC_VER >= 1400) && (defined (WIN32) || defined (_WIN32)) +#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined (WIN32) || defined (_WIN32)) #include <math.h> /* Win32 doesn't seem to have these functions. @@ -127,6 +127,7 @@ #define float2int(flt) ((int)(floor(.5+flt))) #endif +#ifndef DISABLE_FLOAT_API static inline opus_int16 FLOAT2INT16(float x) { x = x*CELT_SIG_SCALE; @@ -134,5 +135,6 @@ static inline opus_int16 FLOAT2INT16(float x) x = MIN32(x, 32767); return (opus_int16)float2int(x); } +#endif /* DISABLE_FLOAT_API */ #endif /* FLOAT_CAST_H */ diff --git a/include/opus_defines.h b/include/opus_defines.h index a16bd648ff95aa2529c3a33aefba6a4dbdc492bc..b2a559d4a5c2ebff210335a177d0bb121923d3d6 100644 --- a/include/opus_defines.h +++ b/include/opus_defines.h @@ -87,7 +87,7 @@ extern "C" { #if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) # if OPUS_GNUC_PREREQ(3,0) # define OPUS_RESTRICT __restrict__ -# elif (_MSC_VER >= 1400) +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) # define OPUS_RESTRICT __restrict # else # define OPUS_RESTRICT