| Age | Commit message (Collapse) | Author |
|
|
|
<memery@myotest.com>)
|
|
Now it applies with 32-bit compiles for all versioins of Visual Studio;
versions tested on: 2015, 2017, 2019.
|
|
|
|
Be more aggressive in preventing negative s12 and m12 for short lines.
Initialize reference argument to remquo.
|
|
Should be no changes in the compiled code.
|
|
|
|
* Allow arbitrarily complex polygons in geod_polygon_*. In the case
of self-intersecting polygons the area is accumulated
"algebraically", e.g., the areas of the 2 loops in a figure-8
polygon will partially cancel.
* Simplify code by using C99 functions remainder and remquo.
* More test coverage.
Fixes to associated files:
* src/pipeline.cpp invoke geod_init with f = es / (1 + sqrt(1 - es))
instead of (the less accurate) f = 1 - sqrt(1 - es)
* src/apps/geod_set.cpp remove "#undef f" (a dangling relic?).
|
|
cmake and autoconf now stipulate C99
change c89 to c99 in travis jobs
remove HAVE_C99_MATH checks
(unrelated) relax Visual Studio compatibility check in
cmake/project-config-version.cmake.in (VS 2019 can use a VS 2015 library
but not vice versa).
|
|
eliminate most of math.cpp. All that is left is the handling of
isnan (and I've this because math.cpp notes that gie.c uses pj_isnan).
geodesic.c now handles supplying C99 math functions internally and this
can go away once C99 support is mandated.
|
|
|
|
|
|
The supported C99 math functions provided by math.cpp are thus
hypot
log1p
asinh
atanh
copysign
cbrt
remainder
remquo
round
lround
Make compiler checks in CMakeLists.txt and configure.ac consistent with
this set.
Make geodesic.c use the math.cpp defined (instead of the internally
defined) versions of
hypot
atanh
copysign
cbrt
This is keyed off the presence of the PROJ_LIB macro. I had at one
time
https://github.com/OSGeo/PROJ/pull/1425
suggested supplying an additional macro PROJ_COMPILATION when compiling
geodesic.c. However, PROJ_LIB seems to fill the bill OK.
The *next* version of geodesic.c (due out in a few weeks) will also use
remainder
remquo
All of this is only of concern for C compilers without C99 support. So
this may become an historical footnote at some point.
|
|
|
|
|
|
Fixes consist in:
- no use of comma operator for multi statement purpose
- avoid confusing comma in for loops first and third clauses
- avoid implicit long to int casts by storing to long, or explicit bound checking before cast
|
|
|
|
Code updated to use isnan() instead of pj_is_nan().
|
|
|
|
|
|
but I doubt this will fix the build failures on the CI machines.
|
|
Set flags for Intel compiler to prevent incorrect optimization of
arithmetic expressions #826. Guard against nans in sincosdx #834.
Issue #831 is not addressed here (need more information...).
|
|
null pointer dereference
|
|
|
|
|
|
'&' and '?'' cppcheck warnings
|
|
Now all of geodesic.c is covered except for 3 lines (and 2 of these are
intentionally dead code).
This corresponds to tag v1.49.2-c in the GeographicLib code base.
While testing polygons which encircle the globe multiple times, I
uncovered a problem where the range of the area was not reduced to the
allowed range (either [0, area0) or (-area0/2, area0/2]) correctly.
Since the documentation explicity restricted the calculation of polygon
areas to simple polygons, we'll defer fixing this for now. (However the
intention was always to handle the area "algebraically" so that, for
example, a "bowtie" has zero area. So I will plan on fixing this for
1.50.)
Update copyright dates + NEWS.
|
|
Implement Polygon AddEdge fix in C library (will be version 1.49.2 of C
library for proj 5.0.0).
Still to do: add tests to expand code coverage. This will only affect
geodtest.c which is not part of the compiled library.
|
|
in GeographicLib). Details:
Workaround bugs in handling of -0.0 in fmod and sin in Visual Studio 10,
11, and 12.
Relax unrealistically strict delta for GeodSolve59 in geodtest.
|
|
Only substantial changes are (1) testing the HAVE_C99_MATH flag and
acting accordingly and (2) adding a couple of tests.
|
|
|
|
- http://geographiclib.sf.net -> http://geographiclib.sourceforge.io
- backport fixes for warnings messages from some compilers
- change default range for longitude and azimuth to (-180d, 180d]
(instead of [-180d, 180d))
|
|
|
|
|
|
Improve accuracy of area calculation (fixing a flaw introduced in
version 1.46). Changed files geodesic.[ch3], geodtest.c, geod.1.
|
|
|
|
|
|
* upgrade geodesic.[ch3]
* add test suite geodtest.c and invoke via cmake's add_test
* increment version to 4.9.3 and library version to 11.0.0
|
|
http://geographiclib.sourceforge.net/1.44/C/index.html
The changes are:
- Improve accuracy of calculations by evaluating trigonometric
functions more carefully and replacing the series for the reduced
length with one with a smaller truncation error.
- The allowed ranges for longitudes and azimuths is now unlimited; it
used to be [-540d, 540d).
- Enforce the restriction of latitude to [-90d, 90d] by returning NaNs
if the latitude is outside this range.
- The inverse calculation sets s12 to zero for coincident points at
pole (instead of returning a tiny quantity).
This commit also includes a work-around for an inaccurate value for
pi/180 in dmstor.c (see the definitions of DEG_IN and DEG_OUT in
geod_interface.c).
|
|
< 4.6 case
|
|
relatively obscure problems. (1) The business of returning an unrolled
longitude with the solution to the direct problem was broken for
west-going geodesics. (2) For flattening > 1/100, a slight inaccurate
result was returned for a12 in the direct calculation.
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2656 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
geod_polygon_addedge if the longitude extent of the added edge exceeds 180 degrees (patch by Charles Karney, #251, #253)
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2600 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2377 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2353 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
Syncs geodesic routines with GeographicLib. Adds geodesic.3 man page.
geod_* api exposed publically. geodesic.h is installed.
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2333 4e78687f-474d-0410-85f9-8d5e500ac6b2
|
|
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@2297 4e78687f-474d-0410-85f9-8d5e500ac6b2
|