18 #ifndef _@GUARD_PREFIX@_MATH_H 21 @PRAGMA_SYSTEM_HEADER@
26 #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ 28 #ifndef _@GUARD_PREFIX@_MATH_H 29 #define _@GUARD_PREFIX@_MATH_H 32 #if defined __VMS && ! defined NAN 36 #ifndef _GL_INLINE_HEADER_BEGIN 37 #error "Please include config.h first." 40 #ifndef _GL_MATH_INLINE 41 # define _GL_MATH_INLINE _GL_INLINE 54 # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \ 56 _gl_cxx_ ## func ## f (float f) \ 61 _gl_cxx_ ## func ## d (double d) \ 66 _gl_cxx_ ## func ## l (long double l) \ 70 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ 75 return _gl_cxx_ ## func ## f (f); \ 80 return _gl_cxx_ ## func ## d (d); \ 83 func (long double l) \ 85 return _gl_cxx_ ## func ## l (l); \ 94 #define _GL_WARN_REAL_FLOATING_DECL(func) \ 96 rpl_ ## func ## f (float f) \ 100 _GL_MATH_INLINE int \ 101 rpl_ ## func ## d (double d) \ 105 _GL_MATH_INLINE int \ 106 rpl_ ## func ## l (long double l) \ 110 _GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \ 111 "use gnulib module " #func " for portability"); \ 112 _GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \ 113 "use gnulib module " #func " for portability"); \ 114 _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ 115 "use gnulib module " #func " for portability") 116 #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ 117 (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ 118 : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ 119 : rpl_ ## func ## l (value)) 126 static void (*_gl_math_fix_itold) (
long double *, int) =
_Qp_itoq;
135 #if !defined NAN || @REPLACE_NAN@ 136 # if !GNULIB_defined_NAN 140 # if defined __DECC || defined _MSC_VER 144 static float zero = 0.0f;
147 # define NAN (_NaN()) 149 # define NAN (0.0f / 0.0f) 151 # define GNULIB_defined_NAN 1 157 #if @REPLACE_HUGE_VAL@ 159 # define HUGE_VALF (1.0f / 0.0f) 161 # define HUGE_VAL (1.0 / 0.0) 163 # define HUGE_VALL (1.0L / 0.0L) 168 # if defined _MSC_VER 170 # define HUGE_VALF (1e25f * 1e25f) 172 # define HUGE_VALF (1.0f / 0.0f) 178 # if defined _MSC_VER 180 # define HUGE_VAL (1e250 * 1e250) 182 # define HUGE_VAL (1.0 / 0.0) 188 # if defined _MSC_VER 190 # define HUGE_VALL (1e250L * 1e250L) 192 # define HUGE_VALL (1.0L / 0.0L) 197 #if defined FP_ILOGB0 && defined FP_ILOGBNAN 199 # if defined __HAIKU__ 203 # define FP_ILOGB0 (- 2147483647 - 1) 204 # define FP_ILOGBNAN (- 2147483647 - 1) 208 # if defined __NetBSD__ || defined __sgi 210 # define FP_ILOGB0 (- 2147483647 - 1) 211 # define FP_ILOGBNAN (- 2147483647 - 1) 214 # define FP_ILOGB0 (- 2147483647 - 1) 215 # define FP_ILOGBNAN 2147483647 218 # define FP_ILOGB0 (- 2147483647) 219 # define FP_ILOGBNAN 2147483647 222 # define FP_ILOGB0 (- 2147483647) 223 # define FP_ILOGBNAN (- 2147483647 - 1) 230 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 232 # define acosf rpl_acosf 244 #elif defined GNULIB_POSIXCHECK 246 # if HAVE_RAW_DECL_ACOSF 248 "use gnulib module acosf for portability");
253 # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@ 259 #elif defined GNULIB_POSIXCHECK 261 # if HAVE_RAW_DECL_ACOSL 263 "use gnulib module acosl for portability");
270 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 272 # define asinf rpl_asinf 284 #elif defined GNULIB_POSIXCHECK 286 # if HAVE_RAW_DECL_ASINF 288 "use gnulib module asinf for portability");
293 # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@ 299 #elif defined GNULIB_POSIXCHECK 301 # if HAVE_RAW_DECL_ASINL 303 "use gnulib module asinl for portability");
310 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 312 # define atanf rpl_atanf 324 #elif defined GNULIB_POSIXCHECK 326 # if HAVE_RAW_DECL_ATANF 328 "use gnulib module atanf for portability");
333 # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@ 339 #elif defined GNULIB_POSIXCHECK 341 # if HAVE_RAW_DECL_ATANL 343 "use gnulib module atanl for portability");
349 # if @REPLACE_ATAN2F@ 350 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 352 # define atan2f rpl_atan2f 364 #elif defined GNULIB_POSIXCHECK 366 # if HAVE_RAW_DECL_ATAN2F 368 "use gnulib module atan2f for portability");
375 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 377 # define cbrtf rpl_cbrtf 382 # if !@HAVE_DECL_CBRTF@ 388 #elif defined GNULIB_POSIXCHECK 390 # if HAVE_RAW_DECL_CBRTF 392 "use gnulib module cbrtf for portability");
402 #elif defined GNULIB_POSIXCHECK 404 # if HAVE_RAW_DECL_CBRT 406 "use gnulib module cbrt for portability");
412 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 414 # define cbrtl rpl_cbrtl 419 # if !@HAVE_DECL_CBRTL@ 425 #elif defined GNULIB_POSIXCHECK 427 # if HAVE_RAW_DECL_CBRTL 429 "use gnulib module cbrtl for portability");
436 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 438 # define ceilf rpl_ceilf 443 # if !@HAVE_DECL_CEILF@ 450 #elif defined GNULIB_POSIXCHECK 452 # if HAVE_RAW_DECL_CEILF 454 "use gnulib module ceilf for portability");
460 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 462 # define ceil rpl_ceil 474 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 476 # define ceill rpl_ceill 481 # if !@HAVE_DECL_CEILL@ 488 #elif defined GNULIB_POSIXCHECK 490 # if HAVE_RAW_DECL_CEILL 492 "use gnulib module ceill for portability");
497 #if @GNULIB_COPYSIGNF@ 498 # if !@HAVE_DECL_COPYSIGNF@ 503 #elif defined GNULIB_POSIXCHECK 505 # if HAVE_RAW_DECL_COPYSIGNF 507 "use gnulib module copysignf for portability");
511 #if @GNULIB_COPYSIGN@ 512 # if !@HAVE_COPYSIGN@ 517 #elif defined GNULIB_POSIXCHECK 519 # if HAVE_RAW_DECL_COPYSIGN 521 "use gnulib module copysign for portability");
525 #if @GNULIB_COPYSIGNL@ 526 # if !@HAVE_COPYSIGNL@ 531 #elif defined GNULIB_POSIXCHECK 533 # if HAVE_RAW_DECL_COPYSIGNL 535 "use gnulib module copysignl for portability");
542 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 544 # define cosf rpl_cosf 556 #elif defined GNULIB_POSIXCHECK 558 # if HAVE_RAW_DECL_COSF 560 "use gnulib module cosf for portability");
565 # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@ 571 #elif defined GNULIB_POSIXCHECK 573 # if HAVE_RAW_DECL_COSL 575 "use gnulib module cosl for portability");
582 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 584 # define coshf rpl_coshf 596 #elif defined GNULIB_POSIXCHECK 598 # if HAVE_RAW_DECL_COSHF 600 "use gnulib module coshf for portability");
607 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 609 # define expf rpl_expf 621 #elif defined GNULIB_POSIXCHECK 623 # if HAVE_RAW_DECL_EXPF 625 "use gnulib module expf for portability");
630 # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ 636 #elif defined GNULIB_POSIXCHECK 638 # if HAVE_RAW_DECL_EXPL 640 "use gnulib module expl for portability");
646 # if !@HAVE_DECL_EXP2F@ 651 #elif defined GNULIB_POSIXCHECK 653 # if HAVE_RAW_DECL_EXP2F 655 "use gnulib module exp2f for portability");
661 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 663 # define exp2 rpl_exp2 668 # if !@HAVE_DECL_EXP2@ 674 #elif defined GNULIB_POSIXCHECK 676 # if HAVE_RAW_DECL_EXP2 678 "use gnulib module exp2 for portability");
684 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 686 # define exp2l rpl_exp2l 691 # if !@HAVE_DECL_EXP2L@ 698 #elif defined GNULIB_POSIXCHECK 700 # if HAVE_RAW_DECL_EXP2L 702 "use gnulib module exp2l for portability");
708 # if @REPLACE_EXPM1F@ 709 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 711 # define expm1f rpl_expm1f 722 #elif defined GNULIB_POSIXCHECK 724 # if HAVE_RAW_DECL_EXPM1F 726 "use gnulib module expm1f for portability");
732 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 734 # define expm1 rpl_expm1 745 #elif defined GNULIB_POSIXCHECK 747 # if HAVE_RAW_DECL_EXPM1 749 "use gnulib module expm1 for portability");
754 # if !@HAVE_DECL_EXPM1L@ 760 #elif defined GNULIB_POSIXCHECK 762 # if HAVE_RAW_DECL_EXPM1L 764 "use gnulib module expm1l for portability");
776 #elif defined GNULIB_POSIXCHECK 778 # if HAVE_RAW_DECL_FABSF 780 "use gnulib module fabsf for portability");
786 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 788 # define fabsl rpl_fabsl 800 #elif defined GNULIB_POSIXCHECK 802 # if HAVE_RAW_DECL_FABSL 804 "use gnulib module fabsl for portability");
810 # if @REPLACE_FLOORF@ 811 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 813 # define floorf rpl_floorf 818 # if !@HAVE_DECL_FLOORF@ 825 #elif defined GNULIB_POSIXCHECK 827 # if HAVE_RAW_DECL_FLOORF 829 "use gnulib module floorf for portability");
835 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 837 # define floor rpl_floor 848 # if @REPLACE_FLOORL@ 849 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 851 # define floorl rpl_floorl 856 # if !@HAVE_DECL_FLOORL@ 863 #elif defined GNULIB_POSIXCHECK 865 # if HAVE_RAW_DECL_FLOORL 867 "use gnulib module floorl for portability");
874 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 876 # define fmaf rpl_fmaf 887 #elif defined GNULIB_POSIXCHECK 889 # if HAVE_RAW_DECL_FMAF 891 "use gnulib module fmaf for portability");
897 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 910 #elif defined GNULIB_POSIXCHECK 912 # if HAVE_RAW_DECL_FMA 914 "use gnulib module fma for portability");
920 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 922 # define fmal rpl_fmal 925 (
long double x,
long double y,
long double z));
927 (
long double x,
long double y,
long double z));
932 (
long double x,
long double y,
long double z));
935 (
long double x,
long double y,
long double z));
938 #elif defined GNULIB_POSIXCHECK 940 # if HAVE_RAW_DECL_FMAL 942 "use gnulib module fmal for portability");
949 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 951 # define fmodf rpl_fmodf 963 #elif defined GNULIB_POSIXCHECK 965 # if HAVE_RAW_DECL_FMODF 967 "use gnulib module fmodf for portability");
973 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 975 # define fmod rpl_fmod 983 #elif defined GNULIB_POSIXCHECK 985 # if HAVE_RAW_DECL_FMOD 987 "use gnulib module fmod for portability");
993 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 995 # define fmodl rpl_fmodl 1007 #elif defined GNULIB_POSIXCHECK 1009 # if HAVE_RAW_DECL_FMODL 1011 "use gnulib module fmodl for portability");
1024 # if @REPLACE_FREXPF@ 1025 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1027 # define frexpf rpl_frexpf 1039 #elif defined GNULIB_POSIXCHECK 1041 # if HAVE_RAW_DECL_FREXPF 1043 "use gnulib module frexpf for portability");
1055 # if @REPLACE_FREXP@ 1056 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1058 # define frexp rpl_frexp 1066 #elif defined GNULIB_POSIXCHECK 1070 "use gnulib module frexp for portability");
1080 #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@ 1081 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1083 # define frexpl rpl_frexpl 1089 # if !@HAVE_DECL_FREXPL@ 1093 # if @GNULIB_FREXPL@ 1097 #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@) 1100 #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK 1102 # if HAVE_RAW_DECL_FREXPL 1104 "use gnulib module frexpl for portability");
1111 # if @REPLACE_HYPOTF@ 1112 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1114 # define hypotf rpl_hypotf 1125 #elif defined GNULIB_POSIXCHECK 1127 # if HAVE_RAW_DECL_HYPOTF 1129 "use gnulib module hypotf for portability");
1135 # if @REPLACE_HYPOT@ 1136 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1138 # define hypot rpl_hypot 1146 #elif defined GNULIB_POSIXCHECK 1148 # if HAVE_RAW_DECL_HYPOT 1150 "use gnulib module hypot for portability");
1156 # if @REPLACE_HYPOTL@ 1157 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1159 # define hypotl rpl_hypotl 1170 #elif defined GNULIB_POSIXCHECK 1172 # if HAVE_RAW_DECL_HYPOTL 1174 "use gnulib module hypotl for portability");
1180 # if @REPLACE_ILOGBF@ 1181 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1183 # define ilogbf rpl_ilogbf 1194 #elif defined GNULIB_POSIXCHECK 1196 # if HAVE_RAW_DECL_ILOGBF 1198 "use gnulib module ilogbf for portability");
1203 # if @REPLACE_ILOGB@ 1204 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1206 # define ilogb rpl_ilogb 1217 #elif defined GNULIB_POSIXCHECK 1219 # if HAVE_RAW_DECL_ILOGB 1221 "use gnulib module ilogb for portability");
1226 # if @REPLACE_ILOGBL@ 1227 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1229 # define ilogbl rpl_ilogbl 1240 #elif defined GNULIB_POSIXCHECK 1242 # if HAVE_RAW_DECL_ILOGBL 1244 "use gnulib module ilogbl for portability");
1257 #elif defined GNULIB_POSIXCHECK 1259 # if HAVE_RAW_DECL_LDEXPF 1261 "use gnulib module ldexpf for portability");
1266 #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@ 1267 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1269 # define ldexpl rpl_ldexpl 1274 # if !@HAVE_DECL_LDEXPL@ 1277 # if @GNULIB_LDEXPL@ 1284 #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK 1286 # if HAVE_RAW_DECL_LDEXPL 1288 "use gnulib module ldexpl for portability");
1295 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1297 # define logf rpl_logf 1309 #elif defined GNULIB_POSIXCHECK 1311 # if HAVE_RAW_DECL_LOGF 1313 "use gnulib module logf for portability");
1319 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1321 # define log rpl_log 1329 #elif defined GNULIB_POSIXCHECK 1331 # if HAVE_RAW_DECL_LOG 1333 "use gnulib module log for portability");
1339 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1341 # define logl rpl_logl 1346 # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@ 1353 #elif defined GNULIB_POSIXCHECK 1355 # if HAVE_RAW_DECL_LOGL 1357 "use gnulib module logl for portability");
1363 # if @REPLACE_LOG10F@ 1364 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1366 # define log10f rpl_log10f 1378 #elif defined GNULIB_POSIXCHECK 1380 # if HAVE_RAW_DECL_LOG10F 1382 "use gnulib module log10f for portability");
1387 # if @REPLACE_LOG10@ 1388 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1390 # define log10 rpl_log10 1398 #elif defined GNULIB_POSIXCHECK 1400 # if HAVE_RAW_DECL_LOG10 1402 "use gnulib module log10 for portability");
1407 # if @REPLACE_LOG10L@ 1408 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1410 # define log10l rpl_log10l 1415 # if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@ 1422 #elif defined GNULIB_POSIXCHECK 1424 # if HAVE_RAW_DECL_LOG10L 1426 "use gnulib module log10l for portability");
1432 # if @REPLACE_LOG1PF@ 1433 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1435 # define log1pf rpl_log1pf 1446 #elif defined GNULIB_POSIXCHECK 1448 # if HAVE_RAW_DECL_LOG1PF 1450 "use gnulib module log1pf for portability");
1455 # if @REPLACE_LOG1P@ 1456 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1458 # define log1p rpl_log1p 1469 #elif defined GNULIB_POSIXCHECK 1471 # if HAVE_RAW_DECL_LOG1P 1473 "use gnulib module log1p for portability");
1478 # if @REPLACE_LOG1PL@ 1479 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1481 # define log1pl rpl_log1pl 1492 #elif defined GNULIB_POSIXCHECK 1494 # if HAVE_RAW_DECL_LOG1PL 1496 "use gnulib module log1pl for portability");
1502 # if @REPLACE_LOG2F@ 1503 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1505 # define log2f rpl_log2f 1510 # if !@HAVE_DECL_LOG2F@ 1517 #elif defined GNULIB_POSIXCHECK 1519 # if HAVE_RAW_DECL_LOG2F 1521 "use gnulib module log2f for portability");
1527 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1529 # define log2 rpl_log2 1534 # if !@HAVE_DECL_LOG2@ 1541 #elif defined GNULIB_POSIXCHECK 1543 # if HAVE_RAW_DECL_LOG2 1545 "use gnulib module log2 for portability");
1550 # if @REPLACE_LOG2L@ 1551 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1553 # define log2l rpl_log2l 1558 # if !@HAVE_DECL_LOG2L@ 1564 #elif defined GNULIB_POSIXCHECK 1566 # if HAVE_RAW_DECL_LOG2L 1568 "use gnulib module log2l for portability");
1574 # if @REPLACE_LOGBF@ 1575 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1577 # define logbf rpl_logbf 1588 #elif defined GNULIB_POSIXCHECK 1590 # if HAVE_RAW_DECL_LOGBF 1592 "use gnulib module logbf for portability");
1598 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1600 # define logb rpl_logb 1605 # if !@HAVE_DECL_LOGB@ 1611 #elif defined GNULIB_POSIXCHECK 1613 # if HAVE_RAW_DECL_LOGB 1615 "use gnulib module logb for portability");
1620 # if @REPLACE_LOGBL@ 1621 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1623 # define logbl rpl_logbl 1634 #elif defined GNULIB_POSIXCHECK 1636 # if HAVE_RAW_DECL_LOGBL 1638 "use gnulib module logbl for portability");
1644 # if @REPLACE_MODFF@ 1645 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1647 # define modff rpl_modff 1659 #elif defined GNULIB_POSIXCHECK 1661 # if HAVE_RAW_DECL_MODFF 1663 "use gnulib module modff for portability");
1669 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1671 # define modf rpl_modf 1679 #elif defined GNULIB_POSIXCHECK 1681 # if HAVE_RAW_DECL_MODF 1683 "use gnulib module modf for portability");
1688 # if @REPLACE_MODFL@ 1689 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1691 # define modfl rpl_modfl 1705 #elif defined GNULIB_POSIXCHECK 1707 # if HAVE_RAW_DECL_MODFL 1709 "use gnulib module modfl for portability");
1721 #elif defined GNULIB_POSIXCHECK 1723 # if HAVE_RAW_DECL_POWF 1725 "use gnulib module powf for portability");
1730 #if @GNULIB_REMAINDERF@ 1731 # if @REPLACE_REMAINDERF@ 1732 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1734 # define remainderf rpl_remainderf 1739 # if !@HAVE_REMAINDERF@ 1745 #elif defined GNULIB_POSIXCHECK 1747 # if HAVE_RAW_DECL_REMAINDERF 1749 "use gnulib module remainderf for portability");
1753 #if @GNULIB_REMAINDER@ 1754 # if @REPLACE_REMAINDER@ 1755 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1757 # define remainder rpl_remainder 1762 # if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@ 1768 #elif defined GNULIB_POSIXCHECK 1770 # if HAVE_RAW_DECL_REMAINDER 1772 "use gnulib module remainder for portability");
1776 #if @GNULIB_REMAINDERL@ 1777 # if @REPLACE_REMAINDERL@ 1778 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1780 # define remainderl rpl_remainderl 1782 _GL_FUNCDECL_RPL (remainderl,
long double, (
long double x,
long double y));
1783 _GL_CXXALIAS_RPL (remainderl,
long double, (
long double x,
long double y));
1785 # if !@HAVE_DECL_REMAINDERL@ 1787 _GL_FUNCDECL_SYS (remainderl,
long double, (
long double x,
long double y));
1789 _GL_CXXALIAS_SYS (remainderl,
long double, (
long double x,
long double y));
1792 #elif defined GNULIB_POSIXCHECK 1794 # if HAVE_RAW_DECL_REMAINDERL 1796 "use gnulib module remainderl for portability");
1802 # if !@HAVE_DECL_RINTF@ 1807 #elif defined GNULIB_POSIXCHECK 1809 # if HAVE_RAW_DECL_RINTF 1811 "use gnulib module rintf for portability");
1821 #elif defined GNULIB_POSIXCHECK 1823 # if HAVE_RAW_DECL_RINT 1825 "use gnulib module rint for portability");
1835 #elif defined GNULIB_POSIXCHECK 1837 # if HAVE_RAW_DECL_RINTL 1839 "use gnulib module rintl for portability");
1845 # if @REPLACE_ROUNDF@ 1846 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1848 # define roundf rpl_roundf 1853 # if !@HAVE_DECL_ROUNDF@ 1859 #elif defined GNULIB_POSIXCHECK 1861 # if HAVE_RAW_DECL_ROUNDF 1863 "use gnulib module roundf for portability");
1868 # if @REPLACE_ROUND@ 1869 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1871 # define round rpl_round 1876 # if !@HAVE_DECL_ROUND@ 1882 #elif defined GNULIB_POSIXCHECK 1884 # if HAVE_RAW_DECL_ROUND 1886 "use gnulib module round for portability");
1891 # if @REPLACE_ROUNDL@ 1892 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1894 # define roundl rpl_roundl 1899 # if !@HAVE_DECL_ROUNDL@ 1906 #elif defined GNULIB_POSIXCHECK 1908 # if HAVE_RAW_DECL_ROUNDL 1910 "use gnulib module roundl for portability");
1917 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1919 # define sinf rpl_sinf 1931 #elif defined GNULIB_POSIXCHECK 1933 # if HAVE_RAW_DECL_SINF 1935 "use gnulib module sinf for portability");
1940 # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@ 1946 #elif defined GNULIB_POSIXCHECK 1948 # if HAVE_RAW_DECL_SINL 1950 "use gnulib module sinl for portability");
1956 # if @REPLACE_SINHF@ 1957 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1959 # define sinhf rpl_sinhf 1971 #elif defined GNULIB_POSIXCHECK 1973 # if HAVE_RAW_DECL_SINHF 1975 "use gnulib module sinhf for portability");
1981 # if @REPLACE_SQRTF@ 1982 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 1984 # define sqrtf rpl_sqrtf 1996 #elif defined GNULIB_POSIXCHECK 1998 # if HAVE_RAW_DECL_SQRTF 2000 "use gnulib module sqrtf for portability");
2005 # if @REPLACE_SQRTL@ 2006 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2008 # define sqrtl rpl_sqrtl 2013 # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@ 2020 #elif defined GNULIB_POSIXCHECK 2022 # if HAVE_RAW_DECL_SQRTL 2024 "use gnulib module sqrtl for portability");
2031 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2033 # define tanf rpl_tanf 2045 #elif defined GNULIB_POSIXCHECK 2047 # if HAVE_RAW_DECL_TANF 2049 "use gnulib module tanf for portability");
2054 # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@ 2060 #elif defined GNULIB_POSIXCHECK 2062 # if HAVE_RAW_DECL_TANL 2064 "use gnulib module tanl for portability");
2070 # if @REPLACE_TANHF@ 2071 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2073 # define tanhf rpl_tanhf 2085 #elif defined GNULIB_POSIXCHECK 2087 # if HAVE_RAW_DECL_TANHF 2089 "use gnulib module tanhf for portability");
2095 # if @REPLACE_TRUNCF@ 2096 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2098 # define truncf rpl_truncf 2103 # if !@HAVE_DECL_TRUNCF@ 2109 #elif defined GNULIB_POSIXCHECK 2111 # if HAVE_RAW_DECL_TRUNCF 2113 "use gnulib module truncf for portability");
2118 # if @REPLACE_TRUNC@ 2119 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2121 # define trunc rpl_trunc 2126 # if !@HAVE_DECL_TRUNC@ 2132 #elif defined GNULIB_POSIXCHECK 2134 # if HAVE_RAW_DECL_TRUNC 2136 "use gnulib module trunc for portability");
2141 # if @REPLACE_TRUNCL@ 2142 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 2144 # define truncl rpl_truncl 2149 # if !@HAVE_DECL_TRUNCL@ 2155 #elif defined GNULIB_POSIXCHECK 2157 # if HAVE_RAW_DECL_TRUNCL 2159 "use gnulib module truncl for portability");
2168 #if @GNULIB_ISFINITE@ 2169 # if @REPLACE_ISFINITE@ 2174 # define isfinite(x) \ 2175 (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \ 2176 sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ 2180 # if defined isfinite || defined GNULIB_NAMESPACE 2181 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
2183 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite)
2186 #elif defined GNULIB_POSIXCHECK 2187 # if defined isfinite 2190 # define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x) 2196 # if @REPLACE_ISINF@ 2202 (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \ 2203 sizeof (x) == sizeof (double) ? gl_isinfd (x) : \ 2207 # if defined isinf || defined GNULIB_NAMESPACE 2208 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
2210 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf)
2213 #elif defined GNULIB_POSIXCHECK 2217 # define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x) 2230 # define isnanf(x) __builtin_isnanf ((float)(x)) 2231 # elif defined isnan 2233 # define isnanf(x) isnan ((float)(x)) 2238 # define isnanf rpl_isnanf 2253 # define isnand(x) __builtin_isnan ((double)(x)) 2256 # define isnand(x) isnan ((double)(x)) 2261 # define isnand rpl_isnand 2274 # define isnanl(x) __builtin_isnanl ((long double)(x)) 2275 # elif defined isnan 2277 # define isnanl(x) isnan ((long double)(x)) 2282 # define isnanl rpl_isnanl 2289 # if @REPLACE_ISNAN@ 2294 # if @HAVE_ISNANF@ && __GNUC__ >= 4 2295 # define gl_isnan_f(x) __builtin_isnanf ((float)(x)) 2298 # define gl_isnan_f(x) rpl_isnanf (x) 2300 # if @HAVE_ISNAND@ && __GNUC__ >= 4 2301 # define gl_isnan_d(x) __builtin_isnan ((double)(x)) 2304 # define gl_isnan_d(x) rpl_isnand (x) 2306 # if @HAVE_ISNANL@ && __GNUC__ >= 4 2307 # define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) 2310 # define gl_isnan_l(x) rpl_isnanl (x) 2314 (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ 2315 sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ 2317 # elif __GNUC__ >= 4 2320 (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \ 2321 sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ 2322 __builtin_isnanf ((float)(x))) 2325 # if defined isnan || defined GNULIB_NAMESPACE 2326 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (
isnan)
2328 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (
isnan)
2333 # define isnan isnan 2336 #elif defined GNULIB_POSIXCHECK 2340 # define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x) 2345 #if @GNULIB_SIGNBIT@ 2346 # if (@REPLACE_SIGNBIT_USING_GCC@ \ 2347 && (!defined __cplusplus || __cplusplus < 201103)) 2350 # define signbit(x) \ 2351 (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ 2352 sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ 2353 __builtin_signbitf (x)) 2355 # if @REPLACE_SIGNBIT@ 2360 # if __GNUC__ >= 2 && !defined __STRICT_ANSI__ 2361 # define _GL_NUM_UINT_WORDS(type) \ 2362 ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) 2363 # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf 2364 # define gl_signbitf_OPTIMIZED_MACRO 2365 # define gl_signbitf(arg) \ 2366 ({ union { float _value; \ 2367 unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ 2369 _m._value = (arg); \ 2370 (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ 2373 # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd 2374 # define gl_signbitd_OPTIMIZED_MACRO 2375 # define gl_signbitd(arg) \ 2376 ({ union { double _value; \ 2377 unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ 2379 _m._value = (arg); \ 2380 (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ 2383 # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl 2384 # define gl_signbitl_OPTIMIZED_MACRO 2385 # define gl_signbitl(arg) \ 2386 ({ union { long double _value; \ 2387 unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ 2389 _m._value = (arg); \ 2390 (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ 2394 # define signbit(x) \ 2395 (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ 2396 sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ 2400 # if defined signbit || defined GNULIB_NAMESPACE 2401 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
2403 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
2406 #elif defined GNULIB_POSIXCHECK 2407 # if defined signbit 2410 # define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) A structure that travels through mustach via closure void pointer.
Definition: mustach-dhcpd-pools.c:59
#define _GL_MATH_INLINE
Definition: math.in.h:41
#define _GL_WARN_REAL_FLOATING_DECL(func)
Definition: math.in.h:94
#define isnand(x)
Definition: math.h:2708
_GL_FUNCDECL_SYS(frexpl, long double,(long double x, int *expptr) _GL_ARG_NONNULL((2)))
#define _GL_CXXALIAS_RPL(func, rettype, parameters)
Definition: inet.h:180
void _Qp_itoq(long double *result, int a)
Definition: itold.c:24
#define _GL_CXXALIASWARN(func)
Definition: inet.h:337
#define _GL_CXXALIASWARN1(func, rettype, parameters_and_attributes)
Definition: inet.h:365
#define _GL_ATTRIBUTE_CONST
Definition: config.h:1915
#define _GL_EXTERN_C
Definition: inet.h:146
#define isnan
Definition: math.h:2785
#define _GL_INLINE_HEADER_BEGIN
Definition: config.h:1817
#define _GL_CXXALIAS_SYS(func, rettype, parameters)
Definition: inet.h:253
#define _GL_FUNCDECL_RPL(func, rettype, parameters_and_attributes)
Definition: inet.h:156
#define _GL_INLINE_HEADER_END
Definition: config.h:1818
#define _GL_WARN_ON_USE(function, message)
Definition: inet.h:474