root/maint/gnulib/lib/math.in.h

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. _NaN

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

/* [previous][next][first][last][top][bottom][index][help] */