AlbersEqualArea.hpp   AlbersEqualArea.hpp 
/** /**
* \file AlbersEqualArea.hpp * \file AlbersEqualArea.hpp
* \brief Header for GeographicLib::AlbersEqualArea class * \brief Header for GeographicLib::AlbersEqualArea class
* *
* Copyright (c) Charles Karney (2010-2012) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2010-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_ALBERSEQUALAREA_HPP) #if !defined(GEOGRAPHICLIB_ALBERSEQUALAREA_HPP)
#define GEOGRAPHICLIB_ALBERSEQUALAREA_HPP 1 #define GEOGRAPHICLIB_ALBERSEQUALAREA_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
namespace GeographicLib { namespace GeographicLib {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Config.h   Config.h 
#define GEOGRAPHICLIB_VERSION_MAJOR 1 #define GEOGRAPHICLIB_VERSION_MAJOR 1
#define GEOGRAPHICLIB_VERSION_MINOR 37 #define GEOGRAPHICLIB_VERSION_MINOR 38
#define GEOGRAPHICLIB_VERSION_PATCH 0 #define GEOGRAPHICLIB_VERSION_PATCH 0
#define GEOGRAPHICLIB_HAVE_LONG_DOUBLE 1 #define GEOGRAPHICLIB_HAVE_LONG_DOUBLE 1
#define GEOGRAPHICLIB_VERSION_STRING "1.37" #define GEOGRAPHICLIB_VERSION_STRING "1.38"
/* # undef GEOGRAPHICLIB_WORDS_BIGENDIAN */ /* # undef GEOGRAPHICLIB_WORDS_BIGENDIAN */
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 Ellipsoid.hpp   Ellipsoid.hpp 
/** /**
* \file Ellipsoid.hpp * \file Ellipsoid.hpp
* \brief Header for GeographicLib::Ellipsoid class * \brief Header for GeographicLib::Ellipsoid class
* *
* Copyright (c) Charles Karney (2012) <charles@karney.com> and licensed un * Copyright (c) Charles Karney (2012-2014) <charles@karney.com> and licens
der ed
* the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_ELLIPSOID_HPP) #if !defined(GEOGRAPHICLIB_ELLIPSOID_HPP)
#define GEOGRAPHICLIB_ELLIPSOID_HPP 1 #define GEOGRAPHICLIB_ELLIPSOID_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#include <GeographicLib/TransverseMercator.hpp> #include <GeographicLib/TransverseMercator.hpp>
#include <GeographicLib/EllipticFunction.hpp> #include <GeographicLib/EllipticFunction.hpp>
#include <GeographicLib/AlbersEqualArea.hpp> #include <GeographicLib/AlbersEqualArea.hpp>
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 EllipticFunction.hpp   EllipticFunction.hpp 
skipping to change at line 360 skipping to change at line 360
Math::real D(real phi) const; Math::real D(real phi) const;
/** /**
* Legendre's geodesic longitude integral. * Legendre's geodesic longitude integral.
* *
* @param[in] phi * @param[in] phi
* @return \e G(&phi;, &alpha;<sup>2</sup>, \e k). * @return \e G(&phi;, &alpha;<sup>2</sup>, \e k).
* *
* \e G(&phi;, &alpha;<sup>2</sup>, \e k) is defined by * \e G(&phi;, &alpha;<sup>2</sup>, \e k) is defined by
* \f[ * \f[
* \begin{aligned} * \begin{align}
* G(\phi, \alpha^2, k) &= * G(\phi, \alpha^2, k) &=
* \frac{k^2}{\alpha^2} F(\phi, k) + * \frac{k^2}{\alpha^2} F(\phi, k) +
* \biggl(1 - \frac{k^2}{\alpha^2}\biggr) \Pi(\phi, \alpha^2, k) \ \ * \biggl(1 - \frac{k^2}{\alpha^2}\biggr) \Pi(\phi, \alpha^2, k) \ \
* &= \int_0^\phi * &= \int_0^\phi
* \frac{\sqrt{1-k^2\sin^2\theta}}{1 - \alpha^2\sin^2\theta}\,d\the ta. * \frac{\sqrt{1-k^2\sin^2\theta}}{1 - \alpha^2\sin^2\theta}\,d\the ta.
* \end{aligned} * \end{align}
* \f] * \f]
* *
* Legendre expresses the longitude of a point on the geodesic in terms of * Legendre expresses the longitude of a point on the geodesic in terms of
* this combination of elliptic integrals in Exercices de Calcul * this combination of elliptic integrals in Exercices de Calcul
* Int&eacute;gral, Vol. 1 (1811), p. 181, * Int&eacute;gral, Vol. 1 (1811), p. 181,
* http://books.google.com/books?id=riIOAAAAQAAJ&pg=PA181. * http://books.google.com/books?id=riIOAAAAQAAJ&pg=PA181.
* *
* See \ref geodellip for the expression for the longitude in terms of this * See \ref geodellip for the expression for the longitude in terms of this
* function. * function.
********************************************************************** / ********************************************************************** /
Math::real G(real phi) const; Math::real G(real phi) const;
/** /**
* Cayley's geodesic longitude difference integral. * Cayley's geodesic longitude difference integral.
* *
* @param[in] phi * @param[in] phi
* @return \e H(&phi;, &alpha;<sup>2</sup>, \e k). * @return \e H(&phi;, &alpha;<sup>2</sup>, \e k).
* *
* \e H(&phi;, &alpha;<sup>2</sup>, \e k) is defined by * \e H(&phi;, &alpha;<sup>2</sup>, \e k) is defined by
* \f[ * \f[
* \begin{aligned} * \begin{align}
* H(\phi, \alpha^2, k) &= * H(\phi, \alpha^2, k) &=
* \frac1{\alpha^2} F(\phi, k) + * \frac1{\alpha^2} F(\phi, k) +
* \biggl(1 - \frac1{\alpha^2}\biggr) \Pi(\phi, \alpha^2, k) \\ * \biggl(1 - \frac1{\alpha^2}\biggr) \Pi(\phi, \alpha^2, k) \\
* &= \int_0^\phi * &= \int_0^\phi
* \frac{\cos^2\theta}{(1-\alpha^2\sin^2\theta)\sqrt{1-k^2\sin^2\th eta}} * \frac{\cos^2\theta}{(1-\alpha^2\sin^2\theta)\sqrt{1-k^2\sin^2\th eta}}
* \,d\theta. * \,d\theta.
* \end{aligned} * \end{align}
* \f] * \f]
* *
* Cayley expresses the longitude difference of a point on the geodesic in * Cayley expresses the longitude difference of a point on the geodesic in
* terms of this combination of elliptic integrals in Phil. Mag. <b>40< /b> * terms of this combination of elliptic integrals in Phil. Mag. <b>40< /b>
* (1870), p. 333, http://books.google.com/books?id=Zk0wAAAAIAAJ&pg=PA3 33. * (1870), p. 333, http://books.google.com/books?id=Zk0wAAAAIAAJ&pg=PA3 33.
* *
* See \ref geodellip for the expression for the longitude in terms of this * See \ref geodellip for the expression for the longitude in terms of this
* function. * function.
********************************************************************** / ********************************************************************** /
Math::real H(real phi) const; Math::real H(real phi) const;
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 GeoCoords.hpp   GeoCoords.hpp 
skipping to change at line 83 skipping to change at line 83
/** /**
* The default constructor is equivalent to \e latitude = 90&deg;, * The default constructor is equivalent to \e latitude = 90&deg;,
* \e longitude = 0&deg;. * \e longitude = 0&deg;.
********************************************************************** / ********************************************************************** /
GeoCoords() GeoCoords()
// This is the N pole // This is the N pole
: _lat(90) : _lat(90)
, _long(0) , _long(0)
, _easting(2000000) , _easting(2000000)
, _northing(2000000) , _northing(2000000)
, _gamma(0)
, _k(Constants::UPS_k0())
, _northp(true) , _northp(true)
, _zone(0) , _zone(0)
{ CopyToAlt(); } { CopyToAlt(); }
/** /**
* Construct from a string. * Construct from a string.
* *
* @param[in] s 1-element, 2-element, or 3-element string representatio n of * @param[in] s 1-element, 2-element, or 3-element string representatio n of
* the position. * the position.
* @param[in] centerp governs the interpretation of MGRS coordinates (s ee * @param[in] centerp governs the interpretation of MGRS coordinates (s ee
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 Geocentric.hpp   Geocentric.hpp 
/** /**
* \file Geocentric.hpp * \file Geocentric.hpp
* \brief Header for GeographicLib::Geocentric class * \brief Header for GeographicLib::Geocentric class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_GEOCENTRIC_HPP) #if !defined(GEOGRAPHICLIB_GEOCENTRIC_HPP)
#define GEOGRAPHICLIB_GEOCENTRIC_HPP 1 #define GEOGRAPHICLIB_GEOCENTRIC_HPP 1
#include <vector> #include <vector>
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Geodesic.hpp   Geodesic.hpp 
/** /**
* \file Geodesic.hpp * \file Geodesic.hpp
* \brief Header for GeographicLib::Geodesic class * \brief Header for GeographicLib::Geodesic class
* *
* Copyright (c) Charles Karney (2009-2013) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2009-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_GEODESIC_HPP) #if !defined(GEOGRAPHICLIB_GEODESIC_HPP)
#define GEOGRAPHICLIB_GEODESIC_HPP 1 #define GEOGRAPHICLIB_GEODESIC_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#if !defined(GEOGRAPHICLIB_GEODESIC_ORDER) #if !defined(GEOGRAPHICLIB_GEODESIC_ORDER)
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 GeodesicExact.hpp   GeodesicExact.hpp 
/** /**
* \file GeodesicExact.hpp * \file GeodesicExact.hpp
* \brief Header for GeographicLib::GeodesicExact class * \brief Header for GeographicLib::GeodesicExact class
* *
* Copyright (c) Charles Karney (2012-2013) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2012-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_GEODESICEXACT_HPP) #if !defined(GEOGRAPHICLIB_GEODESICEXACT_HPP)
#define GEOGRAPHICLIB_GEODESICEXACT_HPP 1 #define GEOGRAPHICLIB_GEODESICEXACT_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#include <GeographicLib/EllipticFunction.hpp> #include <GeographicLib/EllipticFunction.hpp>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Geoid.hpp   Geoid.hpp 
skipping to change at line 149 skipping to change at line 149
(ix + _width >= _xoffset && ix + _width < _xoffset + _xsize))) { (ix + _width >= _xoffset && ix + _width < _xoffset + _xsize))) {
return real(_data[iy - _yoffset] return real(_data[iy - _yoffset]
[ix >= _xoffset ? ix - _xoffset : ix + _width - _xoffse t]); [ix >= _xoffset ? ix - _xoffset : ix + _width - _xoffse t]);
} else { } else {
if (iy < 0 || iy >= _height) { if (iy < 0 || iy >= _height) {
iy = iy < 0 ? -iy : 2 * (_height - 1) - iy; iy = iy < 0 ? -iy : 2 * (_height - 1) - iy;
ix += (ix < _width/2 ? 1 : -1) * _width/2; ix += (ix < _width/2 ? 1 : -1) * _width/2;
} }
try { try {
filepos(ix, iy); filepos(ix, iy);
char a, b; // initial values to suppress warnings in case get fails
char a = 0, b = 0;
_file.get(a); _file.get(a);
_file.get(b); _file.get(b);
unsigned r = ((unsigned char)(a) << 8) | (unsigned char)(b); unsigned r = ((unsigned char)(a) << 8) | (unsigned char)(b);
if (pixel_size_ == 4) { if (pixel_size_ == 4) {
_file.get(a); _file.get(a);
_file.get(b); _file.get(b);
r = (r << 16) | ((unsigned char)(a) << 8) | (unsigned char)(b); r = (r << 16) | ((unsigned char)(a) << 8) | (unsigned char)(b);
} }
return real(r); return real(r);
} }
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 lines changed or added


 LambertConformalConic.hpp   LambertConformalConic.hpp 
/** /**
* \file LambertConformalConic.hpp * \file LambertConformalConic.hpp
* \brief Header for GeographicLib::LambertConformalConic class * \brief Header for GeographicLib::LambertConformalConic class
* *
* Copyright (c) Charles Karney (2010-2012) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2010-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_LAMBERTCONFORMALCONIC_HPP) #if !defined(GEOGRAPHICLIB_LAMBERTCONFORMALCONIC_HPP)
#define GEOGRAPHICLIB_LAMBERTCONFORMALCONIC_HPP 1 #define GEOGRAPHICLIB_LAMBERTCONFORMALCONIC_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
namespace GeographicLib { namespace GeographicLib {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 MGRS.hpp   MGRS.hpp 
/** /**
* \file MGRS.hpp * \file MGRS.hpp
* \brief Header for GeographicLib::MGRS class * \brief Header for GeographicLib::MGRS class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_MGRS_HPP) #if !defined(GEOGRAPHICLIB_MGRS_HPP)
#define GEOGRAPHICLIB_MGRS_HPP 1 #define GEOGRAPHICLIB_MGRS_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#include <GeographicLib/UTMUPS.hpp> #include <GeographicLib/UTMUPS.hpp>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 Math.hpp   Math.hpp 
/** /**
* \file Math.hpp * \file Math.hpp
* \brief Header for GeographicLib::Math class * \brief Header for GeographicLib::Math class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
// Constants.hpp includes Math.hpp. Place this include outside Math.hpp's // Constants.hpp includes Math.hpp. Place this include outside Math.hpp's
// include guard to enforce this ordering. // include guard to enforce this ordering.
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#if !defined(GEOGRAPHICLIB_MATH_HPP) #if !defined(GEOGRAPHICLIB_MATH_HPP)
#define GEOGRAPHICLIB_MATH_HPP 1 #define GEOGRAPHICLIB_MATH_HPP 1
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 OSGB.hpp   OSGB.hpp 
/** /**
* \file OSGB.hpp * \file OSGB.hpp
* \brief Header for GeographicLib::OSGB class * \brief Header for GeographicLib::OSGB class
* *
* Copyright (c) Charles Karney (2010-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2010-2013) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_OSGB_HPP) #if !defined(GEOGRAPHICLIB_OSGB_HPP)
#define GEOGRAPHICLIB_OSGB_HPP 1 #define GEOGRAPHICLIB_OSGB_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#include <GeographicLib/TransverseMercator.hpp> #include <GeographicLib/TransverseMercator.hpp>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 PolarStereographic.hpp   PolarStereographic.hpp 
/** /**
* \file PolarStereographic.hpp * \file PolarStereographic.hpp
* \brief Header for GeographicLib::PolarStereographic class * \brief Header for GeographicLib::PolarStereographic class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_POLARSTEREOGRAPHIC_HPP) #if !defined(GEOGRAPHICLIB_POLARSTEREOGRAPHIC_HPP)
#define GEOGRAPHICLIB_POLARSTEREOGRAPHIC_HPP 1 #define GEOGRAPHICLIB_POLARSTEREOGRAPHIC_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
namespace GeographicLib { namespace GeographicLib {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TransverseMercator.hpp   TransverseMercator.hpp 
/** /**
* \file TransverseMercator.hpp * \file TransverseMercator.hpp
* \brief Header for GeographicLib::TransverseMercator class * \brief Header for GeographicLib::TransverseMercator class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP) #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP)
#define GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP 1 #define GEOGRAPHICLIB_TRANSVERSEMERCATOR_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER) #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOR_ORDER)
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 TransverseMercatorExact.hpp   TransverseMercatorExact.hpp 
/** /**
* \file TransverseMercatorExact.hpp * \file TransverseMercatorExact.hpp
* \brief Header for GeographicLib::TransverseMercatorExact class * \brief Header for GeographicLib::TransverseMercatorExact class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP) #if !defined(GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP)
#define GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP 1 #define GEOGRAPHICLIB_TRANSVERSEMERCATOREXACT_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
#include <GeographicLib/EllipticFunction.hpp> #include <GeographicLib/EllipticFunction.hpp>
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 UTMUPS.hpp   UTMUPS.hpp 
/** /**
* \file UTMUPS.hpp * \file UTMUPS.hpp
* \brief Header for GeographicLib::UTMUPS class * \brief Header for GeographicLib::UTMUPS class
* *
* Copyright (c) Charles Karney (2008-2011) <charles@karney.com> and licens ed * Copyright (c) Charles Karney (2008-2014) <charles@karney.com> and licens ed
* under the MIT/X11 License. For more information, see * under the MIT/X11 License. For more information, see
* http://geographiclib.sourceforge.net/ * http://geographiclib.sourceforge.net/
**********************************************************************/ **********************************************************************/
#if !defined(GEOGRAPHICLIB_UTMUPS_HPP) #if !defined(GEOGRAPHICLIB_UTMUPS_HPP)
#define GEOGRAPHICLIB_UTMUPS_HPP 1 #define GEOGRAPHICLIB_UTMUPS_HPP 1
#include <GeographicLib/Constants.hpp> #include <GeographicLib/Constants.hpp>
namespace GeographicLib { namespace GeographicLib {
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 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/