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
26 @PRAGMA_SYSTEM_HEADER@
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@
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."
57 /* On OpenVMS, NAN, INFINITY, and HUGEVAL macros are defined in <fp.h>. */
58 #if defined __VMS && ! defined NAN
62 _GL_INLINE_HEADER_BEGIN
63 #ifndef _GL_MATH_INLINE
64 # define _GL_MATH_INLINE _GL_INLINE
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__))
73 # define _GL_ATTRIBUTE_CONST /* empty */
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. */
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) \
89 _gl_cxx_ ## func ## f (float f) \
94 _gl_cxx_ ## func ## d (double d) \
99 _gl_cxx_ ## func ## l (long double l) \
103 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func,rpl_func,rettype) \
104 _GL_BEGIN_NAMESPACE \
108 return _gl_cxx_ ## func ## f (f); \
111 rpl_func (double d) \
113 return _gl_cxx_ ## func ## d (d); \
116 rpl_func (long double l) \
118 return _gl_cxx_ ## func ## l (l); \
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) \
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) \
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) \
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))
156 /* Pull in a function that fixes the 'int' to 'long double' conversion
158 _GL_EXTERN_C
void _Qp_itoq (long double *, int);
159 static void (*_gl_math_fix_itold
) (long double *, int) = _Qp_itoq
;
163 /* Ensure that INFINITY is a constant expression, of type 'float'. */
164 #if !defined INFINITY || (defined __FreeBSD__ && __FreeBSD__ < 8) || defined _AIX || defined __MINGW32__
166 # if defined __GNUC__ || defined __clang__
167 # define INFINITY (__builtin_inff ())
169 # define INFINITY (1.0f / 0.0f)
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
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
188 static float zero
= 0.0f
;
191 # define NAN (_NaN())
192 # elif defined __GNUC__ || defined __clang__
193 # define NAN (__builtin_nanf (""))
195 # define NAN (0.0f / 0.0f)
197 # define GNULIB_defined_NAN 1
201 /* Solaris 10 defines HUGE_VAL, but as a function pointer rather
202 than a floating point constant. */
203 #if @REPLACE_HUGE_VAL@
205 # define HUGE_VALF (1.0f / 0.0f)
207 # define HUGE_VAL (1.0 / 0.0)
209 # define HUGE_VALL (1.0L / 0.0L)
212 /* HUGE_VALF is a 'float' Infinity. */
213 #if !defined HUGE_VALF || (defined __FreeBSD__ && __FreeBSD__ < 6)
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 ())
221 # define HUGE_VALF (1.0f / 0.0f)
225 /* HUGE_VAL is a 'double' Infinity. */
226 #if !defined HUGE_VAL || (defined __FreeBSD__ && __FreeBSD__ < 6) || defined _AIX
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 ())
234 # define HUGE_VAL (1.0 / 0.0)
238 /* HUGE_VALL is a 'long double' Infinity. */
239 #if !defined HUGE_VALL || (defined __FreeBSD__ && __FreeBSD__ < 6) || defined _AIX
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 ())
247 # define HUGE_VALL (1.0L / 0.0L)
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 */
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 */
263 /* Solaris 9: match what ilogb() does */
264 # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
265 # define FP_ILOGBNAN 2147483647 /* INT_MAX */
267 /* Gnulib defined values. */
268 # define FP_ILOGB0 (- 2147483647) /* - INT_MAX */
269 # define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
276 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
278 # define acosf rpl_acosf
280 _GL_FUNCDECL_RPL (acosf
, float, (float x
));
281 _GL_CXXALIAS_RPL (acosf
, float, (float x
));
285 _GL_FUNCDECL_SYS (acosf
, float, (float x
));
287 _GL_CXXALIAS_SYS (acosf
, float, (float x
));
289 _GL_CXXALIASWARN (acosf
);
290 #elif defined GNULIB_POSIXCHECK
292 # if HAVE_RAW_DECL_ACOSF
293 _GL_WARN_ON_USE (acosf
, "acosf is unportable - "
294 "use gnulib module acosf for portability");
299 # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@
301 _GL_FUNCDECL_SYS (acosl
, long double, (long double x
));
303 _GL_CXXALIAS_SYS (acosl
, long double, (long double x
));
305 _GL_CXXALIASWARN (acosl
);
307 #elif defined GNULIB_POSIXCHECK
309 # if HAVE_RAW_DECL_ACOSL
310 _GL_WARN_ON_USE (acosl
, "acosl is unportable - "
311 "use gnulib module acosl for portability");
318 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
320 # define asinf rpl_asinf
322 _GL_FUNCDECL_RPL (asinf
, float, (float x
));
323 _GL_CXXALIAS_RPL (asinf
, float, (float x
));
327 _GL_FUNCDECL_SYS (asinf
, float, (float x
));
329 _GL_CXXALIAS_SYS (asinf
, float, (float x
));
331 _GL_CXXALIASWARN (asinf
);
332 #elif defined GNULIB_POSIXCHECK
334 # if HAVE_RAW_DECL_ASINF
335 _GL_WARN_ON_USE (asinf
, "asinf is unportable - "
336 "use gnulib module asinf for portability");
341 # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@
343 _GL_FUNCDECL_SYS (asinl
, long double, (long double x
));
345 _GL_CXXALIAS_SYS (asinl
, long double, (long double x
));
347 _GL_CXXALIASWARN (asinl
);
349 #elif defined GNULIB_POSIXCHECK
351 # if HAVE_RAW_DECL_ASINL
352 _GL_WARN_ON_USE (asinl
, "asinl is unportable - "
353 "use gnulib module asinl for portability");
360 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
362 # define atanf rpl_atanf
364 _GL_FUNCDECL_RPL (atanf
, float, (float x
));
365 _GL_CXXALIAS_RPL (atanf
, float, (float x
));
369 _GL_FUNCDECL_SYS (atanf
, float, (float x
));
371 _GL_CXXALIAS_SYS (atanf
, float, (float x
));
373 _GL_CXXALIASWARN (atanf
);
374 #elif defined GNULIB_POSIXCHECK
376 # if HAVE_RAW_DECL_ATANF
377 _GL_WARN_ON_USE (atanf
, "atanf is unportable - "
378 "use gnulib module atanf for portability");
383 # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@
385 _GL_FUNCDECL_SYS (atanl
, long double, (long double x
));
387 _GL_CXXALIAS_SYS (atanl
, long double, (long double x
));
389 _GL_CXXALIASWARN (atanl
);
391 #elif defined GNULIB_POSIXCHECK
393 # if HAVE_RAW_DECL_ATANL
394 _GL_WARN_ON_USE (atanl
, "atanl is unportable - "
395 "use gnulib module atanl for portability");
401 # if @REPLACE_ATAN2F@
402 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
404 # define atan2f rpl_atan2f
406 _GL_FUNCDECL_RPL (atan2f
, float, (float y
, float x
));
407 _GL_CXXALIAS_RPL (atan2f
, float, (float y
, float x
));
411 _GL_FUNCDECL_SYS (atan2f
, float, (float y
, float x
));
413 _GL_CXXALIAS_SYS (atan2f
, float, (float y
, float x
));
415 _GL_CXXALIASWARN (atan2f
);
416 #elif defined GNULIB_POSIXCHECK
418 # if HAVE_RAW_DECL_ATAN2F
419 _GL_WARN_ON_USE (atan2f
, "atan2f is unportable - "
420 "use gnulib module atan2f for portability");
427 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
429 # define cbrtf rpl_cbrtf
431 _GL_FUNCDECL_RPL (cbrtf
, float, (float x
));
432 _GL_CXXALIAS_RPL (cbrtf
, float, (float x
));
434 # if !@HAVE_DECL_CBRTF@
435 _GL_FUNCDECL_SYS (cbrtf
, float, (float x
));
437 _GL_CXXALIAS_SYS (cbrtf
, float, (float x
));
439 _GL_CXXALIASWARN (cbrtf
);
440 #elif defined GNULIB_POSIXCHECK
442 # if HAVE_RAW_DECL_CBRTF
443 _GL_WARN_ON_USE (cbrtf
, "cbrtf is unportable - "
444 "use gnulib module cbrtf for portability");
450 _GL_FUNCDECL_SYS (cbrt
, double, (double x
));
452 _GL_CXXALIAS_SYS (cbrt
, double, (double x
));
454 _GL_CXXALIASWARN1 (cbrt
, double, (double x
));
456 #elif defined GNULIB_POSIXCHECK
458 # if HAVE_RAW_DECL_CBRT
459 _GL_WARN_ON_USE (cbrt
, "cbrt is unportable - "
460 "use gnulib module cbrt for portability");
466 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
468 # define cbrtl rpl_cbrtl
470 _GL_FUNCDECL_RPL (cbrtl
, long double, (long double x
));
471 _GL_CXXALIAS_RPL (cbrtl
, long double, (long double x
));
473 # if !@HAVE_DECL_CBRTL@
474 _GL_FUNCDECL_SYS (cbrtl
, long double, (long double x
));
476 _GL_CXXALIAS_SYS (cbrtl
, long double, (long double x
));
479 _GL_CXXALIASWARN (cbrtl
);
481 #elif defined GNULIB_POSIXCHECK
483 # if HAVE_RAW_DECL_CBRTL
484 _GL_WARN_ON_USE (cbrtl
, "cbrtl is unportable - "
485 "use gnulib module cbrtl for portability");
492 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
494 # define ceilf rpl_ceilf
496 _GL_FUNCDECL_RPL (ceilf
, float, (float x
));
497 _GL_CXXALIAS_RPL (ceilf
, float, (float x
));
499 # if !@HAVE_DECL_CEILF@
501 _GL_FUNCDECL_SYS (ceilf
, float, (float x
));
503 _GL_CXXALIAS_SYS (ceilf
, float, (float x
));
505 _GL_CXXALIASWARN (ceilf
);
506 #elif defined GNULIB_POSIXCHECK
508 # if HAVE_RAW_DECL_CEILF
509 _GL_WARN_ON_USE (ceilf
, "ceilf is unportable - "
510 "use gnulib module ceilf for portability");
516 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
518 # define ceil rpl_ceil
520 _GL_FUNCDECL_RPL (ceil
, double, (double x
));
521 _GL_CXXALIAS_RPL (ceil
, double, (double x
));
523 _GL_CXXALIAS_SYS (ceil
, double, (double x
));
526 _GL_CXXALIASWARN1 (ceil
, double, (double x
));
532 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
534 # define ceill rpl_ceill
536 _GL_FUNCDECL_RPL (ceill
, long double, (long double x
));
537 _GL_CXXALIAS_RPL (ceill
, long double, (long double x
));
539 # if !@HAVE_DECL_CEILL@
541 _GL_FUNCDECL_SYS (ceill
, long double, (long double x
));
543 _GL_CXXALIAS_SYS (ceill
, long double, (long double x
));
546 _GL_CXXALIASWARN (ceill
);
548 #elif defined GNULIB_POSIXCHECK
550 # if HAVE_RAW_DECL_CEILL
551 _GL_WARN_ON_USE (ceill
, "ceill is unportable - "
552 "use gnulib module ceill for portability");
557 #if @GNULIB_COPYSIGNF@
558 # if !@HAVE_DECL_COPYSIGNF@
560 _GL_FUNCDECL_SYS (copysignf
, float, (float x
, float y
));
562 _GL_CXXALIAS_SYS (copysignf
, float, (float x
, float y
));
563 _GL_CXXALIASWARN (copysignf
);
564 #elif defined GNULIB_POSIXCHECK
566 # if HAVE_RAW_DECL_COPYSIGNF
567 _GL_WARN_ON_USE (copysignf
, "copysignf is unportable - "
568 "use gnulib module copysignf for portability");
572 #if @GNULIB_COPYSIGN@
573 # if !@HAVE_COPYSIGN@
574 _GL_FUNCDECL_SYS (copysign
, double, (double x
, double y
));
576 _GL_CXXALIAS_SYS (copysign
, double, (double x
, double y
));
578 _GL_CXXALIASWARN1 (copysign
, double, (double x
, double y
));
580 #elif defined GNULIB_POSIXCHECK
582 # if HAVE_RAW_DECL_COPYSIGN
583 _GL_WARN_ON_USE (copysign
, "copysign is unportable - "
584 "use gnulib module copysign for portability");
588 #if @GNULIB_COPYSIGNL@
589 # if !@HAVE_COPYSIGNL@
590 _GL_FUNCDECL_SYS (copysignl
, long double, (long double x
, long double y
));
592 _GL_CXXALIAS_SYS (copysignl
, long double, (long double x
, long double y
));
594 _GL_CXXALIASWARN (copysignl
);
596 #elif defined GNULIB_POSIXCHECK
598 # if HAVE_RAW_DECL_COPYSIGNL
599 _GL_WARN_ON_USE (copysign
, "copysignl is unportable - "
600 "use gnulib module copysignl for portability");
607 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
609 # define cosf rpl_cosf
611 _GL_FUNCDECL_RPL (cosf
, float, (float x
));
612 _GL_CXXALIAS_RPL (cosf
, float, (float x
));
616 _GL_FUNCDECL_SYS (cosf
, float, (float x
));
618 _GL_CXXALIAS_SYS (cosf
, float, (float x
));
620 _GL_CXXALIASWARN (cosf
);
621 #elif defined GNULIB_POSIXCHECK
623 # if HAVE_RAW_DECL_COSF
624 _GL_WARN_ON_USE (cosf
, "cosf is unportable - "
625 "use gnulib module cosf for portability");
630 # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@
632 _GL_FUNCDECL_SYS (cosl
, long double, (long double x
));
634 _GL_CXXALIAS_SYS (cosl
, long double, (long double x
));
636 _GL_CXXALIASWARN (cosl
);
638 #elif defined GNULIB_POSIXCHECK
640 # if HAVE_RAW_DECL_COSL
641 _GL_WARN_ON_USE (cosl
, "cosl is unportable - "
642 "use gnulib module cosl for portability");
649 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
651 # define coshf rpl_coshf
653 _GL_FUNCDECL_RPL (coshf
, float, (float x
));
654 _GL_CXXALIAS_RPL (coshf
, float, (float x
));
658 _GL_FUNCDECL_SYS (coshf
, float, (float x
));
660 _GL_CXXALIAS_SYS (coshf
, float, (float x
));
662 _GL_CXXALIASWARN (coshf
);
663 #elif defined GNULIB_POSIXCHECK
665 # if HAVE_RAW_DECL_COSHF
666 _GL_WARN_ON_USE (coshf
, "coshf is unportable - "
667 "use gnulib module coshf for portability");
674 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
676 # define expf rpl_expf
678 _GL_FUNCDECL_RPL (expf
, float, (float x
));
679 _GL_CXXALIAS_RPL (expf
, float, (float x
));
683 _GL_FUNCDECL_SYS (expf
, float, (float x
));
685 _GL_CXXALIAS_SYS (expf
, float, (float x
));
687 _GL_CXXALIASWARN (expf
);
688 #elif defined GNULIB_POSIXCHECK
690 # if HAVE_RAW_DECL_EXPF
691 _GL_WARN_ON_USE (expf
, "expf is unportable - "
692 "use gnulib module expf for portability");
698 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
700 # define expl rpl_expl
702 _GL_FUNCDECL_RPL (expl
, long double, (long double x
));
703 _GL_CXXALIAS_RPL (expl
, long double, (long double x
));
705 # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@
707 _GL_FUNCDECL_SYS (expl
, long double, (long double x
));
709 _GL_CXXALIAS_SYS (expl
, long double, (long double x
));
712 _GL_CXXALIASWARN (expl
);
714 #elif defined GNULIB_POSIXCHECK
716 # if HAVE_RAW_DECL_EXPL
717 _GL_WARN_ON_USE (expl
, "expl is unportable - "
718 "use gnulib module expl for portability");
724 # if !@HAVE_DECL_EXP2F@
725 _GL_FUNCDECL_SYS (exp2f
, float, (float x
));
727 _GL_CXXALIAS_SYS (exp2f
, float, (float x
));
728 _GL_CXXALIASWARN (exp2f
);
729 #elif defined GNULIB_POSIXCHECK
731 # if HAVE_RAW_DECL_EXP2F
732 _GL_WARN_ON_USE (exp2f
, "exp2f is unportable - "
733 "use gnulib module exp2f for portability");
739 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
741 # define exp2 rpl_exp2
743 _GL_FUNCDECL_RPL (exp2
, double, (double x
));
744 _GL_CXXALIAS_RPL (exp2
, double, (double x
));
746 # if !@HAVE_DECL_EXP2@
747 _GL_FUNCDECL_SYS (exp2
, double, (double x
));
749 _GL_CXXALIAS_SYS (exp2
, double, (double x
));
752 _GL_CXXALIASWARN1 (exp2
, double, (double x
));
754 #elif defined GNULIB_POSIXCHECK
756 # if HAVE_RAW_DECL_EXP2
757 _GL_WARN_ON_USE (exp2
, "exp2 is unportable - "
758 "use gnulib module exp2 for portability");
764 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
766 # define exp2l rpl_exp2l
768 _GL_FUNCDECL_RPL (exp2l
, long double, (long double x
));
769 _GL_CXXALIAS_RPL (exp2l
, long double, (long double x
));
771 # if !@HAVE_DECL_EXP2L@
773 _GL_FUNCDECL_SYS (exp2l
, long double, (long double x
));
775 _GL_CXXALIAS_SYS (exp2l
, long double, (long double x
));
778 _GL_CXXALIASWARN (exp2l
);
780 #elif defined GNULIB_POSIXCHECK
782 # if HAVE_RAW_DECL_EXP2L
783 _GL_WARN_ON_USE (exp2l
, "exp2l is unportable - "
784 "use gnulib module exp2l for portability");
790 # if @REPLACE_EXPM1F@
791 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
793 # define expm1f rpl_expm1f
795 _GL_FUNCDECL_RPL (expm1f
, float, (float x
));
796 _GL_CXXALIAS_RPL (expm1f
, float, (float x
));
799 _GL_FUNCDECL_SYS (expm1f
, float, (float x
));
801 _GL_CXXALIAS_SYS (expm1f
, float, (float x
));
803 _GL_CXXALIASWARN (expm1f
);
804 #elif defined GNULIB_POSIXCHECK
806 # if HAVE_RAW_DECL_EXPM1F
807 _GL_WARN_ON_USE (expm1f
, "expm1f is unportable - "
808 "use gnulib module expm1f for portability");
814 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
816 # define expm1 rpl_expm1
818 _GL_FUNCDECL_RPL (expm1
, double, (double x
));
819 _GL_CXXALIAS_RPL (expm1
, double, (double x
));
822 _GL_FUNCDECL_SYS (expm1
, double, (double x
));
824 _GL_CXXALIAS_SYS (expm1
, double, (double x
));
827 _GL_CXXALIASWARN1 (expm1
, double, (double x
));
829 #elif defined GNULIB_POSIXCHECK
831 # if HAVE_RAW_DECL_EXPM1
832 _GL_WARN_ON_USE (expm1
, "expm1 is unportable - "
833 "use gnulib module expm1 for portability");
838 # if @REPLACE_EXPM1L@
839 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
841 # define expm1l rpl_expm1l
843 _GL_FUNCDECL_RPL (expm1l
, long double, (long double x
));
844 _GL_CXXALIAS_RPL (expm1l
, long double, (long double x
));
846 # if !@HAVE_DECL_EXPM1L@
848 # if !(defined __cplusplus && defined _AIX)
849 _GL_FUNCDECL_SYS (expm1l
, long double, (long double x
));
852 _GL_CXXALIAS_SYS (expm1l
, long double, (long double x
));
855 _GL_CXXALIASWARN (expm1l
);
857 #elif defined GNULIB_POSIXCHECK
859 # if HAVE_RAW_DECL_EXPM1L
860 _GL_WARN_ON_USE (expm1l
, "expm1l is unportable - "
861 "use gnulib module expm1l for portability");
869 _GL_FUNCDECL_SYS (fabsf
, float, (float x
));
871 _GL_CXXALIAS_SYS (fabsf
, float, (float x
));
873 _GL_CXXALIASWARN (fabsf
);
875 #elif defined GNULIB_POSIXCHECK
877 # if HAVE_RAW_DECL_FABSF
878 _GL_WARN_ON_USE (fabsf
, "fabsf is unportable - "
879 "use gnulib module fabsf for portability");
885 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
887 # define fabsl rpl_fabsl
889 _GL_FUNCDECL_RPL (fabsl
, long double, (long double x
));
890 _GL_CXXALIAS_RPL (fabsl
, long double, (long double x
));
894 _GL_FUNCDECL_SYS (fabsl
, long double, (long double x
));
896 _GL_CXXALIAS_SYS (fabsl
, long double, (long double x
));
899 _GL_CXXALIASWARN (fabsl
);
901 #elif defined GNULIB_POSIXCHECK
903 # if HAVE_RAW_DECL_FABSL
904 _GL_WARN_ON_USE (fabsl
, "fabsl is unportable - "
905 "use gnulib module fabsl for portability");
911 # if @REPLACE_FLOORF@
912 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
914 # define floorf rpl_floorf
916 _GL_FUNCDECL_RPL (floorf
, float, (float x
));
917 _GL_CXXALIAS_RPL (floorf
, float, (float x
));
919 # if !@HAVE_DECL_FLOORF@
921 _GL_FUNCDECL_SYS (floorf
, float, (float x
));
923 _GL_CXXALIAS_SYS (floorf
, float, (float x
));
925 _GL_CXXALIASWARN (floorf
);
926 #elif defined GNULIB_POSIXCHECK
928 # if HAVE_RAW_DECL_FLOORF
929 _GL_WARN_ON_USE (floorf
, "floorf is unportable - "
930 "use gnulib module floorf for portability");
936 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
938 # define floor rpl_floor
940 _GL_FUNCDECL_RPL (floor
, double, (double x
));
941 _GL_CXXALIAS_RPL (floor
, double, (double x
));
943 _GL_CXXALIAS_SYS (floor
, double, (double x
));
946 _GL_CXXALIASWARN1 (floor
, double, (double x
));
951 # if @REPLACE_FLOORL@
952 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
954 # define floorl rpl_floorl
956 _GL_FUNCDECL_RPL (floorl
, long double, (long double x
));
957 _GL_CXXALIAS_RPL (floorl
, long double, (long double x
));
959 # if !@HAVE_DECL_FLOORL@
961 _GL_FUNCDECL_SYS (floorl
, long double, (long double x
));
963 _GL_CXXALIAS_SYS (floorl
, long double, (long double x
));
966 _GL_CXXALIASWARN (floorl
);
968 #elif defined GNULIB_POSIXCHECK
970 # if HAVE_RAW_DECL_FLOORL
971 _GL_WARN_ON_USE (floorl
, "floorl is unportable - "
972 "use gnulib module floorl for portability");
979 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
981 # define fmaf rpl_fmaf
983 _GL_FUNCDECL_RPL (fmaf
, float, (float x
, float y
, float z
));
984 _GL_CXXALIAS_RPL (fmaf
, float, (float x
, float y
, float z
));
988 _GL_FUNCDECL_SYS (fmaf
, float, (float x
, float y
, float z
));
990 _GL_CXXALIAS_SYS (fmaf
, float, (float x
, float y
, float z
));
992 _GL_CXXALIASWARN (fmaf
);
993 #elif defined GNULIB_POSIXCHECK
995 # if HAVE_RAW_DECL_FMAF
996 _GL_WARN_ON_USE (fmaf
, "fmaf is unportable - "
997 "use gnulib module fmaf for portability");
1003 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1005 # define fma rpl_fma
1007 _GL_FUNCDECL_RPL (fma
, double, (double x
, double y
, double z
));
1008 _GL_CXXALIAS_RPL (fma
, double, (double x
, double y
, double z
));
1012 _GL_FUNCDECL_SYS (fma
, double, (double x
, double y
, double z
));
1014 _GL_CXXALIAS_SYS (fma
, double, (double x
, double y
, double z
));
1017 _GL_CXXALIASWARN1 (fma
, double, (double x
, double y
, double z
));
1019 #elif defined GNULIB_POSIXCHECK
1021 # if HAVE_RAW_DECL_FMA
1022 _GL_WARN_ON_USE (fma
, "fma is unportable - "
1023 "use gnulib module fma for portability");
1029 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1031 # define fmal rpl_fmal
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
));
1040 # if !(defined __cplusplus && defined _AIX)
1041 _GL_FUNCDECL_SYS (fmal
, long double,
1042 (long double x
, long double y
, long double z
));
1045 _GL_CXXALIAS_SYS (fmal
, long double,
1046 (long double x
, long double y
, long double z
));
1049 _GL_CXXALIASWARN (fmal
);
1051 #elif defined GNULIB_POSIXCHECK
1053 # if HAVE_RAW_DECL_FMAL
1054 _GL_WARN_ON_USE (fmal
, "fmal is unportable - "
1055 "use gnulib module fmal for portability");
1061 # if @REPLACE_FMODF@
1062 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1064 # define fmodf rpl_fmodf
1066 _GL_FUNCDECL_RPL (fmodf
, float, (float x
, float y
));
1067 _GL_CXXALIAS_RPL (fmodf
, float, (float x
, float y
));
1071 _GL_FUNCDECL_SYS (fmodf
, float, (float x
, float y
));
1073 _GL_CXXALIAS_SYS (fmodf
, float, (float x
, float y
));
1075 _GL_CXXALIASWARN (fmodf
);
1076 #elif defined GNULIB_POSIXCHECK
1078 # if HAVE_RAW_DECL_FMODF
1079 _GL_WARN_ON_USE (fmodf
, "fmodf is unportable - "
1080 "use gnulib module fmodf for portability");
1086 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1088 # define fmod rpl_fmod
1090 _GL_FUNCDECL_RPL (fmod
, double, (double x
, double y
));
1091 _GL_CXXALIAS_RPL (fmod
, double, (double x
, double y
));
1093 _GL_CXXALIAS_SYS (fmod
, double, (double x
, double y
));
1096 _GL_CXXALIASWARN1 (fmod
, double, (double x
, double y
));
1098 #elif defined GNULIB_POSIXCHECK
1100 # if HAVE_RAW_DECL_FMOD
1101 _GL_WARN_ON_USE (fmod
, "fmod has portability problems - "
1102 "use gnulib module fmod for portability");
1107 # if @REPLACE_FMODL@
1108 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1110 # define fmodl rpl_fmodl
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
));
1117 _GL_FUNCDECL_SYS (fmodl
, long double, (long double x
, long double y
));
1119 _GL_CXXALIAS_SYS (fmodl
, long double, (long double x
, long double y
));
1122 _GL_CXXALIASWARN (fmodl
);
1124 #elif defined GNULIB_POSIXCHECK
1126 # if HAVE_RAW_DECL_FMODL
1127 _GL_WARN_ON_USE (fmodl
, "fmodl is unportable - "
1128 "use gnulib module fmodl for portability");
1134 x = mantissa * 2^exp
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. */
1141 # if @REPLACE_FREXPF@
1142 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1144 # define frexpf rpl_frexpf
1146 _GL_FUNCDECL_RPL (frexpf
, float, (float x
, int *expptr
), _GL_ARG_NONNULL ((2)));
1147 _GL_CXXALIAS_RPL (frexpf
, float, (float x
, int *expptr
));
1151 _GL_FUNCDECL_SYS (frexpf
, float, (float x
, int *expptr
), _GL_ARG_NONNULL ((2)));
1153 _GL_CXXALIAS_SYS (frexpf
, float, (float x
, int *expptr
));
1156 _GL_CXXALIASWARN (frexpf
);
1158 #elif defined GNULIB_POSIXCHECK
1160 # if HAVE_RAW_DECL_FREXPF
1161 _GL_WARN_ON_USE (frexpf
, "frexpf is unportable - "
1162 "use gnulib module frexpf for portability");
1167 x = mantissa * 2^exp
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. */
1174 # if @REPLACE_FREXP@
1175 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1177 # define frexp rpl_frexp
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
));
1183 _GL_CXXALIAS_SYS (frexp
, double, (double x
, int *expptr
));
1186 _GL_CXXALIASWARN1 (frexp
, double, (double x
, int *expptr
));
1188 #elif defined GNULIB_POSIXCHECK
1190 /* Assume frexp is always declared. */
1191 _GL_WARN_ON_USE (frexp
, "frexp is unportable - "
1192 "use gnulib module frexp for portability");
1196 x = mantissa * 2^exp
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)
1205 # define frexpl rpl_frexpl
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
));
1211 # if !@HAVE_DECL_FREXPL@
1212 _GL_FUNCDECL_SYS (frexpl
, long double,
1213 (long double x
, int *expptr
), _GL_ARG_NONNULL ((2)));
1215 # if @GNULIB_FREXPL@
1216 _GL_CXXALIAS_SYS (frexpl
, long double, (long double x
, int *expptr
));
1219 #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@)
1221 _GL_CXXALIASWARN (frexpl
);
1224 #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
1226 # if HAVE_RAW_DECL_FREXPL
1227 _GL_WARN_ON_USE (frexpl
, "frexpl is unportable - "
1228 "use gnulib module frexpl for portability");
1233 /* Return sqrt(x^2+y^2). */
1235 # if @REPLACE_HYPOTF@
1236 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1238 # define hypotf rpl_hypotf
1240 _GL_FUNCDECL_RPL (hypotf
, float, (float x
, float y
));
1241 _GL_CXXALIAS_RPL (hypotf
, float, (float x
, float y
));
1244 _GL_FUNCDECL_SYS (hypotf
, float, (float x
, float y
));
1246 _GL_CXXALIAS_SYS (hypotf
, float, (float x
, float y
));
1249 _GL_CXXALIASWARN (hypotf
);
1251 #elif defined GNULIB_POSIXCHECK
1253 # if HAVE_RAW_DECL_HYPOTF
1254 _GL_WARN_ON_USE (hypotf
, "hypotf is unportable - "
1255 "use gnulib module hypotf for portability");
1259 /* Return sqrt(x^2+y^2). */
1261 # if @REPLACE_HYPOT@
1262 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1264 # define hypot rpl_hypot
1266 _GL_FUNCDECL_RPL (hypot
, double, (double x
, double y
));
1267 _GL_CXXALIAS_RPL (hypot
, double, (double x
, double y
));
1269 _GL_CXXALIAS_SYS (hypot
, double, (double x
, double y
));
1272 _GL_CXXALIASWARN1 (hypot
, double, (double x
, double y
));
1274 #elif defined GNULIB_POSIXCHECK
1276 # if HAVE_RAW_DECL_HYPOT
1277 _GL_WARN_ON_USE (hypotf
, "hypot has portability problems - "
1278 "use gnulib module hypot for portability");
1282 /* Return sqrt(x^2+y^2). */
1284 # if @REPLACE_HYPOTL@
1285 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1287 # define hypotl rpl_hypotl
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
));
1293 _GL_FUNCDECL_SYS (hypotl
, long double, (long double x
, long double y
));
1295 _GL_CXXALIAS_SYS (hypotl
, long double, (long double x
, long double y
));
1298 _GL_CXXALIASWARN (hypotl
);
1300 #elif defined GNULIB_POSIXCHECK
1302 # if HAVE_RAW_DECL_HYPOTL
1303 _GL_WARN_ON_USE (hypotl
, "hypotl is unportable - "
1304 "use gnulib module hypotl for portability");
1310 # if @REPLACE_ILOGBF@
1311 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1313 # define ilogbf rpl_ilogbf
1315 _GL_FUNCDECL_RPL (ilogbf
, int, (float x
));
1316 _GL_CXXALIAS_RPL (ilogbf
, int, (float x
));
1319 _GL_FUNCDECL_SYS (ilogbf
, int, (float x
));
1321 _GL_CXXALIAS_SYS (ilogbf
, int, (float x
));
1323 _GL_CXXALIASWARN (ilogbf
);
1324 #elif defined GNULIB_POSIXCHECK
1326 # if HAVE_RAW_DECL_ILOGBF
1327 _GL_WARN_ON_USE (ilogbf
, "ilogbf is unportable - "
1328 "use gnulib module ilogbf for portability");
1333 # if @REPLACE_ILOGB@
1334 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1336 # define ilogb rpl_ilogb
1338 _GL_FUNCDECL_RPL (ilogb
, int, (double x
));
1339 _GL_CXXALIAS_RPL (ilogb
, int, (double x
));
1342 _GL_FUNCDECL_SYS (ilogb
, int, (double x
));
1344 _GL_CXXALIAS_SYS (ilogb
, int, (double x
));
1347 _GL_CXXALIASWARN1 (ilogb
, int, (double x
));
1349 #elif defined GNULIB_POSIXCHECK
1351 # if HAVE_RAW_DECL_ILOGB
1352 _GL_WARN_ON_USE (ilogb
, "ilogb is unportable - "
1353 "use gnulib module ilogb for portability");
1358 # if @REPLACE_ILOGBL@
1359 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1361 # define ilogbl rpl_ilogbl
1363 _GL_FUNCDECL_RPL (ilogbl
, int, (long double x
));
1364 _GL_CXXALIAS_RPL (ilogbl
, int, (long double x
));
1368 _GL_FUNCDECL_SYS (ilogbl
, int, (long double x
));
1370 _GL_CXXALIAS_SYS (ilogbl
, int, (long double x
));
1373 _GL_CXXALIASWARN (ilogbl
);
1375 #elif defined GNULIB_POSIXCHECK
1377 # if HAVE_RAW_DECL_ILOGBL
1378 _GL_WARN_ON_USE (ilogbl
, "ilogbl is unportable - "
1379 "use gnulib module ilogbl for portability");
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)
1393 _GL_CXXALIAS_MDA (j0
, double, (double x
));
1395 _GL_CXXALIAS_SYS (j0
, double, (double x
));
1397 _GL_CXXALIASWARN (j0
);
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)
1409 _GL_CXXALIAS_MDA (j1
, double, (double x
));
1411 _GL_CXXALIAS_SYS (j1
, double, (double x
));
1413 _GL_CXXALIASWARN (j1
);
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)
1425 _GL_CXXALIAS_MDA (jn
, double, (int n
, double x
));
1427 _GL_CXXALIAS_SYS (jn
, double, (int n
, double x
));
1429 _GL_CXXALIASWARN (jn
);
1433 /* Return x * 2^exp. */
1437 _GL_FUNCDECL_SYS (ldexpf
, float, (float x
, int exp
));
1439 _GL_CXXALIAS_SYS (ldexpf
, float, (float x
, int exp
));
1441 _GL_CXXALIASWARN (ldexpf
);
1443 #elif defined GNULIB_POSIXCHECK
1445 # if HAVE_RAW_DECL_LDEXPF
1446 _GL_WARN_ON_USE (ldexpf
, "ldexpf is unportable - "
1447 "use gnulib module ldexpf for portability");
1451 /* Return x * 2^exp. */
1453 # if @REPLACE_LDEXP@
1454 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1456 # define ldexp rpl_ldexp
1458 _GL_FUNCDECL_RPL (ldexp
, double, (double x
, int exp
));
1459 _GL_CXXALIAS_RPL (ldexp
, double, (double x
, int exp
));
1461 /* Assume ldexp is always declared. */
1462 _GL_CXXALIAS_SYS (ldexp
, double, (double x
, int exp
));
1465 _GL_CXXALIASWARN1 (ldexp
, double, (double x
, int exp
));
1467 #elif defined GNULIB_POSIXCHECK
1469 /* Assume ldexp is always declared. */
1470 _GL_WARN_ON_USE (ldexp
, "ldexp is unportable - "
1471 "use gnulib module ldexp for portability");
1474 /* Return x * 2^exp. */
1475 #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
1476 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1478 # define ldexpl rpl_ldexpl
1480 _GL_FUNCDECL_RPL (ldexpl
, long double, (long double x
, int exp
));
1481 _GL_CXXALIAS_RPL (ldexpl
, long double, (long double x
, int exp
));
1483 # if !@HAVE_DECL_LDEXPL@
1484 _GL_FUNCDECL_SYS (ldexpl
, long double, (long double x
, int exp
));
1486 # if @GNULIB_LDEXPL@
1487 _GL_CXXALIAS_SYS (ldexpl
, long double, (long double x
, int exp
));
1492 _GL_CXXALIASWARN (ldexpl
);
1495 #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK
1497 # if HAVE_RAW_DECL_LDEXPL
1498 _GL_WARN_ON_USE (ldexpl
, "ldexpl is unportable - "
1499 "use gnulib module ldexpl for portability");
1506 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1508 # define logf rpl_logf
1510 _GL_FUNCDECL_RPL (logf
, float, (float x
));
1511 _GL_CXXALIAS_RPL (logf
, float, (float x
));
1515 _GL_FUNCDECL_SYS (logf
, float, (float x
));
1517 _GL_CXXALIAS_SYS (logf
, float, (float x
));
1519 _GL_CXXALIASWARN (logf
);
1520 #elif defined GNULIB_POSIXCHECK
1522 # if HAVE_RAW_DECL_LOGF
1523 _GL_WARN_ON_USE (logf
, "logf is unportable - "
1524 "use gnulib module logf for portability");
1530 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1532 # define log rpl_log
1534 _GL_FUNCDECL_RPL (log
, double, (double x
));
1535 _GL_CXXALIAS_RPL (log
, double, (double x
));
1537 _GL_CXXALIAS_SYS (log
, double, (double x
));
1540 _GL_CXXALIASWARN1 (log
, double, (double x
));
1542 #elif defined GNULIB_POSIXCHECK
1544 # if HAVE_RAW_DECL_LOG
1545 _GL_WARN_ON_USE (log
, "log has portability problems - "
1546 "use gnulib module log for portability");
1552 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1554 # define logl rpl_logl
1556 _GL_FUNCDECL_RPL (logl
, long double, (long double x
));
1557 _GL_CXXALIAS_RPL (logl
, long double, (long double x
));
1559 # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@
1561 _GL_FUNCDECL_SYS (logl
, long double, (long double x
));
1563 _GL_CXXALIAS_SYS (logl
, long double, (long double x
));
1566 _GL_CXXALIASWARN (logl
);
1568 #elif defined GNULIB_POSIXCHECK
1570 # if HAVE_RAW_DECL_LOGL
1571 _GL_WARN_ON_USE (logl
, "logl is unportable - "
1572 "use gnulib module logl for portability");
1578 # if @REPLACE_LOG10F@
1579 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1581 # define log10f rpl_log10f
1583 _GL_FUNCDECL_RPL (log10f
, float, (float x
));
1584 _GL_CXXALIAS_RPL (log10f
, float, (float x
));
1588 _GL_FUNCDECL_SYS (log10f
, float, (float x
));
1590 _GL_CXXALIAS_SYS (log10f
, float, (float x
));
1592 _GL_CXXALIASWARN (log10f
);
1593 #elif defined GNULIB_POSIXCHECK
1595 # if HAVE_RAW_DECL_LOG10F
1596 _GL_WARN_ON_USE (log10f
, "log10f is unportable - "
1597 "use gnulib module log10f for portability");
1602 # if @REPLACE_LOG10@
1603 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1605 # define log10 rpl_log10
1607 _GL_FUNCDECL_RPL (log10
, double, (double x
));
1608 _GL_CXXALIAS_RPL (log10
, double, (double x
));
1610 _GL_CXXALIAS_SYS (log10
, double, (double x
));
1613 _GL_CXXALIASWARN1 (log10
, double, (double x
));
1615 #elif defined GNULIB_POSIXCHECK
1617 # if HAVE_RAW_DECL_LOG10
1618 _GL_WARN_ON_USE (log10
, "log10 has portability problems - "
1619 "use gnulib module log10 for portability");
1624 # if @REPLACE_LOG10L@
1625 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1627 # define log10l rpl_log10l
1629 _GL_FUNCDECL_RPL (log10l
, long double, (long double x
));
1630 _GL_CXXALIAS_RPL (log10l
, long double, (long double x
));
1632 # if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@
1634 _GL_FUNCDECL_SYS (log10l
, long double, (long double x
));
1636 _GL_CXXALIAS_SYS (log10l
, long double, (long double x
));
1639 _GL_CXXALIASWARN (log10l
);
1641 #elif defined GNULIB_POSIXCHECK
1643 # if HAVE_RAW_DECL_LOG10L
1644 _GL_WARN_ON_USE (log10l
, "log10l is unportable - "
1645 "use gnulib module log10l for portability");
1651 # if @REPLACE_LOG1PF@
1652 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1654 # define log1pf rpl_log1pf
1656 _GL_FUNCDECL_RPL (log1pf
, float, (float x
));
1657 _GL_CXXALIAS_RPL (log1pf
, float, (float x
));
1660 _GL_FUNCDECL_SYS (log1pf
, float, (float x
));
1662 _GL_CXXALIAS_SYS (log1pf
, float, (float x
));
1664 _GL_CXXALIASWARN (log1pf
);
1665 #elif defined GNULIB_POSIXCHECK
1667 # if HAVE_RAW_DECL_LOG1PF
1668 _GL_WARN_ON_USE (log1pf
, "log1pf is unportable - "
1669 "use gnulib module log1pf for portability");
1674 # if @REPLACE_LOG1P@
1675 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1677 # define log1p rpl_log1p
1679 _GL_FUNCDECL_RPL (log1p
, double, (double x
));
1680 _GL_CXXALIAS_RPL (log1p
, double, (double x
));
1683 _GL_FUNCDECL_SYS (log1p
, double, (double x
));
1685 _GL_CXXALIAS_SYS (log1p
, double, (double x
));
1688 _GL_CXXALIASWARN1 (log1p
, double, (double x
));
1690 #elif defined GNULIB_POSIXCHECK
1692 # if HAVE_RAW_DECL_LOG1P
1693 _GL_WARN_ON_USE (log1p
, "log1p has portability problems - "
1694 "use gnulib module log1p for portability");
1699 # if @REPLACE_LOG1PL@
1700 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1702 # define log1pl rpl_log1pl
1704 _GL_FUNCDECL_RPL (log1pl
, long double, (long double x
));
1705 _GL_CXXALIAS_RPL (log1pl
, long double, (long double x
));
1708 _GL_FUNCDECL_SYS (log1pl
, long double, (long double x
));
1710 _GL_CXXALIAS_SYS (log1pl
, long double, (long double x
));
1713 _GL_CXXALIASWARN (log1pl
);
1715 #elif defined GNULIB_POSIXCHECK
1717 # if HAVE_RAW_DECL_LOG1PL
1718 _GL_WARN_ON_USE (log1pl
, "log1pl has portability problems - "
1719 "use gnulib module log1pl for portability");
1725 # if @REPLACE_LOG2F@
1726 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1728 # define log2f rpl_log2f
1730 _GL_FUNCDECL_RPL (log2f
, float, (float x
));
1731 _GL_CXXALIAS_RPL (log2f
, float, (float x
));
1733 # if !@HAVE_DECL_LOG2F@
1735 _GL_FUNCDECL_SYS (log2f
, float, (float x
));
1737 _GL_CXXALIAS_SYS (log2f
, float, (float x
));
1740 _GL_CXXALIASWARN (log2f
);
1742 #elif defined GNULIB_POSIXCHECK
1744 # if HAVE_RAW_DECL_LOG2F
1745 _GL_WARN_ON_USE (log2f
, "log2f is unportable - "
1746 "use gnulib module log2f for portability");
1752 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1754 # define log2 rpl_log2
1756 _GL_FUNCDECL_RPL (log2
, double, (double x
));
1757 _GL_CXXALIAS_RPL (log2
, double, (double x
));
1759 # if !@HAVE_DECL_LOG2@
1761 _GL_FUNCDECL_SYS (log2
, double, (double x
));
1763 _GL_CXXALIAS_SYS (log2
, double, (double x
));
1766 _GL_CXXALIASWARN1 (log2
, double, (double x
));
1768 #elif defined GNULIB_POSIXCHECK
1770 # if HAVE_RAW_DECL_LOG2
1771 _GL_WARN_ON_USE (log2
, "log2 is unportable - "
1772 "use gnulib module log2 for portability");
1777 # if @REPLACE_LOG2L@
1778 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1780 # define log2l rpl_log2l
1782 _GL_FUNCDECL_RPL (log2l
, long double, (long double x
));
1783 _GL_CXXALIAS_RPL (log2l
, long double, (long double x
));
1785 # if !@HAVE_DECL_LOG2L@
1786 _GL_FUNCDECL_SYS (log2l
, long double, (long double x
));
1788 _GL_CXXALIAS_SYS (log2l
, long double, (long double x
));
1791 _GL_CXXALIASWARN (log2l
);
1793 #elif defined GNULIB_POSIXCHECK
1795 # if HAVE_RAW_DECL_LOG2L
1796 _GL_WARN_ON_USE (log2l
, "log2l is unportable - "
1797 "use gnulib module log2l for portability");
1803 # if @REPLACE_LOGBF@
1804 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1806 # define logbf rpl_logbf
1808 _GL_FUNCDECL_RPL (logbf
, float, (float x
));
1809 _GL_CXXALIAS_RPL (logbf
, float, (float x
));
1812 _GL_FUNCDECL_SYS (logbf
, float, (float x
));
1814 _GL_CXXALIAS_SYS (logbf
, float, (float x
));
1816 _GL_CXXALIASWARN (logbf
);
1817 #elif defined GNULIB_POSIXCHECK
1819 # if HAVE_RAW_DECL_LOGBF
1820 _GL_WARN_ON_USE (logbf
, "logbf is unportable - "
1821 "use gnulib module logbf for portability");
1827 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1829 # define logb rpl_logb
1831 _GL_FUNCDECL_RPL (logb
, double, (double x
));
1832 _GL_CXXALIAS_RPL (logb
, double, (double x
));
1834 # if !@HAVE_DECL_LOGB@
1835 _GL_FUNCDECL_SYS (logb
, double, (double x
));
1837 _GL_CXXALIAS_SYS (logb
, double, (double x
));
1840 _GL_CXXALIASWARN1 (logb
, double, (double x
));
1842 #elif defined GNULIB_POSIXCHECK
1844 # if HAVE_RAW_DECL_LOGB
1845 _GL_WARN_ON_USE (logb
, "logb is unportable - "
1846 "use gnulib module logb for portability");
1851 # if @REPLACE_LOGBL@
1852 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1854 # define logbl rpl_logbl
1856 _GL_FUNCDECL_RPL (logbl
, long double, (long double x
));
1857 _GL_CXXALIAS_RPL (logbl
, long double, (long double x
));
1860 _GL_FUNCDECL_SYS (logbl
, long double, (long double x
));
1862 _GL_CXXALIAS_SYS (logbl
, long double, (long double x
));
1865 _GL_CXXALIASWARN (logbl
);
1867 #elif defined GNULIB_POSIXCHECK
1869 # if HAVE_RAW_DECL_LOGBL
1870 _GL_WARN_ON_USE (logbl
, "logbl is unportable - "
1871 "use gnulib module logbl for portability");
1878 _GL_FUNCDECL_SYS (logp1f
, float, (float x
));
1880 _GL_CXXALIAS_SYS (logp1f
, float, (float x
));
1882 _GL_CXXALIASWARN1 (logp1f
, float, (float x
));
1884 #elif defined GNULIB_POSIXCHECK
1886 # if HAVE_RAW_DECL_LOGP1F
1887 _GL_WARN_ON_USE (logp1f
, "logp1f is unportable - "
1888 "use gnulib module logp1f for portability");
1894 _GL_FUNCDECL_SYS (logp1
, double, (double x
));
1896 _GL_CXXALIAS_SYS (logp1
, double, (double x
));
1898 _GL_CXXALIASWARN1 (logp1
, double, (double x
));
1900 #elif defined GNULIB_POSIXCHECK
1902 # if HAVE_RAW_DECL_LOGP1
1903 _GL_WARN_ON_USE (logp1
, "logp1 is unportable - "
1904 "use gnulib module logp1 for portability");
1910 _GL_FUNCDECL_SYS (logp1l
, long double, (long double x
));
1912 _GL_CXXALIAS_SYS (logp1l
, long double, (long double x
));
1914 _GL_CXXALIASWARN1 (logp1l
, long double, (long double x
));
1916 #elif defined GNULIB_POSIXCHECK
1918 # if HAVE_RAW_DECL_LOGP1L
1919 _GL_WARN_ON_USE (logp1l
, "logp1l is unportable - "
1920 "use gnulib module logp1l for portability");
1926 # if @REPLACE_MODFF@
1927 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1929 # define modff rpl_modff
1931 _GL_FUNCDECL_RPL (modff
, float, (float x
, float *iptr
), _GL_ARG_NONNULL ((2)));
1932 _GL_CXXALIAS_RPL (modff
, float, (float x
, float *iptr
));
1936 _GL_FUNCDECL_SYS (modff
, float, (float x
, float *iptr
), _GL_ARG_NONNULL ((2)));
1938 _GL_CXXALIAS_SYS (modff
, float, (float x
, float *iptr
));
1940 _GL_CXXALIASWARN (modff
);
1941 #elif defined GNULIB_POSIXCHECK
1943 # if HAVE_RAW_DECL_MODFF
1944 _GL_WARN_ON_USE (modff
, "modff is unportable - "
1945 "use gnulib module modff for portability");
1951 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1953 # define modf rpl_modf
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
));
1959 _GL_CXXALIAS_SYS (modf
, double, (double x
, double *iptr
));
1962 _GL_CXXALIASWARN1 (modf
, double, (double x
, double *iptr
));
1964 #elif defined GNULIB_POSIXCHECK
1966 # if HAVE_RAW_DECL_MODF
1967 _GL_WARN_ON_USE (modf
, "modf has portability problems - "
1968 "use gnulib module modf for portability");
1973 # if @REPLACE_MODFL@
1974 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1976 # define modfl rpl_modfl
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
));
1984 _GL_FUNCDECL_SYS (modfl
, long double, (long double x
, long double *iptr
),
1985 _GL_ARG_NONNULL ((2)));
1987 _GL_CXXALIAS_SYS (modfl
, long double, (long double x
, long double *iptr
));
1990 _GL_CXXALIASWARN (modfl
);
1992 #elif defined GNULIB_POSIXCHECK
1994 # if HAVE_RAW_DECL_MODFL
1995 _GL_WARN_ON_USE (modfl
, "modfl is unportable - "
1996 "use gnulib module modfl for portability");
2004 _GL_FUNCDECL_SYS (powf
, float, (float x
, float y
));
2006 _GL_CXXALIAS_SYS (powf
, float, (float x
, float y
));
2007 _GL_CXXALIASWARN (powf
);
2008 #elif defined GNULIB_POSIXCHECK
2010 # if HAVE_RAW_DECL_POWF
2011 _GL_WARN_ON_USE (powf
, "powf is unportable - "
2012 "use gnulib module powf for portability");
2017 #if @GNULIB_REMAINDERF@
2018 # if @REPLACE_REMAINDERF@
2019 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2021 # define remainderf rpl_remainderf
2023 _GL_FUNCDECL_RPL (remainderf
, float, (float x
, float y
));
2024 _GL_CXXALIAS_RPL (remainderf
, float, (float x
, float y
));
2026 # if !@HAVE_REMAINDERF@
2027 _GL_FUNCDECL_SYS (remainderf
, float, (float x
, float y
));
2029 _GL_CXXALIAS_SYS (remainderf
, float, (float x
, float y
));
2031 _GL_CXXALIASWARN (remainderf
);
2032 #elif defined GNULIB_POSIXCHECK
2034 # if HAVE_RAW_DECL_REMAINDERF
2035 _GL_WARN_ON_USE (remainderf
, "remainderf is unportable - "
2036 "use gnulib module remainderf for portability");
2040 #if @GNULIB_REMAINDER@
2041 # if @REPLACE_REMAINDER@
2042 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2044 # define remainder rpl_remainder
2046 _GL_FUNCDECL_RPL (remainder
, double, (double x
, double y
));
2047 _GL_CXXALIAS_RPL (remainder
, double, (double x
, double y
));
2049 # if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@
2050 _GL_FUNCDECL_SYS (remainder
, double, (double x
, double y
));
2052 _GL_CXXALIAS_SYS (remainder
, double, (double x
, double y
));
2055 _GL_CXXALIASWARN1 (remainder
, double, (double x
, double y
));
2057 #elif defined GNULIB_POSIXCHECK
2059 # if HAVE_RAW_DECL_REMAINDER
2060 _GL_WARN_ON_USE (remainder
, "remainder is unportable - "
2061 "use gnulib module remainder for portability");
2065 #if @GNULIB_REMAINDERL@
2066 # if @REPLACE_REMAINDERL@
2067 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2069 # define remainderl rpl_remainderl
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
));
2074 # if !@HAVE_DECL_REMAINDERL@
2076 # if !(defined __cplusplus && defined _AIX)
2077 _GL_FUNCDECL_SYS (remainderl
, long double, (long double x
, long double y
));
2080 _GL_CXXALIAS_SYS (remainderl
, long double, (long double x
, long double y
));
2083 _GL_CXXALIASWARN (remainderl
);
2085 #elif defined GNULIB_POSIXCHECK
2087 # if HAVE_RAW_DECL_REMAINDERL
2088 _GL_WARN_ON_USE (remainderl
, "remainderl is unportable - "
2089 "use gnulib module remainderl for portability");
2095 # if !@HAVE_DECL_RINTF@
2096 _GL_FUNCDECL_SYS (rintf
, float, (float x
));
2098 _GL_CXXALIAS_SYS (rintf
, float, (float x
));
2099 _GL_CXXALIASWARN (rintf
);
2100 #elif defined GNULIB_POSIXCHECK
2102 # if HAVE_RAW_DECL_RINTF
2103 _GL_WARN_ON_USE (rintf
, "rintf is unportable - "
2104 "use gnulib module rintf for portability");
2110 _GL_FUNCDECL_SYS (rint
, double, (double x
));
2112 _GL_CXXALIAS_SYS (rint
, double, (double x
));
2114 _GL_CXXALIASWARN1 (rint
, double, (double x
));
2116 #elif defined GNULIB_POSIXCHECK
2118 # if HAVE_RAW_DECL_RINT
2119 _GL_WARN_ON_USE (rint
, "rint is unportable - "
2120 "use gnulib module rint for portability");
2125 # if @REPLACE_RINTL@
2126 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2128 # define rintl rpl_rintl
2130 _GL_FUNCDECL_RPL (rintl
, long double, (long double x
));
2131 _GL_CXXALIAS_RPL (rintl
, long double, (long double x
));
2134 _GL_FUNCDECL_SYS (rintl
, long double, (long double x
));
2136 _GL_CXXALIAS_SYS (rintl
, long double, (long double x
));
2139 _GL_CXXALIASWARN (rintl
);
2141 #elif defined GNULIB_POSIXCHECK
2143 # if HAVE_RAW_DECL_RINTL
2144 _GL_WARN_ON_USE (rintl
, "rintl is unportable - "
2145 "use gnulib module rintl for portability");
2151 # if @REPLACE_ROUNDF@
2152 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2154 # define roundf rpl_roundf
2156 _GL_FUNCDECL_RPL (roundf
, float, (float x
));
2157 _GL_CXXALIAS_RPL (roundf
, float, (float x
));
2159 # if !@HAVE_DECL_ROUNDF@
2160 _GL_FUNCDECL_SYS (roundf
, float, (float x
));
2162 _GL_CXXALIAS_SYS (roundf
, float, (float x
));
2164 _GL_CXXALIASWARN (roundf
);
2165 #elif defined GNULIB_POSIXCHECK
2167 # if HAVE_RAW_DECL_ROUNDF
2168 _GL_WARN_ON_USE (roundf
, "roundf is unportable - "
2169 "use gnulib module roundf for portability");
2174 # if @REPLACE_ROUND@
2175 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2177 # define round rpl_round
2179 _GL_FUNCDECL_RPL (round
, double, (double x
));
2180 _GL_CXXALIAS_RPL (round
, double, (double x
));
2182 # if !@HAVE_DECL_ROUND@
2183 _GL_FUNCDECL_SYS (round
, double, (double x
));
2185 _GL_CXXALIAS_SYS (round
, double, (double x
));
2188 _GL_CXXALIASWARN1 (round
, double, (double x
));
2190 #elif defined GNULIB_POSIXCHECK
2192 # if HAVE_RAW_DECL_ROUND
2193 _GL_WARN_ON_USE (round
, "round is unportable - "
2194 "use gnulib module round for portability");
2199 # if @REPLACE_ROUNDL@
2200 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2202 # define roundl rpl_roundl
2204 _GL_FUNCDECL_RPL (roundl
, long double, (long double x
));
2205 _GL_CXXALIAS_RPL (roundl
, long double, (long double x
));
2207 # if !@HAVE_DECL_ROUNDL@
2209 # if !(defined __cplusplus && defined _AIX)
2210 _GL_FUNCDECL_SYS (roundl
, long double, (long double x
));
2213 _GL_CXXALIAS_SYS (roundl
, long double, (long double x
));
2216 _GL_CXXALIASWARN (roundl
);
2218 #elif defined GNULIB_POSIXCHECK
2220 # if HAVE_RAW_DECL_ROUNDL
2221 _GL_WARN_ON_USE (roundl
, "roundl is unportable - "
2222 "use gnulib module roundl for portability");
2229 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2231 # define sinf rpl_sinf
2233 _GL_FUNCDECL_RPL (sinf
, float, (float x
));
2234 _GL_CXXALIAS_RPL (sinf
, float, (float x
));
2238 _GL_FUNCDECL_SYS (sinf
, float, (float x
));
2240 _GL_CXXALIAS_SYS (sinf
, float, (float x
));
2242 _GL_CXXALIASWARN (sinf
);
2243 #elif defined GNULIB_POSIXCHECK
2245 # if HAVE_RAW_DECL_SINF
2246 _GL_WARN_ON_USE (sinf
, "sinf is unportable - "
2247 "use gnulib module sinf for portability");
2252 # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@
2254 _GL_FUNCDECL_SYS (sinl
, long double, (long double x
));
2256 _GL_CXXALIAS_SYS (sinl
, long double, (long double x
));
2258 _GL_CXXALIASWARN (sinl
);
2260 #elif defined GNULIB_POSIXCHECK
2262 # if HAVE_RAW_DECL_SINL
2263 _GL_WARN_ON_USE (sinl
, "sinl is unportable - "
2264 "use gnulib module sinl for portability");
2270 # if @REPLACE_SINHF@
2271 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2273 # define sinhf rpl_sinhf
2275 _GL_FUNCDECL_RPL (sinhf
, float, (float x
));
2276 _GL_CXXALIAS_RPL (sinhf
, float, (float x
));
2280 _GL_FUNCDECL_SYS (sinhf
, float, (float x
));
2282 _GL_CXXALIAS_SYS (sinhf
, float, (float x
));
2284 _GL_CXXALIASWARN (sinhf
);
2285 #elif defined GNULIB_POSIXCHECK
2287 # if HAVE_RAW_DECL_SINHF
2288 _GL_WARN_ON_USE (sinhf
, "sinhf is unportable - "
2289 "use gnulib module sinhf for portability");
2295 # if @REPLACE_SQRTF@
2296 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2298 # define sqrtf rpl_sqrtf
2300 _GL_FUNCDECL_RPL (sqrtf
, float, (float x
));
2301 _GL_CXXALIAS_RPL (sqrtf
, float, (float x
));
2305 _GL_FUNCDECL_SYS (sqrtf
, float, (float x
));
2307 _GL_CXXALIAS_SYS (sqrtf
, float, (float x
));
2309 _GL_CXXALIASWARN (sqrtf
);
2310 #elif defined GNULIB_POSIXCHECK
2312 # if HAVE_RAW_DECL_SQRTF
2313 _GL_WARN_ON_USE (sqrtf
, "sqrtf is unportable - "
2314 "use gnulib module sqrtf for portability");
2319 # if @REPLACE_SQRTL@
2320 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2322 # define sqrtl rpl_sqrtl
2324 _GL_FUNCDECL_RPL (sqrtl
, long double, (long double x
));
2325 _GL_CXXALIAS_RPL (sqrtl
, long double, (long double x
));
2327 # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@
2329 _GL_FUNCDECL_SYS (sqrtl
, long double, (long double x
));
2331 _GL_CXXALIAS_SYS (sqrtl
, long double, (long double x
));
2334 _GL_CXXALIASWARN (sqrtl
);
2336 #elif defined GNULIB_POSIXCHECK
2338 # if HAVE_RAW_DECL_SQRTL
2339 _GL_WARN_ON_USE (sqrtl
, "sqrtl is unportable - "
2340 "use gnulib module sqrtl for portability");
2347 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2349 # define tanf rpl_tanf
2351 _GL_FUNCDECL_RPL (tanf
, float, (float x
));
2352 _GL_CXXALIAS_RPL (tanf
, float, (float x
));
2356 _GL_FUNCDECL_SYS (tanf
, float, (float x
));
2358 _GL_CXXALIAS_SYS (tanf
, float, (float x
));
2360 _GL_CXXALIASWARN (tanf
);
2361 #elif defined GNULIB_POSIXCHECK
2363 # if HAVE_RAW_DECL_TANF
2364 _GL_WARN_ON_USE (tanf
, "tanf is unportable - "
2365 "use gnulib module tanf for portability");
2370 # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@
2372 _GL_FUNCDECL_SYS (tanl
, long double, (long double x
));
2374 _GL_CXXALIAS_SYS (tanl
, long double, (long double x
));
2376 _GL_CXXALIASWARN (tanl
);
2378 #elif defined GNULIB_POSIXCHECK
2380 # if HAVE_RAW_DECL_TANL
2381 _GL_WARN_ON_USE (tanl
, "tanl is unportable - "
2382 "use gnulib module tanl for portability");
2388 # if @REPLACE_TANHF@
2389 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2391 # define tanhf rpl_tanhf
2393 _GL_FUNCDECL_RPL (tanhf
, float, (float x
));
2394 _GL_CXXALIAS_RPL (tanhf
, float, (float x
));
2398 _GL_FUNCDECL_SYS (tanhf
, float, (float x
));
2400 _GL_CXXALIAS_SYS (tanhf
, float, (float x
));
2402 _GL_CXXALIASWARN (tanhf
);
2403 #elif defined GNULIB_POSIXCHECK
2405 # if HAVE_RAW_DECL_TANHF
2406 _GL_WARN_ON_USE (tanhf
, "tanhf is unportable - "
2407 "use gnulib module tanhf for portability");
2413 # if @REPLACE_TRUNCF@
2414 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2416 # define truncf rpl_truncf
2418 _GL_FUNCDECL_RPL (truncf
, float, (float x
));
2419 _GL_CXXALIAS_RPL (truncf
, float, (float x
));
2421 # if !@HAVE_DECL_TRUNCF@
2422 _GL_FUNCDECL_SYS (truncf
, float, (float x
));
2424 _GL_CXXALIAS_SYS (truncf
, float, (float x
));
2426 _GL_CXXALIASWARN (truncf
);
2427 #elif defined GNULIB_POSIXCHECK
2429 # if HAVE_RAW_DECL_TRUNCF
2430 _GL_WARN_ON_USE (truncf
, "truncf is unportable - "
2431 "use gnulib module truncf for portability");
2436 # if @REPLACE_TRUNC@
2437 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2439 # define trunc rpl_trunc
2441 _GL_FUNCDECL_RPL (trunc
, double, (double x
));
2442 _GL_CXXALIAS_RPL (trunc
, double, (double x
));
2444 # if !@HAVE_DECL_TRUNC@
2445 _GL_FUNCDECL_SYS (trunc
, double, (double x
));
2447 _GL_CXXALIAS_SYS (trunc
, double, (double x
));
2450 _GL_CXXALIASWARN1 (trunc
, double, (double x
));
2452 #elif defined GNULIB_POSIXCHECK
2454 # if HAVE_RAW_DECL_TRUNC
2455 _GL_WARN_ON_USE (trunc
, "trunc is unportable - "
2456 "use gnulib module trunc for portability");
2461 # if @REPLACE_TRUNCL@
2462 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2464 # define truncl rpl_truncl
2466 _GL_FUNCDECL_RPL (truncl
, long double, (long double x
));
2467 _GL_CXXALIAS_RPL (truncl
, long double, (long double x
));
2469 # if !@HAVE_DECL_TRUNCL@
2470 _GL_FUNCDECL_SYS (truncl
, long double, (long double x
));
2472 _GL_CXXALIAS_SYS (truncl
, long double, (long double x
));
2475 _GL_CXXALIASWARN (truncl
);
2477 #elif defined GNULIB_POSIXCHECK
2479 # if HAVE_RAW_DECL_TRUNCL
2480 _GL_WARN_ON_USE (truncl
, "truncl is unportable - "
2481 "use gnulib module truncl for portability");
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)
2495 _GL_CXXALIAS_MDA (y0
, double, (double x
));
2497 _GL_CXXALIAS_SYS (y0
, double, (double x
));
2499 _GL_CXXALIASWARN (y0
);
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)
2511 _GL_CXXALIAS_MDA (y1
, double, (double x
));
2513 _GL_CXXALIAS_SYS (y1
, double, (double x
));
2515 _GL_CXXALIASWARN (y1
);
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)
2527 _GL_CXXALIAS_MDA (yn
, double, (int n
, double x
));
2529 _GL_CXXALIAS_SYS (yn
, double, (int n
, double x
));
2531 _GL_CXXALIASWARN (yn
);
2535 /* Definitions of function-like macros come here, after the function
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
);
2545 # define isfinite(x) \
2546 (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
2547 sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
2551 # if defined isfinite || defined GNULIB_NAMESPACE
2552 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (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
2557 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite
, rpl_isfinite
, bool)
2558 # define isfinite rpl_isfinite
2559 # define GNULIB_NAMESPACE_LACKS_ISFINITE 1
2561 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite
, isfinite
, bool)
2565 #elif defined GNULIB_POSIXCHECK
2566 # if defined isfinite
2567 _GL_WARN_REAL_FLOATING_DECL (isfinite
);
2569 # define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
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
);
2581 (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
2582 sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
2586 # if defined isinf || defined GNULIB_NAMESPACE
2587 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (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
2592 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf
, rpl_isinf
, bool)
2593 # define isinf rpl_isinf
2594 # define GNULIB_NAMESPACE_LACKS_ISINF 1
2596 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf
, isinf
, bool)
2600 #elif defined GNULIB_POSIXCHECK
2602 _GL_WARN_REAL_FLOATING_DECL (isinf
);
2604 # define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
2610 /* Test for NaN for 'float' numbers. */
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
);
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. */
2623 # define isnanf(x) __builtin_isnan ((float)(x))
2624 # elif defined isnan && !defined HAVE_ISNANF_NOLIBM
2626 # define isnanf(x) isnan ((float)(x))
2630 /* Test whether X is a NaN. */
2632 # define isnanf rpl_isnanf
2633 _GL_EXTERN_C
int isnanf (float x
);
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. */
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
);
2647 /* The original <math.h> included above provides a declaration of isnan
2649 # if (__GNUC__ >= 4) || (__clang_major__ >= 4)
2650 /* GCC >= 4.0 and clang provide a type-generic built-in for isnan. */
2652 # define isnand(x) __builtin_isnan ((double)(x))
2653 # elif !defined HAVE_ISNAND_NOLIBM
2655 # define isnand(x) isnan ((double)(x))
2659 /* Test whether X is a NaN. */
2661 # define isnand rpl_isnand
2662 _GL_EXTERN_C
int isnand (double x
);
2667 /* Test for NaN for 'long double' numbers. */
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. */
2675 # define isnanl(x) __builtin_isnan ((long double)(x))
2676 # elif defined isnan && !defined HAVE_ISNANL_NOLIBM
2678 # define isnanl(x) isnan ((long double)(x))
2681 /* Test whether X is a NaN. */
2683 # define isnanl rpl_isnanl
2684 _GL_EXTERN_C
int isnanl (long double x
) _GL_ATTRIBUTE_CONST
;
2688 /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */
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))
2698 _GL_EXTERN_C
int rpl_isnanf (float x
);
2699 # define gl_isnan_f(x) rpl_isnanf (x)
2701 # if @HAVE_ISNAND@ && (__GNUC__ >= 4) || (__clang_major__ >= 4)
2702 # define gl_isnan_d(x) __builtin_isnan ((double)(x))
2704 _GL_EXTERN_C
int rpl_isnand (double x
);
2705 # define gl_isnan_d(x) rpl_isnand (x)
2707 # if @HAVE_ISNANL@ && (__GNUC__ >= 4) || (__clang_major__ >= 4)
2708 # define gl_isnan_l(x) __builtin_isnan ((long double)(x))
2710 _GL_EXTERN_C
int rpl_isnanl (long double x
) _GL_ATTRIBUTE_CONST
;
2711 # define gl_isnan_l(x) rpl_isnanl (x)
2715 (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
2716 sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
2718 # elif (__GNUC__ >= 4) || (__clang_major__ >= 4)
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)))
2726 # if defined isnan || defined GNULIB_NAMESPACE
2727 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (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
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
2741 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan
, isnan
, bool)
2745 /* Ensure isnan is a macro. */
2747 # define isnan isnan
2750 #elif defined GNULIB_POSIXCHECK
2752 _GL_WARN_REAL_FLOATING_DECL (isnan
);
2754 # define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
2759 #if @GNULIB_SIGNBIT@
2760 # if (@REPLACE_SIGNBIT_USING_BUILTINS@ \
2761 && (!defined __cplusplus || __cplusplus < 201103))
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))
2769 # if @REPLACE_SIGNBIT@ && !GNULIB_defined_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) \
2781 ({ union { float _value; \
2782 unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \
2784 _m._value = (arg); \
2785 (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \
2788 # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
2789 # define gl_signbitd_OPTIMIZED_MACRO
2790 # define gl_signbitd(arg) \
2792 ({ union { double _value; \
2793 unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \
2795 _m._value = (arg); \
2796 (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \
2799 # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
2800 # define gl_signbitl_OPTIMIZED_MACRO
2801 # define gl_signbitl(arg) \
2803 ({ union { long double _value; \
2804 unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
2806 _m._value = (arg); \
2807 (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \
2811 # define signbit(x) \
2812 (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
2813 sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
2815 # define GNULIB_defined_signbit 1
2818 # if defined signbit || defined GNULIB_NAMESPACE
2819 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (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
2824 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit
, rpl_signbit
, bool)
2825 # define signbit rpl_signbit
2826 # define GNULIB_NAMESPACE_LACKS_SIGNBIT 1
2828 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit
, signbit
, bool)
2832 #elif defined GNULIB_POSIXCHECK
2833 # if defined signbit
2834 _GL_WARN_REAL_FLOATING_DECL (signbit
);
2836 # define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
2841 #if @GNULIB_GETPAYLOADF@
2842 # if @REPLACE_GETPAYLOADF@
2843 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2845 # define getpayloadf rpl_getpayloadf
2847 _GL_FUNCDECL_RPL (getpayloadf
, float, (const float *));
2848 _GL_CXXALIAS_RPL (getpayloadf
, float, (const float *));
2850 # if !@HAVE_GETPAYLOADF@
2851 _GL_FUNCDECL_SYS (getpayloadf
, float, (const float *));
2853 _GL_CXXALIAS_SYS (getpayloadf
, float, (const float *));
2855 _GL_CXXALIASWARN (getpayloadf
);
2856 #elif defined GNULIB_POSIXCHECK
2858 # if HAVE_RAW_DECL_GETPAYLOADF
2859 _GL_WARN_ON_USE (getpayloadf
, "getpayloadf is unportable - "
2860 "use gnulib module getpayloadf for portability");
2864 #if @GNULIB_GETPAYLOAD@
2865 # if @REPLACE_GETPAYLOAD@
2866 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2868 # define getpayload rpl_getpayload
2870 _GL_FUNCDECL_RPL (getpayload
, double, (const double *));
2871 _GL_CXXALIAS_RPL (getpayload
, double, (const double *));
2873 # if !@HAVE_GETPAYLOAD@
2874 _GL_FUNCDECL_SYS (getpayload
, double, (const double *));
2876 _GL_CXXALIAS_SYS (getpayload
, double, (const double *));
2878 _GL_CXXALIASWARN (getpayload
);
2879 #elif defined GNULIB_POSIXCHECK
2881 # if HAVE_RAW_DECL_GETPAYLOAD
2882 _GL_WARN_ON_USE (getpayload
, "getpayload is unportable - "
2883 "use gnulib module getpayload for portability");
2887 #if @GNULIB_GETPAYLOADL@
2888 # if @REPLACE_GETPAYLOADL@
2889 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2891 # define getpayloadl rpl_getpayloadl
2893 _GL_FUNCDECL_RPL (getpayloadl
, long double, (const long double *));
2894 _GL_CXXALIAS_RPL (getpayloadl
, long double, (const long double *));
2896 # if !@HAVE_GETPAYLOADL@
2897 _GL_FUNCDECL_SYS (getpayloadl
, long double, (const long double *));
2899 _GL_CXXALIAS_SYS (getpayloadl
, long double, (const long double *));
2901 _GL_CXXALIASWARN (getpayloadl
);
2902 #elif defined GNULIB_POSIXCHECK
2904 # if HAVE_RAW_DECL_GETPAYLOADL
2905 _GL_WARN_ON_USE (getpayloadl
, "getpayloadl is unportable - "
2906 "use gnulib module getpayloadl for portability");
2911 #if @GNULIB_SETPAYLOADF@
2912 # if !@HAVE_SETPAYLOADF@
2913 _GL_FUNCDECL_SYS (setpayloadf
, int, (float *, float));
2915 _GL_CXXALIAS_SYS (setpayloadf
, int, (float *, float));
2916 _GL_CXXALIASWARN (setpayloadf
);
2917 #elif defined GNULIB_POSIXCHECK
2919 # if HAVE_RAW_DECL_SETPAYLOADF
2920 _GL_WARN_ON_USE (setpayloadf
, "setpayloadf is unportable - "
2921 "use gnulib module setpayloadf for portability");
2925 #if @GNULIB_SETPAYLOAD@
2926 # if !@HAVE_SETPAYLOAD@
2927 _GL_FUNCDECL_SYS (setpayload
, int, (double *, double));
2929 _GL_CXXALIAS_SYS (setpayload
, int, (double *, double));
2930 _GL_CXXALIASWARN (setpayload
);
2931 #elif defined GNULIB_POSIXCHECK
2933 # if HAVE_RAW_DECL_SETPAYLOAD
2934 _GL_WARN_ON_USE (setpayload
, "setpayload is unportable - "
2935 "use gnulib module setpayload for portability");
2939 #if @GNULIB_SETPAYLOADL@
2940 # if !@HAVE_SETPAYLOADL@
2941 _GL_FUNCDECL_SYS (setpayloadl
, int, (long double *, long double));
2943 _GL_CXXALIAS_SYS (setpayloadl
, int, (long double *, long double));
2944 _GL_CXXALIASWARN (setpayloadl
);
2945 #elif defined GNULIB_POSIXCHECK
2947 # if HAVE_RAW_DECL_SETPAYLOADL
2948 _GL_WARN_ON_USE (setpayloadl
, "setpayloadl is unportable - "
2949 "use gnulib module setpayloadl for portability");
2954 #if @GNULIB_SETPAYLOADSIGF@
2955 # if !@HAVE_SETPAYLOADSIGF@
2956 _GL_FUNCDECL_SYS (setpayloadsigf
, int, (float *, float));
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");
2968 #if @GNULIB_SETPAYLOADSIG@
2969 # if !@HAVE_SETPAYLOADSIG@
2970 _GL_FUNCDECL_SYS (setpayloadsig
, int, (double *, double));
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");
2982 #if @GNULIB_SETPAYLOADSIGL@
2983 # if !@HAVE_SETPAYLOADSIGL@
2984 _GL_FUNCDECL_SYS (setpayloadsigl
, int, (long double *, long double));
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");
2997 #if @GNULIB_TOTALORDERF@
2998 # if @REPLACE_TOTALORDERF@
2999 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3001 # define totalorderf rpl_totalorderf
3003 _GL_FUNCDECL_RPL (totalorderf
, int, (float const *, float const *));
3004 _GL_CXXALIAS_RPL (totalorderf
, int, (float const *, float const *));
3006 # if !@HAVE_TOTALORDERF@
3007 _GL_FUNCDECL_SYS (totalorderf
, int, (float const *, float const *));
3009 _GL_CXXALIAS_SYS (totalorderf
, int, (float const *, float const *));
3011 _GL_CXXALIASWARN (totalorderf
);
3012 #elif defined GNULIB_POSIXCHECK
3014 # if HAVE_RAW_DECL_TOTALORDERF
3015 _GL_WARN_ON_USE (totalorderf
, "totalorderf is unportable - "
3016 "use gnulib module totalorderf for portability");
3020 #if @GNULIB_TOTALORDER@
3021 # if @REPLACE_TOTALORDER@
3022 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3024 # define totalorder rpl_totalorder
3026 _GL_FUNCDECL_RPL (totalorder
, int, (double const *, double const *));
3027 _GL_CXXALIAS_RPL (totalorder
, int, (double const *, double const *));
3029 # if !@HAVE_TOTALORDER@
3030 _GL_FUNCDECL_SYS (totalorder
, int, (double const *, double const *));
3032 _GL_CXXALIAS_SYS (totalorder
, int, (double const *, double const *));
3035 _GL_CXXALIASWARN1 (totalorder
, int, (double const *, double const *));
3037 #elif defined GNULIB_POSIXCHECK
3039 # if HAVE_RAW_DECL_TOTALORDER
3040 _GL_WARN_ON_USE (totalorder
, "totalorder is unportable - "
3041 "use gnulib module totalorder for portability");
3045 #if @GNULIB_TOTALORDERL@
3046 # if @REPLACE_TOTALORDERL@
3047 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3049 # define totalorderl rpl_totalorderl
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 *));
3056 # if !@HAVE_TOTALORDERL@
3057 _GL_FUNCDECL_SYS (totalorderl
, int,
3058 (long double const *, long double const *));
3060 _GL_CXXALIAS_SYS (totalorderl
, int,
3061 (long double const *, long double const *));
3063 _GL_CXXALIASWARN (totalorderl
);
3064 #elif defined GNULIB_POSIXCHECK
3066 # if HAVE_RAW_DECL_TOTALORDERL
3067 _GL_WARN_ON_USE (totalorderl
, "totalorderl is unportable - "
3068 "use gnulib module totalorderl for portability");
3073 #if @GNULIB_TOTALORDERMAGF@
3074 # if @REPLACE_TOTALORDERMAGF@
3075 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3076 # undef totalordermagf
3077 # define totalordermagf rpl_totalordermagf
3079 _GL_FUNCDECL_RPL (totalordermagf
, int, (float const *, float const *));
3080 _GL_CXXALIAS_RPL (totalordermagf
, int, (float const *, float const *));
3082 # if !@HAVE_TOTALORDERMAGF@
3083 _GL_FUNCDECL_SYS (totalordermagf
, int, (float const *, float const *));
3085 _GL_CXXALIAS_SYS (totalordermagf
, int, (float const *, float const *));
3088 _GL_CXXALIASWARN1 (totalordermagf
, int, (float const *, float const *));
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");
3098 #if @GNULIB_TOTALORDERMAG@
3099 # if @REPLACE_TOTALORDERMAG@
3100 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3101 # undef totalordermag
3102 # define totalordermag rpl_totalordermag
3104 _GL_FUNCDECL_RPL (totalordermag
, int, (double const *, double const *));
3105 _GL_CXXALIAS_RPL (totalordermag
, int, (double const *, double const *));
3107 # if !@HAVE_TOTALORDERMAG@
3108 _GL_FUNCDECL_SYS (totalordermag
, int, (double const *, double const *));
3110 _GL_CXXALIAS_SYS (totalordermag
, int, (double const *, double const *));
3113 _GL_CXXALIASWARN1 (totalordermag
, int, (double const *, double const *));
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");
3123 #if @GNULIB_TOTALORDERMAGL@
3124 # if @REPLACE_TOTALORDERMAGL@
3125 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
3126 # undef totalordermagl
3127 # define totalordermagl rpl_totalordermagl
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 *));
3134 # if !@HAVE_TOTALORDERMAGL@
3135 _GL_FUNCDECL_SYS (totalordermagl
, int,
3136 (long double const *, long double const *));
3138 _GL_CXXALIAS_SYS (totalordermagl
, int,
3139 (long double const *, long double const *));
3142 _GL_CXXALIASWARN1 (totalordermagl
, int,
3143 (long double const *, long double const *));
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");
3154 _GL_INLINE_HEADER_END
3156 #endif /* _@GUARD_PREFIX@_MATH_H */
3157 #endif /* _GL_INCLUDING_MATH_H */
3158 #endif /* _@GUARD_PREFIX@_MATH_H */