32 lines
813 B
C
32 lines
813 B
C
// 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
|