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