summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--log-fourier_integrator.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/log-fourier_integrator.cpp b/log-fourier_integrator.cpp
index f5dbfc7..a9c5b40 100644
--- a/log-fourier_integrator.cpp
+++ b/log-fourier_integrator.cpp
@@ -143,7 +143,15 @@ int main(int argc, char* argv[]) {
if (std::abs(Cₜ[0] - 1) < ε) {
break;
} else {
- μ *= sqrt(Cₜ[0]);
+ if (std::abs(sqrt(Cₜ[0]) - 1.0) < 1e-2) {
+ μ *= sqrt(Cₜ[0]);
+ } else {
+ if (Cₜ[0] > 1) {
+ μ *= 1.01;
+ } else {
+ μ /= 1.01;
+ }
+ }
}
}