cannam@167: /* declarations of common subroutines, etc. for use with FFTW cannam@167: self-test/benchmark program (see bench.c). */ cannam@167: cannam@167: #include "libbench2/bench-user.h" cannam@167: #include "api/fftw3.h" cannam@167: cannam@167: #define CONCAT(prefix, name) prefix ## name cannam@167: #if defined(BENCHFFT_SINGLE) cannam@167: #define FFTW(x) CONCAT(fftwf_, x) cannam@167: #elif defined(BENCHFFT_LDOUBLE) cannam@167: #define FFTW(x) CONCAT(fftwl_, x) cannam@167: #elif defined(BENCHFFT_QUAD) cannam@167: #define FFTW(x) CONCAT(fftwq_, x) cannam@167: #else cannam@167: #define FFTW(x) CONCAT(fftw_, x) cannam@167: #endif cannam@167: cannam@167: #ifdef __cplusplus cannam@167: extern "C" cannam@167: { cannam@167: #endif /* __cplusplus */ cannam@167: cannam@167: extern FFTW(plan) mkplan(bench_problem *p, unsigned flags); cannam@167: extern void initial_cleanup(void); cannam@167: extern void final_cleanup(void); cannam@167: extern int import_wisdom(FILE *f); cannam@167: extern void export_wisdom(FILE *f); cannam@167: cannam@167: #if defined(HAVE_THREADS) || defined(HAVE_OPENMP) cannam@167: # define HAVE_SMP cannam@167: extern int threads_ok; cannam@167: #endif cannam@167: cannam@167: #ifdef __cplusplus cannam@167: } /* extern "C" */ cannam@167: #endif /* __cplusplus */ cannam@167: