Chris@449: Chris@449: // Override C linkage for KissFFT headers. So long as we have already Chris@449: // included all of the other (system etc) headers KissFFT depends on, Chris@449: // this should work out OK Chris@449: #undef __cplusplus Chris@449: Chris@449: namespace Kiss { Chris@449: Chris@449: #undef KISS_FFT_H Chris@449: #undef KISS_FTR_H Chris@449: #undef KISS_FFT__GUTS_H Chris@449: #undef FIXED_POINT Chris@449: #undef USE_SIMD Chris@449: #undef kiss_fft_scalar Chris@449: Chris@449: #ifdef SINGLE_PRECISION_FFT Chris@449: #pragma message("Using single-precision FFTs") Chris@449: typedef float kiss_fft_scalar; Chris@449: #define kiss_fft_scalar float Chris@449: #else Chris@449: typedef double kiss_fft_scalar; Chris@449: #define kiss_fft_scalar double Chris@449: #endif Chris@449: Chris@449: inline void free(void *ptr) { ::free(ptr); } Chris@449: #include "ext/kiss_fft.c" Chris@449: #include "ext/kiss_fftr.c" Chris@449: Chris@449: #undef kiss_fft_scalar // leaving only the namespaced typedef Chris@449: Chris@449: } Chris@449: