1 // Microsoft version of 'inline'
2 #define inline __inline
3 
4 // In Visual Studio, _M_IX86_FP=1 means /arch:SSE was used, likewise
5 // _M_IX86_FP=2 means /arch:SSE2 was used.
6 // Also, enable both _USE_SSE and _USE_SSE2 if we're compiling for x86-64
7 #if _M_IX86_FP >= 1 || defined(_M_X64)
8 #define _USE_SSE
9 #endif
10 
11 #if _M_IX86_FP >= 2 || defined(_M_X64)
12 #define _USE_SSE2
13 #endif
14 
15 // Visual Studio support alloca(), but it always align variables to 16-bit
16 // boundary, while SSE need 128-bit alignment. So we disable alloca() when
17 // SSE is enabled.
18 #ifndef _USE_SSE
19 #  define USE_ALLOCA
20 #endif
21 
22 /* Default to floating point */
23 #ifndef FIXED_POINT
24 #  define FLOATING_POINT
25 #  define USE_SMALLFT
26 #else
27 #  define USE_KISS_FFT
28 #endif
29 
30 /* We don't support visibility on Win32 */
31 #define EXPORT
32