aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2019-02-11 11:02:05 +0100
committerGitHub <noreply@github.com>2019-02-11 11:02:05 +0100
commite65df1f2d322431797269ef35c67f17278f73953 (patch)
tree0c648f0657b6de46025eade01cf40233b9812a95 /src
parent08c2d69360939dc67fe151a441e764da132846c7 (diff)
parentc45d7693ee799fe7317550ffb3dd9a40c4b0a17c (diff)
downloadPROJ-e65df1f2d322431797269ef35c67f17278f73953.tar.gz
PROJ-e65df1f2d322431797269ef35c67f17278f73953.zip
Merge pull request #1254 from rouault/remove_biveval
Completely remove Chebychev remains from codebase
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am6
-rw-r--r--src/apps/gie.cpp6
-rw-r--r--src/bch2bps.cpp154
-rw-r--r--src/bchgen.cpp59
-rw-r--r--src/biveval.cpp88
-rw-r--r--src/lib_proj.cmake6
-rw-r--r--src/mk_cheby.cpp193
-rw-r--r--src/proj_internal.h30
-rw-r--r--src/strerrno.cpp2
-rw-r--r--src/vector1.cpp30
10 files changed, 14 insertions, 560 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 43bd91df..2af53e30 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -184,15 +184,15 @@ libproj_la_SOURCES = \
transformations/molodensky.cpp \
transformations/vgridshift.cpp \
\
- aasincos.cpp adjlon.cpp bch2bps.cpp bchgen.cpp \
- biveval.cpp dmstor.cpp mk_cheby.cpp auth.cpp \
+ aasincos.cpp adjlon.cpp \
+ dmstor.cpp auth.cpp \
deriv.cpp ell_set.cpp ellps.cpp errno.cpp \
factors.cpp fwd.cpp init.cpp inv.cpp \
list.cpp malloc.cpp mlfn.cpp msfn.cpp proj_mdist.cpp \
open_lib.cpp param.cpp phi2.cpp pr_list.cpp \
qsfn.cpp strerrno.cpp \
tsfn.cpp units.cpp ctx.cpp log.cpp zpoly1.cpp rtodms.cpp \
- vector1.cpp release.cpp gauss.cpp \
+ release.cpp gauss.cpp \
fileapi.cpp \
\
gc_reader.cpp gridcatalog.cpp \
diff --git a/src/apps/gie.cpp b/src/apps/gie.cpp
index e912a076..c3622d52 100644
--- a/src/apps/gie.cpp
+++ b/src/apps/gie.cpp
@@ -1058,7 +1058,7 @@ static const struct errno_vs_err_const lookup[] = {
{"pjd_err_lat_0_or_alpha_eq_90" , -33},
{"pjd_err_ellipsoid_use_required" , -34},
{"pjd_err_invalid_utm_zone" , -35},
- {"pjd_err_tcheby_val_out_of_range" , -36},
+ {"" , -36}, /* no longer used */
{"pjd_err_failed_to_find_proj" , -37},
{"pjd_err_failed_to_load_grid" , -38},
{"pjd_err_invalid_m_or_n" , -39},
@@ -1081,6 +1081,7 @@ static const struct errno_vs_err_const lookup[] = {
{"pjd_err_ellipsoidal_unsupported" , -56},
{"pjd_err_too_many_inits" , -57},
{"pjd_err_invalid_arg" , -58},
+ {"pjd_err_inconsistent_unit" , -59},
{"pjd_err_dont_skip" , 5555},
{"pjd_err_unknown" , 9999},
{"pjd_err_enomem" , ENOMEM},
@@ -1140,7 +1141,8 @@ static int errno_from_err_const (const char *err_const) {
/* First try to find a match excluding the PJD_ERR_ prefix */
for (i = 0; i < n; i++) {
- if (0==strncmp (lookup[i].the_err_const + 8, err_const, len))
+ if (strlen(lookup[i].the_err_const) > 8 &&
+ 0==strncmp (lookup[i].the_err_const + 8, err_const, len))
return lookup[i].the_errno;
}
diff --git a/src/bch2bps.cpp b/src/bch2bps.cpp
deleted file mode 100644
index 9346457c..00000000
--- a/src/bch2bps.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/* convert bivariate w Chebyshev series to w Power series */
-
-#include "proj.h"
-#include "proj_internal.h"
-/* basic support procedures */
- static void /* clear vector to zero */
-clear(PJ_UV *p, int n) { static const PJ_UV c = {0., 0.}; while (n--) *p++ = c; }
- static void /* clear matrix rows to zero */
-bclear(PJ_UV **p, int n, int m) { while (n--) clear(*p++, m); }
- static void /* move vector */
-bmove(PJ_UV *a, PJ_UV *b, int n) { while (n--) *a++ = *b++; }
- static void /* a <- m * b - c */
-submop(PJ_UV *a, double m, PJ_UV *b, PJ_UV *c, int n) {
- while (n--) {
- a->u = m * b->u - c->u;
- a++->v = m * b++->v - c++->v;
- }
-}
- static void /* a <- b - c */
-subop(PJ_UV *a, PJ_UV *b, PJ_UV *c, int n) {
- while (n--) {
- a->u = b->u - c->u;
- a++->v = b++->v - c++->v;
- }
-}
- static void /* multiply vector a by scalar m */
-dmult(PJ_UV *a, double m, int n) { while(n--) { a->u *= m; a->v *= m; ++a; } }
- static void /* row adjust a[] <- a[] - m * b[] */
-dadd(PJ_UV *a, PJ_UV *b, double m, int n) {
- while(n--) {
- a->u -= m * b->u;
- a++->v -= m * b++->v;
- }
-}
- static int /* convert row to power series */
-rows(PJ_UV *c, PJ_UV *d, int n) {
- PJ_UV sv, *dd;
- int j, k;
-
- dd = (PJ_UV *)vector1(n-1, sizeof(PJ_UV));
- if (!dd)
- return 0;
- sv.u = sv.v = 0.;
- for (j = 0; j < n; ++j) d[j] = dd[j] = sv;
- d[0] = c[n-1];
- for (j = n-2; j >= 1; --j) {
- for (k = n-j; k >= 1; --k) {
- sv = d[k];
- d[k].u = 2. * d[k-1].u - dd[k].u;
- d[k].v = 2. * d[k-1].v - dd[k].v;
- dd[k] = sv;
- }
- sv = d[0];
- d[0].u = -dd[0].u + c[j].u;
- d[0].v = -dd[0].v + c[j].v;
- dd[0] = sv;
- }
- for (j = n-1; j >= 1; --j) {
- d[j].u = d[j-1].u - dd[j].u;
- d[j].v = d[j-1].v - dd[j].v;
- }
- d[0].u = -dd[0].u + .5 * c[0].u;
- d[0].v = -dd[0].v + .5 * c[0].v;
- pj_dalloc(dd);
- return 1;
-}
- static int /* convert columns to power series */
-cols(PJ_UV **c, PJ_UV **d, int nu, int nv) {
- PJ_UV *sv, **dd;
- int j, k;
-
- dd = (PJ_UV **)vector2(nu, nv, sizeof(PJ_UV));
- if (!dd)
- return 0;
- sv = (PJ_UV *)vector1(nv, sizeof(PJ_UV));
- if (!sv) {
- freev2((void **)dd, nu);
- return 0;
- }
- bclear(d, nu, nv);
- bclear(dd, nu, nv);
- bmove(d[0], c[nu-1], nv);
- for (j = nu-2; j >= 1; --j) {
- for (k = nu-j; k >= 1; --k) {
- bmove(sv, d[k], nv);
- submop(d[k], 2., d[k-1], dd[k], nv);
- bmove(dd[k], sv, nv);
- }
- bmove(sv, d[0], nv);
- subop(d[0], c[j], dd[0], nv);
- bmove(dd[0], sv, nv);
- }
- for (j = nu-1; j >= 1; --j)
- subop(d[j], d[j-1], dd[j], nv);
- submop(d[0], .5, c[0], dd[0], nv);
- freev2((void **) dd, nu);
- pj_dalloc(sv);
- return 1;
-}
- static void /* row adjust for range -1 to 1 to a to b */
-rowshft(double a, double b, PJ_UV *d, int n) {
- int k, j;
- double fac, cnst;
-
- cnst = 2. / (b - a);
- fac = cnst;
- for (j = 1; j < n; ++j) {
- d[j].u *= fac;
- d[j].v *= fac;
- fac *= cnst;
- }
- cnst = .5 * (a + b);
- for (j = 0; j <= n-2; ++j)
- for (k = n - 2; k >= j; --k) {
- d[k].u -= cnst * d[k+1].u;
- d[k].v -= cnst * d[k+1].v;
- }
-}
- static void /* column adjust for range -1 to 1 to a to b */
-colshft(double a, double b, PJ_UV **d, int n, int m) {
- int k, j;
- double fac, cnst;
-
- cnst = 2. / (b - a);
- fac = cnst;
- for (j = 1; j < n; ++j) {
- dmult(d[j], fac, m);
- fac *= cnst;
- }
- cnst = .5 * (a + b);
- for (j = 0; j <= n-2; ++j)
- for (k = n - 2; k >= j; --k)
- dadd(d[k], d[k+1], cnst, m);
-}
- int /* entry point */
-bch2bps(PJ_UV a, PJ_UV b, PJ_UV **c, int nu, int nv) {
- PJ_UV **d;
- int i;
-
- if (nu < 1 || nv < 1 || !(d = (PJ_UV **)vector2(nu, nv, sizeof(PJ_UV))))
- return 0;
- /* do rows to power series */
- for (i = 0; i < nu; ++i) {
- if (!rows(c[i], d[i], nv))
- return 0;
- rowshft(a.v, b.v, d[i], nv);
- }
- /* do columns to power series */
- if (!cols(d, c, nu, nv))
- return 0;
- colshft(a.u, b.u, c, nu, nv);
- freev2((void **) d, nu);
- return 1;
-}
diff --git a/src/bchgen.cpp b/src/bchgen.cpp
deleted file mode 100644
index 9677b6f2..00000000
--- a/src/bchgen.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/* generate double bivariate Chebychev polynomial */
-#include "proj.h"
-#include "proj_internal.h"
- int
-bchgen(PJ_UV a, PJ_UV b, int nu, int nv, PJ_UV **f, PJ_UV(*func)(PJ_UV)) {
- int i, j, k;
- PJ_UV arg, *t, bma, bpa, *c;
- double d, fac;
-
- bma.u = 0.5 * (b.u - a.u); bma.v = 0.5 * (b.v - a.v);
- bpa.u = 0.5 * (b.u + a.u); bpa.v = 0.5 * (b.v + a.v);
- for ( i = 0; i < nu; ++i) {
- arg.u = cos(M_PI * (i + 0.5) / nu) * bma.u + bpa.u;
- for ( j = 0; j < nv; ++j) {
- arg.v = cos(M_PI * (j + 0.5) / nv) * bma.v + bpa.v;
- f[i][j] = (*func)(arg);
- if ((f[i][j]).u == HUGE_VAL)
- return(1);
- }
- }
- if (!(c = (PJ_UV *) vector1(nu, sizeof(PJ_UV)))) return 1;
- fac = 2. / nu;
- for ( j = 0; j < nv ; ++j) {
- for ( i = 0; i < nu; ++i) {
- arg.u = arg.v = 0.;
- for (k = 0; k < nu; ++k) {
- d = cos(M_PI * i * (k + .5) / nu);
- arg.u += f[k][j].u * d;
- arg.v += f[k][j].v * d;
- }
- arg.u *= fac;
- arg.v *= fac;
- c[i] = arg;
- }
- for (i = 0; i < nu; ++i)
- f[i][j] = c[i];
- }
- pj_dalloc(c);
- if (!(c = (PJ_UV*) vector1(nv, sizeof(PJ_UV)))) return 1;
- fac = 2. / nv;
- for ( i = 0; i < nu; ++i) {
- t = f[i];
- for (j = 0; j < nv; ++j) {
- arg.u = arg.v = 0.;
- for (k = 0; k < nv; ++k) {
- d = cos(M_PI * j * (k + .5) / nv);
- arg.u += t[k].u * d;
- arg.v += t[k].v * d;
- }
- arg.u *= fac;
- arg.v *= fac;
- c[j] = arg;
- }
- f[i] = c;
- c = t;
- }
- pj_dalloc(c);
- return(0);
-}
diff --git a/src/biveval.cpp b/src/biveval.cpp
deleted file mode 100644
index 9ead2fb7..00000000
--- a/src/biveval.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/* procedures for evaluating Tseries */
-#include "proj.h"
-#include "proj_internal.h"
-# define NEAR_ONE 1.00001
-static double ceval(struct PW_COEF *C, int n, PJ_UV w, PJ_UV w2) {
- double d=0, dd=0, vd, vdd, tmp, *c;
- int j;
-
- for (C += n ; n-- ; --C ) {
- if ( (j = C->m) != 0) {
- vd = vdd = 0.;
- for (c = C->c + --j; j ; --j ) {
- vd = w2.v * (tmp = vd) - vdd + *c--;
- vdd = tmp;
- }
- d = w2.u * (tmp = d) - dd + w.v * vd - vdd + 0.5 * *c;
- } else
- d = w2.u * (tmp = d) - dd;
- dd = tmp;
- }
- if ( (j = C->m) != 0 ) {
- vd = vdd = 0.;
- for (c = C->c + --j; j ; --j ) {
- vd = w2.v * (tmp = vd) - vdd + *c--;
- vdd = tmp;
- }
- return (w.u * d - dd + 0.5 * ( w.v * vd - vdd + 0.5 * *c ));
- } else
- return (w.u * d - dd);
-}
-
-PJ_UV /* bivariate Chebyshev polynomial entry point */
-bcheval(PJ_UV in, Tseries *T) {
- PJ_UV w2, w;
- PJ_UV out;
- /* scale to +-1 */
- w.u = ( in.u + in.u - T->a.u ) * T->b.u;
- w.v = ( in.v + in.v - T->a.v ) * T->b.v;
- if (fabs(w.u) > NEAR_ONE || fabs(w.v) > NEAR_ONE) {
- out.u = out.v = HUGE_VAL;
- pj_errno = PJD_ERR_TCHEBY_VAL_OUT_OF_RANGE;
- } else { /* double evaluation */
- w2.u = w.u + w.u;
- w2.v = w.v + w.v;
- out.u = ceval(T->cu, T->mu, w, w2);
- out.v = ceval(T->cv, T->mv, w, w2);
- }
- return out;
-}
-
-PJ_UV /* bivariate power polynomial entry point */
-bpseval(PJ_UV in, Tseries *T) {
- PJ_UV out;
- double *c, row;
- int i, m;
-
- out.u = out.v = 0.;
- for (i = T->mu; i >= 0; --i) {
- row = 0.;
- if ((m = T->cu[i].m) != 0) {
- c = T->cu[i].c + m;
- while (m--)
- row = *--c + in.v * row;
- }
- out.u = row + in.u * out.u;
- }
- for (i = T->mv; i >= 0; --i) {
- row = 0.;
- if ((m = T->cv[i].m) != 0) {
- c = T->cv[i].c + m;
- while (m--)
- row = *--c + in.v * row;
- }
- out.v = row + in.u * out.v;
- }
- return out;
-}
-
-PJ_UV /* general entry point selecting evaluation mode */
-biveval(PJ_UV in, Tseries *T) {
-
- if (T->power) {
- return bpseval(in, T);
- } else {
- return bcheval(in, T);
- }
-}
-
diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
index b595d87e..cd380b24 100644
--- a/src/lib_proj.cmake
+++ b/src/lib_proj.cmake
@@ -201,15 +201,15 @@ SET(SRC_LIBPROJ_ISO19111
SET(SRC_LIBPROJ_CORE
pj_list.h proj_internal.h proj_math.h
- aasincos.cpp adjlon.cpp bch2bps.cpp bchgen.cpp
- biveval.cpp dmstor.cpp mk_cheby.cpp auth.cpp
+ aasincos.cpp adjlon.cpp
+ dmstor.cpp auth.cpp
deriv.cpp ell_set.cpp ellps.cpp errno.cpp
factors.cpp fwd.cpp init.cpp inv.cpp
list.cpp malloc.cpp mlfn.cpp msfn.cpp proj_mdist.cpp
open_lib.cpp param.cpp phi2.cpp pr_list.cpp
qsfn.cpp strerrno.cpp
tsfn.cpp units.cpp ctx.cpp log.cpp zpoly1.cpp rtodms.cpp
- vector1.cpp release.cpp gauss.cpp
+ release.cpp gauss.cpp
fileapi.cpp
gc_reader.cpp gridcatalog.cpp
nad_cvt.cpp nad_init.cpp nad_intr.cpp
diff --git a/src/mk_cheby.cpp b/src/mk_cheby.cpp
deleted file mode 100644
index 0f3b97ed..00000000
--- a/src/mk_cheby.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-#include "proj.h"
-#include "proj_internal.h"
-static void /* sum coefficients less than res */
-eval(PJ_UV **w, int nu, int nv, double res, PJ_UV *resid) {
- int i, j;
- double ab;
- PJ_UV *s;
-
- resid->u = resid->v = 0.;
- for (i = 0; i < nu; ++i) {
- s = w[i];
- for (j = 0; j < nv; ++j) {
- if ((ab = fabs(s->u)) < res)
- resid->u += ab;
- if ((ab = fabs(s->v)) < res)
- resid->v += ab;
- ++s;
- }
- }
-}
-static Tseries * /* create power series structure */
-makeT(int nru, int nrv) {
- Tseries *T;
- int i;
-
- if (!(T = (Tseries *)pj_malloc(sizeof(Tseries))))
- return nullptr;
- if (!(T->cu = (struct PW_COEF *)pj_malloc(sizeof(struct PW_COEF) * nru))) {
- pj_dalloc(T);
- return nullptr;
- }
- if (!(T->cv = (struct PW_COEF *)pj_malloc(sizeof(struct PW_COEF) * nrv))) {
- pj_dalloc(T->cu);
- pj_dalloc(T);
- return nullptr;
- }
-
- for (i = 0; i < nru; ++i)
- T->cu[i].c = nullptr;
- for (i = 0; i < nrv; ++i)
- T->cv[i].c = nullptr;
- return T;
-}
-Tseries *
-mk_cheby(PJ_UV a, PJ_UV b, double res, PJ_UV *resid, PJ_UV (*func)(PJ_UV),
- int nu, int nv, int power) {
- int j, i, nru, nrv, *ncu, *ncv;
- Tseries *T = nullptr;
- PJ_UV **w;
- double cutres;
-
- if (!(w = (PJ_UV **)vector2(nu, nv, sizeof(PJ_UV))))
- return nullptr;
- if (!(ncu = (int *)vector1(nu + nv, sizeof(int)))) {
- freev2((void **)w, nu);
- return nullptr;
- }
- ncv = ncu + nu;
- if (!bchgen(a, b, nu, nv, w, func)) {
- PJ_UV *s;
- double ab, *p;
-
- /* analyse coefficients and adjust until residual OK */
- cutres = res;
- for (i = 4; i ; --i) {
- eval(w, nu, nv, cutres, resid);
- if (resid->u < res && resid->v < res)
- break;
- cutres *= 0.5;
- }
- if (i <= 0) /* warn of too many tries */
- resid->u = - resid->u;
- /* apply cut resolution and set pointers */
- nru = nrv = 0;
- for (j = 0; j < nu; ++j) {
- ncu[j] = ncv[j] = 0; /* clear column maxes */
- s = w[j];
- for (i = 0; i < nv; ++i) {
- if ((ab = fabs(s->u)) < cutres) /* < resolution ? */
- s->u = 0.; /* clear coefficient */
- else
- ncu[j] = i + 1; /* update column max */
- if ((ab = fabs(s->v)) < cutres) /* same for v coef's */
- s->v = 0.;
- else
- ncv[j] = i + 1;
- ++s;
- }
- if (ncu[j]) nru = j + 1; /* update row max */
- if (ncv[j]) nrv = j + 1;
- }
- if (power) { /* convert to bivariate power series */
- if (!bch2bps(a, b, w, nu, nv))
- goto error;
- /* possible change in some row counts, so readjust */
- nru = nrv = 0;
- for (j = 0; j < nu; ++j) {
- ncu[j] = ncv[j] = 0; /* clear column maxes */
- s = w[j];
- for (i = 0; i < nv; ++i) {
- if (s->u != 0.0)
- ncu[j] = i + 1; /* update column max */
- if (s->v != 0.0)
- ncv[j] = i + 1;
- ++s;
- }
- if (ncu[j]) nru = j + 1; /* update row max */
- if (ncv[j]) nrv = j + 1;
- }
- if ((T = makeT(nru, nrv)) != nullptr ) {
- T->a = a;
- T->b = b;
- T->mu = nru - 1;
- T->mv = nrv - 1;
- T->power = 1;
- for (i = 0; i < nru; ++i) /* store coefficient rows for u */
- {
- if ((T->cu[i].m = ncu[i]) != 0)
- {
- if ((p = T->cu[i].c =
- (double *)pj_malloc(sizeof(double) * ncu[i])))
- for (j = 0; j < ncu[i]; ++j)
- *p++ = (w[i] + j)->u;
- else
- goto error;
- }
- }
- for (i = 0; i < nrv; ++i) /* same for v */
- {
- if ((T->cv[i].m = ncv[i]) != 0)
- {
- if ((p = T->cv[i].c =
- (double *)pj_malloc(sizeof(double) * ncv[i])))
- for (j = 0; j < ncv[i]; ++j)
- *p++ = (w[i] + j)->v;
- else
- goto error;
- }
- }
- }
- } else if ((T = makeT(nru, nrv)) != nullptr) {
- /* else make returned Chebyshev coefficient structure */
- T->mu = nru - 1; /* save row degree */
- T->mv = nrv - 1;
- T->a.u = a.u + b.u; /* set argument scaling */
- T->a.v = a.v + b.v;
- T->b.u = 1. / (b.u - a.u);
- T->b.v = 1. / (b.v - a.v);
- T->power = 0;
- for (i = 0; i < nru; ++i) /* store coefficient rows for u */
- {
- if ((T->cu[i].m = ncu[i]) != 0)
- {
- if ((p = T->cu[i].c =
- (double *)pj_malloc(sizeof(double) * ncu[i])))
- for (j = 0; j < ncu[i]; ++j)
- *p++ = (w[i] + j)->u;
- else
- goto error;
- }
- }
- for (i = 0; i < nrv; ++i) /* same for v */
- {
- if ((T->cv[i].m = ncv[i]) != 0)
- {
- if ((p = T->cv[i].c =
- (double *)pj_malloc(sizeof(double) * ncv[i])))
- for (j = 0; j < ncv[i]; ++j)
- *p++ = (w[i] + j)->v;
- else
- goto error;
- }
- }
- } else
- goto error;
- }
- goto gohome;
- error:
- if (T) { /* pj_dalloc up possible allocations */
- for (i = 0; i <= T->mu; ++i)
- if (T->cu[i].c)
- pj_dalloc(T->cu[i].c);
- for (i = 0; i <= T->mv; ++i)
- if (T->cv[i].c)
- pj_dalloc(T->cv[i].c);
- pj_dalloc(T);
- }
- T = nullptr;
- gohome:
- freev2((void **) w, nu);
- pj_dalloc(ncu);
- return T;
-}
diff --git a/src/proj_internal.h b/src/proj_internal.h
index 453bd654..9ffcc2b3 100644
--- a/src/proj_internal.h
+++ b/src/proj_internal.h
@@ -653,7 +653,7 @@ struct FACTORS {
#define PJD_ERR_LAT_0_OR_ALPHA_EQ_90 -33
#define PJD_ERR_ELLIPSOID_USE_REQUIRED -34
#define PJD_ERR_INVALID_UTM_ZONE -35
-#define PJD_ERR_TCHEBY_VAL_OUT_OF_RANGE -36
+/* -36 no longer used */
#define PJD_ERR_FAILED_TO_FIND_PROJ -37
#define PJD_ERR_FAILED_TO_LOAD_GRID -38
#define PJD_ERR_INVALID_M_OR_N -39
@@ -677,8 +677,8 @@ struct FACTORS {
#define PJD_ERR_TOO_MANY_INITS -57
#define PJD_ERR_INVALID_ARG -58
#define PJD_ERR_INCONSISTENT_UNIT -59
-/* NOTE: Remember to update pj_strerrno.c and transient_error in */
-/* pj_transform.c when adding new value */
+/* NOTE: Remember to update src/strerrno.cpp, src/apps/gie.cpp and transient_error in */
+/* src/transform.cpp when adding new value */
struct projFileAPI_t;
@@ -854,30 +854,6 @@ COMPLEX pj_zpolyd1(COMPLEX, const COMPLEX *, int, COMPLEX *);
int pj_deriv(PJ_LP, double, const PJ *, struct DERIVS *);
int pj_factors(PJ_LP, const PJ *, double, struct FACTORS *);
-struct PW_COEF { /* row coefficient structure */
- int m; /* number of c coefficients (=0 for none) */
- double *c; /* power coefficients */
-};
-
-/* Approximation structures and procedures */
-typedef struct { /* Chebyshev or Power series structure */
- PJ_UV a, b; /* power series range for evaluation */
- /* or Chebyshev argument shift/scaling */
- struct PW_COEF *cu, *cv;
- int mu, mv; /* maximum cu and cv index (+1 for count) */
- int power; /* != 0 if power series, else Chebyshev */
-} Tseries;
-
-Tseries PROJ_DLL *mk_cheby(PJ_UV, PJ_UV, double, PJ_UV *, PJ_UV (*)(PJ_UV), int, int, int);
-PJ_UV bpseval(PJ_UV, Tseries *);
-PJ_UV bcheval(PJ_UV, Tseries *);
-PJ_UV biveval(PJ_UV, Tseries *);
-void *vector1(int, int);
-void **vector2(int, int, int);
-void freev2(void **v, int nrows);
-int bchgen(PJ_UV, PJ_UV, int, int, PJ_UV **, PJ_UV(*)(PJ_UV));
-int bch2bps(PJ_UV, PJ_UV, PJ_UV **, int, int);
-
/* nadcon related protos */
PJ_LP nad_intr(PJ_LP, struct CTABLE *);
PJ_LP nad_cvt(PJ_LP, int, struct CTABLE *);
diff --git a/src/strerrno.cpp b/src/strerrno.cpp
index 9f690041..13e9c757 100644
--- a/src/strerrno.cpp
+++ b/src/strerrno.cpp
@@ -44,7 +44,7 @@ pj_err_list[] = {
"lat_1=lat_2 or lat_1=0 or lat_2=90", /* -33 */
"elliptical usage required", /* -34 */
"invalid UTM zone number", /* -35 */
- "arg(s) out of range for Tcheby eval", /* -36 */
+ "", /* no longer used */ /* -36 */
"failed to find projection to be rotated", /* -37 */
"failed to load datum shift file", /* -38 */
"both n & m must be spec'd and > 0", /* -39 */
diff --git a/src/vector1.cpp b/src/vector1.cpp
deleted file mode 100644
index fc69f5c3..00000000
--- a/src/vector1.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/* make storage for one and two dimensional matricies */
-#include <stdlib.h>
-#include "proj.h"
-#include "proj_internal.h"
- void * /* one dimension array */
-vector1(int nvals, int size) { return((void *)pj_malloc(size * nvals)); }
- void /* free 2D array */
-freev2(void **v, int nrows) {
- if (v) {
- for (v += nrows; nrows > 0; --nrows)
- pj_dalloc(*--v);
- pj_dalloc(v);
- }
-}
- void ** /* two dimension array */
-vector2(int nrows, int ncols, int size) {
- void **s;
-
- if ((s = (void **)pj_malloc(sizeof(void *) * nrows)) != nullptr) {
- int rsize, i;
-
- rsize = size * ncols;
- for (i = 0; i < nrows; ++i)
- if (!(s[i] = pj_malloc(rsize))) {
- freev2(s, i);
- return (void **)nullptr;
- }
- }
- return s;
-}