14 # pragma warning (disable: 4701)
17 namespace GeographicLib {
22 : eps0_(numeric_limits<real>::epsilon())
23 , eps_(real(0.01) * sqrt(eps0_))
25 , _a(_earth.MajorRadius())
26 , _f(_earth.Flattening())
30 real& x, real& y, real& azi, real& rk)
36 t, azi0, azi, m, M, t, t);
49 real& lat, real& lon, real& azi, real& rk)
54 s = _a * atan(rho/_a);
55 bool little = rho <= _a;
63 int count = numit_, trip = 0;
64 real lat1, lon1, azi1, M;
67 line.Position(s, lat1, lon1, azi1, m, M, t);
72 real ds = little ? (m/M - rho) * M * M : (rho - M/m) * m * m;
75 if (!(abs(ds) >= eps_ * _a))
79 lat = lat1; lon = lon1; azi = azi1; rk = M;