temporarily disable elisp exception tests
[bpt/guile.git] / m4 / math_h.m4
CommitLineData
af07e104 1# math_h.m4 serial 114
5e69ceb7 2dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
2e65b52f
LC
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_MATH_H],
8[
9 AC_REQUIRE([gl_MATH_H_DEFAULTS])
10 gl_CHECK_NEXT_HEADERS([math.h])
2e65b52f
LC
11
12 AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
13 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
14 [[/* Solaris 10 has a broken definition of NAN. Other platforms
15 fail to provide NAN, or provide it only in C99 mode; this
16 test only needs to fail when NAN is provided but wrong. */
17 float f = 1.0f;
18#ifdef NAN
19 f = NAN;
20#endif
21 return f == 0;]])],
22 [gl_cv_header_math_nan_works=yes],
23 [gl_cv_header_math_nan_works=no])])
24 if test $gl_cv_header_math_nan_works = no; then
25 REPLACE_NAN=1
26 fi
27 AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
28 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
29 [[/* Solaris 10 has a broken definition of HUGE_VAL. */
30 double d = HUGE_VAL;
31 return d == 0;]])],
32 [gl_cv_header_math_huge_val_works=yes],
33 [gl_cv_header_math_huge_val_works=no])])
34 if test $gl_cv_header_math_huge_val_works = no; then
35 REPLACE_HUGE_VAL=1
36 fi
37
38 dnl Check for declarations of anything we want to poison if the
39 dnl corresponding gnulib module is not in use.
35428fb6
LC
40 gl_WARN_ON_USE_PREPARE([[#include <math.h>]],
41 [acosf acosl asinf asinl atanf atanl
005de2e8
LC
42 cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf
43 expf expl exp2 exp2f exp2l expm1 expm1f expm1l
44 fabsf fabsl floorf floorl fma fmaf fmal
45 fmod fmodf fmodl frexpf frexpl hypotf hypotl
46 ilogb ilogbf ilogbl
47 ldexpf ldexpl
48 log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l
49 logb logbf logbl
50 modf modff modfl powf
51 remainder remainderf remainderl
35428fb6
LC
52 rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
53 tanf tanl tanhf trunc truncf truncl])
2e65b52f
LC
54])
55
56AC_DEFUN([gl_MATH_MODULE_INDICATOR],
57[
58 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
59 AC_REQUIRE([gl_MATH_H_DEFAULTS])
60 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
61 dnl Define it also as a C macro, for the benefit of the unit tests.
62 gl_MODULE_INDICATOR_FOR_TESTS([$1])
63])
64
65AC_DEFUN([gl_MATH_H_DEFAULTS],
66[
005de2e8
LC
67 GNULIB_ACOSF=0; AC_SUBST([GNULIB_ACOSF])
68 GNULIB_ACOSL=0; AC_SUBST([GNULIB_ACOSL])
69 GNULIB_ASINF=0; AC_SUBST([GNULIB_ASINF])
70 GNULIB_ASINL=0; AC_SUBST([GNULIB_ASINL])
71 GNULIB_ATANF=0; AC_SUBST([GNULIB_ATANF])
72 GNULIB_ATANL=0; AC_SUBST([GNULIB_ATANL])
73 GNULIB_ATAN2F=0; AC_SUBST([GNULIB_ATAN2F])
74 GNULIB_CBRT=0; AC_SUBST([GNULIB_CBRT])
75 GNULIB_CBRTF=0; AC_SUBST([GNULIB_CBRTF])
76 GNULIB_CBRTL=0; AC_SUBST([GNULIB_CBRTL])
77 GNULIB_CEIL=0; AC_SUBST([GNULIB_CEIL])
78 GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF])
79 GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL])
80 GNULIB_COPYSIGN=0; AC_SUBST([GNULIB_COPYSIGN])
81 GNULIB_COPYSIGNF=0; AC_SUBST([GNULIB_COPYSIGNF])
82 GNULIB_COPYSIGNL=0; AC_SUBST([GNULIB_COPYSIGNL])
83 GNULIB_COSF=0; AC_SUBST([GNULIB_COSF])
84 GNULIB_COSL=0; AC_SUBST([GNULIB_COSL])
85 GNULIB_COSHF=0; AC_SUBST([GNULIB_COSHF])
86 GNULIB_EXPF=0; AC_SUBST([GNULIB_EXPF])
87 GNULIB_EXPL=0; AC_SUBST([GNULIB_EXPL])
88 GNULIB_EXP2=0; AC_SUBST([GNULIB_EXP2])
89 GNULIB_EXP2F=0; AC_SUBST([GNULIB_EXP2F])
90 GNULIB_EXP2L=0; AC_SUBST([GNULIB_EXP2L])
91 GNULIB_EXPM1=0; AC_SUBST([GNULIB_EXPM1])
92 GNULIB_EXPM1F=0; AC_SUBST([GNULIB_EXPM1F])
93 GNULIB_EXPM1L=0; AC_SUBST([GNULIB_EXPM1L])
94 GNULIB_FABSF=0; AC_SUBST([GNULIB_FABSF])
95 GNULIB_FABSL=0; AC_SUBST([GNULIB_FABSL])
96 GNULIB_FLOOR=0; AC_SUBST([GNULIB_FLOOR])
97 GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF])
98 GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL])
99 GNULIB_FMA=0; AC_SUBST([GNULIB_FMA])
100 GNULIB_FMAF=0; AC_SUBST([GNULIB_FMAF])
101 GNULIB_FMAL=0; AC_SUBST([GNULIB_FMAL])
102 GNULIB_FMOD=0; AC_SUBST([GNULIB_FMOD])
103 GNULIB_FMODF=0; AC_SUBST([GNULIB_FMODF])
104 GNULIB_FMODL=0; AC_SUBST([GNULIB_FMODL])
105 GNULIB_FREXPF=0; AC_SUBST([GNULIB_FREXPF])
106 GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP])
107 GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL])
108 GNULIB_HYPOT=0; AC_SUBST([GNULIB_HYPOT])
109 GNULIB_HYPOTF=0; AC_SUBST([GNULIB_HYPOTF])
110 GNULIB_HYPOTL=0; AC_SUBST([GNULIB_HYPOTL])
111 GNULIB_ILOGB=0; AC_SUBST([GNULIB_ILOGB])
112 GNULIB_ILOGBF=0; AC_SUBST([GNULIB_ILOGBF])
113 GNULIB_ILOGBL=0; AC_SUBST([GNULIB_ILOGBL])
114 GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE])
115 GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF])
116 GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN])
117 GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF])
118 GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND])
119 GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL])
120 GNULIB_LDEXPF=0; AC_SUBST([GNULIB_LDEXPF])
121 GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL])
122 GNULIB_LOG=0; AC_SUBST([GNULIB_LOG])
123 GNULIB_LOGF=0; AC_SUBST([GNULIB_LOGF])
124 GNULIB_LOGL=0; AC_SUBST([GNULIB_LOGL])
125 GNULIB_LOG10=0; AC_SUBST([GNULIB_LOG10])
126 GNULIB_LOG10F=0; AC_SUBST([GNULIB_LOG10F])
127 GNULIB_LOG10L=0; AC_SUBST([GNULIB_LOG10L])
128 GNULIB_LOG1P=0; AC_SUBST([GNULIB_LOG1P])
129 GNULIB_LOG1PF=0; AC_SUBST([GNULIB_LOG1PF])
130 GNULIB_LOG1PL=0; AC_SUBST([GNULIB_LOG1PL])
131 GNULIB_LOG2=0; AC_SUBST([GNULIB_LOG2])
132 GNULIB_LOG2F=0; AC_SUBST([GNULIB_LOG2F])
133 GNULIB_LOG2L=0; AC_SUBST([GNULIB_LOG2L])
134 GNULIB_LOGB=0; AC_SUBST([GNULIB_LOGB])
135 GNULIB_LOGBF=0; AC_SUBST([GNULIB_LOGBF])
136 GNULIB_LOGBL=0; AC_SUBST([GNULIB_LOGBL])
137 GNULIB_MODF=0; AC_SUBST([GNULIB_MODF])
138 GNULIB_MODFF=0; AC_SUBST([GNULIB_MODFF])
139 GNULIB_MODFL=0; AC_SUBST([GNULIB_MODFL])
140 GNULIB_POWF=0; AC_SUBST([GNULIB_POWF])
141 GNULIB_REMAINDER=0; AC_SUBST([GNULIB_REMAINDER])
142 GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF])
143 GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL])
144 GNULIB_RINT=0; AC_SUBST([GNULIB_RINT])
145 GNULIB_RINTF=0; AC_SUBST([GNULIB_RINTF])
146 GNULIB_RINTL=0; AC_SUBST([GNULIB_RINTL])
147 GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND])
148 GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF])
149 GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL])
150 GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT])
151 GNULIB_SINF=0; AC_SUBST([GNULIB_SINF])
152 GNULIB_SINL=0; AC_SUBST([GNULIB_SINL])
153 GNULIB_SINHF=0; AC_SUBST([GNULIB_SINHF])
154 GNULIB_SQRTF=0; AC_SUBST([GNULIB_SQRTF])
155 GNULIB_SQRTL=0; AC_SUBST([GNULIB_SQRTL])
156 GNULIB_TANF=0; AC_SUBST([GNULIB_TANF])
157 GNULIB_TANL=0; AC_SUBST([GNULIB_TANL])
158 GNULIB_TANHF=0; AC_SUBST([GNULIB_TANHF])
159 GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC])
160 GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF])
161 GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL])
2e65b52f 162 dnl Assume proper GNU behavior unless another module says otherwise.
35428fb6 163 HAVE_ACOSF=1; AC_SUBST([HAVE_ACOSF])
2e65b52f 164 HAVE_ACOSL=1; AC_SUBST([HAVE_ACOSL])
35428fb6 165 HAVE_ASINF=1; AC_SUBST([HAVE_ASINF])
2e65b52f 166 HAVE_ASINL=1; AC_SUBST([HAVE_ASINL])
35428fb6 167 HAVE_ATANF=1; AC_SUBST([HAVE_ATANF])
2e65b52f 168 HAVE_ATANL=1; AC_SUBST([HAVE_ATANL])
35428fb6 169 HAVE_ATAN2F=1; AC_SUBST([HAVE_ATAN2F])
005de2e8
LC
170 HAVE_CBRT=1; AC_SUBST([HAVE_CBRT])
171 HAVE_CBRTF=1; AC_SUBST([HAVE_CBRTF])
172 HAVE_CBRTL=1; AC_SUBST([HAVE_CBRTL])
35428fb6 173 HAVE_COPYSIGN=1; AC_SUBST([HAVE_COPYSIGN])
35428fb6
LC
174 HAVE_COPYSIGNL=1; AC_SUBST([HAVE_COPYSIGNL])
175 HAVE_COSF=1; AC_SUBST([HAVE_COSF])
2e65b52f 176 HAVE_COSL=1; AC_SUBST([HAVE_COSL])
35428fb6
LC
177 HAVE_COSHF=1; AC_SUBST([HAVE_COSHF])
178 HAVE_EXPF=1; AC_SUBST([HAVE_EXPF])
2e65b52f 179 HAVE_EXPL=1; AC_SUBST([HAVE_EXPL])
005de2e8
LC
180 HAVE_EXPM1=1; AC_SUBST([HAVE_EXPM1])
181 HAVE_EXPM1F=1; AC_SUBST([HAVE_EXPM1F])
35428fb6 182 HAVE_FABSF=1; AC_SUBST([HAVE_FABSF])
005de2e8 183 HAVE_FABSL=1; AC_SUBST([HAVE_FABSL])
7f1ea859
LC
184 HAVE_FMA=1; AC_SUBST([HAVE_FMA])
185 HAVE_FMAF=1; AC_SUBST([HAVE_FMAF])
186 HAVE_FMAL=1; AC_SUBST([HAVE_FMAL])
35428fb6 187 HAVE_FMODF=1; AC_SUBST([HAVE_FMODF])
005de2e8 188 HAVE_FMODL=1; AC_SUBST([HAVE_FMODL])
35428fb6 189 HAVE_FREXPF=1; AC_SUBST([HAVE_FREXPF])
005de2e8
LC
190 HAVE_HYPOTF=1; AC_SUBST([HAVE_HYPOTF])
191 HAVE_HYPOTL=1; AC_SUBST([HAVE_HYPOTL])
192 HAVE_ILOGB=1; AC_SUBST([HAVE_ILOGB])
193 HAVE_ILOGBF=1; AC_SUBST([HAVE_ILOGBF])
194 HAVE_ILOGBL=1; AC_SUBST([HAVE_ILOGBL])
2e65b52f
LC
195 HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF])
196 HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND])
197 HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL])
35428fb6
LC
198 HAVE_LDEXPF=1; AC_SUBST([HAVE_LDEXPF])
199 HAVE_LOGF=1; AC_SUBST([HAVE_LOGF])
2e65b52f 200 HAVE_LOGL=1; AC_SUBST([HAVE_LOGL])
35428fb6 201 HAVE_LOG10F=1; AC_SUBST([HAVE_LOG10F])
005de2e8
LC
202 HAVE_LOG10L=1; AC_SUBST([HAVE_LOG10L])
203 HAVE_LOG1P=1; AC_SUBST([HAVE_LOG1P])
204 HAVE_LOG1PF=1; AC_SUBST([HAVE_LOG1PF])
205 HAVE_LOG1PL=1; AC_SUBST([HAVE_LOG1PL])
206 HAVE_LOGBF=1; AC_SUBST([HAVE_LOGBF])
207 HAVE_LOGBL=1; AC_SUBST([HAVE_LOGBL])
35428fb6 208 HAVE_MODFF=1; AC_SUBST([HAVE_MODFF])
005de2e8 209 HAVE_MODFL=1; AC_SUBST([HAVE_MODFL])
35428fb6 210 HAVE_POWF=1; AC_SUBST([HAVE_POWF])
005de2e8
LC
211 HAVE_REMAINDER=1; AC_SUBST([HAVE_REMAINDER])
212 HAVE_REMAINDERF=1; AC_SUBST([HAVE_REMAINDERF])
35428fb6 213 HAVE_RINT=1; AC_SUBST([HAVE_RINT])
35428fb6
LC
214 HAVE_RINTL=1; AC_SUBST([HAVE_RINTL])
215 HAVE_SINF=1; AC_SUBST([HAVE_SINF])
2e65b52f 216 HAVE_SINL=1; AC_SUBST([HAVE_SINL])
35428fb6
LC
217 HAVE_SINHF=1; AC_SUBST([HAVE_SINHF])
218 HAVE_SQRTF=1; AC_SUBST([HAVE_SQRTF])
2e65b52f 219 HAVE_SQRTL=1; AC_SUBST([HAVE_SQRTL])
35428fb6 220 HAVE_TANF=1; AC_SUBST([HAVE_TANF])
2e65b52f 221 HAVE_TANL=1; AC_SUBST([HAVE_TANL])
35428fb6 222 HAVE_TANHF=1; AC_SUBST([HAVE_TANHF])
2e65b52f
LC
223 HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL])
224 HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL])
225 HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL])
005de2e8
LC
226 HAVE_DECL_CBRTF=1; AC_SUBST([HAVE_DECL_CBRTF])
227 HAVE_DECL_CBRTL=1; AC_SUBST([HAVE_DECL_CBRTL])
2e65b52f
LC
228 HAVE_DECL_CEILF=1; AC_SUBST([HAVE_DECL_CEILF])
229 HAVE_DECL_CEILL=1; AC_SUBST([HAVE_DECL_CEILL])
005de2e8 230 HAVE_DECL_COPYSIGNF=1; AC_SUBST([HAVE_DECL_COPYSIGNF])
2e65b52f
LC
231 HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL])
232 HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL])
005de2e8
LC
233 HAVE_DECL_EXP2=1; AC_SUBST([HAVE_DECL_EXP2])
234 HAVE_DECL_EXP2F=1; AC_SUBST([HAVE_DECL_EXP2F])
235 HAVE_DECL_EXP2L=1; AC_SUBST([HAVE_DECL_EXP2L])
236 HAVE_DECL_EXPM1L=1; AC_SUBST([HAVE_DECL_EXPM1L])
2e65b52f
LC
237 HAVE_DECL_FLOORF=1; AC_SUBST([HAVE_DECL_FLOORF])
238 HAVE_DECL_FLOORL=1; AC_SUBST([HAVE_DECL_FLOORL])
239 HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL])
240 HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL])
2e65b52f 241 HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL])
005de2e8
LC
242 HAVE_DECL_LOG10L=1; AC_SUBST([HAVE_DECL_LOG10L])
243 HAVE_DECL_LOG2=1; AC_SUBST([HAVE_DECL_LOG2])
244 HAVE_DECL_LOG2F=1; AC_SUBST([HAVE_DECL_LOG2F])
245 HAVE_DECL_LOG2L=1; AC_SUBST([HAVE_DECL_LOG2L])
246 HAVE_DECL_LOGB=1; AC_SUBST([HAVE_DECL_LOGB])
247 HAVE_DECL_REMAINDER=1; AC_SUBST([HAVE_DECL_REMAINDER])
248 HAVE_DECL_REMAINDERL=1; AC_SUBST([HAVE_DECL_REMAINDERL])
249 HAVE_DECL_RINTF=1; AC_SUBST([HAVE_DECL_RINTF])
2e65b52f
LC
250 HAVE_DECL_ROUND=1; AC_SUBST([HAVE_DECL_ROUND])
251 HAVE_DECL_ROUNDF=1; AC_SUBST([HAVE_DECL_ROUNDF])
252 HAVE_DECL_ROUNDL=1; AC_SUBST([HAVE_DECL_ROUNDL])
253 HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL])
254 HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL])
255 HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL])
256 HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC])
257 HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF])
258 HAVE_DECL_TRUNCL=1; AC_SUBST([HAVE_DECL_TRUNCL])
005de2e8
LC
259 REPLACE_CBRTF=0; AC_SUBST([REPLACE_CBRTF])
260 REPLACE_CBRTL=0; AC_SUBST([REPLACE_CBRTL])
49114fd4 261 REPLACE_CEIL=0; AC_SUBST([REPLACE_CEIL])
2e65b52f
LC
262 REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF])
263 REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL])
005de2e8
LC
264 REPLACE_EXPM1=0; AC_SUBST([REPLACE_EXPM1])
265 REPLACE_EXPM1F=0; AC_SUBST([REPLACE_EXPM1F])
266 REPLACE_EXP2=0; AC_SUBST([REPLACE_EXP2])
267 REPLACE_EXP2L=0; AC_SUBST([REPLACE_EXP2L])
268 REPLACE_FABSL=0; AC_SUBST([REPLACE_FABSL])
49114fd4 269 REPLACE_FLOOR=0; AC_SUBST([REPLACE_FLOOR])
2e65b52f
LC
270 REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF])
271 REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL])
7f1ea859
LC
272 REPLACE_FMA=0; AC_SUBST([REPLACE_FMA])
273 REPLACE_FMAF=0; AC_SUBST([REPLACE_FMAF])
274 REPLACE_FMAL=0; AC_SUBST([REPLACE_FMAL])
005de2e8
LC
275 REPLACE_FMOD=0; AC_SUBST([REPLACE_FMOD])
276 REPLACE_FMODF=0; AC_SUBST([REPLACE_FMODF])
277 REPLACE_FMODL=0; AC_SUBST([REPLACE_FMODL])
35428fb6 278 REPLACE_FREXPF=0; AC_SUBST([REPLACE_FREXPF])
2e65b52f
LC
279 REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP])
280 REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL])
281 REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL])
005de2e8
LC
282 REPLACE_HYPOT=0; AC_SUBST([REPLACE_HYPOT])
283 REPLACE_HYPOTF=0; AC_SUBST([REPLACE_HYPOTF])
284 REPLACE_HYPOTL=0; AC_SUBST([REPLACE_HYPOTL])
285 REPLACE_ILOGB=0; AC_SUBST([REPLACE_ILOGB])
286 REPLACE_ILOGBF=0; AC_SUBST([REPLACE_ILOGBF])
2e65b52f
LC
287 REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE])
288 REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF])
289 REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN])
290 REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL])
005de2e8
LC
291 REPLACE_LOG=0; AC_SUBST([REPLACE_LOG])
292 REPLACE_LOGF=0; AC_SUBST([REPLACE_LOGF])
293 REPLACE_LOGL=0; AC_SUBST([REPLACE_LOGL])
294 REPLACE_LOG10=0; AC_SUBST([REPLACE_LOG10])
295 REPLACE_LOG10F=0; AC_SUBST([REPLACE_LOG10F])
296 REPLACE_LOG10L=0; AC_SUBST([REPLACE_LOG10L])
297 REPLACE_LOG1P=0; AC_SUBST([REPLACE_LOG1P])
298 REPLACE_LOG1PF=0; AC_SUBST([REPLACE_LOG1PF])
299 REPLACE_LOG1PL=0; AC_SUBST([REPLACE_LOG1PL])
300 REPLACE_LOG2=0; AC_SUBST([REPLACE_LOG2])
301 REPLACE_LOG2F=0; AC_SUBST([REPLACE_LOG2F])
302 REPLACE_LOG2L=0; AC_SUBST([REPLACE_LOG2L])
303 REPLACE_LOGB=0; AC_SUBST([REPLACE_LOGB])
304 REPLACE_LOGBF=0; AC_SUBST([REPLACE_LOGBF])
305 REPLACE_LOGBL=0; AC_SUBST([REPLACE_LOGBL])
306 REPLACE_MODF=0; AC_SUBST([REPLACE_MODF])
307 REPLACE_MODFF=0; AC_SUBST([REPLACE_MODFF])
308 REPLACE_MODFL=0; AC_SUBST([REPLACE_MODFL])
2e65b52f 309 REPLACE_NAN=0; AC_SUBST([REPLACE_NAN])
005de2e8
LC
310 REPLACE_REMAINDER=0; AC_SUBST([REPLACE_REMAINDER])
311 REPLACE_REMAINDERF=0; AC_SUBST([REPLACE_REMAINDERF])
312 REPLACE_REMAINDERL=0; AC_SUBST([REPLACE_REMAINDERL])
2e65b52f
LC
313 REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND])
314 REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF])
315 REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL])
316 REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT])
317 REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
005de2e8 318 REPLACE_SQRTL=0; AC_SUBST([REPLACE_SQRTL])
49114fd4
LC
319 REPLACE_TRUNC=0; AC_SUBST([REPLACE_TRUNC])
320 REPLACE_TRUNCF=0; AC_SUBST([REPLACE_TRUNCF])
2e65b52f
LC
321 REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL])
322])
35428fb6
LC
323
324# gl_LONG_DOUBLE_VS_DOUBLE
325# determines whether 'long double' and 'double' have the same representation.
326# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
327# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
328# The currently known platforms where this is the case are:
329# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
330AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
331[
332 AC_CACHE_CHECK([whether long double and double are the same],
333 [gl_cv_long_double_equals_double],
334 [AC_COMPILE_IFELSE(
335 [AC_LANG_PROGRAM([[#include <float.h>]],
336 [[typedef int check[sizeof (long double) == sizeof (double)
337 && LDBL_MANT_DIG == DBL_MANT_DIG
338 && LDBL_MAX_EXP == DBL_MAX_EXP
339 && LDBL_MIN_EXP == DBL_MIN_EXP
340 ? 1 : -1];
341 ]])],
342 [gl_cv_long_double_equals_double=yes],
343 [gl_cv_long_double_equals_double=no])
344 ])
345 if test $gl_cv_long_double_equals_double = yes; then
346 AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1],
347 [Define to 1 if 'long double' and 'double' have the same representation.])
348 HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
349 else
350 HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
351 fi
352 AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE])
353])