diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | src/Makefile.am | 2 | ||||
| -rw-r--r-- | src/lib_proj.cmake | 1 | ||||
| -rw-r--r-- | src/math.cpp | 43 | ||||
| -rw-r--r-- | src/proj_math.h | 46 |
6 files changed, 4 insertions, 92 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b8459b6..5f463078 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,7 +141,7 @@ int main() { int q; return (int)(hypot(3.0, 4.0) + atanh(0.8) + copysign(1.0, -0.0) + cbrt(8.0) + remainder(100.0, 90.0) + - remquo(100.0, 90.0, &q)) + isnan(0.0); + remquo(100.0, 90.0, &q)); } " C99_MATH) if(C99_MATH) diff --git a/configure.ac b/configure.ac index 4db47b26..7287b207 100644 --- a/configure.ac +++ b/configure.ac @@ -206,7 +206,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM( [int q; return (int)(hypot(3.0, 4.0) + atanh(0.8) + copysign(1.0, -0.0) + cbrt(8.0) + remainder(100.0, 90.0) + - remquo(100.0, 90.0, &q)) + isnan(0.0);])], + remquo(100.0, 90.0, &q));])], [AC_MSG_RESULT([yes]);C99_MATH="-DHAVE_C99_MATH=1"], [AC_MSG_RESULT([no]);C99_MATH="-DHAVE_C99_MATH=0"]) CFLAGS="$save_CFLAGS $C99_MATH" diff --git a/src/Makefile.am b/src/Makefile.am index fe7f2572..97f32bc7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -200,7 +200,7 @@ libproj_la_SOURCES = \ apply_gridshift.cpp datums.cpp datum_set.cpp transform.cpp \ geocent.cpp geocent.h utils.cpp gridinfo.cpp gridlist.cpp \ jniproj.cpp mutex.cpp initcache.cpp apply_vgridshift.cpp geodesic.c \ - strtod.cpp math.cpp \ + strtod.cpp \ \ 4D_api.cpp pipeline.cpp \ internal.cpp \ diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake index d1d6f766..f414e955 100644 --- a/src/lib_proj.cmake +++ b/src/lib_proj.cmake @@ -249,7 +249,6 @@ set(SRC_LIBPROJ_CORE list.cpp log.cpp malloc.cpp - math.cpp mlfn.cpp msfn.cpp mutex.cpp diff --git a/src/math.cpp b/src/math.cpp deleted file mode 100644 index 90d35001..00000000 --- a/src/math.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/****************************************************************************** - * Project: PROJ - * Purpose: Make C99 math functions available on C89 systems - * Author: Kristian Evers - * - ****************************************************************************** - * Copyright (c) 2018, Kristian Evers - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - *****************************************************************************/ - -#include "proj_math.h" - -/* pj_isnan is used in gie.c which means that is has to */ -/* be exported in the Windows DLL and therefore needs */ -/* to be declared even though we have isnan() on the */ -/* system. */ - -#ifdef HAVE_C99_MATH -int pj_isnan (double x); -#endif - -/* Returns 0 if not a NaN and non-zero if val is a NaN */ -int pj_isnan (double x) { - /* cppcheck-suppress duplicateExpression */ - return x != x; -} diff --git a/src/proj_math.h b/src/proj_math.h index 698654dd..ac7fc51d 100644 --- a/src/proj_math.h +++ b/src/proj_math.h @@ -1,6 +1,6 @@ /****************************************************************************** * Project: PROJ - * Purpose: Make C99 math functions available on C89 systems + * Purpose: Math support for PROJ -- now provided by system libraries * Author: Kristian Evers * ****************************************************************************** @@ -31,48 +31,4 @@ #include <math.h> #include <limits.h> -#ifdef __cplusplus -extern "C" { -#endif - -#if !(defined(HAVE_C99_MATH) && HAVE_C99_MATH) - -#ifndef PROJ_DLL -#ifdef PROJ_MSVC_DLL_EXPORT -#define PROJ_DLL __declspec(dllexport) -#elif defined(PROJ_MSVC_DLL_IMPORT) -#define PROJ_DLL __declspec(dllimport) -#elif defined(__GNUC__) -#define PROJ_DLL __attribute__ ((visibility("default"))) -#else -#define PROJ_DLL -#endif -#endif - -#ifdef PROJ_RENAME_SYMBOLS -#include "proj_symbol_rename.h" -#endif - -#ifndef NAN -#ifdef _WIN32 -#define NAN sqrt(-1.0) -#else -#define NAN 0.0/0.0 -#endif -#endif - -int PROJ_DLL pj_isnan(double x); - -#ifdef isnan -#undef isnan -#endif - -#define isnan pj_isnan - -#endif /* !(defined(HAVE_C99_MATH) && HAVE_C99_MATH) */ - -#ifdef __cplusplus -} -#endif - #endif /* PROJ_MATH_H */ |
