19#if !defined(AUXLATITUDE_HPP)
20#define AUXLATITUDE_HPP 1
24#if !defined(GEOGRAPHICLIB_AUXLATITUDE_ORDER)
29# define GEOGRAPHICLIB_AUXLATITUDE_ORDER 6
54 template<
typename T =
double>
178 template<
typename T1>
187 template<
typename T1>
203 using std::sin;
using std::cos;
204 return AuxAngle(sin(r), cos(r));
214 using std::atan2;
return atan2(_y, _x);
217 template<
typename T>
template<
typename T1>
220 return fabs((AuxAngle(-T(p.y()), T(p.x())) += *
this).radians());
223 template<
typename T>
template<
typename T1>
226 return fabs((T(p.y()) / T(p.x()) - tan()) / tan());
270 template<
typename T =
double>
378 bool series =
false)
const;
392 real* diff =
nullptr)
const;
405 int* niter =
nullptr)
const;
464 static const int numit_ = 1000;
465 real tol_, bmin_, bmax_;
467 real _f, _fm1, _e2, _e2m1, _e12, _e12p1, _n, _e, _e1, _n2, _q;
471 static int ind(
int auxout,
int auxin) {
472 return (auxout >= 0 && auxout <
AUXNUMBER &&
478 {
using std::hypot;
return hypot(
real(1), tphi); }
481 using std::isfinite;
using std::isnan;
using std::copysign;
482 return isfinite(tphi) || isnan(tphi) ? tphi / sc(tphi) :
483 copysign(
real(1), tphi);
496 void fillcoeff(
int auxin,
int auxout,
int k)
const;
#define GEOGRAPHICLIB_AUXLATITUDE_ORDER
GeographicLib::Math::real real
Header for GeographicLib::Math class.
An accurate representation of angles.
AuxAngle & operator+=(const AuxAngle &p)
static AuxAngle radians(real r)
AuxAngle(real y=0, real x=1)
real RelError(const AuxAngle< T1 > &p) const
AuxAngle copyquadrant(const AuxAngle &p) const
real AbsError(const AuxAngle< T1 > &p) const
static AuxAngle degrees(real d)
AuxAngle normalized() const
Conversions between auxiliary latitudes.
angle FromAuxiliary(int auxin, const angle &zeta, int *niter=nullptr) const
angle ToAuxiliary(int auxout, const angle &phi, real *diff=nullptr) const
angle Convert(int auxin, int auxout, const angle &zeta, bool series=false) const
static void sincosd(T x, T &sinx, T &cosx)
static T atan2d(T y, T x)
Namespace for GeographicLib.