Mercurial > hg > vamp-plugin-sdk
view src/vamp-sdk/FFTimpl.cpp @ 493:25e023bad200
Choose another method (which should actually work) to override linkage for KissFFT
author | Chris Cannam |
---|---|
date | Sun, 05 Mar 2017 17:13:18 +0000 |
parents | b409560a805b |
children | 90571dcc371a |
line wrap: on
line source
// Override C linkage for KissFFT headers. So long as we have already // included all of the other (system etc) headers KissFFT depends on, // this should work out OK #define KISSFFT_USE_CPP_LINKAGE 1 namespace Kiss { #undef KISS_FFT_H #undef KISS_FTR_H #undef KISS_FFT__GUTS_H #undef FIXED_POINT #undef USE_SIMD #undef kiss_fft_scalar #ifdef SINGLE_PRECISION_FFT #pragma message("Using single-precision FFTs") typedef float kiss_fft_scalar; #define kiss_fft_scalar float #else typedef double kiss_fft_scalar; #define kiss_fft_scalar double #endif inline void free(void *ptr) { ::free(ptr); } #include "ext/kiss_fft.c" #include "ext/kiss_fftr.c" #undef kiss_fft_scalar // leaving only the namespaced typedef } // Check that this worked, i.e. that we have our own suitably // hacked KissFFT header which set this after making the // appropriate change #ifndef KISSFFT_USED_CPP_LINKAGE #error "KissFFT header lacks specific linkage adjustment needed for Vamp SDK" #endif