00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef IMG_ALG_FFTW_HELPER_HH
00023 #define IMG_ALG_FFTW_HELPER_HH
00024
00025 #include <ost/config.hh>
00026
00027
00028 #if OST_DOUBLE_PRECISION
00029 #define OST_FFTW_fftw_complex fftw_complex
00030 #define OST_FFTW_fftw_plan fftw_plan
00031 #define OST_FFTW_fftw_execute fftw_execute
00032 #define OST_FFTW_fftw_destroy_plan fftw_destroy_plan
00033 #define OST_FFTW_fftw_complex fftw_complex
00034 #define OST_FFTW_fftw_plan fftw_plan
00035 #define OST_FFTW_fftw_execute fftw_execute
00036 #define OST_FFTW_fftw_destroy_plan fftw_destroy_plan
00037 #define OST_FFTW_fftw_complex fftw_complex
00038 #define OST_FFTW_fftw_plan fftw_plan
00039 #define OST_FFTW_fftw_execute fftw_execute
00040 #define OST_FFTW_fftw_destroy_plan fftw_destroy_plan
00041 #define OST_FFTW_fftw_complex fftw_complex
00042 #define OST_FFTW_fftw_plan fftw_plan
00043 #define OST_FFTW_fftw_execute fftw_execute
00044 #define OST_FFTW_fftw_destroy_plan fftw_destroy_plan
00045 #define OST_FFTW_fftw_plan_dft_r2c fftw_plan_dft_r2c
00046 #define OST_FFTW_fftw_plan_dft fftw_plan_dft
00047 #define OST_FFTW_fftw_plan_dft_c2r fftw_plan_dft_c2r
00048 #define OST_FFTW_fftw_plan_many_dft fftw_plan_many_dft
00049 #else
00050 #define OST_FFTW_fftw_complex fftwf_complex
00051 #define OST_FFTW_fftw_plan fftwf_plan
00052 #define OST_FFTW_fftw_execute fftwf_execute
00053 #define OST_FFTW_fftw_destroy_plan fftwf_destroy_plan
00054 #define OST_FFTW_fftw_complex fftwf_complex
00055 #define OST_FFTW_fftw_plan fftwf_plan
00056 #define OST_FFTW_fftw_execute fftwf_execute
00057 #define OST_FFTW_fftw_destroy_plan fftwf_destroy_plan
00058 #define OST_FFTW_fftw_complex fftwf_complex
00059 #define OST_FFTW_fftw_plan fftwf_plan
00060 #define OST_FFTW_fftw_execute fftwf_execute
00061 #define OST_FFTW_fftw_destroy_plan fftwf_destroy_plan
00062 #define OST_FFTW_fftw_complex fftwf_complex
00063 #define OST_FFTW_fftw_plan fftwf_plan
00064 #define OST_FFTW_fftw_execute fftwf_execute
00065 #define OST_FFTW_fftw_destroy_plan fftwf_destroy_plan
00066 #define OST_FFTW_fftw_plan_dft_r2c fftwf_plan_dft_r2c
00067 #define OST_FFTW_fftw_plan_dft fftwf_plan_dft
00068 #define OST_FFTW_fftw_plan_dft_c2r fftwf_plan_dft_c2r
00069 #define OST_FFTW_fftw_plan_many_dft fftwf_plan_many_dft
00070 #endif
00071
00072 #if OST_FFT_USE_THREADS
00073 #if OST_DOUBLE_PRECISION
00074 #define OST_FFTW_fftw_init_threads fftw_init_threads
00075 #define OST_FFTW_fftw_cleanup fftw_cleanup_threads
00076 #define OST_FFTW_fftw_plan_with_nthreads fftw_plan_with_nthreads
00077 #else
00078 #define OST_FFTW_fftw_init_threads fftwf_init_threads
00079 #define OST_FFTW_fftw_cleanup fftwf_cleanup_threads
00080 #define OST_FFTW_fftw_plan_with_nthreads fftwf_plan_with_nthreads
00081 #endif
00082 #else
00083 void fftw_noop(unsigned int i=0){}
00084 #define OST_FFTW_fftw_init_threads fftw_noop
00085 #define OST_FFTW_fftw_plan_with_nthreads fftw_noop
00086 #if OST_DOUBLE_PRECISION
00087 #define OST_FFTW_fftw_cleanup fftw_cleanup
00088 #else
00089 #define OST_FFTW_fftw_cleanup fftwf_cleanup
00090 #endif
00091 #endif
00092
00093 #endif