| 111 | } |
| 112 | |
| 113 | void FFT3D::forward(const Complex* in, Complex* out) const { |
| 114 | // Copy input to FFTW buffer |
| 115 | std::memcpy(buf_in_, in, sizeof(fftw_complex) * n_); |
| 116 | fftw_execute(plan_fwd_); |
| 117 | // Copy result out (no normalization for forward) |
| 118 | std::memcpy(out, buf_out_, sizeof(fftw_complex) * n_); |
| 119 | } |
| 120 | |
| 121 | void FFT3D::backward(const Complex* in, Complex* out) const { |
| 122 | // Copy input to FFTW buffer |
no outgoing calls