From e4ab12ce914b2471355a99943b58c5b274d8754c Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Fri, 18 Apr 2025 23:02:43 -0300 Subject: Refactor --- log-fourier.hpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 log-fourier.hpp (limited to 'log-fourier.hpp') diff --git a/log-fourier.hpp b/log-fourier.hpp new file mode 100644 index 0000000..f57c6bc --- /dev/null +++ b/log-fourier.hpp @@ -0,0 +1,33 @@ +#pragma once +#include "types.hpp" + +#include +#include +#include +#include + +class LogarithmicFourierTransform { +private: + Complex* a; + Complex* â; + fftw_plan a_to_â; + fftw_plan â_to_a; + unsigned N; + unsigned pad; + Real k; + Real Δτ; + Real τₛ; + Real ωₛ; + Real sₛ; +public: + LogarithmicFourierTransform(unsigned N, Real k, Real Δτ, unsigned pad = 4); + ~LogarithmicFourierTransform(); + Real τ(unsigned n) const; + Real ω(unsigned n) const; + Real t(unsigned n) const; + Real ν(unsigned n) const; + Real s(unsigned n) const; + std::vector fourier(const std::vector& c, bool symmetric); + std::vector inverse(const std::vector& ĉ); +}; + -- cgit v1.2.3-70-g09d2