aboutsummaryrefslogtreecommitdiff
path: root/src/proj_etmerc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/proj_etmerc.c')
-rw-r--r--src/proj_etmerc.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/proj_etmerc.c b/src/proj_etmerc.c
index 457edcb8..4d7187e6 100644
--- a/src/proj_etmerc.c
+++ b/src/proj_etmerc.c
@@ -71,8 +71,13 @@ static double gatg(double *p1, int len_p1, double B) {
double h = 0, h1, h2 = 0, cos_2B;
cos_2B = 2*cos(2*B);
- for (p = p1 + len_p1, h1 = *--p; p - p1; h2 = h1, h1 = h)
+ p = p1 + len_p1;
+ h1 = *--p;
+ while (p - p1) {
h = -h2 + cos_2B*h1 + *--p;
+ h2 = h1;
+ h1 = h;
+ }
return (B + h*sin(2*B));
}
@@ -98,7 +103,9 @@ static double clenS(double *a, int size, double arg_r, double arg_i, double *R,
i = -2*sin_arg_r*sinh_arg_i;
/* summation loop */
- for (hi1 = hr1 = hi = 0, hr = *--p; a - p;) {
+ hi1 = hr1 = hi = 0;
+ hr = *--p;
+ for (; a - p;) {
hr2 = hr1;
hi2 = hi1;
hr1 = hr;
@@ -124,7 +131,9 @@ static double clens(double *a, int size, double arg_r) {
r = 2*cos_arg_r;
/* summation loop */
- for (hr1 = 0, hr = *--p; a - p;) {
+ hr1 = 0;
+ hr = *--p;
+ for (; a - p;) {
hr2 = hr1;
hr1 = hr;
hr = -hr2 + r*hr1 + *--p;