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@501: #define VAMP_KISSFFT_USE_CPP_LINKAGE 1 Chris@449: Chris@449: namespace Kiss { Chris@449: Chris@449: #ifdef SINGLE_PRECISION_FFT Chris@449: #pragma message("Using single-precision FFTs") Chris@501: typedef float vamp_kiss_fft_scalar; Chris@501: #define vamp_kiss_fft_scalar float Chris@449: #else Chris@501: typedef double vamp_kiss_fft_scalar; Chris@501: #define vamp_kiss_fft_scalar double Chris@449: #endif Chris@449: Chris@501: #include "ext/vamp_kiss_fft.c" Chris@501: #include "ext/vamp_kiss_fftr.c" Chris@449: Chris@501: #undef vamp_kiss_fft_scalar // leaving only the namespaced typedef Chris@449: Chris@449: } Chris@449: Chris@493: // Check that this worked, i.e. that we have our own suitably Chris@493: // hacked KissFFT header which set this after making the Chris@493: // appropriate change Chris@501: #ifndef VAMP_KISSFFT_USED_CPP_LINKAGE Chris@493: #error "KissFFT header lacks specific linkage adjustment needed for Vamp SDK" Chris@493: #endif