<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to GeographicLib 2.0 (released 2022-05-06)</title><link>https://sourceforge.net/p/geographiclib/news/2022/05/geographiclib-20-released-2022-05-06/</link><description>Recent changes to GeographicLib 2.0 (released 2022-05-06)</description><atom:link href="https://sourceforge.net/p/geographiclib/news/2022/05/geographiclib-20-released-2022-05-06/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 06 May 2022 17:35:38 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/geographiclib/news/2022/05/geographiclib-20-released-2022-05-06/feed.rss" rel="self" type="application/rss+xml"/><item><title>GeographicLib 2.0 (released 2022-05-06)</title><link>https://sourceforge.net/p/geographiclib/news/2022/05/geographiclib-20-released-2022-05-06/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes between 2.0 (released 2022-05-06) and 1.52 versions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Remove non C++ implementations from this package.  These are now&lt;br/&gt;
     managed as separate packages.  See&lt;br/&gt;
&lt;a href="https://geographiclib.sourceforge.io/doc/library.html#languages" rel="nofollow"&gt;https://geographiclib.sourceforge.io/doc/library.html#languages&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This allowed the cmake interface to be rationalized:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Replace GEOGRAPHICLIB_LIB_TYPE by BUILD_SHARED_LIBS (a standard&lt;br/&gt;
   cmake variable) and BUILD_BOTH_LIBS.&lt;/li&gt;
&lt;li&gt;Remove COMMON_INSTALL_PATH and replace with variables to&lt;br/&gt;
   specify where various components are to be installed.&lt;/li&gt;
&lt;li&gt;Remove BUILD_NETGEOGRAPHICLIB.&lt;/li&gt;
&lt;li&gt;Remove legacy cmake config support (non-namespace).&lt;/li&gt;
&lt;li&gt;make exampleprograms does a separate cmake configuration to&lt;br/&gt;
   mimic how a user's program might find GeographicLib.&lt;/li&gt;
&lt;li&gt;find_package (GeographicLib) now sets and checks the value of&lt;br/&gt;
   GEOGRAPHICLIB_PRECISION.&lt;/li&gt;
&lt;li&gt;Improve the separation of end-user and maintain cmake code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;More careful treatment of +/-0d and +/-180d.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;These behave consistently with taking the limits&lt;ul&gt;
&lt;li&gt;+/-0 means +/-eps as eps -&amp;gt; 0+&lt;/li&gt;
&lt;li&gt;+/-180 means +/-(180 - eps) as eps -&amp;gt; 0+&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;As a consequence, azimuths of +0d and +180d are reckoned to be&lt;br/&gt;
   east-going, as far as tracking the longitude with&lt;br/&gt;
   Geodesic::LONG_UNROLL and the area goes, while azimuths -0d and&lt;br/&gt;
   -180d are reckoned to be west-going.&lt;/li&gt;
&lt;li&gt;When computing longitude differences, if lat2 - lat1 = +/-180d&lt;br/&gt;
   (mod 360d), then the sign is picked depending on the sign of&lt;br/&gt;
   the difference.&lt;/li&gt;
&lt;li&gt;The normal range for returned longitudes and azimuths is&lt;br/&gt;
&lt;span&gt;[-180d, 180d]&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Programs in directory tests now allow testing to extend beyond&lt;br/&gt;
     invocations of the utility programs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;BUG FIXES:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed bug where in the solution of the inverse geodesic problem where&lt;br/&gt;
   with lat1 = 0 and lat2 = nan was treated as equatorial.&lt;/li&gt;
&lt;li&gt;Fixed roundoff corner case in geodesic area computation (only&lt;br/&gt;
   triggered with long double).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Minor changes in code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use fmin, fmax, fabs instead of min, max, abs, where appropriate.&lt;/li&gt;
&lt;li&gt;Parameterize the conversion units for degrees, minutes, seconds as&lt;br/&gt;
   Math::qd, Math::dm, Math::ms.&lt;/li&gt;
&lt;li&gt;Ellipsoid::MinorRadius() has be renamed Ellipsoid::PolarRadius().&lt;/li&gt;
&lt;li&gt;Remove deprecated functions: XXX::MajorRadius, Utility::val, and&lt;br/&gt;
   placeholders (Math::cbrt, etc.) for C++11 math functions.&lt;/li&gt;
&lt;li&gt;Can specify the comment character in Utility::ParseLine.&lt;/li&gt;
&lt;li&gt;Rename various internal identifiers to avoid reserved names.&lt;/li&gt;
&lt;li&gt;Remove unused internal variable in RhumbLine.&lt;/li&gt;
&lt;li&gt;The documentation for EllipticFunction specifies restrictions on&lt;br/&gt;
   the arguments.&lt;/li&gt;
&lt;li&gt;Put GeodesicExactC4.cpp back into GeodesicExact.cpp.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Library file now called libGeographicLib.so, etc., instead of&lt;br/&gt;
     libGeographic.so.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The .NET version of GeographicLib has been removed.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Charles Karney</dc:creator><pubDate>Fri, 06 May 2022 17:35:38 -0000</pubDate><guid>https://sourceforge.net040f24eff19adbd0ef484e4392371600fd674ccb</guid></item></channel></rss>