// Microsoft version of 'inline' #define inline __inline // In Visual Studio, _M_IX86_FP=1 means /arch:SSE was used, likewise // _M_IX86_FP=2 means /arch:SSE2 was used. // Also, enable both USE_SSE and USE_SSE2 if we're compiling for x86-64 #if _M_IX86_FP >= 1 || defined(_M_X64) #define USE_SSE #endif #if _M_IX86_FP >= 2 || defined(_M_X64) #define USE_SSE2 #endif // Visual Studio support alloca(), but it always align variables to 16-bit // boundary, while SSE need 128-bit alignment. So we disable alloca() when // SSE is enabled. #ifndef USE_SSE # define USE_ALLOCA #endif /* Default to floating point */ #ifndef FIXED_POINT # define FLOATING_POINT # define USE_SMALLFT #else # define USE_KISS_FFT #endif /* We don't support visibility on Win32 */ #define EXPORT