GeographicLib 2.1.2
|
Mathematical functions needed by GeographicLib. More...
#include <GeographicLib/Math.hpp>
Public Types | |
enum | dms { qd = 90 , dm = 60 , ms = 60 , hd = 2 * qd , td = 2 * hd , ds = dm * ms } |
typedef double | extended |
typedef double | real |
Static Public Member Functions | |
static int | digits () |
static int | set_digits (int ndigits) |
static int | digits10 () |
static int | extra_digits () |
template<typename T = real> | |
static T | pi () |
template<typename T = real> | |
static T | degree () |
template<typename T > | |
static T | sq (T x) |
template<typename T > | |
static void | norm (T &x, T &y) |
template<typename T > | |
static T | sum (T u, T v, T &t) |
template<typename T > | |
static T | polyval (int N, const T p[], T x) |
template<typename T > | |
static T | AngNormalize (T x) |
template<typename T > | |
static T | LatFix (T x) |
template<typename T > | |
static T | AngDiff (T x, T y, T &e) |
template<typename T > | |
static T | AngDiff (T x, T y) |
template<typename T > | |
static T | AngRound (T x) |
template<typename T > | |
static void | sincosd (T x, T &sinx, T &cosx) |
template<typename T > | |
static void | sincosde (T x, T t, T &sinx, T &cosx) |
template<typename T > | |
static T | sind (T x) |
template<typename T > | |
static T | cosd (T x) |
template<typename T > | |
static T | tand (T x) |
template<typename T > | |
static T | atan2d (T y, T x) |
template<typename T > | |
static T | atand (T x) |
template<typename T > | |
static T | eatanhe (T x, T es) |
template<typename T > | |
static T | taupf (T tau, T es) |
template<typename T > | |
static T | tauf (T taup, T es) |
template<typename T = real> | |
static T | NaN () |
template<typename T = real> | |
static T | infinity () |
template<typename T > | |
static T | swab (T x) |
Static Public Attributes | |
static const bool | bigendian = GEOGRAPHICLIB_WORDS_BIGENDIAN |
Mathematical functions needed by GeographicLib.
Define mathematical functions in order to localize system dependencies and to provide generic versions of the functions. In addition define a real type to be used by GeographicLib.
Example of use:
typedef double GeographicLib::Math::extended |
typedef double GeographicLib::Math::real |
The constants defining the standard (Babylonian) meanings of degrees, minutes, and seconds, for angles. Read the constants as follows (for example): ms = 60 is the ratio 1 minute / 1 second. The abbreviations are
Note that degree() is ratio 1 degree / 1 radian, thus, for example, Math::degree() * Math::qd is the ratio 1 quarter turn / 1 radian = π/2.
Defining all these in one place would mean that it's simple to convert to the centesimal system for measuring angles. The DMS class assumes that Math::dm and Math::ms are less than or equal to 100 (so that two digits suffice for the integer parts of the minutes and degrees components of an angle). Switching to the centesimal convention will break most of the tests. Also the normal definition of degree is baked into some classes, e.g., UTMUPS, MGRS, Georef, Geohash, etc.
Enumerator | |
---|---|
qd | degrees per quarter turn |
dm | minutes per degree |
ms | seconds per minute |
hd | degrees per half turn |
td | degrees per turn |
ds | seconds per degree |
|
static |
Definition at line 26 of file Math.cpp.
Referenced by GeographicLib::MGRS::Forward(), GeographicLib::GeodesicExact::GeodesicExact(), and set_digits().
|
static |
Set the binary precision of a real number.
[in] | ndigits | the number of bits of precision. |
This only has an effect when GEOGRAPHICLIB_PRECISION = 5. See also Utility::set_digits for caveats about when this routine should be called.
Definition at line 34 of file Math.cpp.
References digits().
Referenced by GeographicLib::Utility::set_digits().
|
static |
Definition at line 43 of file Math.cpp.
Referenced by extra_digits().
|
static |
Number of additional decimal digits of precision for real relative to double (0 for float).
Definition at line 51 of file Math.cpp.
References digits10().
Referenced by GeographicLib::GeoCoords::DMSRepresentation(), GeographicLib::DMS::Encode(), and GeographicLib::GeoCoords::GeoRepresentation().
|
inlinestatic |
T | the type of the returned value. |
Definition at line 190 of file Math.hpp.
Referenced by GeographicLib::Ellipsoid::Area(), GeographicLib::EllipticFunction::D(), GeographicLib::EllipticFunction::deltaD(), GeographicLib::EllipticFunction::deltaE(), GeographicLib::EllipticFunction::deltaEinv(), GeographicLib::EllipticFunction::deltaF(), GeographicLib::EllipticFunction::deltaG(), GeographicLib::EllipticFunction::deltaH(), GeographicLib::EllipticFunction::deltaPi(), GeographicLib::EllipticFunction::E(), GeographicLib::EllipticFunction::Einv(), GeographicLib::Geodesic::EllipsoidArea(), GeographicLib::GeodesicExact::EllipsoidArea(), GeographicLib::EllipticFunction::F(), GeographicLib::TransverseMercator::Forward(), GeographicLib::EllipticFunction::G(), GeographicLib::EllipticFunction::H(), GeographicLib::NormalGravity::J2ToFlattening(), GeographicLib::EllipticFunction::Pi(), GeographicLib::DST::refine(), GeographicLib::EllipticFunction::Reset(), GeographicLib::TransverseMercator::Reverse(), GeographicLib::EllipticFunction::RF(), GeographicLib::EllipticFunction::RG(), GeographicLib::DST::transform(), GeographicLib::NormalGravity::V0(), and GeographicLib::Ellipsoid::Volume().
|
inlinestatic |
T | the type of the returned value. |
Definition at line 200 of file Math.hpp.
Referenced by GeographicLib::Constants::arcminute(), GeographicLib::Constants::arcsecond(), GeographicLib::Constants::degree(), GeographicLib::GeodesicLineExact::EquatorialArc(), GeographicLib::MagneticModel::FieldComponents(), GeographicLib::CassiniSoldner::Forward(), GeographicLib::AlbersEqualArea::Forward(), GeographicLib::LambertConformalConic::Forward(), GeographicLib::TransverseMercatorExact::Forward(), GeographicLib::Rhumb::GenInverse(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::RhumbLine::GenPosition(), GeographicLib::Ellipsoid::InverseIsometricLatitude(), GeographicLib::Ellipsoid::InverseRectifyingLatitude(), GeographicLib::Ellipsoid::IsometricLatitude(), GeographicLib::AlbersEqualArea::Reverse(), GeographicLib::LambertConformalConic::Reverse(), GeographicLib::TransverseMercatorExact::Reverse(), GeographicLib::GravityModel::SphericalAnomaly(), GeographicLib::JacobiConformal::x(), and GeographicLib::JacobiConformal::y().
|
inlinestatic |
Square a number.
T | the type of the argument and the returned value. |
[in] | x |
Definition at line 212 of file Math.hpp.
Referenced by GeographicLib::Ellipsoid::Area(), GeographicLib::SphericalEngine::Circle(), GeographicLib::MagneticModel::FieldComponents(), GeographicLib::NormalGravity::FlatteningToJ2(), GeographicLib::Ellipsoid::FlatteningToSecondEccentricitySq(), GeographicLib::Ellipsoid::FlatteningToThirdEccentricitySq(), GeographicLib::PolarStereographic::Forward(), GeographicLib::AlbersEqualArea::Forward(), GeographicLib::LambertConformalConic::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::GravityModel::GravityModel(), GeographicLib::NormalGravity::J2ToFlattening(), GeographicLib::Ellipsoid::MeridionalCurvatureRadius(), GeographicLib::Ellipsoid::NormalCurvatureRadius(), GeographicLib::NormalGravity::Phi(), GeographicLib::EllipticFunction::Reset(), GeographicLib::PolarStereographic::Reverse(), GeographicLib::AlbersEqualArea::Reverse(), GeographicLib::LambertConformalConic::Reverse(), GeographicLib::TransverseMercator::Reverse(), GeographicLib::EllipticFunction::RG(), GeographicLib::EllipticFunction::RJ(), GeographicLib::AlbersEqualArea::SetScale(), GeographicLib::NormalGravity::SurfaceGravity(), tand(), tauf(), GeographicLib::Ellipsoid::TransverseCurvatureRadius(), GeographicLib::TransverseMercator::TransverseMercator(), GeographicLib::NormalGravity::V0(), GeographicLib::SphericalEngine::Value(), GeographicLib::Ellipsoid::Volume(), GeographicLib::JacobiConformal::x(), and GeographicLib::JacobiConformal::y().
|
inlinestatic |
Normalize a two-vector.
T | the type of the argument and the returned value. |
[in,out] | x | on output set to x/hypot(x, y). |
[in,out] | y | on output set to y/hypot(x, y). |
Definition at line 222 of file Math.hpp.
Referenced by GeographicLib::CassiniSoldner::Reset().
|
static |
The error-free sum of two numbers.
T | the type of the argument and the returned value. |
[in] | u | |
[in] | v | |
[out] | t | the exact error given by (u + v) - s. |
See D. E. Knuth, TAOCP, Vol 2, 4.2.2, Theorem B.
Definition at line 57 of file Math.cpp.
References GEOGRAPHICLIB_VOLATILE.
Referenced by AngDiff().
|
inlinestatic |
Evaluate a polynomial.
T | the type of the arguments and returned value. |
[in] | N | the order of the polynomial. |
[in] | p | the coefficient array (of size N + 1) with p0 being coefficient of xN. |
[in] | x | the variable. |
Evaluate ∑n=0..N pn xN−n. Return 0 if N < 0. Return p0, if N = 0 (even if x is infinite or a nan). The evaluation uses Horner's method.
Definition at line 271 of file Math.hpp.
Referenced by GeographicLib::Rhumb::Rhumb(), and GeographicLib::TransverseMercator::TransverseMercator().
|
static |
Normalize an angle.
T | the type of the argument and returned value. |
[in] | x | the angle in degrees. |
The range of x is unrestricted. If the result is ±0° or ±180° then the sign is the sign of x.
Definition at line 71 of file Math.cpp.
Referenced by GeographicLib::Geoid::CacheArea(), GeographicLib::DMS::DecodeAzimuth(), GeographicLib::EllipticFunction::Ed(), GeographicLib::DMS::Encode(), GeographicLib::PolarStereographic::Forward(), GeographicLib::Geohash::Forward(), GeographicLib::GARS::Forward(), GeographicLib::Georef::Forward(), GeographicLib::CassiniSoldner::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::Geodesic::GenDirectLine(), GeographicLib::GeodesicExact::GenDirectLine(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::RhumbLine::GenPosition(), GeographicLib::GeodesicLine::GeodesicLine(), GeographicLib::GeodesicLineExact::GeodesicLineExact(), GeographicLib::LocalCartesian::Reset(), GeographicLib::GeoCoords::Reset(), GeographicLib::PolarStereographic::Reverse(), GeographicLib::AlbersEqualArea::Reverse(), GeographicLib::LambertConformalConic::Reverse(), GeographicLib::TransverseMercator::Reverse(), GeographicLib::TransverseMercatorExact::Reverse(), and GeographicLib::UTMUPS::StandardZone().
|
inlinestatic |
Normalize a latitude.
T | the type of the argument and returned value. |
[in] | x | the angle in degrees. |
Definition at line 300 of file Math.hpp.
Referenced by GeographicLib::Ellipsoid::AuthalicLatitude(), GeographicLib::Geoid::CacheArea(), GeographicLib::Ellipsoid::CircleHeight(), GeographicLib::Ellipsoid::CircleRadius(), GeographicLib::Ellipsoid::ConformalLatitude(), GeographicLib::PolarStereographic::Forward(), GeographicLib::AlbersEqualArea::Forward(), GeographicLib::LambertConformalConic::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::TransverseMercatorExact::Forward(), GeographicLib::Ellipsoid::GeocentricLatitude(), GeographicLib::Ellipsoid::InverseAuthalicLatitude(), GeographicLib::Ellipsoid::InverseConformalLatitude(), GeographicLib::Ellipsoid::InverseGeocentricLatitude(), GeographicLib::Ellipsoid::InverseParametricLatitude(), GeographicLib::Ellipsoid::IsometricLatitude(), GeographicLib::Ellipsoid::MeridionalCurvatureRadius(), GeographicLib::Ellipsoid::NormalCurvatureRadius(), GeographicLib::Ellipsoid::ParametricLatitude(), GeographicLib::LocalCartesian::Reset(), GeographicLib::NormalGravity::SurfaceGravity(), and GeographicLib::Ellipsoid::TransverseCurvatureRadius().
|
static |
The exact difference of two angles reduced to [−180°, 180°].
T | the type of the arguments and returned value. |
[in] | x | the first angle in degrees. |
[in] | y | the second angle in degrees. |
[out] | e | the error term in degrees. |
This computes z = y − x exactly, reduced to [−180°, 180°]; and then sets z = d + e where d is the nearest representable number to z and e is the truncation error. If z = ±0° or ±180°, then the sign of d is given by the sign of y − x. The maximum absolute value of e is 2−26 (for doubles).
Definition at line 82 of file Math.cpp.
Referenced by GeographicLib::UTMUPS::Forward(), GeographicLib::CassiniSoldner::Forward(), GeographicLib::AlbersEqualArea::Forward(), GeographicLib::LambertConformalConic::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::TransverseMercatorExact::Forward(), and GeographicLib::Rhumb::GenInverse().
|
inlinestatic |
Difference of two angles reduced to [−180°, 180°]
T | the type of the arguments and returned value. |
[in] | x | the first angle in degrees. |
[in] | y | the second angle in degrees. |
The result is equivalent to computing the difference exactly, reducing it to [−180°, 180°] and rounding the result.
|
static |
Coarsen a value close to zero.
T | the type of the argument and returned value. |
[in] | x |
The makes the smallest gap in x = 1/16 − nextafter(1/16, 0) = 1/257 for doubles = 0.8 pm on the earth if x is an angle in degrees. (This is about 2000 times more resolution than we get with angles around 90°.) We use this to avoid having to deal with near singular cases when x is non-zero but tiny (e.g., 10−200). This sign of ±0 is preserved.
Definition at line 97 of file Math.cpp.
References GEOGRAPHICLIB_VOLATILE.
Referenced by GeographicLib::Geodesic::GenDirectLine(), GeographicLib::GeodesicExact::GenDirectLine(), GeographicLib::GeodesicLine::GeodesicLine(), GeographicLib::GeodesicLineExact::GeodesicLineExact(), and sincosde().
|
static |
Evaluate the sine and cosine function with the argument in degrees
T | the type of the arguments. |
[in] | x | in degrees. |
[out] | sinx | sin(x). |
[out] | cosx | cos(x). |
The results obey exactly the elementary properties of the trigonometric functions, e.g., sin 9° = cos 81° = − sin 123456789°. If x = −0 or a negative multiple of 180°, then sinx = −0; this is the only case where −0 is returned.
Definition at line 106 of file Math.cpp.
References qd.
Referenced by GeographicLib::AlbersEqualArea::AlbersEqualArea(), GeographicLib::EllipticFunction::Ed(), GeographicLib::MagneticCircle::FieldGeocentric(), GeographicLib::PolarStereographic::Forward(), GeographicLib::CassiniSoldner::Forward(), GeographicLib::AzimuthalEquidistant::Forward(), GeographicLib::Gnomonic::Forward(), GeographicLib::AlbersEqualArea::Forward(), GeographicLib::LambertConformalConic::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::Geodesic::GenDirectLine(), GeographicLib::GeodesicExact::GenDirectLine(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::GeodesicLine::GeodesicLine(), GeographicLib::GeodesicLineExact::GeodesicLineExact(), GeographicLib::LambertConformalConic::LambertConformalConic(), GeographicLib::Ellipsoid::NormalCurvatureRadius(), GeographicLib::CircularEngine::operator()(), GeographicLib::CassiniSoldner::Reset(), GeographicLib::LocalCartesian::Reset(), GeographicLib::GravityCircle::T(), tand(), GeographicLib::GravityCircle::V(), GeographicLib::GravityCircle::W(), GeographicLib::JacobiConformal::x(), and GeographicLib::JacobiConformal::y().
|
static |
Evaluate the sine and cosine with reduced argument plus correction
T | the type of the arguments. |
[in] | x | reduced angle in degrees. |
[in] | t | correction in degrees. |
[out] | sinx | sin(x + t). |
[out] | cosx | cos(x + t). |
This is a variant of Math::sincosd allowing a correction to the angle to be supplied. x must be in [−180°, 180°] and t is assumed to be a small correction. Math::AngRound is applied to the reduced angle to prevent problems with x + t being extremely close but not exactly equal to one of the four cardinal directions.
Definition at line 126 of file Math.cpp.
References AngRound(), and qd.
|
static |
Evaluate the sine function with the argument in degrees
T | the type of the argument and the returned value. |
[in] | x | in degrees. |
The result is +0 for x = +0 and positive multiples of 180°. The result is −0 for x = -0 and negative multiples of 180°.
Definition at line 148 of file Math.cpp.
References qd.
Referenced by GeographicLib::Ellipsoid::MeridionalCurvatureRadius(), GeographicLib::Ellipsoid::NormalCurvatureRadius(), GeographicLib::NormalGravity::SurfaceGravity(), and GeographicLib::Ellipsoid::TransverseCurvatureRadius().
|
static |
|
static |
Evaluate the tangent function with the argument in degrees
T | the type of the argument and the returned value. |
[in] | x | in degrees. |
If x is an odd multiple of 90°, then a suitably large (but finite) value is returned.
Definition at line 172 of file Math.cpp.
References sincosd(), and sq().
Referenced by GeographicLib::Ellipsoid::AuthalicLatitude(), GeographicLib::Ellipsoid::CircleHeight(), GeographicLib::Ellipsoid::CircleRadius(), GeographicLib::Ellipsoid::ConformalLatitude(), GeographicLib::PolarStereographic::Forward(), GeographicLib::TransverseMercatorExact::Forward(), GeographicLib::Ellipsoid::GeocentricLatitude(), GeographicLib::Ellipsoid::InverseAuthalicLatitude(), GeographicLib::Ellipsoid::InverseConformalLatitude(), GeographicLib::Ellipsoid::InverseGeocentricLatitude(), GeographicLib::Ellipsoid::InverseParametricLatitude(), GeographicLib::Ellipsoid::IsometricLatitude(), and GeographicLib::Ellipsoid::ParametricLatitude().
|
static |
Evaluate the atan2 function with the result in degrees
T | the type of the arguments and the returned value. |
[in] | y | |
[in] | x |
The result is in the range [−180° 180°]. N.B., atan2d(±0, −1) = ±180°.
Definition at line 183 of file Math.cpp.
References hd, qd, and std::swap().
Referenced by atand(), GeographicLib::GeodesicLine::EquatorialArc(), GeographicLib::GeodesicLine::EquatorialAzimuth(), GeographicLib::GeodesicLineExact::EquatorialAzimuth(), GeographicLib::MagneticModel::FieldComponents(), GeographicLib::TransverseMercator::Forward(), GeographicLib::Geodesic::GenInverse(), GeographicLib::GeodesicExact::GenInverse(), GeographicLib::Rhumb::GenInverse(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::Geodesic::InverseLine(), GeographicLib::GeodesicExact::InverseLine(), GeographicLib::PolarStereographic::Reverse(), GeographicLib::AzimuthalEquidistant::Reverse(), GeographicLib::Gnomonic::Reverse(), and GeographicLib::TransverseMercator::Reverse().
|
static |
Evaluate the atan function with the result in degrees
T | the type of the argument and the returned value. |
[in] | x |
Definition at line 202 of file Math.cpp.
References atan2d().
Referenced by GeographicLib::Ellipsoid::AuthalicLatitude(), GeographicLib::Ellipsoid::ConformalLatitude(), GeographicLib::Ellipsoid::GeocentricLatitude(), GeographicLib::Ellipsoid::InverseAuthalicLatitude(), GeographicLib::Ellipsoid::InverseConformalLatitude(), GeographicLib::Ellipsoid::InverseGeocentricLatitude(), GeographicLib::Ellipsoid::InverseIsometricLatitude(), GeographicLib::Ellipsoid::InverseParametricLatitude(), GeographicLib::Ellipsoid::ParametricLatitude(), GeographicLib::PolarStereographic::Reverse(), GeographicLib::AlbersEqualArea::Reverse(), GeographicLib::LambertConformalConic::Reverse(), and GeographicLib::TransverseMercator::Reverse().
|
static |
Evaluate e atanh(e x)
T | the type of the argument and the returned value. |
[in] | x | |
[in] | es | the signed eccentricity = sign(e2) sqrt(|e2|) |
If e2 is negative (e is imaginary), the expression is evaluated in terms of atan.
Definition at line 205 of file Math.cpp.
Referenced by GeographicLib::LambertConformalConic::Forward(), tauf(), and taupf().
|
static |
tanχ in terms of tanφ
T | the type of the argument and the returned value. |
[in] | tau | τ = tanφ |
[in] | es | the signed eccentricity = sign(e2) sqrt(|e2|) |
See Eqs. (7–9) of C. F. F. Karney, Transverse Mercator with an accuracy of a few nanometers, J. Geodesy 85(8), 475–485 (Aug. 2011) (preprint arXiv:1002.1417).
Definition at line 209 of file Math.cpp.
References eatanhe().
Referenced by GeographicLib::Ellipsoid::ConformalLatitude(), GeographicLib::PolarStereographic::Forward(), GeographicLib::TransverseMercator::Forward(), GeographicLib::TransverseMercatorExact::Forward(), GeographicLib::Ellipsoid::IsometricLatitude(), and tauf().
|
static |
tanφ in terms of tanχ
T | the type of the argument and the returned value. |
[in] | taup | τ′ = tanχ |
[in] | es | the signed eccentricity = sign(e2) sqrt(|e2|) |
See Eqs. (19–21) of C. F. F. Karney, Transverse Mercator with an accuracy of a few nanometers, J. Geodesy 85(8), 475–485 (Aug. 2011) (preprint arXiv:1002.1417).
Definition at line 219 of file Math.cpp.
References eatanhe(), GEOGRAPHICLIB_PANIC, sq(), and taupf().
Referenced by GeographicLib::TransverseMercatorExact::Forward(), GeographicLib::Ellipsoid::InverseConformalLatitude(), GeographicLib::Ellipsoid::InverseIsometricLatitude(), GeographicLib::PolarStereographic::Reverse(), GeographicLib::LambertConformalConic::Reverse(), GeographicLib::TransverseMercator::Reverse(), and GeographicLib::TransverseMercatorExact::Reverse().
|
static |
The NaN (not a number)
T | the type of the returned value. |
Definition at line 250 of file Math.cpp.
Referenced by GeographicLib::NormalGravity::AngularVelocity(), GeographicLib::GeodesicLine::Azimuth(), GeographicLib::GeodesicLineExact::Azimuth(), GeographicLib::GravityModel::Circle(), GeographicLib::PolygonAreaT< GeodType >::Clear(), GeographicLib::NormalGravity::DynamicalFormFactor(), GeographicLib::GeodesicLine::EquatorialArc(), GeographicLib::GeodesicLineExact::EquatorialArc(), GeographicLib::GeodesicLine::EquatorialAzimuth(), GeographicLib::GeodesicLineExact::EquatorialAzimuth(), GeographicLib::NormalGravity::EquatorialGravity(), GeographicLib::Geocentric::EquatorialRadius(), GeographicLib::GeodesicLine::EquatorialRadius(), GeographicLib::GeodesicLineExact::EquatorialRadius(), GeographicLib::GravityCircle::EquatorialRadius(), GeographicLib::MagneticCircle::EquatorialRadius(), GeographicLib::NormalGravity::EquatorialRadius(), GeographicLib::Geocentric::Flattening(), GeographicLib::GeodesicLine::Flattening(), GeographicLib::GeodesicLineExact::Flattening(), GeographicLib::GravityCircle::Flattening(), GeographicLib::MagneticCircle::Flattening(), GeographicLib::NormalGravity::Flattening(), GeographicLib::UTMUPS::Forward(), GeographicLib::Gnomonic::Forward(), GeographicLib::GeodesicLine::GenDistance(), GeographicLib::GeodesicLineExact::GenDistance(), GeographicLib::GeodesicLine::GenPosition(), GeographicLib::GeodesicLineExact::GenPosition(), GeographicLib::RhumbLine::GenPosition(), GeographicLib::NormalGravity::GravityFlattening(), GeographicLib::OSGB::GridReference(), GeographicLib::GravityCircle::Height(), GeographicLib::MagneticCircle::Height(), GeographicLib::NormalGravity::J2ToFlattening(), GeographicLib::GeodesicLine::Latitude(), GeographicLib::GeodesicLineExact::Latitude(), GeographicLib::GravityCircle::Latitude(), GeographicLib::MagneticCircle::Latitude(), GeographicLib::GeodesicLine::Longitude(), GeographicLib::GeodesicLineExact::Longitude(), GeographicLib::NormalGravity::MassConstant(), GeographicLib::NormalGravity::PolarGravity(), GeographicLib::GARS::Reverse(), GeographicLib::Geohash::Reverse(), GeographicLib::Georef::Reverse(), GeographicLib::MGRS::Reverse(), GeographicLib::UTMUPS::Reverse(), GeographicLib::Gnomonic::Reverse(), GeographicLib::GeodesicLine::SetArc(), GeographicLib::GeodesicLineExact::SetArc(), GeographicLib::NormalGravity::SurfacePotential(), GeographicLib::PolygonAreaT< GeodType >::TestEdge(), and GeographicLib::MagneticCircle::Time().
|
static |
Infinity
T | the type of the returned value. |
Definition at line 262 of file Math.cpp.
Referenced by GeographicLib::EllipticFunction::Reset().
|
inlinestatic |
Swap the bytes of a quantity
T | the type of the argument and the returned value. |
[in] | x |
Definition at line 517 of file Math.hpp.
References std::swap().
|
static |
true if the machine is big-endian.
Definition at line 184 of file Math.hpp.
Referenced by GeographicLib::Utility::readarray(), and GeographicLib::Utility::writearray().