13 #ifndef FFT_3D_INCLUDED
14 #define FFT_3D_INCLUDED
50 static FFT *create_object()
59 if ((npe_x == 1) && (npe_y == 1) && (npe_z == 1)) {
61 return new FFT_3d_local;
64 }
else if ((npe_x == 1) && (npe_y == 1)) {
66 return new FFT_3d_parallel1d;
69 return new FFT_3d_parallel3d;
77 static FFT *create_object_with_params(
const Parameters& params)
86 if ((npe_x == 1) && (npe_y == 1) && (npe_z == 1)) {
88 return new FFT_3d_local(params);
91 }
else if ((npe_x == 1) && (npe_y == 1)) {
93 return new FFT_3d_parallel1d(params);
96 return new FFT_3d_parallel3d(params);
105 static bool register_factory()
108 init &= FFT::Factory::Register(
"auto", create_object);
109 init &= FFT::Factory_params::Register(
"auto", create_object_with_params);