annotate src/vamp-sdk/FFTimpl.cpp @ 527:bc5e76e90e95 c++11-mutex

A better way, I think, of handling static initialisation order
author Chris Cannam
date Wed, 11 Sep 2019 14:55:16 +0100
parents 90571dcc371a
children
rev   line source
Chris@449 1
Chris@449 2 // Override C linkage for KissFFT headers. So long as we have already
Chris@449 3 // included all of the other (system etc) headers KissFFT depends on,
Chris@449 4 // this should work out OK
Chris@501 5 #define VAMP_KISSFFT_USE_CPP_LINKAGE 1
Chris@449 6
Chris@449 7 namespace Kiss {
Chris@449 8
Chris@449 9 #ifdef SINGLE_PRECISION_FFT
Chris@449 10 #pragma message("Using single-precision FFTs")
Chris@501 11 typedef float vamp_kiss_fft_scalar;
Chris@501 12 #define vamp_kiss_fft_scalar float
Chris@449 13 #else
Chris@501 14 typedef double vamp_kiss_fft_scalar;
Chris@501 15 #define vamp_kiss_fft_scalar double
Chris@449 16 #endif
Chris@449 17
Chris@501 18 #include "ext/vamp_kiss_fft.c"
Chris@501 19 #include "ext/vamp_kiss_fftr.c"
Chris@449 20
Chris@501 21 #undef vamp_kiss_fft_scalar // leaving only the namespaced typedef
Chris@449 22
Chris@449 23 }
Chris@449 24
Chris@493 25 // Check that this worked, i.e. that we have our own suitably
Chris@493 26 // hacked KissFFT header which set this after making the
Chris@493 27 // appropriate change
Chris@501 28 #ifndef VAMP_KISSFFT_USED_CPP_LINKAGE
Chris@493 29 #error "KissFFT header lacks specific linkage adjustment needed for Vamp SDK"
Chris@493 30 #endif