diff options
Diffstat (limited to 'src/projections/patterson.cpp')
| -rw-r--r-- | src/projections/patterson.cpp | 11 |
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; } |
