diff options
author | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2025-05-10 10:57:43 -0300 |
---|---|---|
committer | Jaron Kent-Dobias <jaron@kent-dobias.com> | 2025-05-10 10:57:43 -0300 |
commit | 9523d2f5a0bfa4fc940d6dc30dde74c568dca332 (patch) | |
tree | 6e631dd00ea91f559087e1f9b1d1d456fea033a4 /log-fourier.cpp | |
parent | 4ac5e7d51f5940fd7d313014489ae0f0e8f51577 (diff) | |
download | code-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.tar.gz code-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.tar.bz2 code-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.zip |
Fixed energy
Diffstat (limited to 'log-fourier.cpp')
-rw-r--r-- | log-fourier.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/log-fourier.cpp b/log-fourier.cpp index be50260..b4f035b 100644 --- a/log-fourier.cpp +++ b/log-fourier.cpp @@ -190,10 +190,10 @@ Real estimateZ(LogarithmicFourierTransform& fft, const std::vector<Real>& C, con Real energy(const LogarithmicFourierTransform& fft, std::vector<Real>& C, const std::vector<Real>& R, unsigned p, unsigned s, Real λ, Real β) { unsigned n₀; for (unsigned n = 0; n < C.size(); n++) { - if (C[n] > 1) n₀ = n; + if (C[n] > 1) n₀ = n % 2 == 0 ? n / 2 : (n + 1) / 2; } Real E = fft.t(n₀) * df(λ, p, s, 1); - for (unsigned n = 0; n < C.size()/2-1; n++) { + for (unsigned n = n₀; n < C.size()/2-1; n++) { Real R₂ₙ = R[2*n]; Real R₂ₙ₊₁ = R[2*n+1]; Real R₂ₙ₊₂ = R[2*n+2]; |