16#if !defined(GEOGRAPHICLIB_AUXLATITUDE_HPP)
17#define GEOGRAPHICLIB_AUXLATITUDE_HPP 1
23#if !defined(GEOGRAPHICLIB_AUXLATITUDE_ORDER)
30# define GEOGRAPHICLIB_AUXLATITUDE_ORDER \
31 (GEOGRAPHICLIB_PRECISION == 2 || GEOGRAPHICLIB_PRECISION == 5 ? 6 : \
32 (GEOGRAPHICLIB_PRECISION == 1 ? 4 : 8))
158 GEODETIC = GEOGRAPHIC,
163 REDUCED = PARAMETRIC,
214 bool exact =
false)
const;
233 Math::real Convert(
int auxin,
int auxout,
real zeta,
bool exact =
false)
261 int* niter =
nullptr)
const;
269 Math::real RectifyingRadius(
bool exact =
false)
const;
277 Math::real AuthalicRadiusSquared(
bool exact =
false)
const;
306 const real c[],
int K);
321 static const int numit_ = 1000;
322 real tol_, bmin_, bmax_;
372 real _a, _b, _f, _fm1, _e2, _e2m1, _e12, _e12p1, _n, _e, _e1, _n2, _q;
374 mutable real _c[Lmax * AUXNUMBER * AUXNUMBER];
376 static int ind(
int auxout,
int auxin) {
377 return (auxout >= 0 && auxout < AUXNUMBER &&
378 auxin >= 0 && auxin < AUXNUMBER) ?
379 AUXNUMBER * auxout + auxin : -1;
383 {
using std::hypot;
return hypot(
real(1), tphi); }
386 using std::isinf;
using std::copysign;
387 return isinf(tphi) ? copysign(
real(1), tphi) : tphi / sc(tphi);
390 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.