00001 #ifndef vnl_fft_base_h_ 00002 #define vnl_fft_base_h_ 00003 /* 00004 fsm@robots.ox.ac.uk 00005 */ 00006 00007 //: Base class for in-place ND fast fourier transform. 00008 00009 #include <vcl_complex.h> 00010 #include <vnl/algo/vnl_fft_prime_factors.h> 00011 00012 export template <int D, class T> 00013 struct vnl_fft_base 00014 { 00015 vnl_fft_base() { } 00016 00017 //: dir = +1/-1 according to direction of transform. 00018 void transform(vcl_complex<T> *signal, int dir); 00019 00020 protected: 00021 //: prime factorizations of signal dimensions. 00022 vnl_fft_prime_factors<T> factors_[D]; 00023 }; 00024 00025 #endif