mbrtoc16: Fix undefined behaviour.
[gnulib.git] / lib / math.in.h
blob89bd9ae6430e6ab256f6684c0cdc21b05b73996d
1 /* A GNU-like <math.h>.
3 Copyright (C) 2002-2003, 2007-2024 Free Software Foundation, Inc.
5 This file is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as
7 published by the Free Software Foundation; either version 2.1 of the
8 License, or (at your option) any later version.
10 This file is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */
18 /* On Android, in C++ mode, when /usr/include/c++/v1/math.h is being included
19 and /usr/include/math.h has not yet been included, skip this file, since it
20 would lead to many syntax errors. */
21 #if !(defined __ANDROID__ && defined _LIBCPP_MATH_H && !defined INFINITY)
23 #ifndef _@GUARD_PREFIX@_MATH_H
25 #if __GNUC__ >= 3
26 @PRAGMA_SYSTEM_HEADER@
27 #endif
28 @PRAGMA_COLUMNS@
30 #if defined _GL_INCLUDING_MATH_H
31 /* Special invocation convention:
32 - On FreeBSD 12.2 we have a sequence of nested includes
33 <math.h> -> <stdlib.h> -> <sys/wait.h> -> <sys/types.h> -> <sys/select.h>
34 -> <signal.h> -> <pthread.h> -> <stdlib.h> -> <math.h>
35 In this situation, the functions are not yet declared, therefore we cannot
36 provide the C++ aliases. */
38 #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
40 #else
41 /* Normal invocation convention. */
43 /* The include_next requires a split double-inclusion guard. */
44 #define _GL_INCLUDING_MATH_H
45 #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
46 #undef _GL_INCLUDING_MATH_H
48 #ifndef _@GUARD_PREFIX@_MATH_H
49 #define _@GUARD_PREFIX@_MATH_H
51 /* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, _GL_ATTRIBUTE_CONST,
52 GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */
53 #if !_GL_CONFIG_H_INCLUDED
54 #error "Please include config.h first."
55 #endif
57 /* On OpenVMS, NAN, INFINITY, and HUGEVAL macros are defined in <fp.h>. */
58 #if defined __VMS && ! defined NAN
59 # include <fp.h>
60 #endif
62 _GL_INLINE_HEADER_BEGIN
63 #ifndef _GL_MATH_INLINE
64 # define _GL_MATH_INLINE _GL_INLINE
65 #endif
67 /* The __attribute__ feature is available in gcc versions 2.5 and later.
68 The attribute __const__ was added in gcc 2.95. */
69 #ifndef _GL_ATTRIBUTE_CONST
70 # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) || defined __clang__
71 # define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
72 # else
73 # define _GL_ATTRIBUTE_CONST /* empty */
74 # endif
75 #endif
77 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
79 /* The definition of _GL_ARG_NONNULL is copied here. */
81 /* The definition of _GL_WARN_ON_USE is copied here. */
83 #ifdef __cplusplus
84 /* Helper macros to define type-generic function FUNC as overloaded functions,
85 rather than as macros like in C. POSIX declares these with an argument of
86 real-floating (that is, one of float, double, or long double). */
87 # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
88 static inline int \
89 _gl_cxx_ ## func ## f (float f) \
90 { \
91 return func (f); \
92 } \
93 static inline int \
94 _gl_cxx_ ## func ## d (double d) \
95 { \
96 return func (d); \
97 } \
98 static inline int \
99 _gl_cxx_ ## func ## l (long double l) \
101 return func (l); \
103 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func,rpl_func,rettype) \
104 _GL_BEGIN_NAMESPACE \
105 inline rettype \
106 rpl_func (float f) \
108 return _gl_cxx_ ## func ## f (f); \
110 inline rettype \
111 rpl_func (double d) \
113 return _gl_cxx_ ## func ## d (d); \
115 inline rettype \
116 rpl_func (long double l) \
118 return _gl_cxx_ ## func ## l (l); \
120 _GL_END_NAMESPACE
121 #endif
123 /* Helper macros to define a portability warning for the
124 classification macro FUNC called with VALUE. POSIX declares the
125 classification macros with an argument of real-floating (that is,
126 one of float, double, or long double). */
127 #define _GL_WARN_REAL_FLOATING_DECL(func) \
128 _GL_MATH_INLINE int \
129 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \
130 "use gnulib module " #func " for portability") \
131 rpl_ ## func ## f (float f) \
133 return func (f); \
135 _GL_MATH_INLINE int \
136 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \
137 "use gnulib module " #func " for portability") \
138 rpl_ ## func ## d (double d) \
140 return func (d); \
142 _GL_MATH_INLINE int \
143 _GL_WARN_ON_USE_ATTRIBUTE (#func " is unportable - " \
144 "use gnulib module " #func " for portability") \
145 rpl_ ## func ## l (long double l) \
147 return func (l); \
149 #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
150 (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \
151 : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \
152 : rpl_ ## func ## l (value))
155 #if @REPLACE_ITOLD@
156 /* Pull in a function that fixes the 'int' to 'long double' conversion
157 of glibc 2.7. */
158 _GL_EXTERN_C void _Qp_itoq (long double *, int);
159 static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
160 #endif
163 /* Ensure that INFINITY is a constant expression, of type 'float'. */
164 #if !defined INFINITY || (defined __FreeBSD__ && __FreeBSD__ < 8) || defined _AIX || defined __MINGW32__
165 # undef INFINITY
166 # if defined __GNUC__ || defined __clang__
167 # define INFINITY (__builtin_inff ())
168 # else
169 # define INFINITY (1.0f / 0.0f)
170 # endif
171 #endif
173 /* POSIX allows platforms that don't support NAN. But all major
174 machines in the past 15 years have supported something close to
175 IEEE NaN, so we define this unconditionally. We also must define
176 it on platforms like Solaris 10, where NAN is present but defined
177 as a function pointer rather than a floating point constant.
178 Also ensure that it is a constant expression, of type 'float'. */
179 #if !defined NAN || @REPLACE_NAN@ || (defined __FreeBSD__ && __FreeBSD__ < 8) || defined _AIX || defined __MINGW32__
180 # if !GNULIB_defined_NAN
181 # undef NAN
182 /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
183 choke on the expression 0.0 / 0.0. */
184 # if defined __DECC || defined _MSC_VER
185 _GL_MATH_INLINE float
186 _NaN ()
188 static float zero = 0.0f;
189 return zero / zero;
191 # define NAN (_NaN())
192 # elif defined __GNUC__ || defined __clang__
193 # define NAN (__builtin_nanf (""))
194 # else
195 # define NAN (0.0f / 0.0f)
196 # endif
197 # define GNULIB_defined_NAN 1
198 # endif
199 #endif
201 /* Solaris 10 defines HUGE_VAL, but as a function pointer rather
202 than a floating point constant. */
203 #if @REPLACE_HUGE_VAL@
204 # undef HUGE_VALF
205 # define HUGE_VALF (1.0f / 0.0f)
206 # undef HUGE_VAL
207 # define HUGE_VAL (1.0 / 0.0)
208 # undef HUGE_VALL
209 # define HUGE_VALL (1.0L / 0.0L)
210 #endif
212 /* HUGE_VALF is a 'float' Infinity. */
213 #if !defined HUGE_VALF || (defined __FreeBSD__ && __FreeBSD__ < 6)
214 # undef HUGE_VALF
215 # if defined _MSC_VER
216 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */
217 # define HUGE_VALF (1e25f * 1e25f)
218 # elif defined __GNUC__ || defined __clang__
219 # define HUGE_VALF (__builtin_inff ())
220 # else
221 # define HUGE_VALF (1.0f / 0.0f)
222 # endif
223 #endif
225 /* HUGE_VAL is a 'double' Infinity. */
226 #if !defined HUGE_VAL || (defined __FreeBSD__ && __FreeBSD__ < 6) || defined _AIX
227 # undef HUGE_VAL
228 # if defined _MSC_VER
229 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */
230 # define HUGE_VAL (1e250 * 1e250)
231 # elif defined __GNUC__ || defined __clang__
232 # define HUGE_VAL (__builtin_inf ())
233 # else
234 # define HUGE_VAL (1.0 / 0.0)
235 # endif
236 #endif
238 /* HUGE_VALL is a 'long double' Infinity. */
239 #if !defined HUGE_VALL || (defined __FreeBSD__ && __FreeBSD__ < 6) || defined _AIX
240 # undef HUGE_VALL
241 # if defined _MSC_VER
242 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */
243 # define HUGE_VALL (1e250L * 1e250L)
244 # elif defined __GNUC__ || defined __clang__
245 # define HUGE_VALL (__builtin_infl ())
246 # else
247 # define HUGE_VALL (1.0L / 0.0L)
248 # endif
249 #endif
252 #if !(defined FP_ILOGB0 && defined FP_ILOGBNAN)
253 /* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */
254 # if defined __NetBSD__ || defined __sgi
255 /* NetBSD, IRIX 6.5: match what ilogb() does */
256 # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */
257 # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
258 # elif defined _AIX
259 /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
260 # define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */
261 # define FP_ILOGBNAN 2147483647 /* INT_MAX */
262 # elif defined __sun
263 /* Solaris 9: match what ilogb() does */
264 # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
265 # define FP_ILOGBNAN 2147483647 /* INT_MAX */
266 # else
267 /* Gnulib defined values. */
268 # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
269 # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
270 # endif
271 #endif
274 #if @GNULIB_ACOSF@
275 # if @REPLACE_ACOSF@
276 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
277 # undef acosf
278 # define acosf rpl_acosf
279 # endif
280 _GL_FUNCDECL_RPL (acosf, float, (float x));
281 _GL_CXXALIAS_RPL (acosf, float, (float x));
282 # else
283 # if !@HAVE_ACOSF@
284 # undef acosf
285 _GL_FUNCDECL_SYS (acosf, float, (float x));
286 # endif
287 _GL_CXXALIAS_SYS (acosf, float, (float x));
288 # endif
289 _GL_CXXALIASWARN (acosf);
290 #elif defined GNULIB_POSIXCHECK
291 # undef acosf
292 # if HAVE_RAW_DECL_ACOSF
293 _GL_WARN_ON_USE (acosf, "acosf is unportable - "
294 "use gnulib module acosf for portability");
295 # endif
296 #endif
298 #if @GNULIB_ACOSL@
299 # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@
300 # undef acosl
301 _GL_FUNCDECL_SYS (acosl, long double, (long double x));
302 # endif
303 _GL_CXXALIAS_SYS (acosl, long double, (long double x));
304 # if __GLIBC__ >= 2
305 _GL_CXXALIASWARN (acosl);
306 # endif
307 #elif defined GNULIB_POSIXCHECK
308 # undef acosl
309 # if HAVE_RAW_DECL_ACOSL
310 _GL_WARN_ON_USE (acosl, "acosl is unportable - "
311 "use gnulib module acosl for portability");
312 # endif
313 #endif
316 #if @GNULIB_ASINF@
317 # if @REPLACE_ASINF@
318 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
319 # undef asinf
320 # define asinf rpl_asinf
321 # endif
322 _GL_FUNCDECL_RPL (asinf, float, (float x));
323 _GL_CXXALIAS_RPL (asinf, float, (float x));
324 # else
325 # if !@HAVE_ASINF@
326 # undef asinf
327 _GL_FUNCDECL_SYS (asinf, float, (float x));
328 # endif
329 _GL_CXXALIAS_SYS (asinf, float, (float x));
330 # endif
331 _GL_CXXALIASWARN (asinf);
332 #elif defined GNULIB_POSIXCHECK
333 # undef asinf
334 # if HAVE_RAW_DECL_ASINF
335 _GL_WARN_ON_USE (asinf, "asinf is unportable - "
336 "use gnulib module asinf for portability");
337 # endif
338 #endif
340 #if @GNULIB_ASINL@
341 # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@
342 # undef asinl
343 _GL_FUNCDECL_SYS (asinl, long double, (long double x));
344 # endif
345 _GL_CXXALIAS_SYS (asinl, long double, (long double x));
346 # if __GLIBC__ >= 2
347 _GL_CXXALIASWARN (asinl);
348 # endif
349 #elif defined GNULIB_POSIXCHECK
350 # undef asinl
351 # if HAVE_RAW_DECL_ASINL
352 _GL_WARN_ON_USE (asinl, "asinl is unportable - "
353 "use gnulib module asinl for portability");
354 # endif
355 #endif
358 #if @GNULIB_ATANF@
359 # if @REPLACE_ATANF@
360 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
361 # undef atanf
362 # define atanf rpl_atanf
363 # endif
364 _GL_FUNCDECL_RPL (atanf, float, (float x));
365 _GL_CXXALIAS_RPL (atanf, float, (float x));
366 # else
367 # if !@HAVE_ATANF@
368 # undef atanf
369 _GL_FUNCDECL_SYS (atanf, float, (float x));
370 # endif
371 _GL_CXXALIAS_SYS (atanf, float, (float x));
372 # endif
373 _GL_CXXALIASWARN (atanf);
374 #elif defined GNULIB_POSIXCHECK
375 # undef atanf
376 # if HAVE_RAW_DECL_ATANF
377 _GL_WARN_ON_USE (atanf, "atanf is unportable - "
378 "use gnulib module atanf for portability");
379 # endif
380 #endif
382 #if @GNULIB_ATANL@
383 # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@
384 # undef atanl
385 _GL_FUNCDECL_SYS (atanl, long double, (long double x));
386 # endif
387 _GL_CXXALIAS_SYS (atanl, long double, (long double x));
388 # if __GLIBC__ >= 2
389 _GL_CXXALIASWARN (atanl);
390 # endif
391 #elif defined GNULIB_POSIXCHECK
392 # undef atanl
393 # if HAVE_RAW_DECL_ATANL
394 _GL_WARN_ON_USE (atanl, "atanl is unportable - "
395 "use gnulib module atanl for portability");
396 # endif
397 #endif
400 #if @GNULIB_ATAN2F@
401 # if @REPLACE_ATAN2F@
402 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
403 # undef atan2f
404 # define atan2f rpl_atan2f
405 # endif
406 _GL_FUNCDECL_RPL (atan2f, float, (float y, float x));
407 _GL_CXXALIAS_RPL (atan2f, float, (float y, float x));
408 # else
409 # if !@HAVE_ATAN2F@
410 # undef atan2f
411 _GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
412 # endif
413 _GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
414 # endif
415 _GL_CXXALIASWARN (atan2f);
416 #elif defined GNULIB_POSIXCHECK
417 # undef atan2f
418 # if HAVE_RAW_DECL_ATAN2F
419 _GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
420 "use gnulib module atan2f for portability");
421 # endif
422 #endif
425 #if @GNULIB_CBRTF@
426 # if @REPLACE_CBRTF@
427 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
428 # undef cbrtf
429 # define cbrtf rpl_cbrtf
430 # endif
431 _GL_FUNCDECL_RPL (cbrtf, float, (float x));
432 _GL_CXXALIAS_RPL (cbrtf, float, (float x));
433 # else
434 # if !@HAVE_DECL_CBRTF@
435 _GL_FUNCDECL_SYS (cbrtf, float, (float x));
436 # endif
437 _GL_CXXALIAS_SYS (cbrtf, float, (float x));
438 # endif
439 _GL_CXXALIASWARN (cbrtf);
440 #elif defined GNULIB_POSIXCHECK
441 # undef cbrtf
442 # if HAVE_RAW_DECL_CBRTF
443 _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
444 "use gnulib module cbrtf for portability");
445 # endif
446 #endif
448 #if @GNULIB_CBRT@
449 # if !@HAVE_CBRT@
450 _GL_FUNCDECL_SYS (cbrt, double, (double x));
451 # endif
452 _GL_CXXALIAS_SYS (cbrt, double, (double x));
453 # if __GLIBC__ >= 2
454 _GL_CXXALIASWARN1 (cbrt, double, (double x));
455 # endif
456 #elif defined GNULIB_POSIXCHECK
457 # undef cbrt
458 # if HAVE_RAW_DECL_CBRT
459 _GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
460 "use gnulib module cbrt for portability");
461 # endif
462 #endif
464 #if @GNULIB_CBRTL@
465 # if @REPLACE_CBRTL@
466 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
467 # undef cbrtl
468 # define cbrtl rpl_cbrtl
469 # endif
470 _GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
471 _GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
472 # else
473 # if !@HAVE_DECL_CBRTL@
474 _GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
475 # endif
476 _GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
477 # endif
478 # if __GLIBC__ >= 2
479 _GL_CXXALIASWARN (cbrtl);
480 # endif
481 #elif defined GNULIB_POSIXCHECK
482 # undef cbrtl
483 # if HAVE_RAW_DECL_CBRTL
484 _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
485 "use gnulib module cbrtl for portability");
486 # endif
487 #endif
490 #if @GNULIB_CEILF@
491 # if @REPLACE_CEILF@
492 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
493 # undef ceilf
494 # define ceilf rpl_ceilf
495 # endif
496 _GL_FUNCDECL_RPL (ceilf, float, (float x));
497 _GL_CXXALIAS_RPL (ceilf, float, (float x));
498 # else
499 # if !@HAVE_DECL_CEILF@
500 # undef ceilf
501 _GL_FUNCDECL_SYS (ceilf, float, (float x));
502 # endif
503 _GL_CXXALIAS_SYS (ceilf, float, (float x));
504 # endif
505 _GL_CXXALIASWARN (ceilf);
506 #elif defined GNULIB_POSIXCHECK
507 # undef ceilf
508 # if HAVE_RAW_DECL_CEILF
509 _GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
510 "use gnulib module ceilf for portability");
511 # endif
512 #endif
514 #if @GNULIB_CEIL@
515 # if @REPLACE_CEIL@
516 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
517 # undef ceil
518 # define ceil rpl_ceil
519 # endif
520 _GL_FUNCDECL_RPL (ceil, double, (double x));
521 _GL_CXXALIAS_RPL (ceil, double, (double x));
522 # else
523 _GL_CXXALIAS_SYS (ceil, double, (double x));
524 # endif
525 # if __GLIBC__ >= 2
526 _GL_CXXALIASWARN1 (ceil, double, (double x));
527 # endif
528 #endif
530 #if @GNULIB_CEILL@
531 # if @REPLACE_CEILL@
532 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
533 # undef ceill
534 # define ceill rpl_ceill
535 # endif
536 _GL_FUNCDECL_RPL (ceill, long double, (long double x));
537 _GL_CXXALIAS_RPL (ceill, long double, (long double x));
538 # else
539 # if !@HAVE_DECL_CEILL@
540 # undef ceill
541 _GL_FUNCDECL_SYS (ceill, long double, (long double x));
542 # endif
543 _GL_CXXALIAS_SYS (ceill, long double, (long double x));
544 # endif
545 # if __GLIBC__ >= 2
546 _GL_CXXALIASWARN (ceill);
547 # endif
548 #elif defined GNULIB_POSIXCHECK
549 # undef ceill
550 # if HAVE_RAW_DECL_CEILL
551 _GL_WARN_ON_USE (ceill, "ceill is unportable - "
552 "use gnulib module ceill for portability");
553 # endif
554 #endif
557 #if @GNULIB_COPYSIGNF@
558 # if !@HAVE_DECL_COPYSIGNF@
559 # undef copysignf
560 _GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
561 # endif
562 _GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
563 _GL_CXXALIASWARN (copysignf);
564 #elif defined GNULIB_POSIXCHECK
565 # undef copysignf
566 # if HAVE_RAW_DECL_COPYSIGNF
567 _GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
568 "use gnulib module copysignf for portability");
569 # endif
570 #endif
572 #if @GNULIB_COPYSIGN@
573 # if !@HAVE_COPYSIGN@
574 _GL_FUNCDECL_SYS (copysign, double, (double x, double y));
575 # endif
576 _GL_CXXALIAS_SYS (copysign, double, (double x, double y));
577 # if __GLIBC__ >= 2
578 _GL_CXXALIASWARN1 (copysign, double, (double x, double y));
579 # endif
580 #elif defined GNULIB_POSIXCHECK
581 # undef copysign
582 # if HAVE_RAW_DECL_COPYSIGN
583 _GL_WARN_ON_USE (copysign, "copysign is unportable - "
584 "use gnulib module copysign for portability");
585 # endif
586 #endif
588 #if @GNULIB_COPYSIGNL@
589 # if !@HAVE_COPYSIGNL@
590 _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
591 # endif
592 _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
593 # if __GLIBC__ >= 2
594 _GL_CXXALIASWARN (copysignl);
595 # endif
596 #elif defined GNULIB_POSIXCHECK
597 # undef copysignl
598 # if HAVE_RAW_DECL_COPYSIGNL
599 _GL_WARN_ON_USE (copysign, "copysignl is unportable - "
600 "use gnulib module copysignl for portability");
601 # endif
602 #endif
605 #if @GNULIB_COSF@
606 # if @REPLACE_COSF@
607 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
608 # undef cosf
609 # define cosf rpl_cosf
610 # endif
611 _GL_FUNCDECL_RPL (cosf, float, (float x));
612 _GL_CXXALIAS_RPL (cosf, float, (float x));
613 # else
614 # if !@HAVE_COSF@
615 # undef cosf
616 _GL_FUNCDECL_SYS (cosf, float, (float x));
617 # endif
618 _GL_CXXALIAS_SYS (cosf, float, (float x));
619 # endif
620 _GL_CXXALIASWARN (cosf);
621 #elif defined GNULIB_POSIXCHECK
622 # undef cosf
623 # if HAVE_RAW_DECL_COSF
624 _GL_WARN_ON_USE (cosf, "cosf is unportable - "
625 "use gnulib module cosf for portability");
626 # endif
627 #endif
629 #if @GNULIB_COSL@
630 # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@
631 # undef cosl
632 _GL_FUNCDECL_SYS (cosl, long double, (long double x));
633 # endif
634 _GL_CXXALIAS_SYS (cosl, long double, (long double x));
635 # if __GLIBC__ >= 2
636 _GL_CXXALIASWARN (cosl);
637 # endif
638 #elif defined GNULIB_POSIXCHECK
639 # undef cosl
640 # if HAVE_RAW_DECL_COSL
641 _GL_WARN_ON_USE (cosl, "cosl is unportable - "
642 "use gnulib module cosl for portability");
643 # endif
644 #endif
647 #if @GNULIB_COSHF@
648 # if @REPLACE_COSHF@
649 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
650 # undef coshf
651 # define coshf rpl_coshf
652 # endif
653 _GL_FUNCDECL_RPL (coshf, float, (float x));
654 _GL_CXXALIAS_RPL (coshf, float, (float x));
655 # else
656 # if !@HAVE_COSHF@
657 # undef coshf
658 _GL_FUNCDECL_SYS (coshf, float, (float x));
659 # endif
660 _GL_CXXALIAS_SYS (coshf, float, (float x));
661 # endif
662 _GL_CXXALIASWARN (coshf);
663 #elif defined GNULIB_POSIXCHECK
664 # undef coshf
665 # if HAVE_RAW_DECL_COSHF
666 _GL_WARN_ON_USE (coshf, "coshf is unportable - "
667 "use gnulib module coshf for portability");
668 # endif
669 #endif
672 #if @GNULIB_EXPF@
673 # if @REPLACE_EXPF@
674 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
675 # undef expf
676 # define expf rpl_expf
677 # endif
678 _GL_FUNCDECL_RPL (expf, float, (float x));
679 _GL_CXXALIAS_RPL (expf, float, (float x));
680 # else
681 # if !@HAVE_EXPF@
682 # undef expf
683 _GL_FUNCDECL_SYS (expf, float, (float x));
684 # endif
685 _GL_CXXALIAS_SYS (expf, float, (float x));
686 # endif
687 _GL_CXXALIASWARN (expf);
688 #elif defined GNULIB_POSIXCHECK
689 # undef expf
690 # if HAVE_RAW_DECL_EXPF
691 _GL_WARN_ON_USE (expf, "expf is unportable - "
692 "use gnulib module expf for portability");
693 # endif
694 #endif
696 #if @GNULIB_EXPL@
697 # if @REPLACE_EXPL@
698 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
699 # undef expl
700 # define expl rpl_expl
701 # endif
702 _GL_FUNCDECL_RPL (expl, long double, (long double x));
703 _GL_CXXALIAS_RPL (expl, long double, (long double x));
704 # else
705 # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@
706 # undef expl
707 _GL_FUNCDECL_SYS (expl, long double, (long double x));
708 # endif
709 _GL_CXXALIAS_SYS (expl, long double, (long double x));
710 # endif
711 # if __GLIBC__ >= 2
712 _GL_CXXALIASWARN (expl);
713 # endif
714 #elif defined GNULIB_POSIXCHECK
715 # undef expl
716 # if HAVE_RAW_DECL_EXPL
717 _GL_WARN_ON_USE (expl, "expl is unportable - "
718 "use gnulib module expl for portability");
719 # endif
720 #endif
723 #if @GNULIB_EXP2F@
724 # if !@HAVE_DECL_EXP2F@
725 _GL_FUNCDECL_SYS (exp2f, float, (float x));
726 # endif
727 _GL_CXXALIAS_SYS (exp2f, float, (float x));
728 _GL_CXXALIASWARN (exp2f);
729 #elif defined GNULIB_POSIXCHECK
730 # undef exp2f
731 # if HAVE_RAW_DECL_EXP2F
732 _GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
733 "use gnulib module exp2f for portability");
734 # endif
735 #endif
737 #if @GNULIB_EXP2@
738 # if @REPLACE_EXP2@
739 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
740 # undef exp2
741 # define exp2 rpl_exp2
742 # endif
743 _GL_FUNCDECL_RPL (exp2, double, (double x));
744 _GL_CXXALIAS_RPL (exp2, double, (double x));
745 # else
746 # if !@HAVE_DECL_EXP2@
747 _GL_FUNCDECL_SYS (exp2, double, (double x));
748 # endif
749 _GL_CXXALIAS_SYS (exp2, double, (double x));
750 # endif
751 # if __GLIBC__ >= 2
752 _GL_CXXALIASWARN1 (exp2, double, (double x));
753 # endif
754 #elif defined GNULIB_POSIXCHECK
755 # undef exp2
756 # if HAVE_RAW_DECL_EXP2
757 _GL_WARN_ON_USE (exp2, "exp2 is unportable - "
758 "use gnulib module exp2 for portability");
759 # endif
760 #endif
762 #if @GNULIB_EXP2L@
763 # if @REPLACE_EXP2L@
764 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
765 # undef exp2l
766 # define exp2l rpl_exp2l
767 # endif
768 _GL_FUNCDECL_RPL (exp2l, long double, (long double x));
769 _GL_CXXALIAS_RPL (exp2l, long double, (long double x));
770 # else
771 # if !@HAVE_DECL_EXP2L@
772 # undef exp2l
773 _GL_FUNCDECL_SYS (exp2l, long double, (long double x));
774 # endif
775 _GL_CXXALIAS_SYS (exp2l, long double, (long double x));
776 # endif
777 # if __GLIBC__ >= 2
778 _GL_CXXALIASWARN (exp2l);
779 # endif
780 #elif defined GNULIB_POSIXCHECK
781 # undef exp2l
782 # if HAVE_RAW_DECL_EXP2L
783 _GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
784 "use gnulib module exp2l for portability");
785 # endif
786 #endif
789 #if @GNULIB_EXPM1F@
790 # if @REPLACE_EXPM1F@
791 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
792 # undef expm1f
793 # define expm1f rpl_expm1f
794 # endif
795 _GL_FUNCDECL_RPL (expm1f, float, (float x));
796 _GL_CXXALIAS_RPL (expm1f, float, (float x));
797 # else
798 # if !@HAVE_EXPM1F@
799 _GL_FUNCDECL_SYS (expm1f, float, (float x));
800 # endif
801 _GL_CXXALIAS_SYS (expm1f, float, (float x));
802 # endif
803 _GL_CXXALIASWARN (expm1f);
804 #elif defined GNULIB_POSIXCHECK
805 # undef expm1f
806 # if HAVE_RAW_DECL_EXPM1F
807 _GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
808 "use gnulib module expm1f for portability");
809 # endif
810 #endif
812 #if @GNULIB_EXPM1@
813 # if @REPLACE_EXPM1@
814 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
815 # undef expm1
816 # define expm1 rpl_expm1
817 # endif
818 _GL_FUNCDECL_RPL (expm1, double, (double x));
819 _GL_CXXALIAS_RPL (expm1, double, (double x));
820 # else
821 # if !@HAVE_EXPM1@
822 _GL_FUNCDECL_SYS (expm1, double, (double x));
823 # endif
824 _GL_CXXALIAS_SYS (expm1, double, (double x));
825 # endif
826 # if __GLIBC__ >= 2
827 _GL_CXXALIASWARN1 (expm1, double, (double x));
828 # endif
829 #elif defined GNULIB_POSIXCHECK
830 # undef expm1
831 # if HAVE_RAW_DECL_EXPM1
832 _GL_WARN_ON_USE (expm1, "expm1 is unportable - "
833 "use gnulib module expm1 for portability");
834 # endif
835 #endif
837 #if @GNULIB_EXPM1L@
838 # if @REPLACE_EXPM1L@
839 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
840 # undef expm1l
841 # define expm1l rpl_expm1l
842 # endif
843 _GL_FUNCDECL_RPL (expm1l, long double, (long double x));
844 _GL_CXXALIAS_RPL (expm1l, long double, (long double x));
845 # else
846 # if !@HAVE_DECL_EXPM1L@
847 # undef expm1l
848 # if !(defined __cplusplus && defined _AIX)
849 _GL_FUNCDECL_SYS (expm1l, long double, (long double x));
850 # endif
851 # endif
852 _GL_CXXALIAS_SYS (expm1l, long double, (long double x));
853 # endif
854 # if __GLIBC__ >= 2
855 _GL_CXXALIASWARN (expm1l);
856 # endif
857 #elif defined GNULIB_POSIXCHECK
858 # undef expm1l
859 # if HAVE_RAW_DECL_EXPM1L
860 _GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
861 "use gnulib module expm1l for portability");
862 # endif
863 #endif
866 #if @GNULIB_FABSF@
867 # if !@HAVE_FABSF@
868 # undef fabsf
869 _GL_FUNCDECL_SYS (fabsf, float, (float x));
870 # endif
871 _GL_CXXALIAS_SYS (fabsf, float, (float x));
872 # if __GLIBC__ >= 2
873 _GL_CXXALIASWARN (fabsf);
874 # endif
875 #elif defined GNULIB_POSIXCHECK
876 # undef fabsf
877 # if HAVE_RAW_DECL_FABSF
878 _GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
879 "use gnulib module fabsf for portability");
880 # endif
881 #endif
883 #if @GNULIB_FABSL@
884 # if @REPLACE_FABSL@
885 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
886 # undef fabsl
887 # define fabsl rpl_fabsl
888 # endif
889 _GL_FUNCDECL_RPL (fabsl, long double, (long double x));
890 _GL_CXXALIAS_RPL (fabsl, long double, (long double x));
891 # else
892 # if !@HAVE_FABSL@
893 # undef fabsl
894 _GL_FUNCDECL_SYS (fabsl, long double, (long double x));
895 # endif
896 _GL_CXXALIAS_SYS (fabsl, long double, (long double x));
897 # endif
898 # if __GLIBC__ >= 2
899 _GL_CXXALIASWARN (fabsl);
900 # endif
901 #elif defined GNULIB_POSIXCHECK
902 # undef fabsl
903 # if HAVE_RAW_DECL_FABSL
904 _GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
905 "use gnulib module fabsl for portability");
906 # endif
907 #endif
910 #if @GNULIB_FLOORF@
911 # if @REPLACE_FLOORF@
912 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
913 # undef floorf
914 # define floorf rpl_floorf
915 # endif
916 _GL_FUNCDECL_RPL (floorf, float, (float x));
917 _GL_CXXALIAS_RPL (floorf, float, (float x));
918 # else
919 # if !@HAVE_DECL_FLOORF@
920 # undef floorf
921 _GL_FUNCDECL_SYS (floorf, float, (float x));
922 # endif
923 _GL_CXXALIAS_SYS (floorf, float, (float x));
924 # endif
925 _GL_CXXALIASWARN (floorf);
926 #elif defined GNULIB_POSIXCHECK
927 # undef floorf
928 # if HAVE_RAW_DECL_FLOORF
929 _GL_WARN_ON_USE (floorf, "floorf is unportable - "
930 "use gnulib module floorf for portability");
931 # endif
932 #endif
934 #if @GNULIB_FLOOR@
935 # if @REPLACE_FLOOR@
936 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
937 # undef floor
938 # define floor rpl_floor
939 # endif
940 _GL_FUNCDECL_RPL (floor, double, (double x));
941 _GL_CXXALIAS_RPL (floor, double, (double x));
942 # else
943 _GL_CXXALIAS_SYS (floor, double, (double x));
944 # endif
945 # if __GLIBC__ >= 2
946 _GL_CXXALIASWARN1 (floor, double, (double x));
947 # endif
948 #endif
950 #if @GNULIB_FLOORL@
951 # if @REPLACE_FLOORL@
952 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
953 # undef floorl
954 # define floorl rpl_floorl
955 # endif
956 _GL_FUNCDECL_RPL (floorl, long double, (long double x));
957 _GL_CXXALIAS_RPL (floorl, long double, (long double x));
958 # else
959 # if !@HAVE_DECL_FLOORL@
960 # undef floorl
961 _GL_FUNCDECL_SYS (floorl, long double, (long double x));
962 # endif
963 _GL_CXXALIAS_SYS (floorl, long double, (long double x));
964 # endif
965 # if __GLIBC__ >= 2
966 _GL_CXXALIASWARN (floorl);
967 # endif
968 #elif defined GNULIB_POSIXCHECK
969 # undef floorl
970 # if HAVE_RAW_DECL_FLOORL
971 _GL_WARN_ON_USE (floorl, "floorl is unportable - "
972 "use gnulib module floorl for portability");
973 # endif
974 #endif
977 #if @GNULIB_FMAF@
978 # if @REPLACE_FMAF@
979 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
980 # undef fmaf
981 # define fmaf rpl_fmaf
982 # endif
983 _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
984 _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
985 # else
986 # if !@HAVE_FMAF@
987 # undef fmaf
988 _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
989 # endif
990 _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
991 # endif
992 _GL_CXXALIASWARN (fmaf);
993 #elif defined GNULIB_POSIXCHECK
994 # undef fmaf
995 # if HAVE_RAW_DECL_FMAF
996 _GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
997 "use gnulib module fmaf for portability");
998 # endif
999 #endif
1001 #if @GNULIB_FMA@
1002 # if @REPLACE_FMA@
1003 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1004 # undef fma
1005 # define fma rpl_fma
1006 # endif
1007 _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
1008 _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
1009 # else
1010 # if !@HAVE_FMA@
1011 # undef fma
1012 _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
1013 # endif
1014 _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
1015 # endif
1016 # if __GLIBC__ >= 2
1017 _GL_CXXALIASWARN1 (fma, double, (double x, double y, double z));
1018 # endif
1019 #elif defined GNULIB_POSIXCHECK
1020 # undef fma
1021 # if HAVE_RAW_DECL_FMA
1022 _GL_WARN_ON_USE (fma, "fma is unportable - "
1023 "use gnulib module fma for portability");
1024 # endif
1025 #endif
1027 #if @GNULIB_FMAL@
1028 # if @REPLACE_FMAL@
1029 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1030 # undef fmal
1031 # define fmal rpl_fmal
1032 # endif
1033 _GL_FUNCDECL_RPL (fmal, long double,
1034 (long double x, long double y, long double z));
1035 _GL_CXXALIAS_RPL (fmal, long double,
1036 (long double x, long double y, long double z));
1037 # else
1038 # if !@HAVE_FMAL@
1039 # undef fmal
1040 # if !(defined __cplusplus && defined _AIX)
1041 _GL_FUNCDECL_SYS (fmal, long double,
1042 (long double x, long double y, long double z));
1043 # endif
1044 # endif
1045 _GL_CXXALIAS_SYS (fmal, long double,
1046 (long double x, long double y, long double z));
1047 # endif
1048 # if __GLIBC__ >= 2
1049 _GL_CXXALIASWARN (fmal);
1050 # endif
1051 #elif defined GNULIB_POSIXCHECK
1052 # undef fmal
1053 # if HAVE_RAW_DECL_FMAL
1054 _GL_WARN_ON_USE (fmal, "fmal is unportable - "
1055 "use gnulib module fmal for portability");
1056 # endif
1057 #endif
1060 #if @GNULIB_FMODF@
1061 # if @REPLACE_FMODF@
1062 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1063 # undef fmodf
1064 # define fmodf rpl_fmodf
1065 # endif
1066 _GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
1067 _GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
1068 # else
1069 # if !@HAVE_FMODF@
1070 # undef fmodf
1071 _GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
1072 # endif
1073 _GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
1074 # endif
1075 _GL_CXXALIASWARN (fmodf);
1076 #elif defined GNULIB_POSIXCHECK
1077 # undef fmodf
1078 # if HAVE_RAW_DECL_FMODF
1079 _GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
1080 "use gnulib module fmodf for portability");
1081 # endif
1082 #endif
1084 #if @GNULIB_FMOD@
1085 # if @REPLACE_FMOD@
1086 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1087 # undef fmod
1088 # define fmod rpl_fmod
1089 # endif
1090 _GL_FUNCDECL_RPL (fmod, double, (double x, double y));
1091 _GL_CXXALIAS_RPL (fmod, double, (double x, double y));
1092 # else
1093 _GL_CXXALIAS_SYS (fmod, double, (double x, double y));
1094 # endif
1095 # if __GLIBC__ >= 2
1096 _GL_CXXALIASWARN1 (fmod, double, (double x, double y));
1097 # endif
1098 #elif defined GNULIB_POSIXCHECK
1099 # undef fmod
1100 # if HAVE_RAW_DECL_FMOD
1101 _GL_WARN_ON_USE (fmod, "fmod has portability problems - "
1102 "use gnulib module fmod for portability");
1103 # endif
1104 #endif
1106 #if @GNULIB_FMODL@
1107 # if @REPLACE_FMODL@
1108 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1109 # undef fmodl
1110 # define fmodl rpl_fmodl
1111 # endif
1112 _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
1113 _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
1114 # else
1115 # if !@HAVE_FMODL@
1116 # undef fmodl
1117 _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
1118 # endif
1119 _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
1120 # endif
1121 # if __GLIBC__ >= 2
1122 _GL_CXXALIASWARN (fmodl);
1123 # endif
1124 #elif defined GNULIB_POSIXCHECK
1125 # undef fmodl
1126 # if HAVE_RAW_DECL_FMODL
1127 _GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
1128 "use gnulib module fmodl for portability");
1129 # endif
1130 #endif
1133 /* Write x as
1134 x = mantissa * 2^exp
1135 where
1136 If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
1137 If x is zero: mantissa = x, exp = 0.
1138 If x is infinite or NaN: mantissa = x, exp unspecified.
1139 Store exp in *EXPPTR and return mantissa. */
1140 #if @GNULIB_FREXPF@
1141 # if @REPLACE_FREXPF@
1142 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1143 # undef frexpf
1144 # define frexpf rpl_frexpf
1145 # endif
1146 _GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr), _GL_ARG_NONNULL ((2)));
1147 _GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
1148 # else
1149 # if !@HAVE_FREXPF@
1150 # undef frexpf
1151 _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr), _GL_ARG_NONNULL ((2)));
1152 # endif
1153 _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
1154 # endif
1155 # if __GLIBC__ >= 2
1156 _GL_CXXALIASWARN (frexpf);
1157 # endif
1158 #elif defined GNULIB_POSIXCHECK
1159 # undef frexpf
1160 # if HAVE_RAW_DECL_FREXPF
1161 _GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
1162 "use gnulib module frexpf for portability");
1163 # endif
1164 #endif
1166 /* Write x as
1167 x = mantissa * 2^exp
1168 where
1169 If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
1170 If x is zero: mantissa = x, exp = 0.
1171 If x is infinite or NaN: mantissa = x, exp unspecified.
1172 Store exp in *EXPPTR and return mantissa. */
1173 #if @GNULIB_FREXP@
1174 # if @REPLACE_FREXP@
1175 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1176 # undef frexp
1177 # define frexp rpl_frexp
1178 # endif
1179 _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr),
1180 _GL_ARG_NONNULL ((2)));
1181 _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
1182 # else
1183 _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
1184 # endif
1185 # if __GLIBC__ >= 2
1186 _GL_CXXALIASWARN1 (frexp, double, (double x, int *expptr));
1187 # endif
1188 #elif defined GNULIB_POSIXCHECK
1189 # undef frexp
1190 /* Assume frexp is always declared. */
1191 _GL_WARN_ON_USE (frexp, "frexp is unportable - "
1192 "use gnulib module frexp for portability");
1193 #endif
1195 /* Write x as
1196 x = mantissa * 2^exp
1197 where
1198 If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
1199 If x is zero: mantissa = x, exp = 0.
1200 If x is infinite or NaN: mantissa = x, exp unspecified.
1201 Store exp in *EXPPTR and return mantissa. */
1202 #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@
1203 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1204 # undef frexpl
1205 # define frexpl rpl_frexpl
1206 # endif
1207 _GL_FUNCDECL_RPL (frexpl, long double,
1208 (long double x, int *expptr), _GL_ARG_NONNULL ((2)));
1209 _GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
1210 #else
1211 # if !@HAVE_DECL_FREXPL@
1212 _GL_FUNCDECL_SYS (frexpl, long double,
1213 (long double x, int *expptr), _GL_ARG_NONNULL ((2)));
1214 # endif
1215 # if @GNULIB_FREXPL@
1216 _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
1217 # endif
1218 #endif
1219 #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@)
1220 # if __GLIBC__ >= 2
1221 _GL_CXXALIASWARN (frexpl);
1222 # endif
1223 #endif
1224 #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
1225 # undef frexpl
1226 # if HAVE_RAW_DECL_FREXPL
1227 _GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
1228 "use gnulib module frexpl for portability");
1229 # endif
1230 #endif
1233 /* Return sqrt(x^2+y^2). */
1234 #if @GNULIB_HYPOTF@
1235 # if @REPLACE_HYPOTF@
1236 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1237 # undef hypotf
1238 # define hypotf rpl_hypotf
1239 # endif
1240 _GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
1241 _GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
1242 # else
1243 # if !@HAVE_HYPOTF@
1244 _GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
1245 # endif
1246 _GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
1247 # endif
1248 # if __GLIBC__ >= 2
1249 _GL_CXXALIASWARN (hypotf);
1250 # endif
1251 #elif defined GNULIB_POSIXCHECK
1252 # undef hypotf
1253 # if HAVE_RAW_DECL_HYPOTF
1254 _GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
1255 "use gnulib module hypotf for portability");
1256 # endif
1257 #endif
1259 /* Return sqrt(x^2+y^2). */
1260 #if @GNULIB_HYPOT@
1261 # if @REPLACE_HYPOT@
1262 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1263 # undef hypot
1264 # define hypot rpl_hypot
1265 # endif
1266 _GL_FUNCDECL_RPL (hypot, double, (double x, double y));
1267 _GL_CXXALIAS_RPL (hypot, double, (double x, double y));
1268 # else
1269 _GL_CXXALIAS_SYS (hypot, double, (double x, double y));
1270 # endif
1271 # if __GLIBC__ >= 2
1272 _GL_CXXALIASWARN1 (hypot, double, (double x, double y));
1273 # endif
1274 #elif defined GNULIB_POSIXCHECK
1275 # undef hypot
1276 # if HAVE_RAW_DECL_HYPOT
1277 _GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
1278 "use gnulib module hypot for portability");
1279 # endif
1280 #endif
1282 /* Return sqrt(x^2+y^2). */
1283 #if @GNULIB_HYPOTL@
1284 # if @REPLACE_HYPOTL@
1285 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1286 # undef hypotl
1287 # define hypotl rpl_hypotl
1288 # endif
1289 _GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
1290 _GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
1291 # else
1292 # if !@HAVE_HYPOTL@
1293 _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
1294 # endif
1295 _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
1296 # endif
1297 # if __GLIBC__ >= 2
1298 _GL_CXXALIASWARN (hypotl);
1299 # endif
1300 #elif defined GNULIB_POSIXCHECK
1301 # undef hypotl
1302 # if HAVE_RAW_DECL_HYPOTL
1303 _GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
1304 "use gnulib module hypotl for portability");
1305 # endif
1306 #endif
1309 #if @GNULIB_ILOGBF@
1310 # if @REPLACE_ILOGBF@
1311 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1312 # undef ilogbf
1313 # define ilogbf rpl_ilogbf
1314 # endif
1315 _GL_FUNCDECL_RPL (ilogbf, int, (float x));
1316 _GL_CXXALIAS_RPL (ilogbf, int, (float x));
1317 # else
1318 # if !@HAVE_ILOGBF@
1319 _GL_FUNCDECL_SYS (ilogbf, int, (float x));
1320 # endif
1321 _GL_CXXALIAS_SYS (ilogbf, int, (float x));
1322 # endif
1323 _GL_CXXALIASWARN (ilogbf);
1324 #elif defined GNULIB_POSIXCHECK
1325 # undef ilogbf
1326 # if HAVE_RAW_DECL_ILOGBF
1327 _GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
1328 "use gnulib module ilogbf for portability");
1329 # endif
1330 #endif
1332 #if @GNULIB_ILOGB@
1333 # if @REPLACE_ILOGB@
1334 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1335 # undef ilogb
1336 # define ilogb rpl_ilogb
1337 # endif
1338 _GL_FUNCDECL_RPL (ilogb, int, (double x));
1339 _GL_CXXALIAS_RPL (ilogb, int, (double x));
1340 # else
1341 # if !@HAVE_ILOGB@
1342 _GL_FUNCDECL_SYS (ilogb, int, (double x));
1343 # endif
1344 _GL_CXXALIAS_SYS (ilogb, int, (double x));
1345 # endif
1346 # if __GLIBC__ >= 2
1347 _GL_CXXALIASWARN1 (ilogb, int, (double x));
1348 # endif
1349 #elif defined GNULIB_POSIXCHECK
1350 # undef ilogb
1351 # if HAVE_RAW_DECL_ILOGB
1352 _GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
1353 "use gnulib module ilogb for portability");
1354 # endif
1355 #endif
1357 #if @GNULIB_ILOGBL@
1358 # if @REPLACE_ILOGBL@
1359 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1360 # undef ilogbl
1361 # define ilogbl rpl_ilogbl
1362 # endif
1363 _GL_FUNCDECL_RPL (ilogbl, int, (long double x));
1364 _GL_CXXALIAS_RPL (ilogbl, int, (long double x));
1365 # else
1366 # if !@HAVE_ILOGBL@
1367 # undef ilogbl
1368 _GL_FUNCDECL_SYS (ilogbl, int, (long double x));
1369 # endif
1370 _GL_CXXALIAS_SYS (ilogbl, int, (long double x));
1371 # endif
1372 # if __GLIBC__ >= 2
1373 _GL_CXXALIASWARN (ilogbl);
1374 # endif
1375 #elif defined GNULIB_POSIXCHECK
1376 # undef ilogbl
1377 # if HAVE_RAW_DECL_ILOGBL
1378 _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
1379 "use gnulib module ilogbl for portability");
1380 # endif
1381 #endif
1384 #if @GNULIB_MDA_J0@
1385 /* On native Windows, map 'j0' to '_j0', so that -loldnames is not
1386 required. In C++ with GNULIB_NAMESPACE, avoid differences between
1387 platforms by defining GNULIB_NAMESPACE::j0 always. */
1388 # if defined _WIN32 && !defined __CYGWIN__
1389 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1390 # undef j0
1391 # define j0 _j0
1392 # endif
1393 _GL_CXXALIAS_MDA (j0, double, (double x));
1394 # else
1395 _GL_CXXALIAS_SYS (j0, double, (double x));
1396 # endif
1397 _GL_CXXALIASWARN (j0);
1398 #endif
1400 #if @GNULIB_MDA_J1@
1401 /* On native Windows, map 'j1' to '_j1', so that -loldnames is not
1402 required. In C++ with GNULIB_NAMESPACE, avoid differences between
1403 platforms by defining GNULIB_NAMESPACE::j1 always. */
1404 # if defined _WIN32 && !defined __CYGWIN__
1405 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1406 # undef j1
1407 # define j1 _j1
1408 # endif
1409 _GL_CXXALIAS_MDA (j1, double, (double x));
1410 # else
1411 _GL_CXXALIAS_SYS (j1, double, (double x));
1412 # endif
1413 _GL_CXXALIASWARN (j1);
1414 #endif
1416 #if @GNULIB_MDA_JN@
1417 /* On native Windows, map 'jn' to '_jn', so that -loldnames is not
1418 required. In C++ with GNULIB_NAMESPACE, avoid differences between
1419 platforms by defining GNULIB_NAMESPACE::jn always. */
1420 # if defined _WIN32 && !defined __CYGWIN__
1421 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1422 # undef jn
1423 # define jn _jn
1424 # endif
1425 _GL_CXXALIAS_MDA (jn, double, (int n, double x));
1426 # else
1427 _GL_CXXALIAS_SYS (jn, double, (int n, double x));
1428 # endif
1429 _GL_CXXALIASWARN (jn);
1430 #endif
1433 /* Return x * 2^exp. */
1434 #if @GNULIB_LDEXPF@
1435 # if !@HAVE_LDEXPF@
1436 # undef ldexpf
1437 _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
1438 # endif
1439 _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
1440 # if __GLIBC__ >= 2
1441 _GL_CXXALIASWARN (ldexpf);
1442 # endif
1443 #elif defined GNULIB_POSIXCHECK
1444 # undef ldexpf
1445 # if HAVE_RAW_DECL_LDEXPF
1446 _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
1447 "use gnulib module ldexpf for portability");
1448 # endif
1449 #endif
1451 /* Return x * 2^exp. */
1452 #if @GNULIB_LDEXP@
1453 # if @REPLACE_LDEXP@
1454 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1455 # undef ldexp
1456 # define ldexp rpl_ldexp
1457 # endif
1458 _GL_FUNCDECL_RPL (ldexp, double, (double x, int exp));
1459 _GL_CXXALIAS_RPL (ldexp, double, (double x, int exp));
1460 # else
1461 /* Assume ldexp is always declared. */
1462 _GL_CXXALIAS_SYS (ldexp, double, (double x, int exp));
1463 # endif
1464 # if __GLIBC__ >= 2
1465 _GL_CXXALIASWARN1 (ldexp, double, (double x, int exp));
1466 # endif
1467 #elif defined GNULIB_POSIXCHECK
1468 # undef ldexp
1469 /* Assume ldexp is always declared. */
1470 _GL_WARN_ON_USE (ldexp, "ldexp is unportable - "
1471 "use gnulib module ldexp for portability");
1472 #endif
1474 /* Return x * 2^exp. */
1475 #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
1476 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1477 # undef ldexpl
1478 # define ldexpl rpl_ldexpl
1479 # endif
1480 _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
1481 _GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
1482 #else
1483 # if !@HAVE_DECL_LDEXPL@
1484 _GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
1485 # endif
1486 # if @GNULIB_LDEXPL@
1487 _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
1488 # endif
1489 #endif
1490 #if @GNULIB_LDEXPL@
1491 # if __GLIBC__ >= 2
1492 _GL_CXXALIASWARN (ldexpl);
1493 # endif
1494 #endif
1495 #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK
1496 # undef ldexpl
1497 # if HAVE_RAW_DECL_LDEXPL
1498 _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
1499 "use gnulib module ldexpl for portability");
1500 # endif
1501 #endif
1504 #if @GNULIB_LOGF@
1505 # if @REPLACE_LOGF@
1506 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1507 # undef logf
1508 # define logf rpl_logf
1509 # endif
1510 _GL_FUNCDECL_RPL (logf, float, (float x));
1511 _GL_CXXALIAS_RPL (logf, float, (float x));
1512 # else
1513 # if !@HAVE_LOGF@
1514 # undef logf
1515 _GL_FUNCDECL_SYS (logf, float, (float x));
1516 # endif
1517 _GL_CXXALIAS_SYS (logf, float, (float x));
1518 # endif
1519 _GL_CXXALIASWARN (logf);
1520 #elif defined GNULIB_POSIXCHECK
1521 # undef logf
1522 # if HAVE_RAW_DECL_LOGF
1523 _GL_WARN_ON_USE (logf, "logf is unportable - "
1524 "use gnulib module logf for portability");
1525 # endif
1526 #endif
1528 #if @GNULIB_LOG@
1529 # if @REPLACE_LOG@
1530 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1531 # undef log
1532 # define log rpl_log
1533 # endif
1534 _GL_FUNCDECL_RPL (log, double, (double x));
1535 _GL_CXXALIAS_RPL (log, double, (double x));
1536 # else
1537 _GL_CXXALIAS_SYS (log, double, (double x));
1538 # endif
1539 # if __GLIBC__ >= 2
1540 _GL_CXXALIASWARN1 (log, double, (double x));
1541 # endif
1542 #elif defined GNULIB_POSIXCHECK
1543 # undef log
1544 # if HAVE_RAW_DECL_LOG
1545 _GL_WARN_ON_USE (log, "log has portability problems - "
1546 "use gnulib module log for portability");
1547 # endif
1548 #endif
1550 #if @GNULIB_LOGL@
1551 # if @REPLACE_LOGL@
1552 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1553 # undef logl
1554 # define logl rpl_logl
1555 # endif
1556 _GL_FUNCDECL_RPL (logl, long double, (long double x));
1557 _GL_CXXALIAS_RPL (logl, long double, (long double x));
1558 # else
1559 # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@
1560 # undef logl
1561 _GL_FUNCDECL_SYS (logl, long double, (long double x));
1562 # endif
1563 _GL_CXXALIAS_SYS (logl, long double, (long double x));
1564 # endif
1565 # if __GLIBC__ >= 2
1566 _GL_CXXALIASWARN (logl);
1567 # endif
1568 #elif defined GNULIB_POSIXCHECK
1569 # undef logl
1570 # if HAVE_RAW_DECL_LOGL
1571 _GL_WARN_ON_USE (logl, "logl is unportable - "
1572 "use gnulib module logl for portability");
1573 # endif
1574 #endif
1577 #if @GNULIB_LOG10F@
1578 # if @REPLACE_LOG10F@
1579 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1580 # undef log10f
1581 # define log10f rpl_log10f
1582 # endif
1583 _GL_FUNCDECL_RPL (log10f, float, (float x));
1584 _GL_CXXALIAS_RPL (log10f, float, (float x));
1585 # else
1586 # if !@HAVE_LOG10F@
1587 # undef log10f
1588 _GL_FUNCDECL_SYS (log10f, float, (float x));
1589 # endif
1590 _GL_CXXALIAS_SYS (log10f, float, (float x));
1591 # endif
1592 _GL_CXXALIASWARN (log10f);
1593 #elif defined GNULIB_POSIXCHECK
1594 # undef log10f
1595 # if HAVE_RAW_DECL_LOG10F
1596 _GL_WARN_ON_USE (log10f, "log10f is unportable - "
1597 "use gnulib module log10f for portability");
1598 # endif
1599 #endif
1601 #if @GNULIB_LOG10@
1602 # if @REPLACE_LOG10@
1603 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1604 # undef log10
1605 # define log10 rpl_log10
1606 # endif
1607 _GL_FUNCDECL_RPL (log10, double, (double x));
1608 _GL_CXXALIAS_RPL (log10, double, (double x));
1609 # else
1610 _GL_CXXALIAS_SYS (log10, double, (double x));
1611 # endif
1612 # if __GLIBC__ >= 2
1613 _GL_CXXALIASWARN1 (log10, double, (double x));
1614 # endif
1615 #elif defined GNULIB_POSIXCHECK
1616 # undef log10
1617 # if HAVE_RAW_DECL_LOG10
1618 _GL_WARN_ON_USE (log10, "log10 has portability problems - "
1619 "use gnulib module log10 for portability");
1620 # endif
1621 #endif
1623 #if @GNULIB_LOG10L@
1624 # if @REPLACE_LOG10L@
1625 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1626 # undef log10l
1627 # define log10l rpl_log10l
1628 # endif
1629 _GL_FUNCDECL_RPL (log10l, long double, (long double x));
1630 _GL_CXXALIAS_RPL (log10l, long double, (long double x));
1631 # else
1632 # if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@
1633 # undef log10l
1634 _GL_FUNCDECL_SYS (log10l, long double, (long double x));
1635 # endif
1636 _GL_CXXALIAS_SYS (log10l, long double, (long double x));
1637 # endif
1638 # if __GLIBC__ >= 2
1639 _GL_CXXALIASWARN (log10l);
1640 # endif
1641 #elif defined GNULIB_POSIXCHECK
1642 # undef log10l
1643 # if HAVE_RAW_DECL_LOG10L
1644 _GL_WARN_ON_USE (log10l, "log10l is unportable - "
1645 "use gnulib module log10l for portability");
1646 # endif
1647 #endif
1650 #if @GNULIB_LOG1PF@
1651 # if @REPLACE_LOG1PF@
1652 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1653 # undef log1pf
1654 # define log1pf rpl_log1pf
1655 # endif
1656 _GL_FUNCDECL_RPL (log1pf, float, (float x));
1657 _GL_CXXALIAS_RPL (log1pf, float, (float x));
1658 # else
1659 # if !@HAVE_LOG1PF@
1660 _GL_FUNCDECL_SYS (log1pf, float, (float x));
1661 # endif
1662 _GL_CXXALIAS_SYS (log1pf, float, (float x));
1663 # endif
1664 _GL_CXXALIASWARN (log1pf);
1665 #elif defined GNULIB_POSIXCHECK
1666 # undef log1pf
1667 # if HAVE_RAW_DECL_LOG1PF
1668 _GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
1669 "use gnulib module log1pf for portability");
1670 # endif
1671 #endif
1673 #if @GNULIB_LOG1P@
1674 # if @REPLACE_LOG1P@
1675 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1676 # undef log1p
1677 # define log1p rpl_log1p
1678 # endif
1679 _GL_FUNCDECL_RPL (log1p, double, (double x));
1680 _GL_CXXALIAS_RPL (log1p, double, (double x));
1681 # else
1682 # if !@HAVE_LOG1P@
1683 _GL_FUNCDECL_SYS (log1p, double, (double x));
1684 # endif
1685 _GL_CXXALIAS_SYS (log1p, double, (double x));
1686 # endif
1687 # if __GLIBC__ >= 2
1688 _GL_CXXALIASWARN1 (log1p, double, (double x));
1689 # endif
1690 #elif defined GNULIB_POSIXCHECK
1691 # undef log1p
1692 # if HAVE_RAW_DECL_LOG1P
1693 _GL_WARN_ON_USE (log1p, "log1p has portability problems - "
1694 "use gnulib module log1p for portability");
1695 # endif
1696 #endif
1698 #if @GNULIB_LOG1PL@
1699 # if @REPLACE_LOG1PL@
1700 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1701 # undef log1pl
1702 # define log1pl rpl_log1pl
1703 # endif
1704 _GL_FUNCDECL_RPL (log1pl, long double, (long double x));
1705 _GL_CXXALIAS_RPL (log1pl, long double, (long double x));
1706 # else
1707 # if !@HAVE_LOG1PL@
1708 _GL_FUNCDECL_SYS (log1pl, long double, (long double x));
1709 # endif
1710 _GL_CXXALIAS_SYS (log1pl, long double, (long double x));
1711 # endif
1712 # if __GLIBC__ >= 2
1713 _GL_CXXALIASWARN (log1pl);
1714 # endif
1715 #elif defined GNULIB_POSIXCHECK
1716 # undef log1pl
1717 # if HAVE_RAW_DECL_LOG1PL
1718 _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
1719 "use gnulib module log1pl for portability");
1720 # endif
1721 #endif
1724 #if @GNULIB_LOG2F@
1725 # if @REPLACE_LOG2F@
1726 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1727 # undef log2f
1728 # define log2f rpl_log2f
1729 # endif
1730 _GL_FUNCDECL_RPL (log2f, float, (float x));
1731 _GL_CXXALIAS_RPL (log2f, float, (float x));
1732 # else
1733 # if !@HAVE_DECL_LOG2F@
1734 # undef log2f
1735 _GL_FUNCDECL_SYS (log2f, float, (float x));
1736 # endif
1737 _GL_CXXALIAS_SYS (log2f, float, (float x));
1738 # endif
1739 # if __GLIBC__ >= 2
1740 _GL_CXXALIASWARN (log2f);
1741 # endif
1742 #elif defined GNULIB_POSIXCHECK
1743 # undef log2f
1744 # if HAVE_RAW_DECL_LOG2F
1745 _GL_WARN_ON_USE (log2f, "log2f is unportable - "
1746 "use gnulib module log2f for portability");
1747 # endif
1748 #endif
1750 #if @GNULIB_LOG2@
1751 # if @REPLACE_LOG2@
1752 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1753 # undef log2
1754 # define log2 rpl_log2
1755 # endif
1756 _GL_FUNCDECL_RPL (log2, double, (double x));
1757 _GL_CXXALIAS_RPL (log2, double, (double x));
1758 # else
1759 # if !@HAVE_DECL_LOG2@
1760 # undef log2
1761 _GL_FUNCDECL_SYS (log2, double, (double x));
1762 # endif
1763 _GL_CXXALIAS_SYS (log2, double, (double x));
1764 # endif
1765 # if __GLIBC__ >= 2
1766 _GL_CXXALIASWARN1 (log2, double, (double x));
1767 # endif
1768 #elif defined GNULIB_POSIXCHECK
1769 # undef log2
1770 # if HAVE_RAW_DECL_LOG2
1771 _GL_WARN_ON_USE (log2, "log2 is unportable - "
1772 "use gnulib module log2 for portability");
1773 # endif
1774 #endif
1776 #if @GNULIB_LOG2L@
1777 # if @REPLACE_LOG2L@
1778 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1779 # undef log2l
1780 # define log2l rpl_log2l
1781 # endif
1782 _GL_FUNCDECL_RPL (log2l, long double, (long double x));
1783 _GL_CXXALIAS_RPL (log2l, long double, (long double x));
1784 # else
1785 # if !@HAVE_DECL_LOG2L@
1786 _GL_FUNCDECL_SYS (log2l, long double, (long double x));
1787 # endif
1788 _GL_CXXALIAS_SYS (log2l, long double, (long double x));
1789 # endif
1790 # if __GLIBC__ >= 2
1791 _GL_CXXALIASWARN (log2l);
1792 # endif
1793 #elif defined GNULIB_POSIXCHECK
1794 # undef log2l
1795 # if HAVE_RAW_DECL_LOG2L
1796 _GL_WARN_ON_USE (log2l, "log2l is unportable - "
1797 "use gnulib module log2l for portability");
1798 # endif
1799 #endif
1802 #if @GNULIB_LOGBF@
1803 # if @REPLACE_LOGBF@
1804 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1805 # undef logbf
1806 # define logbf rpl_logbf
1807 # endif
1808 _GL_FUNCDECL_RPL (logbf, float, (float x));
1809 _GL_CXXALIAS_RPL (logbf, float, (float x));
1810 # else
1811 # if !@HAVE_LOGBF@
1812 _GL_FUNCDECL_SYS (logbf, float, (float x));
1813 # endif
1814 _GL_CXXALIAS_SYS (logbf, float, (float x));
1815 # endif
1816 _GL_CXXALIASWARN (logbf);
1817 #elif defined GNULIB_POSIXCHECK
1818 # undef logbf
1819 # if HAVE_RAW_DECL_LOGBF
1820 _GL_WARN_ON_USE (logbf, "logbf is unportable - "
1821 "use gnulib module logbf for portability");
1822 # endif
1823 #endif
1825 #if @GNULIB_LOGB@
1826 # if @REPLACE_LOGB@
1827 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1828 # undef logb
1829 # define logb rpl_logb
1830 # endif
1831 _GL_FUNCDECL_RPL (logb, double, (double x));
1832 _GL_CXXALIAS_RPL (logb, double, (double x));
1833 # else
1834 # if !@HAVE_DECL_LOGB@
1835 _GL_FUNCDECL_SYS (logb, double, (double x));
1836 # endif
1837 _GL_CXXALIAS_SYS (logb, double, (double x));
1838 # endif
1839 # if __GLIBC__ >= 2
1840 _GL_CXXALIASWARN1 (logb, double, (double x));
1841 # endif
1842 #elif defined GNULIB_POSIXCHECK
1843 # undef logb
1844 # if HAVE_RAW_DECL_LOGB
1845 _GL_WARN_ON_USE (logb, "logb is unportable - "
1846 "use gnulib module logb for portability");
1847 # endif
1848 #endif
1850 #if @GNULIB_LOGBL@
1851 # if @REPLACE_LOGBL@
1852 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1853 # undef logbl
1854 # define logbl rpl_logbl
1855 # endif
1856 _GL_FUNCDECL_RPL (logbl, long double, (long double x));
1857 _GL_CXXALIAS_RPL (logbl, long double, (long double x));
1858 # else
1859 # if !@HAVE_LOGBL@
1860 _GL_FUNCDECL_SYS (logbl, long double, (long double x));
1861 # endif
1862 _GL_CXXALIAS_SYS (logbl, long double, (long double x));
1863 # endif
1864 # if __GLIBC__ >= 2
1865 _GL_CXXALIASWARN (logbl);
1866 # endif
1867 #elif defined GNULIB_POSIXCHECK
1868 # undef logbl
1869 # if HAVE_RAW_DECL_LOGBL
1870 _GL_WARN_ON_USE (logbl, "logbl is unportable - "
1871 "use gnulib module logbl for portability");
1872 # endif
1873 #endif
1876 #if @GNULIB_LOGP1F@
1877 # if !@HAVE_LOGP1F@
1878 _GL_FUNCDECL_SYS (logp1f, float, (float x));
1879 # endif
1880 _GL_CXXALIAS_SYS (logp1f, float, (float x));
1881 # if __GLIBC__ >= 2
1882 _GL_CXXALIASWARN1 (logp1f, float, (float x));
1883 # endif
1884 #elif defined GNULIB_POSIXCHECK
1885 # undef logp1f
1886 # if HAVE_RAW_DECL_LOGP1F
1887 _GL_WARN_ON_USE (logp1f, "logp1f is unportable - "
1888 "use gnulib module logp1f for portability");
1889 # endif
1890 #endif
1892 #if @GNULIB_LOGP1@
1893 # if !@HAVE_LOGP1@
1894 _GL_FUNCDECL_SYS (logp1, double, (double x));
1895 # endif
1896 _GL_CXXALIAS_SYS (logp1, double, (double x));
1897 # if __GLIBC__ >= 2
1898 _GL_CXXALIASWARN1 (logp1, double, (double x));
1899 # endif
1900 #elif defined GNULIB_POSIXCHECK
1901 # undef logp1
1902 # if HAVE_RAW_DECL_LOGP1
1903 _GL_WARN_ON_USE (logp1, "logp1 is unportable - "
1904 "use gnulib module logp1 for portability");
1905 # endif
1906 #endif
1908 #if @GNULIB_LOGP1L@
1909 # if !@HAVE_LOGP1L@
1910 _GL_FUNCDECL_SYS (logp1l, long double, (long double x));
1911 # endif
1912 _GL_CXXALIAS_SYS (logp1l, long double, (long double x));
1913 # if __GLIBC__ >= 2
1914 _GL_CXXALIASWARN1 (logp1l, long double, (long double x));
1915 # endif
1916 #elif defined GNULIB_POSIXCHECK
1917 # undef logp1l
1918 # if HAVE_RAW_DECL_LOGP1L
1919 _GL_WARN_ON_USE (logp1l, "logp1l is unportable - "
1920 "use gnulib module logp1l for portability");
1921 # endif
1922 #endif
1925 #if @GNULIB_MODFF@
1926 # if @REPLACE_MODFF@
1927 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1928 # undef modff
1929 # define modff rpl_modff
1930 # endif
1931 _GL_FUNCDECL_RPL (modff, float, (float x, float *iptr), _GL_ARG_NONNULL ((2)));
1932 _GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
1933 # else
1934 # if !@HAVE_MODFF@
1935 # undef modff
1936 _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr), _GL_ARG_NONNULL ((2)));
1937 # endif
1938 _GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
1939 # endif
1940 _GL_CXXALIASWARN (modff);
1941 #elif defined GNULIB_POSIXCHECK
1942 # undef modff
1943 # if HAVE_RAW_DECL_MODFF
1944 _GL_WARN_ON_USE (modff, "modff is unportable - "
1945 "use gnulib module modff for portability");
1946 # endif
1947 #endif
1949 #if @GNULIB_MODF@
1950 # if @REPLACE_MODF@
1951 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1952 # undef modf
1953 # define modf rpl_modf
1954 # endif
1955 _GL_FUNCDECL_RPL (modf, double, (double x, double *iptr),
1956 _GL_ARG_NONNULL ((2)));
1957 _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
1958 # else
1959 _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
1960 # endif
1961 # if __GLIBC__ >= 2
1962 _GL_CXXALIASWARN1 (modf, double, (double x, double *iptr));
1963 # endif
1964 #elif defined GNULIB_POSIXCHECK
1965 # undef modf
1966 # if HAVE_RAW_DECL_MODF
1967 _GL_WARN_ON_USE (modf, "modf has portability problems - "
1968 "use gnulib module modf for portability");
1969 # endif
1970 #endif
1972 #if @GNULIB_MODFL@
1973 # if @REPLACE_MODFL@
1974 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1975 # undef modfl
1976 # define modfl rpl_modfl
1977 # endif
1978 _GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr),
1979 _GL_ARG_NONNULL ((2)));
1980 _GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
1981 # else
1982 # if !@HAVE_MODFL@
1983 # undef modfl
1984 _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr),
1985 _GL_ARG_NONNULL ((2)));
1986 # endif
1987 _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
1988 # endif
1989 # if __GLIBC__ >= 2
1990 _GL_CXXALIASWARN (modfl);
1991 # endif
1992 #elif defined GNULIB_POSIXCHECK
1993 # undef modfl
1994 # if HAVE_RAW_DECL_MODFL
1995 _GL_WARN_ON_USE (modfl, "modfl is unportable - "
1996 "use gnulib module modfl for portability");
1997 # endif
1998 #endif
2001 #if @GNULIB_POWF@
2002 # if !@HAVE_POWF@
2003 # undef powf
2004 _GL_FUNCDECL_SYS (powf, float, (float x, float y));
2005 # endif
2006 _GL_CXXALIAS_SYS (powf, float, (float x, float y));
2007 _GL_CXXALIASWARN (powf);
2008 #elif defined GNULIB_POSIXCHECK
2009 # undef powf
2010 # if HAVE_RAW_DECL_POWF
2011 _GL_WARN_ON_USE (powf, "powf is unportable - "
2012 "use gnulib module powf for portability");
2013 # endif
2014 #endif
2017 #if @GNULIB_REMAINDERF@
2018 # if @REPLACE_REMAINDERF@
2019 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2020 # undef remainderf
2021 # define remainderf rpl_remainderf
2022 # endif
2023 _GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
2024 _GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
2025 # else
2026 # if !@HAVE_REMAINDERF@
2027 _GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
2028 # endif
2029 _GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
2030 # endif
2031 _GL_CXXALIASWARN (remainderf);
2032 #elif defined GNULIB_POSIXCHECK
2033 # undef remainderf
2034 # if HAVE_RAW_DECL_REMAINDERF
2035 _GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
2036 "use gnulib module remainderf for portability");
2037 # endif
2038 #endif
2040 #if @GNULIB_REMAINDER@
2041 # if @REPLACE_REMAINDER@
2042 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2043 # undef remainder
2044 # define remainder rpl_remainder
2045 # endif
2046 _GL_FUNCDECL_RPL (remainder, double, (double x, double y));
2047 _GL_CXXALIAS_RPL (remainder, double, (double x, double y));
2048 # else
2049 # if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@
2050 _GL_FUNCDECL_SYS (remainder, double, (double x, double y));
2051 # endif
2052 _GL_CXXALIAS_SYS (remainder, double, (double x, double y));
2053 # endif
2054 # if __GLIBC__ >= 2
2055 _GL_CXXALIASWARN1 (remainder, double, (double x, double y));
2056 # endif
2057 #elif defined GNULIB_POSIXCHECK
2058 # undef remainder
2059 # if HAVE_RAW_DECL_REMAINDER
2060 _GL_WARN_ON_USE (remainder, "remainder is unportable - "
2061 "use gnulib module remainder for portability");
2062 # endif
2063 #endif
2065 #if @GNULIB_REMAINDERL@
2066 # if @REPLACE_REMAINDERL@
2067 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2068 # undef remainderl
2069 # define remainderl rpl_remainderl
2070 # endif
2071 _GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
2072 _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
2073 # else
2074 # if !@HAVE_DECL_REMAINDERL@
2075 # undef remainderl
2076 # if !(defined __cplusplus && defined _AIX)
2077 _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
2078 # endif
2079 # endif
2080 _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
2081 # endif
2082 # if __GLIBC__ >= 2
2083 _GL_CXXALIASWARN (remainderl);
2084 # endif
2085 #elif defined GNULIB_POSIXCHECK
2086 # undef remainderl
2087 # if HAVE_RAW_DECL_REMAINDERL
2088 _GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
2089 "use gnulib module remainderl for portability");
2090 # endif
2091 #endif
2094 #if @GNULIB_RINTF@
2095 # if !@HAVE_DECL_RINTF@
2096 _GL_FUNCDECL_SYS (rintf, float, (float x));
2097 # endif
2098 _GL_CXXALIAS_SYS (rintf, float, (float x));
2099 _GL_CXXALIASWARN (rintf);
2100 #elif defined GNULIB_POSIXCHECK
2101 # undef rintf
2102 # if HAVE_RAW_DECL_RINTF
2103 _GL_WARN_ON_USE (rintf, "rintf is unportable - "
2104 "use gnulib module rintf for portability");
2105 # endif
2106 #endif
2108 #if @GNULIB_RINT@
2109 # if !@HAVE_RINT@
2110 _GL_FUNCDECL_SYS (rint, double, (double x));
2111 # endif
2112 _GL_CXXALIAS_SYS (rint, double, (double x));
2113 # if __GLIBC__ >= 2
2114 _GL_CXXALIASWARN1 (rint, double, (double x));
2115 # endif
2116 #elif defined GNULIB_POSIXCHECK
2117 # undef rint
2118 # if HAVE_RAW_DECL_RINT
2119 _GL_WARN_ON_USE (rint, "rint is unportable - "
2120 "use gnulib module rint for portability");
2121 # endif
2122 #endif
2124 #if @GNULIB_RINTL@
2125 # if @REPLACE_RINTL@
2126 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2127 # undef rintl
2128 # define rintl rpl_rintl
2129 # endif
2130 _GL_FUNCDECL_RPL (rintl, long double, (long double x));
2131 _GL_CXXALIAS_RPL (rintl, long double, (long double x));
2132 # else
2133 # if !@HAVE_RINTL@
2134 _GL_FUNCDECL_SYS (rintl, long double, (long double x));
2135 # endif
2136 _GL_CXXALIAS_SYS (rintl, long double, (long double x));
2137 # endif
2138 # if __GLIBC__ >= 2
2139 _GL_CXXALIASWARN (rintl);
2140 # endif
2141 #elif defined GNULIB_POSIXCHECK
2142 # undef rintl
2143 # if HAVE_RAW_DECL_RINTL
2144 _GL_WARN_ON_USE (rintl, "rintl is unportable - "
2145 "use gnulib module rintl for portability");
2146 # endif
2147 #endif
2150 #if @GNULIB_ROUNDF@
2151 # if @REPLACE_ROUNDF@
2152 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2153 # undef roundf
2154 # define roundf rpl_roundf
2155 # endif
2156 _GL_FUNCDECL_RPL (roundf, float, (float x));
2157 _GL_CXXALIAS_RPL (roundf, float, (float x));
2158 # else
2159 # if !@HAVE_DECL_ROUNDF@
2160 _GL_FUNCDECL_SYS (roundf, float, (float x));
2161 # endif
2162 _GL_CXXALIAS_SYS (roundf, float, (float x));
2163 # endif
2164 _GL_CXXALIASWARN (roundf);
2165 #elif defined GNULIB_POSIXCHECK
2166 # undef roundf
2167 # if HAVE_RAW_DECL_ROUNDF
2168 _GL_WARN_ON_USE (roundf, "roundf is unportable - "
2169 "use gnulib module roundf for portability");
2170 # endif
2171 #endif
2173 #if @GNULIB_ROUND@
2174 # if @REPLACE_ROUND@
2175 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2176 # undef round
2177 # define round rpl_round
2178 # endif
2179 _GL_FUNCDECL_RPL (round, double, (double x));
2180 _GL_CXXALIAS_RPL (round, double, (double x));
2181 # else
2182 # if !@HAVE_DECL_ROUND@
2183 _GL_FUNCDECL_SYS (round, double, (double x));
2184 # endif
2185 _GL_CXXALIAS_SYS (round, double, (double x));
2186 # endif
2187 # if __GLIBC__ >= 2
2188 _GL_CXXALIASWARN1 (round, double, (double x));
2189 # endif
2190 #elif defined GNULIB_POSIXCHECK
2191 # undef round
2192 # if HAVE_RAW_DECL_ROUND
2193 _GL_WARN_ON_USE (round, "round is unportable - "
2194 "use gnulib module round for portability");
2195 # endif
2196 #endif
2198 #if @GNULIB_ROUNDL@
2199 # if @REPLACE_ROUNDL@
2200 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2201 # undef roundl
2202 # define roundl rpl_roundl
2203 # endif
2204 _GL_FUNCDECL_RPL (roundl, long double, (long double x));
2205 _GL_CXXALIAS_RPL (roundl, long double, (long double x));
2206 # else
2207 # if !@HAVE_DECL_ROUNDL@
2208 # undef roundl
2209 # if !(defined __cplusplus && defined _AIX)
2210 _GL_FUNCDECL_SYS (roundl, long double, (long double x));
2211 # endif
2212 # endif
2213 _GL_CXXALIAS_SYS (roundl, long double, (long double x));
2214 # endif
2215 # if __GLIBC__ >= 2
2216 _GL_CXXALIASWARN (roundl);
2217 # endif
2218 #elif defined GNULIB_POSIXCHECK
2219 # undef roundl
2220 # if HAVE_RAW_DECL_ROUNDL
2221 _GL_WARN_ON_USE (roundl, "roundl is unportable - "
2222 "use gnulib module roundl for portability");
2223 # endif
2224 #endif
2227 #if @GNULIB_SINF@
2228 # if @REPLACE_SINF@
2229 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2230 # undef sinf
2231 # define sinf rpl_sinf
2232 # endif
2233 _GL_FUNCDECL_RPL (sinf, float, (float x));
2234 _GL_CXXALIAS_RPL (sinf, float, (float x));
2235 # else
2236 # if !@HAVE_SINF@
2237 # undef sinf
2238 _GL_FUNCDECL_SYS (sinf, float, (float x));
2239 # endif
2240 _GL_CXXALIAS_SYS (sinf, float, (float x));
2241 # endif
2242 _GL_CXXALIASWARN (sinf);
2243 #elif defined GNULIB_POSIXCHECK
2244 # undef sinf
2245 # if HAVE_RAW_DECL_SINF
2246 _GL_WARN_ON_USE (sinf, "sinf is unportable - "
2247 "use gnulib module sinf for portability");
2248 # endif
2249 #endif
2251 #if @GNULIB_SINL@
2252 # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@
2253 # undef sinl
2254 _GL_FUNCDECL_SYS (sinl, long double, (long double x));
2255 # endif
2256 _GL_CXXALIAS_SYS (sinl, long double, (long double x));
2257 # if __GLIBC__ >= 2
2258 _GL_CXXALIASWARN (sinl);
2259 # endif
2260 #elif defined GNULIB_POSIXCHECK
2261 # undef sinl
2262 # if HAVE_RAW_DECL_SINL
2263 _GL_WARN_ON_USE (sinl, "sinl is unportable - "
2264 "use gnulib module sinl for portability");
2265 # endif
2266 #endif
2269 #if @GNULIB_SINHF@
2270 # if @REPLACE_SINHF@
2271 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2272 # undef sinhf
2273 # define sinhf rpl_sinhf
2274 # endif
2275 _GL_FUNCDECL_RPL (sinhf, float, (float x));
2276 _GL_CXXALIAS_RPL (sinhf, float, (float x));
2277 # else
2278 # if !@HAVE_SINHF@
2279 # undef sinhf
2280 _GL_FUNCDECL_SYS (sinhf, float, (float x));
2281 # endif
2282 _GL_CXXALIAS_SYS (sinhf, float, (float x));
2283 # endif
2284 _GL_CXXALIASWARN (sinhf);
2285 #elif defined GNULIB_POSIXCHECK
2286 # undef sinhf
2287 # if HAVE_RAW_DECL_SINHF
2288 _GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
2289 "use gnulib module sinhf for portability");
2290 # endif
2291 #endif
2294 #if @GNULIB_SQRTF@
2295 # if @REPLACE_SQRTF@
2296 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2297 # undef sqrtf
2298 # define sqrtf rpl_sqrtf
2299 # endif
2300 _GL_FUNCDECL_RPL (sqrtf, float, (float x));
2301 _GL_CXXALIAS_RPL (sqrtf, float, (float x));
2302 # else
2303 # if !@HAVE_SQRTF@
2304 # undef sqrtf
2305 _GL_FUNCDECL_SYS (sqrtf, float, (float x));
2306 # endif
2307 _GL_CXXALIAS_SYS (sqrtf, float, (float x));
2308 # endif
2309 _GL_CXXALIASWARN (sqrtf);
2310 #elif defined GNULIB_POSIXCHECK
2311 # undef sqrtf
2312 # if HAVE_RAW_DECL_SQRTF
2313 _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
2314 "use gnulib module sqrtf for portability");
2315 # endif
2316 #endif
2318 #if @GNULIB_SQRTL@
2319 # if @REPLACE_SQRTL@
2320 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2321 # undef sqrtl
2322 # define sqrtl rpl_sqrtl
2323 # endif
2324 _GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
2325 _GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
2326 # else
2327 # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@
2328 # undef sqrtl
2329 _GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
2330 # endif
2331 _GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
2332 # endif
2333 # if __GLIBC__ >= 2
2334 _GL_CXXALIASWARN (sqrtl);
2335 # endif
2336 #elif defined GNULIB_POSIXCHECK
2337 # undef sqrtl
2338 # if HAVE_RAW_DECL_SQRTL
2339 _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
2340 "use gnulib module sqrtl for portability");
2341 # endif
2342 #endif
2345 #if @GNULIB_TANF@
2346 # if @REPLACE_TANF@
2347 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2348 # undef tanf
2349 # define tanf rpl_tanf
2350 # endif
2351 _GL_FUNCDECL_RPL (tanf, float, (float x));
2352 _GL_CXXALIAS_RPL (tanf, float, (float x));
2353 # else
2354 # if !@HAVE_TANF@
2355 # undef tanf
2356 _GL_FUNCDECL_SYS (tanf, float, (float x));
2357 # endif
2358 _GL_CXXALIAS_SYS (tanf, float, (float x));
2359 # endif
2360 _GL_CXXALIASWARN (tanf);
2361 #elif defined GNULIB_POSIXCHECK
2362 # undef tanf
2363 # if HAVE_RAW_DECL_TANF
2364 _GL_WARN_ON_USE (tanf, "tanf is unportable - "
2365 "use gnulib module tanf for portability");
2366 # endif
2367 #endif
2369 #if @GNULIB_TANL@
2370 # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@
2371 # undef tanl
2372 _GL_FUNCDECL_SYS (tanl, long double, (long double x));
2373 # endif
2374 _GL_CXXALIAS_SYS (tanl, long double, (long double x));
2375 # if __GLIBC__ >= 2
2376 _GL_CXXALIASWARN (tanl);
2377 # endif
2378 #elif defined GNULIB_POSIXCHECK
2379 # undef tanl
2380 # if HAVE_RAW_DECL_TANL
2381 _GL_WARN_ON_USE (tanl, "tanl is unportable - "
2382 "use gnulib module tanl for portability");
2383 # endif
2384 #endif
2387 #if @GNULIB_TANHF@
2388 # if @REPLACE_TANHF@
2389 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2390 # undef tanhf
2391 # define tanhf rpl_tanhf
2392 # endif
2393 _GL_FUNCDECL_RPL (tanhf, float, (float x));
2394 _GL_CXXALIAS_RPL (tanhf, float, (float x));
2395 # else
2396 # if !@HAVE_TANHF@
2397 # undef tanhf
2398 _GL_FUNCDECL_SYS (tanhf, float, (float x));
2399 # endif
2400 _GL_CXXALIAS_SYS (tanhf, float, (float x));
2401 # endif
2402 _GL_CXXALIASWARN (tanhf);
2403 #elif defined GNULIB_POSIXCHECK
2404 # undef tanhf
2405 # if HAVE_RAW_DECL_TANHF
2406 _GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
2407 "use gnulib module tanhf for portability");
2408 # endif
2409 #endif
2412 #if @GNULIB_TRUNCF@
2413 # if @REPLACE_TRUNCF@
2414 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2415 # undef truncf
2416 # define truncf rpl_truncf
2417 # endif
2418 _GL_FUNCDECL_RPL (truncf, float, (float x));
2419 _GL_CXXALIAS_RPL (truncf, float, (float x));
2420 # else
2421 # if !@HAVE_DECL_TRUNCF@
2422 _GL_FUNCDECL_SYS (truncf, float, (float x));
2423 # endif
2424 _GL_CXXALIAS_SYS (truncf, float, (float x));
2425 # endif
2426 _GL_CXXALIASWARN (truncf);
2427 #elif defined GNULIB_POSIXCHECK
2428 # undef truncf
2429 # if HAVE_RAW_DECL_TRUNCF
2430 _GL_WARN_ON_USE (truncf, "truncf is unportable - "
2431 "use gnulib module truncf for portability");
2432 # endif
2433 #endif
2435 #if @GNULIB_TRUNC@
2436 # if @REPLACE_TRUNC@
2437 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2438 # undef trunc
2439 # define trunc rpl_trunc
2440 # endif
2441 _GL_FUNCDECL_RPL (trunc, double, (double x));
2442 _GL_CXXALIAS_RPL (trunc, double, (double x));
2443 # else
2444 # if !@HAVE_DECL_TRUNC@
2445 _GL_FUNCDECL_SYS (trunc, double, (double x));
2446 # endif
2447 _GL_CXXALIAS_SYS (trunc, double, (double x));
2448 # endif
2449 # if __GLIBC__ >= 2
2450 _GL_CXXALIASWARN1 (trunc, double, (double x));
2451 # endif
2452 #elif defined GNULIB_POSIXCHECK
2453 # undef trunc
2454 # if HAVE_RAW_DECL_TRUNC
2455 _GL_WARN_ON_USE (trunc, "trunc is unportable - "
2456 "use gnulib module trunc for portability");
2457 # endif
2458 #endif
2460 #if @GNULIB_TRUNCL@
2461 # if @REPLACE_TRUNCL@
2462 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2463 # undef truncl
2464 # define truncl rpl_truncl
2465 # endif
2466 _GL_FUNCDECL_RPL (truncl, long double, (long double x));
2467 _GL_CXXALIAS_RPL (truncl, long double, (long double x));
2468 # else
2469 # if !@HAVE_DECL_TRUNCL@
2470 _GL_FUNCDECL_SYS (truncl, long double, (long double x));
2471 # endif
2472 _GL_CXXALIAS_SYS (truncl, long double, (long double x));
2473 # endif
2474 # if __GLIBC__ >= 2
2475 _GL_CXXALIASWARN (truncl);
2476 # endif
2477 #elif defined GNULIB_POSIXCHECK
2478 # undef truncl
2479 # if HAVE_RAW_DECL_TRUNCL
2480 _GL_WARN_ON_USE (truncl, "truncl is unportable - "
2481 "use gnulib module truncl for portability");
2482 # endif
2483 #endif
2486 #if @GNULIB_MDA_Y0@
2487 /* On native Windows, map 'y0' to '_y0', so that -loldnames is not
2488 required. In C++ with GNULIB_NAMESPACE, avoid differences between
2489 platforms by defining GNULIB_NAMESPACE::y0 always. */
2490 # if defined _WIN32 && !defined __CYGWIN__
2491 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2492 # undef y0
2493 # define y0 _y0
2494 # endif
2495 _GL_CXXALIAS_MDA (y0, double, (double x));
2496 # else
2497 _GL_CXXALIAS_SYS (y0, double, (double x));
2498 # endif
2499 _GL_CXXALIASWARN (y0);
2500 #endif
2502 #if @GNULIB_MDA_Y1@
2503 /* On native Windows, map 'y1' to '_y1', so that -loldnames is not
2504 required. In C++ with GNULIB_NAMESPACE, avoid differences between
2505 platforms by defining GNULIB_NAMESPACE::y1 always. */
2506 # if defined _WIN32 && !defined __CYGWIN__
2507 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2508 # undef y1
2509 # define y1 _y1
2510 # endif
2511 _GL_CXXALIAS_MDA (y1, double, (double x));
2512 # else
2513 _GL_CXXALIAS_SYS (y1, double, (double x));
2514 # endif
2515 _GL_CXXALIASWARN (y1);
2516 #endif
2518 #if @GNULIB_MDA_YN@
2519 /* On native Windows, map 'yn' to '_yn', so that -loldnames is not
2520 required. In C++ with GNULIB_NAMESPACE, avoid differences between
2521 platforms by defining GNULIB_NAMESPACE::yn always. */
2522 # if defined _WIN32 && !defined __CYGWIN__
2523 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2524 # undef yn
2525 # define yn _yn
2526 # endif
2527 _GL_CXXALIAS_MDA (yn, double, (int n, double x));
2528 # else
2529 _GL_CXXALIAS_SYS (yn, double, (int n, double x));
2530 # endif
2531 _GL_CXXALIASWARN (yn);
2532 #endif
2535 /* Definitions of function-like macros come here, after the function
2536 declarations. */
2539 #if @GNULIB_ISFINITE@
2540 # if @REPLACE_ISFINITE@
2541 _GL_EXTERN_C int gl_isfinitef (float x);
2542 _GL_EXTERN_C int gl_isfinited (double x);
2543 _GL_EXTERN_C int gl_isfinitel (long double x);
2544 # undef isfinite
2545 # define isfinite(x) \
2546 (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
2547 sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
2548 gl_isfinitef (x))
2549 # endif
2550 # ifdef __cplusplus
2551 # if defined isfinite || defined GNULIB_NAMESPACE
2552 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
2553 # undef isfinite
2554 # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__)))
2555 /* This platform's <cmath> possibly defines isfinite through a set of inline
2556 functions. */
2557 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, rpl_isfinite, bool)
2558 # define isfinite rpl_isfinite
2559 # define GNULIB_NAMESPACE_LACKS_ISFINITE 1
2560 # else
2561 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite, isfinite, bool)
2562 # endif
2563 # endif
2564 # endif
2565 #elif defined GNULIB_POSIXCHECK
2566 # if defined isfinite
2567 _GL_WARN_REAL_FLOATING_DECL (isfinite);
2568 # undef isfinite
2569 # define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
2570 # endif
2571 #endif
2574 #if @GNULIB_ISINF@
2575 # if @REPLACE_ISINF@
2576 _GL_EXTERN_C int gl_isinff (float x);
2577 _GL_EXTERN_C int gl_isinfd (double x);
2578 _GL_EXTERN_C int gl_isinfl (long double x);
2579 # undef isinf
2580 # define isinf(x) \
2581 (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
2582 sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
2583 gl_isinff (x))
2584 # endif
2585 # ifdef __cplusplus
2586 # if defined isinf || defined GNULIB_NAMESPACE
2587 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
2588 # undef isinf
2589 # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
2590 /* This platform's <cmath> possibly defines isinf through a set of inline
2591 functions. */
2592 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, rpl_isinf, bool)
2593 # define isinf rpl_isinf
2594 # define GNULIB_NAMESPACE_LACKS_ISINF 1
2595 # else
2596 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf, isinf, bool)
2597 # endif
2598 # endif
2599 # endif
2600 #elif defined GNULIB_POSIXCHECK
2601 # if defined isinf
2602 _GL_WARN_REAL_FLOATING_DECL (isinf);
2603 # undef isinf
2604 # define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
2605 # endif
2606 #endif
2609 #if @GNULIB_ISNANF@
2610 /* Test for NaN for 'float' numbers. */
2611 # if @HAVE_ISNANF@
2612 # if defined __sun || defined __sgi
2613 /* Solaris and IRIX have isnanf() and declare it in <ieeefp.h>. We cannot
2614 define isnanf as a macro, because that would conflict with <ieeefp.h>. */
2615 _GL_EXTERN_C int isnanf (float x);
2616 # else
2617 /* The original <math.h> included above provides a declaration of isnan macro
2618 or (older) isnanf function. */
2619 # if (__GNUC__ >= 4) || (__clang_major__ >= 4)
2620 /* GCC >= 4.0 and clang provide a type-generic built-in for isnan.
2621 GCC >= 4.0 also provides __builtin_isnanf, but clang doesn't. */
2622 # undef isnanf
2623 # define isnanf(x) __builtin_isnan ((float)(x))
2624 # elif defined isnan && !defined HAVE_ISNANF_NOLIBM
2625 # undef isnanf
2626 # define isnanf(x) isnan ((float)(x))
2627 # endif
2628 # endif
2629 # else
2630 /* Test whether X is a NaN. */
2631 # undef isnanf
2632 # define isnanf rpl_isnanf
2633 _GL_EXTERN_C int isnanf (float x);
2634 # endif
2635 #endif
2637 #if @GNULIB_ISNAND@
2638 /* Test for NaN for 'double' numbers.
2639 This function is a gnulib extension, unlike isnan() which applied only
2640 to 'double' numbers earlier but now is a type-generic macro. */
2641 # if @HAVE_ISNAND@
2642 # if defined __sun || defined __sgi
2643 /* Solaris and IRIX have isnand() and declare it in <ieeefp.h>. We cannot
2644 define isnand as a macro, because that would conflict with <ieeefp.h>. */
2645 _GL_EXTERN_C int isnand (double x);
2646 # else
2647 /* The original <math.h> included above provides a declaration of isnan
2648 macro. */
2649 # if (__GNUC__ >= 4) || (__clang_major__ >= 4)
2650 /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. */
2651 # undef isnand
2652 # define isnand(x) __builtin_isnan ((double)(x))
2653 # elif !defined HAVE_ISNAND_NOLIBM
2654 # undef isnand
2655 # define isnand(x) isnan ((double)(x))
2656 # endif
2657 # endif
2658 # else
2659 /* Test whether X is a NaN. */
2660 # undef isnand
2661 # define isnand rpl_isnand
2662 _GL_EXTERN_C int isnand (double x);
2663 # endif
2664 #endif
2666 #if @GNULIB_ISNANL@
2667 /* Test for NaN for 'long double' numbers. */
2668 # if @HAVE_ISNANL@
2669 /* The original <math.h> included above provides a declaration of isnan
2670 macro or (older) isnanl function. */
2671 # if (__GNUC__ >= 4) || (__clang_major__ >= 4)
2672 /* GCC >= 4.0 and clang provide a type-generic built-in for isnan.
2673 GCC >= 4.0 also provides __builtin_isnanl, but clang doesn't. */
2674 # undef isnanl
2675 # define isnanl(x) __builtin_isnan ((long double)(x))
2676 # elif defined isnan && !defined HAVE_ISNANL_NOLIBM
2677 # undef isnanl
2678 # define isnanl(x) isnan ((long double)(x))
2679 # endif
2680 # else
2681 /* Test whether X is a NaN. */
2682 # undef isnanl
2683 # define isnanl rpl_isnanl
2684 _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
2685 # endif
2686 #endif
2688 /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */
2689 #if @GNULIB_ISNAN@
2690 # if @REPLACE_ISNAN@
2691 /* We can't just use the isnanf macro (e.g.) as exposed by
2692 isnanf.h (e.g.) here, because those may end up being macros
2693 that recursively expand back to isnan. So use the gnulib
2694 replacements for them directly. */
2695 # if @HAVE_ISNANF@ && (__GNUC__ >= 4) || (__clang_major__ >= 4)
2696 # define gl_isnan_f(x) __builtin_isnan ((float)(x))
2697 # else
2698 _GL_EXTERN_C int rpl_isnanf (float x);
2699 # define gl_isnan_f(x) rpl_isnanf (x)
2700 # endif
2701 # if @HAVE_ISNAND@ && (__GNUC__ >= 4) || (__clang_major__ >= 4)
2702 # define gl_isnan_d(x) __builtin_isnan ((double)(x))
2703 # else
2704 _GL_EXTERN_C int rpl_isnand (double x);
2705 # define gl_isnan_d(x) rpl_isnand (x)
2706 # endif
2707 # if @HAVE_ISNANL@ && (__GNUC__ >= 4) || (__clang_major__ >= 4)
2708 # define gl_isnan_l(x) __builtin_isnan ((long double)(x))
2709 # else
2710 _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
2711 # define gl_isnan_l(x) rpl_isnanl (x)
2712 # endif
2713 # undef isnan
2714 # define isnan(x) \
2715 (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
2716 sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
2717 gl_isnan_f (x))
2718 # elif (__GNUC__ >= 4) || (__clang_major__ >= 4)
2719 # undef isnan
2720 # define isnan(x) \
2721 (sizeof (x) == sizeof (long double) ? __builtin_isnan ((long double)(x)) : \
2722 sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
2723 __builtin_isnan ((float)(x)))
2724 # endif
2725 # ifdef __cplusplus
2726 # if defined isnan || defined GNULIB_NAMESPACE
2727 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
2728 # undef isnan
2729 # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__ && __clang_major__ != 12) || (defined __FreeBSD__ && (__clang_major__ < 7 || __clang_major__ >= 11)) || defined __OpenBSD__ || (defined _WIN32 && !defined __CYGWIN__)))
2730 /* This platform's <cmath> possibly defines isnan through a set of inline
2731 functions. */
2732 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, rpl_isnan, bool)
2733 # define isnan rpl_isnan
2734 # define GNULIB_NAMESPACE_LACKS_ISNAN 1
2735 # elif __clang_major__ >= 14
2736 /* Neither of the two possible _GL_MATH_CXX_REAL_FLOATING_DECL_2 invocations
2737 works. Inline functions are already present in /usr/include/c++/v1/math.h,
2738 which comes from LLVM. */
2739 # define GNULIB_NAMESPACE_LACKS_ISNAN 1
2740 # else
2741 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan, isnan, bool)
2742 # endif
2743 # endif
2744 # else
2745 /* Ensure isnan is a macro. */
2746 # ifndef isnan
2747 # define isnan isnan
2748 # endif
2749 # endif
2750 #elif defined GNULIB_POSIXCHECK
2751 # if defined isnan
2752 _GL_WARN_REAL_FLOATING_DECL (isnan);
2753 # undef isnan
2754 # define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
2755 # endif
2756 #endif
2759 #if @GNULIB_SIGNBIT@
2760 # if (@REPLACE_SIGNBIT_USING_BUILTINS@ \
2761 && (!defined __cplusplus || __cplusplus < 201103))
2762 # undef signbit
2763 /* GCC >= 4.0 and clang provide three built-ins for signbit. */
2764 # define signbit(x) \
2765 (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
2766 sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
2767 __builtin_signbitf (x))
2768 # endif
2769 # if @REPLACE_SIGNBIT@ && !GNULIB_defined_signbit
2770 # undef signbit
2771 _GL_EXTERN_C int gl_signbitf (float arg);
2772 _GL_EXTERN_C int gl_signbitd (double arg);
2773 _GL_EXTERN_C int gl_signbitl (long double arg);
2774 # if __GNUC__ >= 2 || defined __clang__
2775 # define _GL_NUM_UINT_WORDS(type) \
2776 ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
2777 # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
2778 # define gl_signbitf_OPTIMIZED_MACRO
2779 # define gl_signbitf(arg) \
2780 __extension__ \
2781 ({ union { float _value; \
2782 unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \
2783 } _m; \
2784 _m._value = (arg); \
2785 (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \
2787 # endif
2788 # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
2789 # define gl_signbitd_OPTIMIZED_MACRO
2790 # define gl_signbitd(arg) \
2791 __extension__ \
2792 ({ union { double _value; \
2793 unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \
2794 } _m; \
2795 _m._value = (arg); \
2796 (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \
2798 # endif
2799 # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
2800 # define gl_signbitl_OPTIMIZED_MACRO
2801 # define gl_signbitl(arg) \
2802 __extension__ \
2803 ({ union { long double _value; \
2804 unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
2805 } _m; \
2806 _m._value = (arg); \
2807 (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \
2809 # endif
2810 # endif
2811 # define signbit(x) \
2812 (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
2813 sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
2814 gl_signbitf (x))
2815 # define GNULIB_defined_signbit 1
2816 # endif
2817 # ifdef __cplusplus
2818 # if defined signbit || defined GNULIB_NAMESPACE
2819 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
2820 # undef signbit
2821 # if __GNUC__ >= 6 || (defined __clang__ && !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __OpenBSD__ || defined _AIX || (defined _WIN32 && !defined __CYGWIN__)))
2822 /* This platform's <cmath> possibly defines signbit through a set of inline
2823 functions. */
2824 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, rpl_signbit, bool)
2825 # define signbit rpl_signbit
2826 # define GNULIB_NAMESPACE_LACKS_SIGNBIT 1
2827 # else
2828 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit, signbit, bool)
2829 # endif
2830 # endif
2831 # endif
2832 #elif defined GNULIB_POSIXCHECK
2833 # if defined signbit
2834 _GL_WARN_REAL_FLOATING_DECL (signbit);
2835 # undef signbit
2836 # define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
2837 # endif
2838 #endif
2841 #if @GNULIB_GETPAYLOADF@
2842 # if @REPLACE_GETPAYLOADF@
2843 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2844 # undef getpayloadf
2845 # define getpayloadf rpl_getpayloadf
2846 # endif
2847 _GL_FUNCDECL_RPL (getpayloadf, float, (const float *));
2848 _GL_CXXALIAS_RPL (getpayloadf, float, (const float *));
2849 # else
2850 # if !@HAVE_GETPAYLOADF@
2851 _GL_FUNCDECL_SYS (getpayloadf, float, (const float *));
2852 # endif
2853 _GL_CXXALIAS_SYS (getpayloadf, float, (const float *));
2854 # endif
2855 _GL_CXXALIASWARN (getpayloadf);
2856 #elif defined GNULIB_POSIXCHECK
2857 # undef getpayloadf
2858 # if HAVE_RAW_DECL_GETPAYLOADF
2859 _GL_WARN_ON_USE (getpayloadf, "getpayloadf is unportable - "
2860 "use gnulib module getpayloadf for portability");
2861 # endif
2862 #endif
2864 #if @GNULIB_GETPAYLOAD@
2865 # if @REPLACE_GETPAYLOAD@
2866 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2867 # undef getpayload
2868 # define getpayload rpl_getpayload
2869 # endif
2870 _GL_FUNCDECL_RPL (getpayload, double, (const double *));
2871 _GL_CXXALIAS_RPL (getpayload, double, (const double *));
2872 # else
2873 # if !@HAVE_GETPAYLOAD@
2874 _GL_FUNCDECL_SYS (getpayload, double, (const double *));
2875 # endif
2876 _GL_CXXALIAS_SYS (getpayload, double, (const double *));
2877 # endif
2878 _GL_CXXALIASWARN (getpayload);
2879 #elif defined GNULIB_POSIXCHECK
2880 # undef getpayload
2881 # if HAVE_RAW_DECL_GETPAYLOAD
2882 _GL_WARN_ON_USE (getpayload, "getpayload is unportable - "
2883 "use gnulib module getpayload for portability");
2884 # endif
2885 #endif
2887 #if @GNULIB_GETPAYLOADL@
2888 # if @REPLACE_GETPAYLOADL@
2889 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2890 # undef getpayloadl
2891 # define getpayloadl rpl_getpayloadl
2892 # endif
2893 _GL_FUNCDECL_RPL (getpayloadl, long double, (const long double *));
2894 _GL_CXXALIAS_RPL (getpayloadl, long double, (const long double *));
2895 # else
2896 # if !@HAVE_GETPAYLOADL@
2897 _GL_FUNCDECL_SYS (getpayloadl, long double, (const long double *));
2898 # endif
2899 _GL_CXXALIAS_SYS (getpayloadl, long double, (const long double *));
2900 # endif
2901 _GL_CXXALIASWARN (getpayloadl);
2902 #elif defined GNULIB_POSIXCHECK
2903 # undef getpayloadl
2904 # if HAVE_RAW_DECL_GETPAYLOADL
2905 _GL_WARN_ON_USE (getpayloadl, "getpayloadl is unportable - "
2906 "use gnulib module getpayloadl for portability");
2907 # endif
2908 #endif
2911 #if @GNULIB_SETPAYLOADF@
2912 # if !@HAVE_SETPAYLOADF@
2913 _GL_FUNCDECL_SYS (setpayloadf, int, (float *, float));
2914 # endif
2915 _GL_CXXALIAS_SYS (setpayloadf, int, (float *, float));
2916 _GL_CXXALIASWARN (setpayloadf);
2917 #elif defined GNULIB_POSIXCHECK
2918 # undef setpayloadf
2919 # if HAVE_RAW_DECL_SETPAYLOADF
2920 _GL_WARN_ON_USE (setpayloadf, "setpayloadf is unportable - "
2921 "use gnulib module setpayloadf for portability");
2922 # endif
2923 #endif
2925 #if @GNULIB_SETPAYLOAD@
2926 # if !@HAVE_SETPAYLOAD@
2927 _GL_FUNCDECL_SYS (setpayload, int, (double *, double));
2928 # endif
2929 _GL_CXXALIAS_SYS (setpayload, int, (double *, double));
2930 _GL_CXXALIASWARN (setpayload);
2931 #elif defined GNULIB_POSIXCHECK
2932 # undef setpayload
2933 # if HAVE_RAW_DECL_SETPAYLOAD
2934 _GL_WARN_ON_USE (setpayload, "setpayload is unportable - "
2935 "use gnulib module setpayload for portability");
2936 # endif
2937 #endif
2939 #if @GNULIB_SETPAYLOADL@
2940 # if !@HAVE_SETPAYLOADL@
2941 _GL_FUNCDECL_SYS (setpayloadl, int, (long double *, long double));
2942 # endif
2943 _GL_CXXALIAS_SYS (setpayloadl, int, (long double *, long double));
2944 _GL_CXXALIASWARN (setpayloadl);
2945 #elif defined GNULIB_POSIXCHECK
2946 # undef setpayloadl
2947 # if HAVE_RAW_DECL_SETPAYLOADL
2948 _GL_WARN_ON_USE (setpayloadl, "setpayloadl is unportable - "
2949 "use gnulib module setpayloadl for portability");
2950 # endif
2951 #endif
2954 #if @GNULIB_SETPAYLOADSIGF@
2955 # if !@HAVE_SETPAYLOADSIGF@
2956 _GL_FUNCDECL_SYS (setpayloadsigf, int, (float *, float));
2957 # endif
2958 _GL_CXXALIAS_SYS (setpayloadsigf, int, (float *, float));
2959 _GL_CXXALIASWARN (setpayloadsigf);
2960 #elif defined GNULIB_POSIXCHECK
2961 # undef setpayloadsigf
2962 # if HAVE_RAW_DECL_SETPAYLOADSIGF
2963 _GL_WARN_ON_USE (setpayloadsigf, "setpayloadsigf is unportable - "
2964 "use gnulib module setpayloadsigf for portability");
2965 # endif
2966 #endif
2968 #if @GNULIB_SETPAYLOADSIG@
2969 # if !@HAVE_SETPAYLOADSIG@
2970 _GL_FUNCDECL_SYS (setpayloadsig, int, (double *, double));
2971 # endif
2972 _GL_CXXALIAS_SYS (setpayloadsig, int, (double *, double));
2973 _GL_CXXALIASWARN (setpayloadsig);
2974 #elif defined GNULIB_POSIXCHECK
2975 # undef setpayloadsig
2976 # if HAVE_RAW_DECL_SETPAYLOADSIG
2977 _GL_WARN_ON_USE (setpayloadsig, "setpayloadsig is unportable - "
2978 "use gnulib module setpayloadsig for portability");
2979 # endif
2980 #endif
2982 #if @GNULIB_SETPAYLOADSIGL@
2983 # if !@HAVE_SETPAYLOADSIGL@
2984 _GL_FUNCDECL_SYS (setpayloadsigl, int, (long double *, long double));
2985 # endif
2986 _GL_CXXALIAS_SYS (setpayloadsigl, int, (long double *, long double));
2987 _GL_CXXALIASWARN (setpayloadsigl);
2988 #elif defined GNULIB_POSIXCHECK
2989 # undef setpayloadsigl
2990 # if HAVE_RAW_DECL_SETPAYLOADSIGL
2991 _GL_WARN_ON_USE (setpayloadsigl, "setpayloadsigl is unportable - "
2992 "use gnulib module setpayloadsigl for portability");
2993 # endif
2994 #endif
2997 #if @GNULIB_TOTALORDERF@
2998 # if @REPLACE_TOTALORDERF@
2999 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3000 # undef totalorderf
3001 # define totalorderf rpl_totalorderf
3002 # endif
3003 _GL_FUNCDECL_RPL (totalorderf, int, (float const *, float const *));
3004 _GL_CXXALIAS_RPL (totalorderf, int, (float const *, float const *));
3005 # else
3006 # if !@HAVE_TOTALORDERF@
3007 _GL_FUNCDECL_SYS (totalorderf, int, (float const *, float const *));
3008 # endif
3009 _GL_CXXALIAS_SYS (totalorderf, int, (float const *, float const *));
3010 # endif
3011 _GL_CXXALIASWARN (totalorderf);
3012 #elif defined GNULIB_POSIXCHECK
3013 # undef totalorderf
3014 # if HAVE_RAW_DECL_TOTALORDERF
3015 _GL_WARN_ON_USE (totalorderf, "totalorderf is unportable - "
3016 "use gnulib module totalorderf for portability");
3017 # endif
3018 #endif
3020 #if @GNULIB_TOTALORDER@
3021 # if @REPLACE_TOTALORDER@
3022 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3023 # undef totalorder
3024 # define totalorder rpl_totalorder
3025 # endif
3026 _GL_FUNCDECL_RPL (totalorder, int, (double const *, double const *));
3027 _GL_CXXALIAS_RPL (totalorder, int, (double const *, double const *));
3028 # else
3029 # if !@HAVE_TOTALORDER@
3030 _GL_FUNCDECL_SYS (totalorder, int, (double const *, double const *));
3031 # endif
3032 _GL_CXXALIAS_SYS (totalorder, int, (double const *, double const *));
3033 # endif
3034 # if __GLIBC__ >= 2
3035 _GL_CXXALIASWARN1 (totalorder, int, (double const *, double const *));
3036 # endif
3037 #elif defined GNULIB_POSIXCHECK
3038 # undef totalorder
3039 # if HAVE_RAW_DECL_TOTALORDER
3040 _GL_WARN_ON_USE (totalorder, "totalorder is unportable - "
3041 "use gnulib module totalorder for portability");
3042 # endif
3043 #endif
3045 #if @GNULIB_TOTALORDERL@
3046 # if @REPLACE_TOTALORDERL@
3047 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3048 # undef totalorderl
3049 # define totalorderl rpl_totalorderl
3050 # endif
3051 _GL_FUNCDECL_RPL (totalorderl, int,
3052 (long double const *, long double const *));
3053 _GL_CXXALIAS_RPL (totalorderl, int,
3054 (long double const *, long double const *));
3055 # else
3056 # if !@HAVE_TOTALORDERL@
3057 _GL_FUNCDECL_SYS (totalorderl, int,
3058 (long double const *, long double const *));
3059 # endif
3060 _GL_CXXALIAS_SYS (totalorderl, int,
3061 (long double const *, long double const *));
3062 # endif
3063 _GL_CXXALIASWARN (totalorderl);
3064 #elif defined GNULIB_POSIXCHECK
3065 # undef totalorderl
3066 # if HAVE_RAW_DECL_TOTALORDERL
3067 _GL_WARN_ON_USE (totalorderl, "totalorderl is unportable - "
3068 "use gnulib module totalorderl for portability");
3069 # endif
3070 #endif
3073 #if @GNULIB_TOTALORDERMAGF@
3074 # if @REPLACE_TOTALORDERMAGF@
3075 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3076 # undef totalordermagf
3077 # define totalordermagf rpl_totalordermagf
3078 # endif
3079 _GL_FUNCDECL_RPL (totalordermagf, int, (float const *, float const *));
3080 _GL_CXXALIAS_RPL (totalordermagf, int, (float const *, float const *));
3081 # else
3082 # if !@HAVE_TOTALORDERMAGF@
3083 _GL_FUNCDECL_SYS (totalordermagf, int, (float const *, float const *));
3084 # endif
3085 _GL_CXXALIAS_SYS (totalordermagf, int, (float const *, float const *));
3086 # endif
3087 # if __GLIBC__ >= 2
3088 _GL_CXXALIASWARN1 (totalordermagf, int, (float const *, float const *));
3089 # endif
3090 #elif defined GNULIB_POSIXCHECK
3091 # undef totalordermagf
3092 # if HAVE_RAW_DECL_TOTALORDERMAGF
3093 _GL_WARN_ON_USE (totalordermagf, "totalordermagf is unportable - "
3094 "use gnulib module totalordermagf for portability");
3095 # endif
3096 #endif
3098 #if @GNULIB_TOTALORDERMAG@
3099 # if @REPLACE_TOTALORDERMAG@
3100 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3101 # undef totalordermag
3102 # define totalordermag rpl_totalordermag
3103 # endif
3104 _GL_FUNCDECL_RPL (totalordermag, int, (double const *, double const *));
3105 _GL_CXXALIAS_RPL (totalordermag, int, (double const *, double const *));
3106 # else
3107 # if !@HAVE_TOTALORDERMAG@
3108 _GL_FUNCDECL_SYS (totalordermag, int, (double const *, double const *));
3109 # endif
3110 _GL_CXXALIAS_SYS (totalordermag, int, (double const *, double const *));
3111 # endif
3112 # if __GLIBC__ >= 2
3113 _GL_CXXALIASWARN1 (totalordermag, int, (double const *, double const *));
3114 # endif
3115 #elif defined GNULIB_POSIXCHECK
3116 # undef totalordermag
3117 # if HAVE_RAW_DECL_TOTALORDERMAG
3118 _GL_WARN_ON_USE (totalordermag, "totalordermag is unportable - "
3119 "use gnulib module totalordermag for portability");
3120 # endif
3121 #endif
3123 #if @GNULIB_TOTALORDERMAGL@
3124 # if @REPLACE_TOTALORDERMAGL@
3125 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3126 # undef totalordermagl
3127 # define totalordermagl rpl_totalordermagl
3128 # endif
3129 _GL_FUNCDECL_RPL (totalordermagl, int,
3130 (long double const *, long double const *));
3131 _GL_CXXALIAS_RPL (totalordermagl, int,
3132 (long double const *, long double const *));
3133 # else
3134 # if !@HAVE_TOTALORDERMAGL@
3135 _GL_FUNCDECL_SYS (totalordermagl, int,
3136 (long double const *, long double const *));
3137 # endif
3138 _GL_CXXALIAS_SYS (totalordermagl, int,
3139 (long double const *, long double const *));
3140 # endif
3141 # if __GLIBC__ >= 2
3142 _GL_CXXALIASWARN1 (totalordermagl, int,
3143 (long double const *, long double const *));
3144 # endif
3145 #elif defined GNULIB_POSIXCHECK
3146 # undef totalordermagl
3147 # if HAVE_RAW_DECL_TOTALORDERMAGL
3148 _GL_WARN_ON_USE (totalordermagl, "totalordermagl is unportable - "
3149 "use gnulib module totalordermagl for portability");
3150 # endif
3151 #endif
3154 _GL_INLINE_HEADER_END
3156 #endif /* _@GUARD_PREFIX@_MATH_H */
3157 #endif /* _GL_INCLUDING_MATH_H */
3158 #endif /* _@GUARD_PREFIX@_MATH_H */
3159 #endif