diff options
Diffstat (limited to 'log-fourier_integrator.cpp')
-rw-r--r-- | log-fourier_integrator.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp index 22f63e6..cfac29f 100644 --- a/log-fourier_integrator.cpp +++ b/log-fourier_integrator.cpp @@ -147,22 +147,28 @@ int main(int argc, char* argv[]) { Real C₀ = Cₜ₊₁[0]; - bool trigger = false; + bool trigger0 = false; + bool trigger1 = false; for (unsigned i = 0; i < N; i++) { - if (Cₜ₊₁[i] < 0 || trigger) { + if (Cₜ₊₁[i] < 0 || trigger0) { Cₜ₊₁[i] = 0; - trigger = true; + trigger0 = true; } - if (Cₜ₊₁[i] > 1) { + if (Cₜ₊₁[i] > 1 || trigger1) { Cₜ₊₁[i] = 1; + trigger1 = true; } } + trigger0 = false; + trigger1 = false; for (unsigned i = 0; i < N; i++) { - if (Rₜ₊₁[i] < 0) { + if (Rₜ₊₁[i] < 0 || trigger0) { Rₜ₊₁[i] = 0; + trigger0 = true; } - if (Rₜ₊₁[i] > 1) { + if (Rₜ₊₁[i] > 1 || trigger1) { Rₜ₊₁[i] = 1; + trigger1 = true; } } |