aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorCharles Karney <charles.karney@sri.com>2019-09-17 10:29:53 -0400
committerCharles Karney <charles.karney@sri.com>2019-09-17 10:29:53 -0400
commit5fe21c3e2b88e8248c79311401db03124e88bc52 (patch)
treedbf302a888dd4aa286af6f4d5a504752632e1da5 /CMakeLists.txt
parentd2f661fc99615a33d72bb0120a14bca2aaced221 (diff)
downloadPROJ-5fe21c3e2b88e8248c79311401db03124e88bc52.tar.gz
PROJ-5fe21c3e2b88e8248c79311401db03124e88bc52.zip
Add atanh, copysign, cbrt, remainder, remquo to math.cpp.
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.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt10
1 files changed, 5 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d44d20ce..55722f91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -139,11 +139,11 @@ check_c_source_compiles("
#include <math.h>
int main() {
int q;
- return (int)(
- hypot(3.0, 4.0) + atanh(0.8) + cbrt(8.0) +
- remquo(100.0, 90.0, &q) +
- remainder(100.0, 90.0) + copysign(1.0, -0.0) +
- log1p(0.1) + asinh(0.1)) + isnan(0.0);
+ return (int)(hypot(3.0, 4.0) + log1p(2.0) + asinh(10.0) +
+ atanh(0.8) + cbrt(8.0) + remquo(100.0, 90.0, &q) +
+ remainder(100.0, 90.0) + copysign(1.0, -0.0) +
+ round(3.5)) +
+ (int)(lround(-3.5)) + isnan(0.0);
}
" C99_MATH)
if(C99_MATH)