aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2018-02-02 12:10:15 +0100
committerGitHub <noreply@github.com>2018-02-02 12:10:15 +0100
commit614023609fc026c7ccd37e9436c0c18bc3142ba0 (patch)
tree0baa066d3ea2b54a2c3be180872a2be5d5c71c2e
parent9a8c37ac04ce913617a2b429bbc7f8a3daa1848d (diff)
parent85cf25a6c293c3805fb7133f4c583dd36e7e57c5 (diff)
downloadPROJ-614023609fc026c7ccd37e9436c0c18bc3142ba0.tar.gz
PROJ-614023609fc026c7ccd37e9436c0c18bc3142ba0.zip
Merge pull request #756 from busstoptaktik/repair_omerc_asin
PJ_omerc: Guard against asin calls with arg numerically greater than 1
-rw-r--r--src/PJ_omerc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/PJ_omerc.c b/src/PJ_omerc.c
index 22f0daca..eca5b241 100644
--- a/src/PJ_omerc.c
+++ b/src/PJ_omerc.c
@@ -177,12 +177,12 @@ PJ *PROJECTION(omerc) {
}
if (alp || gam) {
if (alp) {
- gamma0 = asin(sin(alpha_c) / D);
+ gamma0 = aasin(P->ctx, sin(alpha_c) / D);
if (!gam)
gamma = alpha_c;
} else
- alpha_c = asin(D*sin(gamma0 = gamma));
- P->lam0 = lamc - asin(.5 * (F - 1. / F) *
+ alpha_c = aasin(P->ctx, D*sin(gamma0 = gamma));
+ P->lam0 = lamc - aasin(P->ctx, .5 * (F - 1. / F) *
tan(gamma0)) / Q->B;
} else {
H = pow(pj_tsfn(phi1, sin(phi1), P->e), Q->B);
@@ -199,7 +199,7 @@ PJ *PROJECTION(omerc) {
J * tan(.5 * Q->B * (lam1 - lam2)) / p) / Q->B);
gamma0 = atan(2. * sin(Q->B * adjlon(lam1 - P->lam0)) /
(F - 1. / F));
- gamma = alpha_c = asin(D * sin(gamma0));
+ gamma = alpha_c = aasin(P->ctx, D * sin(gamma0));
}
Q->singam = sin(gamma0);
Q->cosgam = cos(gamma0);