23 #ifndef _SEFRAMEWORK_FFT_FFT_H
24 #define _SEFRAMEWORK_FFT_FFT_H
31 namespace SourceXtractor {
46 typedef decltype(fftwf_plan_dft_r2c_2d) func_plan_fwd_t;
47 typedef decltype(fftwf_plan_dft_c2r_2d) func_plan_inv_t;
48 typedef decltype(fftwf_destroy_plan) func_destroy_plan_t;
49 typedef decltype(fftwf_execute_dft_r2c) func_execute_fwd_t;
50 typedef decltype(fftwf_execute_dft_c2r) func_execute_inv_t;
52 static func_plan_fwd_t* func_plan_fwd;
53 static func_plan_inv_t* func_plan_inv;
54 static func_destroy_plan_t* func_destroy_plan;
55 static func_execute_fwd_t* func_execute_fwd;
56 static func_execute_inv_t* func_execute_inv;
66 typedef decltype(fftw_plan_dft_r2c_2d) func_plan_fwd_t;
67 typedef decltype(fftw_plan_dft_c2r_2d) func_plan_inv_t;
68 typedef decltype(fftw_destroy_plan) func_destroy_plan_t;
69 typedef decltype(fftw_execute_dft_r2c) func_execute_fwd_t;
70 typedef decltype(fftw_execute_dft_c2r) func_execute_inv_t;
72 static func_plan_fwd_t* func_plan_fwd;
73 static func_plan_inv_t* func_plan_inv;
74 static func_destroy_plan_t* func_destroy_plan;
75 static func_execute_fwd_t* func_execute_fwd;
76 static func_execute_inv_t* func_execute_inv;
131 static void executeForward(plan_ptr_t& plan,
std::vector<T>& inout);
140 static void executeInverse(plan_ptr_t& plan,
std::vector<T>& inout);
162 #endif // _SEFRAMEWORK_FFT_FFT_H