18#if !defined(GEOGRAPHICLIB_AUXLATITUDE_HPP)
19#define GEOGRAPHICLIB_AUXLATITUDE_HPP 1
25#if !defined(GEOGRAPHICLIB_AUXLATITUDE_ORDER)
32# define GEOGRAPHICLIB_AUXLATITUDE_ORDER \
33 (GEOGRAPHICLIB_PRECISION == 2 || GEOGRAPHICLIB_PRECISION == 5 ? 6 : \
34 (GEOGRAPHICLIB_PRECISION == 1 ? 4 : 8))
161 GEODETIC = GEOGRAPHIC,
166 REDUCED = PARAMETRIC,
217 bool exact =
false)
const;
236 Math::real Convert(
int auxin,
int auxout,
real zeta,
bool exact =
false)
264 int* niter =
nullptr)
const;
272 Math::real RectifyingRadius(
bool exact =
false)
const;
280 Math::real AuthalicRadiusSquared(
bool exact =
false)
const;
309 const real c[],
int K);
324 static const int numit_ = 1000;
325 real tol_, bmin_, bmax_;
375 real _a, _b, _f, _fm1, _e2, _e2m1, _e12, _e12p1, _n, _e, _e1, _n2, _q;
377 mutable real _c[Lmax * AUXNUMBER * AUXNUMBER];
379 static int ind(
int auxout,
int auxin) {
380 return (auxout >= 0 && auxout < AUXNUMBER &&
381 auxin >= 0 && auxin < AUXNUMBER) ?
382 AUXNUMBER * auxout + auxin : -1;
386 {
using std::hypot;
return hypot(
real(1), tphi); }
389 using std::isinf;
using std::copysign;
390 return isinf(tphi) ? copysign(
real(1), tphi) : tphi / sc(tphi);
393 void fillcoeff(
int auxin,
int auxout,
int k)
const;
Header for the GeographicLib::AuxAngle class.
#define GEOGRAPHICLIB_AUXLATITUDE_ORDER
#define GEOGRAPHICLIB_EXPORT
GeographicLib::Math::real real
Header for GeographicLib::Math class.
An accurate representation of angles.
Conversions between auxiliary latitudes.
Math::real EquatorialRadius() const
Math::real Flattening() const
Math::real PolarSemiAxis() const
static AuxLatitude axes(real a, real b)
static Math::real Clenshaw(bool sinp, real szeta, real czeta, const real c[], int K)
Namespace for GeographicLib.