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: