summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--log-fourier_integrator.cpp18
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;
}
}