From 8f22dcbf56c7cbf5f37b3790d855c3622ed46fe5 Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Thu, 3 Apr 2025 11:02:53 -0300 Subject: Added FFTW estimate flage to get_energy for speed --- get_energy.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'get_energy.cpp') diff --git a/get_energy.cpp b/get_energy.cpp index bb01095..449c2c6 100644 --- a/get_energy.cpp +++ b/get_energy.cpp @@ -43,9 +43,9 @@ private: Real Δω; Real Δτ; public: - FourierTransform(unsigned n, Real Δω, Real Δτ) : a(2 * n), â(n + 1), Δω(Δω), Δτ(Δτ) { - plan_r2c = fftw_plan_dft_r2c_1d(2 * n, a.data(), reinterpret_cast(â.data()), 0); - plan_c2r = fftw_plan_dft_c2r_1d(2 * n, reinterpret_cast(â.data()), a.data(), 0); + FourierTransform(unsigned n, Real Δω, Real Δτ, unsigned flags = 0) : a(2 * n), â(n + 1), Δω(Δω), Δτ(Δτ) { + plan_r2c = fftw_plan_dft_r2c_1d(2 * n, a.data(), reinterpret_cast(â.data()), flags); + plan_c2r = fftw_plan_dft_c2r_1d(2 * n, reinterpret_cast(â.data()), a.data(), flags); } ~FourierTransform() { @@ -127,7 +127,7 @@ int main(int argc, char* argv[]) { Real y = y₀; - FourierTransform fft(n, Δω, Δτ); + FourierTransform fft(n, Δω, Δτ, FFTW_ESTIMATE); while (y += Δy, y <= yₘₐₓ) { std::vector C(2 * n); -- cgit v1.2.3-70-g09d2