Config.h   Config.h 
#define HAVE_LONG_DOUBLE 1 #define HAVE_LONG_DOUBLE 1
#define GEOGRAPHICLIB_VERSION_STRING "1.26" #define GEOGRAPHICLIB_VERSION_STRING "1.27"
/* # undef WORDS_BIGENDIAN */ /* # undef WORDS_BIGENDIAN */
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Geodesic.hpp   Geodesic.hpp 
skipping to change at line 100 skipping to change at line 100
* m12, \e M12, \e M21 which all specify the behavior of nearby geodesics * m12, \e M12, \e M21 which all specify the behavior of nearby geodesics
* obey addition rules. Let points 1, 2, and 3 all lie on a single geode sic, * obey addition rules. Let points 1, 2, and 3 all lie on a single geode sic,
* then * then
* - \e m13 = \e m12 \e M23 + \e m23 \e M21 * - \e m13 = \e m12 \e M23 + \e m23 \e M21
* - \e M13 = \e M12 \e M23 − (1 − \e M12 \e M21) \e m23 / \e m12 * - \e M13 = \e M12 \e M23 − (1 − \e M12 \e M21) \e m23 / \e m12
* - \e M31 = \e M32 \e M21 − (1 − \e M23 \e M32) \e m12 / \e m23 * - \e M31 = \e M32 \e M21 − (1 − \e M23 \e M32) \e m12 / \e m23
* *
* Additional functionality is provided by the GeodesicLine class, which * Additional functionality is provided by the GeodesicLine class, which
* allows a sequence of points along a geodesic to be computed. * allows a sequence of points along a geodesic to be computed.
* *
* The calculations are accurate to better than 15 nm (15 nanometers). S * The calculations are accurate to better than 15 nm (15 nanometers) for
ee the
* Sec. 9 of * WGS84 ellipsoid. See Sec. 9 of
* <a href="http://arxiv.org/abs/1102.1215v1">arXiv:1102.1215v1</a> for * <a href="http://arxiv.org/abs/1102.1215v1">arXiv:1102.1215v1</a> for
* details. The algorithms used by this class are based on series expans ions * details. The algorithms used by this class are based on series expans ions
* using the flattening \e f as a small parameter. These only accurate f or * using the flattening \e f as a small parameter. These only accurate f or
* |\e f| &lt; 0.01; however reasonably accurate results will be obtained * |\e f| &lt; 0.02; however reasonably accurate results will be obtained
for for
* |\e f| &lt; 0.1. For very eccentric ellipsoids, use GeodesicExact * |\e f| &lt; 0.2. Here is a table of the approximate maximum error
* instead. * (expressed as a distance) for an ellipsoid with the same major radius
as
* the WGS84 ellipsoid and different values of the flattening.<pre>
* |f| error
* 0.01 25 nm
* 0.02 30 nm
* 0.05 10 um
* 0.1 1.5 mm
* 0.2 300 mm
* </pre>For very eccentric ellipsoids, use GeodesicExact instead.
* *
* The algorithms are described in * The algorithms are described in
* - C. F. F. Karney, * - C. F. F. Karney,
* <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* Algorithms for geodesics</a>, * Algorithms for geodesics</a>,
* J. Geodesy, 2012; * J. Geodesy, 2012;
* DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* 10.1007/s00190-012-0578-z</a>. * 10.1007/s00190-012-0578-z</a>;
* addenda: <a href="http://geographiclib.sf.net/geod-addenda.html">
* geod-addenda.html</a>.
* . * .
* For more information on geodesics see \ref geodesic. * For more information on geodesics see \ref geodesic.
* *
* Example of use: * Example of use:
* \include example-Geodesic.cpp * \include example-Geodesic.cpp
* *
* <a href="Geod.1.html">Geod</a> is a command-line utility providing acc ess * <a href="Geod.1.html">Geod</a> is a command-line utility providing acc ess
* to the functionality of Geodesic and GeodesicLine. * to the functionality of Geodesic and GeodesicLine.
**********************************************************************/ **********************************************************************/
skipping to change at line 141 skipping to change at line 151
static const int nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nC1_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nC1p_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nC1p_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nA2_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nA2_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nC2_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nC2_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nA3_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nA3_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nA3x_ = nA3_; static const int nA3x_ = nA3_;
static const int nC3_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nC3_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nC3x_ = (nC3_ * (nC3_ - 1)) / 2; static const int nC3x_ = (nC3_ * (nC3_ - 1)) / 2;
static const int nC4_ = GEOGRAPHICLIB_GEODESIC_ORDER; static const int nC4_ = GEOGRAPHICLIB_GEODESIC_ORDER;
static const int nC4x_ = (nC4_ * (nC4_ + 1)) / 2; static const int nC4x_ = (nC4_ * (nC4_ + 1)) / 2;
static const unsigned maxit_ = 30; static const unsigned maxit1_ = 20;
static const unsigned bisection_ = std::numeric_limits<real>::digits + static const unsigned maxit2_ = maxit1_ +
10; std::numeric_limits<real>::digits + 10;
static const real tiny_; static const real tiny_;
static const real tol0_; static const real tol0_;
static const real tol1_; static const real tol1_;
static const real tol2_; static const real tol2_;
static const real tolb_;
static const real xthresh_; static const real xthresh_;
enum captype { enum captype {
CAP_NONE = 0U, CAP_NONE = 0U,
CAP_C1 = 1U<<0, CAP_C1 = 1U<<0,
CAP_C1p = 1U<<1, CAP_C1p = 1U<<1,
CAP_C2 = 1U<<2, CAP_C2 = 1U<<2,
CAP_C3 = 1U<<3, CAP_C3 = 1U<<3,
CAP_C4 = 1U<<4, CAP_C4 = 1U<<4,
CAP_ALL = 0x1FU, CAP_ALL = 0x1FU,
skipping to change at line 632 skipping to change at line 644
* [&minus;180&deg;, 180&deg;). * [&minus;180&deg;, 180&deg;).
* *
* If either point is at a pole, the azimuth is defined by keeping the * If either point is at a pole, the azimuth is defined by keeping the
* longitude fixed and writing \e lat = 90&deg; &minus; &epsilon; or * longitude fixed and writing \e lat = 90&deg; &minus; &epsilon; or
* &minus;90&deg; + &epsilon; and taking the limit &epsilon; &rarr; 0 f rom * &minus;90&deg; + &epsilon; and taking the limit &epsilon; &rarr; 0 f rom
* above. * above.
* *
* The solution to the inverse problem is found using Newton's method. If * The solution to the inverse problem is found using Newton's method. If
* this fails to converge (this is very unlikely in geodetic applicatio ns * this fails to converge (this is very unlikely in geodetic applicatio ns
* but does occur for very eccentric ellipsoids), then the bisection me thod * but does occur for very eccentric ellipsoids), then the bisection me thod
* is used to refine the solution. This should always converge to an * is used to refine the solution.
* accurate solution.
*
* (If the routine fails to converge, then all the requested outputs ar
e
* set to Math::NaN() --- test for such results with Math::isnan. Plea
se
* report all cases where this occurs.)
* *
* The following functions are overloaded versions of Geodesic::Inverse * The following functions are overloaded versions of Geodesic::Inverse
* which omit some of the output parameters. Note, however, that the a rc * which omit some of the output parameters. Note, however, that the a rc
* length is always computed and returned as the function value. * length is always computed and returned as the function value.
********************************************************************** / ********************************************************************** /
Math::real Inverse(real lat1, real lon1, real lat2, real lon2, Math::real Inverse(real lat1, real lon1, real lat2, real lon2,
real& s12, real& azi1, real& azi2, real& m12, real& s12, real& azi1, real& azi2, real& m12,
real& M12, real& M21, real& S12) const throw() { real& M12, real& M21, real& S12) const throw() {
return GenInverse(lat1, lon1, lat2, lon2, return GenInverse(lat1, lon1, lat2, lon2,
DISTANCE | AZIMUTH | DISTANCE | AZIMUTH |
 End of changes. 6 change blocks. 
19 lines changed or deleted 24 lines changed or added


 GeodesicExact.hpp   GeodesicExact.hpp 
skipping to change at line 40 skipping to change at line 40
* The equations for geodesics on an ellipsoid can be expressed in terms of * The equations for geodesics on an ellipsoid can be expressed in terms of
* incomplete elliptic integrals. The Geodesic class expands these integ rals * incomplete elliptic integrals. The Geodesic class expands these integ rals
* in a series in the flattening \e f and this provides an accurate solut ion * in a series in the flattening \e f and this provides an accurate solut ion
* for \e f &isin [-0.01, 0.01]. The GeodesicExact class computes the * for \e f &isin [-0.01, 0.01]. The GeodesicExact class computes the
* ellitpic integrals directly and so provides a solution which is valid for * ellitpic integrals directly and so provides a solution which is valid for
* all \e f. However, in practice, its use should be limited to about \e * all \e f. However, in practice, its use should be limited to about \e
* b/\e a &isin; [0.01, 100] or \e f &isin; [-99, 0.99]. * b/\e a &isin; [0.01, 100] or \e f &isin; [-99, 0.99].
* *
* For the WGS84 ellipsoid, these classes are 2--3 times \e slower than t he * For the WGS84 ellipsoid, these classes are 2--3 times \e slower than t he
* series solution and 2--3 times \e less \e accurate (because it's less easy * series solution and 2--3 times \e less \e accurate (because it's less easy
* to control round-off errors with the elliptic integral formulation). * to control round-off errors with the elliptic integral formulation); i
* However the error in the series solution scales as <i>f</i><sup>7</sup .e.,
> * the error is about 40 nm (40 nanometers) instead of 15 nm. However th
* while the error in the elliptic integral solution is independent of \e e
f. * error in the series solution scales as <i>f</i><sup>7</sup> while the
* error in the elliptic integral solution depends weakly on \e f. If th
e
* quarter meridian distance is 10000 km and the ratio \e b/\e a = 1 &min
us;
* \e f is varied then the approximate maximum error (expressed as a
* distance) is <pre>
* 1 - f error (nm)
* 1/128 387
* 1/64 345
* 1/32 269
* 1/16 210
* 1/8 115
* 1/4 69
* 1/2 36
* 1 15
* 2 25
* 4 96
* 8 318
* 16 985
* 32 2352
* 64 6008
* 128 19024
* </pre>
* *
* The computation of the area in these classes is via a 30th order serie s. * The computation of the area in these classes is via a 30th order serie s.
* This gives accurate results for \e b/\e a &isin; [1/2, 2]; the accurac y is * This gives accurate results for \e b/\e a &isin; [1/2, 2]; the accurac y is
* about 8 decimal digits for \e b/\e a &isin; [1/4, 4]. * about 8 decimal digits for \e b/\e a &isin; [1/4, 4].
* *
* See \ref geodellip for the formulation. See the documentation on the * See \ref geodellip for the formulation. See the documentation on the
* Geodesic class for additional information on the geodesics problems. * Geodesic class for additional information on the geodesics problems.
* *
* Example of use: * Example of use:
* \include example-GeodesicExact.cpp * \include example-GeodesicExact.cpp
skipping to change at line 65 skipping to change at line 86
* to the functionality of GeodesicExact and GeodesicLineExact (via the - E * to the functionality of GeodesicExact and GeodesicLineExact (via the - E
* option). * option).
**********************************************************************/ **********************************************************************/
class GEOGRAPHIC_EXPORT GeodesicExact { class GEOGRAPHIC_EXPORT GeodesicExact {
private: private:
typedef Math::real real; typedef Math::real real;
friend class GeodesicLineExact; friend class GeodesicLineExact;
static const int nC4_ = GEOGRAPHICLIB_GEODESICEXACT_ORDER; static const int nC4_ = GEOGRAPHICLIB_GEODESICEXACT_ORDER;
static const int nC4x_ = (nC4_ * (nC4_ + 1)) / 2; static const int nC4x_ = (nC4_ * (nC4_ + 1)) / 2;
static const unsigned maxit_ = 30; static const unsigned maxit1_ = 20;
static const unsigned bisection_ = std::numeric_limits<real>::digits + static const unsigned maxit2_ = maxit1_ +
10; std::numeric_limits<real>::digits + 10;
static const real tiny_; static const real tiny_;
static const real tol0_; static const real tol0_;
static const real tol1_; static const real tol1_;
static const real tol2_; static const real tol2_;
static const real tolb_;
static const real xthresh_; static const real xthresh_;
enum captype { enum captype {
CAP_NONE = 0U, CAP_NONE = 0U,
CAP_E = 1U<<0, CAP_E = 1U<<0,
// Skip 1U<<1 for compatibility with Geodesic (not required) // Skip 1U<<1 for compatibility with Geodesic (not required)
CAP_D = 1U<<2, CAP_D = 1U<<2,
CAP_H = 1U<<3, CAP_H = 1U<<3,
CAP_C4 = 1U<<4, CAP_C4 = 1U<<4,
CAP_ALL = 0x1FU, CAP_ALL = 0x1FU,
OUT_ALL = 0x7F80U, OUT_ALL = 0x7F80U,
}; };
static real SinCosSeries(real sinx, real cosx, const real c[], int n) static real CosSeries(real sinx, real cosx, const real c[], int n)
throw(); throw();
static inline real AngRound(real x) throw() { static inline real AngRound(real x) throw() {
// The makes the smallest gap in x = 1/16 - nextafter(1/16, 0) = 1/2^ 57 // The makes the smallest gap in x = 1/16 - nextafter(1/16, 0) = 1/2^ 57
// for reals = 0.7 pm on the earth if x is an angle in degrees. (Thi s // for reals = 0.7 pm on the earth if x is an angle in degrees. (Thi s
// is about 1000 times more resolution than we get with angles around 90 // is about 1000 times more resolution than we get with angles around 90
// degrees.) We use this to avoid having to deal with near singular // degrees.) We use this to avoid having to deal with near singular
// cases when x is non-zero but tiny (e.g., 1.0e-200). // cases when x is non-zero but tiny (e.g., 1.0e-200).
const real z = real(0.0625); // 1/16 const real z = real(0.0625); // 1/16
volatile real y = std::abs(x); volatile real y = std::abs(x);
// The compiler mustn't "simplify" z - (z - y) to y // The compiler mustn't "simplify" z - (z - y) to y
skipping to change at line 541 skipping to change at line 564
* @return \e a12 arc length of between point 1 and point 2 (degrees). * @return \e a12 arc length of between point 1 and point 2 (degrees).
* *
* \e lat1 and \e lat2 should be in the range [&minus;90&deg;, 90&deg;] ; \e * \e lat1 and \e lat2 should be in the range [&minus;90&deg;, 90&deg;] ; \e
* lon1 and \e lon2 should be in the range [&minus;540&deg;, 540&deg;). * lon1 and \e lon2 should be in the range [&minus;540&deg;, 540&deg;).
* The values of \e azi1 and \e azi2 returned are in the range * The values of \e azi1 and \e azi2 returned are in the range
* [&minus;180&deg;, 180&deg;). * [&minus;180&deg;, 180&deg;).
* *
* If either point is at a pole, the azimuth is defined by keeping the * If either point is at a pole, the azimuth is defined by keeping the
* longitude fixed and writing \e lat = 90&deg; &minus; &epsilon; or * longitude fixed and writing \e lat = 90&deg; &minus; &epsilon; or
* &minus;90&deg; + &epsilon; and taking the limit &epsilon; &rarr; 0 f rom * &minus;90&deg; + &epsilon; and taking the limit &epsilon; &rarr; 0 f rom
* above. If the routine fails to converge, then all the requested out * above.
puts
* are set to Math::NaN(). (Test for such results with Math::isnan.)
This
* is not expected to happen with ellipsoidal models of the earth; plea
se
* report all cases where this occurs.
* *
* The following functions are overloaded versions of GeodesicExact::In verse * The following functions are overloaded versions of GeodesicExact::In verse
* which omit some of the output parameters. Note, however, that the a rc * which omit some of the output parameters. Note, however, that the a rc
* length is always computed and returned as the function value. * length is always computed and returned as the function value.
********************************************************************** / ********************************************************************** /
Math::real Inverse(real lat1, real lon1, real lat2, real lon2, Math::real Inverse(real lat1, real lon1, real lat2, real lon2,
real& s12, real& azi1, real& azi2, real& m12, real& s12, real& azi1, real& azi2, real& m12,
real& M12, real& M21, real& S12) const throw() { real& M12, real& M21, real& S12) const throw() {
return GenInverse(lat1, lon1, lat2, lon2, return GenInverse(lat1, lon1, lat2, lon2,
DISTANCE | AZIMUTH | DISTANCE | AZIMUTH |
 End of changes. 5 change blocks. 
16 lines changed or deleted 34 lines changed or added


 GeodesicLine.hpp   GeodesicLine.hpp 
skipping to change at line 36 skipping to change at line 36
* a12 along the geodesic. * a12 along the geodesic.
* *
* The default copy constructor and assignment operators work with this * The default copy constructor and assignment operators work with this
* class. Similarly, a vector can be used to hold GeodesicLine objects. * class. Similarly, a vector can be used to hold GeodesicLine objects.
* *
* The calculations are accurate to better than 15 nm (15 nanometers). S ee * The calculations are accurate to better than 15 nm (15 nanometers). S ee
* Sec. 9 of * Sec. 9 of
* <a href="http://arxiv.org/abs/1102.1215v1">arXiv:1102.1215v1</a> for * <a href="http://arxiv.org/abs/1102.1215v1">arXiv:1102.1215v1</a> for
* details. The algorithms used by this class are based on series expans ions * details. The algorithms used by this class are based on series expans ions
* using the flattening \e f as a small parameter. These only accurate f or * using the flattening \e f as a small parameter. These only accurate f or
* |\e f| &lt; 0.01; however reasonably accurate results will be obtained * |\e f| &lt; 0.02; however reasonably accurate results will be obtained
for for
* |\e f| &lt; 0.1. For very eccentric ellipsoids, use GeodesicLineExact * |\e f| &lt; 0.2. For very eccentric ellipsoids, use GeodesicLineExact
* instead. * instead.
* *
* The algorithms are described in * The algorithms are described in
* - C. F. F. Karney, * - C. F. F. Karney,
* <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* Algorithms for geodesics</a>, * Algorithms for geodesics</a>,
* J. Geodesy, 2012; * J. Geodesy, 2012;
* DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* 10.1007/s00190-012-0578-z</a>. * 10.1007/s00190-012-0578-z</a>;
* addenda: <a href="http://geographiclib.sf.net/geod-addenda.html">
* geod-addenda.html</a>.
* . * .
* For more information on geodesics see \ref geodesic. * For more information on geodesics see \ref geodesic.
* *
* Example of use: * Example of use:
* \include example-GeodesicLine.cpp * \include example-GeodesicLine.cpp
* *
* <a href="Geod.1.html">Geod</a> is a command-line utility providing acc ess * <a href="Geod.1.html">Geod</a> is a command-line utility providing acc ess
* to the functionality of Geodesic and GeodesicLine. * to the functionality of Geodesic and GeodesicLine.
**********************************************************************/ **********************************************************************/
 End of changes. 2 change blocks. 
4 lines changed or deleted 6 lines changed or added


 Gnomonic.hpp   Gnomonic.hpp 
skipping to change at line 29 skipping to change at line 29
/** /**
* \brief %Gnomonic projection * \brief %Gnomonic projection
* *
* %Gnomonic projection centered at an arbitrary position \e C on the * %Gnomonic projection centered at an arbitrary position \e C on the
* ellipsoid. This projection is derived in Section 8 of * ellipsoid. This projection is derived in Section 8 of
* - C. F. F. Karney, * - C. F. F. Karney,
* <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* Algorithms for geodesics</a>, * Algorithms for geodesics</a>,
* J. Geodesy, 2012; * J. Geodesy, 2012;
* DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* 10.1007/s00190-012-0578-z</a>. * 10.1007/s00190-012-0578-z</a>;
* addenda: <a href="http://geographiclib.sf.net/geod-addenda.html">
* geod-addenda.html</a>.
* . * .
* The projection of \e P is defined as follows: compute the geodesic lin e * The projection of \e P is defined as follows: compute the geodesic lin e
* from \e C to \e P; compute the reduced length \e m12, geodesic scale \ e * from \e C to \e P; compute the reduced length \e m12, geodesic scale \ e
* M12, and &rho; = <i>m12</i>/\e M12; finally \e x = &rho; sin \e azi1; \e * M12, and &rho; = <i>m12</i>/\e M12; finally \e x = &rho; sin \e azi1; \e
* y = &rho; cos \e azi1, where \e azi1 is the azimuth of the geodesic at \e * y = &rho; cos \e azi1, where \e azi1 is the azimuth of the geodesic at \e
* C. The Gnomonic::Forward and Gnomonic::Reverse methods also return th e * C. The Gnomonic::Forward and Gnomonic::Reverse methods also return th e
* azimuth \e azi of the geodesic at \e P and reciprocal scale \e rk in t he * azimuth \e azi of the geodesic at \e P and reciprocal scale \e rk in t he
* azimuthal direction. The scale in the radial direction if * azimuthal direction. The scale in the radial direction if
* 1/<i>rk</i><sup>2</sup>. * 1/<i>rk</i><sup>2</sup>.
* *
 End of changes. 1 change blocks. 
1 lines changed or deleted 3 lines changed or added


 PolygonArea.hpp   PolygonArea.hpp 
skipping to change at line 29 skipping to change at line 29
/** /**
* \brief Polygon areas * \brief Polygon areas
* *
* This computes the area of a geodesic polygon using the method given * This computes the area of a geodesic polygon using the method given
* Section 6 of * Section 6 of
* - C. F. F. Karney, * - C. F. F. Karney,
* <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* Algorithms for geodesics</a>, * Algorithms for geodesics</a>,
* J. Geodesy, 2012; * J. Geodesy, 2012;
* DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z"> * DOI: <a href="http://dx.doi.org/10.1007/s00190-012-0578-z">
* 10.1007/s00190-012-0578-z</a>. * 10.1007/s00190-012-0578-z</a>;
* addenda: <a href="http://geographiclib.sf.net/geod-addenda.html">
* geod-addenda.html</a>.
* *
* This class lets you add vertices one at a time to the polygon. The ar ea * This class lets you add vertices one at a time to the polygon. The ar ea
* and perimeter are accumulated in two times the standard floating point * and perimeter are accumulated in two times the standard floating point
* precision to guard against the loss of accuracy with many-sided polygo ns. * precision to guard against the loss of accuracy with many-sided polygo ns.
* At any point you can ask for the perimeter and area so far. There's a n * At any point you can ask for the perimeter and area so far. There's a n
* option to treat the points as defining a polyline instead of a polygon ; in * option to treat the points as defining a polyline instead of a polygon ; in
* that case, only the perimeter is computed. * that case, only the perimeter is computed.
* *
* Example of use: * Example of use:
* \include example-PolygonArea.cpp * \include example-PolygonArea.cpp
 End of changes. 1 change blocks. 
1 lines changed or deleted 3 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/