summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2025-05-10 10:57:43 -0300
committerJaron Kent-Dobias <jaron@kent-dobias.com>2025-05-10 10:57:43 -0300
commit9523d2f5a0bfa4fc940d6dc30dde74c568dca332 (patch)
tree6e631dd00ea91f559087e1f9b1d1d456fea033a4
parent4ac5e7d51f5940fd7d313014489ae0f0e8f51577 (diff)
downloadcode-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.tar.gz
code-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.tar.bz2
code-9523d2f5a0bfa4fc940d6dc30dde74c568dca332.zip
Fixed energy
-rw-r--r--log-fourier.cpp4
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];