12 namespace GeographicLib {
17 : stol_(real(0.01) * sqrt(numeric_limits<real>::epsilon()))
19 , _f(f <= 1 ? f : 1/f)
24 , _e12(_e2 / (1 - _e2))
27 , _tm(_a, _f, real(1))
29 , _au(_a, _f, real(0), real(1), real(0), real(1), real(1))
38 {
return _b * _ell.
E(); }
44 (_e2 > 0 ?
Math::atanh(sqrt(_e2)) : atan(sqrt(-_e2))) /
49 {
return atand(_f1 * tand(phi)); }
52 {
return atand(tand(beta) / _f1); }
55 {
return atand(_f12 * tand(phi)); }
58 {
return atand(tand(theta) / _f12); }
61 return abs(phi) == 90 ? phi:
73 {
return atand(_au.txif(tand(phi))); }
76 {
return atand(_au.tphif(tand(xi))); }
79 {
return atand(_tm.taupf(tand(phi))); }
82 {
return atand(_tm.tauf(tand(chi))); }
91 return abs(phi) == 90 ? 0 :
97 real tbeta = _f1 * tand(phi);
99 return _b * tbeta /
Math::hypot(real(1), _f1 * tand(phi));
107 return _a * (1 - _e2) / (v * sqrt(v));
120 return _a / (sqrt(v) *
121 (
Math::sq(cos(alpha)) * v / (1 - _e2) + Math::sq(sin(alpha))));