From 4c045af4a3d3a12b1e4e73bc9ab1789ceb7b4d7e Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Wed, 14 May 2025 22:52:14 -0300 Subject: Reintroduced smoothing --- log-fourier.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'log-fourier.cpp') diff --git a/log-fourier.cpp b/log-fourier.cpp index cb57229..1fa57c3 100644 --- a/log-fourier.cpp +++ b/log-fourier.cpp @@ -254,3 +254,25 @@ Real C0(const LogarithmicFourierTransform& fft, const std::vector& Ĉ) return C * pow(fft.shift, 2) / M_PI; } +void smooth(std::vector& C, Real ε) { + unsigned N = C.size(); + bool trigger0 = false; + bool trigger1 = false; + for (unsigned i = 0; i < N; i++) { + if (C[i] < ε || trigger0) { + C[i] = 0; + trigger0 = true; + } + if (C[N-1-i] > 1 - ε || trigger1) { + C[N-1-i] = 1; + trigger1 = true; + } + } + + Real Cmax = 0; + for (unsigned i = 0; i < N; i++) { + if (C[N-1-i] > Cmax) Cmax = C[N-1-i]; + C[N-1-i] = Cmax; + } +} + -- cgit v1.2.3-70-g09d2