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