10 #if !defined(GEOGRAPHICLIB_ELLIPSOID_HPP)
11 #define GEOGRAPHICLIB_ELLIPSOID_HPP 1
18 namespace GeographicLib {
42 static const int numit_ = 10;
44 real _a, _f, _f1, _f12, _e2, _e, _e12, _n, _b;
48 static inline real tand(real x) {
49 using std::abs;
using std::tan;
51 abs(x) ==
real(90) ? (x < 0 ?
52 - TransverseMercator::overflow()
53 : TransverseMercator::overflow()) :
56 static inline real atand(real x)
62 const Math::real* ConformalToRectifyingCoeffs()
const {
return _tm._alp; }
63 const Math::real* RectifyingToConformalCoeffs()
const {
return _tm._bet; }
429 {
return fp / (1 + fp); }
439 {
return f / (1 - f); }
450 {
return 2 * n / (1 + n); }
461 {
return f / (2 - f); }
473 {
using std::sqrt;
return e2 / (sqrt(1 - e2) + 1); }
485 {
return f * (2 - f); }
497 {
using std::sqrt;
return ep2 / (sqrt(1 + ep2) + 1 + ep2); }
509 {
return f * (2 - f) /
Math::sq(1 - f); }
521 {
return 2 * epp2 / (sqrt((1 - epp2) * (1 + epp2)) + 1 + epp2); }
533 {
return f * (2 - f) / (1 +
Math::sq(1 - f)); }
546 #endif // GEOGRAPHICLIB_ELLIPSOID_HPP