aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_mbtfpp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/PJ_mbtfpp.c')
-rw-r--r--src/PJ_mbtfpp.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/PJ_mbtfpp.c b/src/PJ_mbtfpp.c
index 172be236..f8a5e807 100644
--- a/src/PJ_mbtfpp.c
+++ b/src/PJ_mbtfpp.c
@@ -1,5 +1,6 @@
#define PJ_LIB__
-#include <projects.h>
+#include <proj.h>
+#include "projects.h"
PROJ_HEAD(mbtfpp, "McBride-Thomas Flat-Polar Parabolic") "\n\tCyl., Sph.";
@@ -27,19 +28,23 @@ static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */
lp.phi = xy.y / FYC;
if (fabs(lp.phi) >= 1.) {
- if (fabs(lp.phi) > ONEEPS)
- I_ERROR
- else
+ if (fabs(lp.phi) > ONEEPS) {
+ proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION);
+ return lp;
+ } else {
lp.phi = (lp.phi < 0.) ? -M_HALFPI : M_HALFPI;
+ }
} else
lp.phi = asin(lp.phi);
lp.lam = xy.x / ( FXC * (2. * cos(C23 * (lp.phi *= 3.)) - 1.) );
if (fabs(lp.phi = sin(lp.phi) / CS) >= 1.) {
- if (fabs(lp.phi) > ONEEPS)
- I_ERROR
- else
+ if (fabs(lp.phi) > ONEEPS) {
+ proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION);
+ return lp;
+ } else {
lp.phi = (lp.phi < 0.) ? -M_HALFPI : M_HALFPI;
+ }
} else
lp.phi = asin(lp.phi);