aboutsummaryrefslogtreecommitdiff
path: root/src/projections/patterson.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/projections/patterson.cpp')
-rw-r--r--src/projections/patterson.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/projections/patterson.cpp b/src/projections/patterson.cpp
index 16e7b746..71099cdb 100644
--- a/src/projections/patterson.cpp
+++ b/src/projections/patterson.cpp
@@ -76,7 +76,7 @@ static PJ_XY patterson_s_forward (PJ_LP lp, PJ *P) { /* Spheroidal, fo
static PJ_LP patterson_s_inverse (PJ_XY xy, PJ *P) { /* Spheroidal, inverse */
PJ_LP lp = {0.0,0.0};
- double yc, tol, y2, f, fder;
+ double yc;
int i;
(void) P;
@@ -90,10 +90,11 @@ static PJ_LP patterson_s_inverse (PJ_XY xy, PJ *P) { /* Spheroidal, in
}
for (i = MAX_ITER; i ; --i) { /* Newton-Raphson */
- y2 = yc * yc;
- f = (yc * (K1 + y2 * y2 * (K2 + y2 * (K3 + K4 * y2)))) - xy.y;
- fder = C1 + y2 * y2 * (C2 + y2 * (C3 + C4 * y2));
- yc -= tol = f / fder;
+ const double y2 = yc * yc;
+ const double f = (yc * (K1 + y2 * y2 * (K2 + y2 * (K3 + K4 * y2)))) - xy.y;
+ const double fder = C1 + y2 * y2 * (C2 + y2 * (C3 + C4 * y2));
+ const double tol = f / fder;
+ yc -= tol;
if (fabs(tol) < EPS11) {
break;
}