20 #include <fftw3-mpi.h>
55 FORWARD = FFTW_FORWARD,
56 BACKWARD = FFTW_BACKWARD,
67 FFT& operator=(
const FFT&);
70 virtual void fft(
Field& field) = 0;
71 virtual void fft(
Field& field_out,
const Field& field_in) = 0;
74 virtual void set_parameters(
const std::string& str_fft_direction) {}
79 typedef FFT *(*ProductCreator)();
80 typedef FFT *(*ProductCreator_params)(
const Parameters&);
87 ProductCreator p = Factory::Find(subtype);
88 return p ? (*p)() : 0;
93 ProductCreator_params p = Factory_params::Find(subtype);
94 return p ? (*p)(params) : 0;
97 #ifdef USE_FACTORY_AUTOREGISTER
99 static bool init_factory();