diff options
Diffstat (limited to 'src/PJ_mbtfpp.c')
| -rw-r--r-- | src/PJ_mbtfpp.c | 19 |
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); |
