···1414#include <math.h>
1515#include <string.h>
16161717+// Define KISS_FFT_SHARED macro to properly export symbols
1818+#ifdef KISS_FFT_SHARED
1919+# ifdef _WIN32
2020+# ifdef KISS_FFT_BUILD
2121+# define KISS_FFT_API __declspec(dllexport)
2222+# else
2323+# define KISS_FFT_API __declspec(dllimport)
2424+# endif
2525+# else
2626+# define KISS_FFT_API __attribute__ ((visibility ("default")))
2727+# endif
2828+#else
2929+# define KISS_FFT_API
3030+#endif
3131+1732#ifdef __cplusplus
1833extern "C" {
1934#endif
···99114 * buffer size in *lenmem.
100115 * */
101116102102-kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem);
117117+kiss_fft_cfg KISS_FFT_API kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem);
103118104119/*
105120 * kiss_fft(cfg,in_out_buf)
···111126 * Note that each element is complex and can be accessed like
112127 f[k].r and f[k].i
113128 * */
114114-void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
129129+void KISS_FFT_API kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
115130116131/*
117132 A more generic version of the above function. It reads its input from every Nth sample.
118133 * */
119119-void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride);
134134+void KISS_FFT_API kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride);
120135121136/* If kiss_fft_alloc allocated a buffer, it is one contiguous
122137 buffer and can be simply free()d when no longer needed*/
···126141 Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up
127142 your compiler output to call this before you exit.
128143*/
129129-void kiss_fft_cleanup(void);
144144+void KISS_FFT_API kiss_fft_cleanup(void);
130145131146132147/*
133148 * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5)
134149 */
135135-int kiss_fft_next_fast_size(int n);
150150+int KISS_FFT_API kiss_fft_next_fast_size(int n);
136151137152/* for real ffts, we need an even size */
138153#define kiss_fftr_next_fast_size_real(n) \