From de456c9a5f6443d6b4df7d071a58ee5e8137f2ed Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Wed, 8 Aug 2012 15:02:27 +0200
Subject: [PATCH] Use a different coordinate system for assertions

---
 src/compute_state.cc | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/compute_state.cc b/src/compute_state.cc
index 415ed209..b2ef883b 100644
--- a/src/compute_state.cc
+++ b/src/compute_state.cc
@@ -49,8 +49,15 @@ double state_update_dieterich_bisection(double h, double uol,
 
 double state_update_dieterich(double h, double uol, // unorm / L
                               double old_state) {
-  double const ret1 = state_update_dieterich_bisection(h, uol, old_state);
-  assert(std::abs(ret1 - old_state + uol - h * std::exp(-ret1)) < 1e-12);
+  double const ret = state_update_dieterich_bisection(h, uol, old_state);
+  /* We have
 
-  return ret1;
+     ret - old_state + uol = h*exp(-ret)
+
+     or
+
+     log((ret - old_state + uol)/h) = -ret
+  */
+  assert(std::abs(std::log((ret - old_state + uol) / h) + ret) < 1e-13);
+  return ret;
 }
-- 
GitLab