aboutsummaryrefslogtreecommitdiff
path: root/src/proj_math.h
AgeCommit message (Collapse)Author
2019-09-18Delete proj_math.h. Replace includes by <math.h>; we'll see if anyoneCharles Karney
needs <limits.h>. Update scripts/reference_exported_symbols.txt and src/proj_symbol_rename.h.
2019-09-18math.cpp removed since its isnan isn't used. Keep proj_math.h (whichCharles Karney
just includes math.h and limits.h) since it's included in a score of places.
2019-09-18Try removing C99 math functions from math.cpp (but leave isnan).Charles Karney
2019-09-17Add atanh, copysign, cbrt, remainder, remquo to math.cpp.Charles Karney
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.
2018-11-14Implement RFC 2: Initial integration of "GDAL SRS barn" workEven Rouault
This work mostly consists of: - a C++ implementation of the ISO-19111:2018 / OGC Topic 2 "Referencing by coordinates" classes to represent Datums, Coordinate systems, CRSs (Coordinate Reference Systems) and Coordinate Operations. - methods to convert between this C++ modeling and WKT1, WKT2 and PROJ string representations of those objects - management and query of a SQLite3 database of CRS and Coordinate Operation definition - a C API binding part of those capabilities This is all-in-one squashed commit of the work of https://github.com/OSGeo/proj.4/pull/1040
2018-05-23Merge branch 'master' into return-nans-quicklyKristian Evers
2018-05-19Undef isnan if already defined before redefining it (typically with MSVC)Even Rouault
2018-05-08Add round() and lround() to proj_math.hKristian Evers
2018-05-08Add NAN definition to proj_math.hKristian Evers
2018-04-30Move include of math.h inside include guard.Kurt Schwehr
No reason to include math.h more times. And balance whitespace a bit
2018-04-23Add isnan() to proj_math.hKristian Evers
Code updated to use isnan() instead of pj_is_nan().
2018-04-16Collect custom C99 math functions in proj_math.hKristian Evers
We are relying more and more on C99 math functions. On C89 systems where those functions are not available our own custom versions of those functions are used instead. So far these has been spread across the code base. This commit gathers them in the same file and introduces the proj_math.h header. The build system checks for C99 math functions. If not found the proj_math.h header make sure that C99 functions are defined as their pj_ equivalent. Ideally proj_math.h is included instead of math.h. This removes the need for any checks against HAVE_C99_MATH in the code making it easier to read. For this commit the functions hypot, log1p and asinh has been taken care of.