10 #if !defined(GEOGRAPHICLIB_CASSINISOLDNER_HPP)
11 #define GEOGRAPHICLIB_CASSINISOLDNER_HPP 1
17 namespace GeographicLib {
76 static const unsigned maxit_ = 10;
79 static inline real AngRound(real x) {
86 const real z = 1/
real(16);
89 y = y < z ? z - (z - y) : y;
90 return x < 0 ? -y : y;
92 static inline void SinCosNorm(real& sinx, real& cosx) {
133 void Reset(real lat0, real lon0);
151 void Forward(real lat, real lon,
152 real& x, real& y, real& azi, real& rk)
const;
169 void Reverse(real x, real y,
170 real& lat, real& lon, real& azi, real& rk)
const;
175 void Forward(real lat, real lon,
176 real& x, real& y)
const {
178 Forward(lat, lon, x, y, azi, rk);
184 void Reverse(real x, real y,
185 real& lat, real& lon)
const {
187 Reverse(x, y, lat, lon, azi, rk);
196 bool Init()
const {
return _meridian.Init(); }
202 {
return _meridian.Latitude(); }
208 {
return _meridian.Longitude(); }
229 {
return _earth.InverseFlattening(); }
235 #endif // GEOGRAPHICLIB_CASSINISOLDNER_HPP