105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A GNU-like <math.h>.
205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc.
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is free software: you can redistribute it and/or modify
605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   it under the terms of the GNU General Public License as published by
705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   the Free Software Foundation; either version 3 of the License, or
805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (at your option) any later version.
905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This program is distributed in the hope that it will be useful,
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   but WITHOUT ANY WARRANTY; without even the implied warranty of
1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   GNU General Public License for more details.
1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   You should have received a copy of the GNU General Public License
1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _@GUARD_PREFIX@_MATH_H
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_SYSTEM_HEADER@
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@PRAGMA_COLUMNS@
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The include_next requires a split double-inclusion guard.  */
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _@GUARD_PREFIX@_MATH_H
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _@GUARD_PREFIX@_MATH_H
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_INLINE_HEADER_BEGIN
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_MATH_INLINE
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_INLINE _GL_INLINE
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_ARG_NONNULL is copied here.  */
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_WARN_ON_USE is copied here.  */
4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus
4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Helper macros to define type-generic function FUNC as overloaded functions,
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   rather than as macros like in C.  POSIX declares these with an argument of
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   real-floating (that is, one of float, double, or long double).  */
4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \
4705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int                                                   \
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## f (float f)                                     \
4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (f);                                                  \
5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
5205436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int                                                   \
5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## d (double d)                                    \
5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (d);                                                  \
5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
5705436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int                                                   \
5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## l (long double l)                               \
5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (l);                                                  \
6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \
6305436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int                                                          \
6405436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (float f)                                                      \
6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return _gl_cxx_ ## func ## f (f);                                 \
6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
6805436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int                                                          \
6905436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (double d)                                                     \
7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return _gl_cxx_ ## func ## d (d);                                 \
7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
7305436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int                                                          \
7405436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (long double l)                                                \
7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return _gl_cxx_ ## func ## l (l);                                 \
7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Helper macros to define a portability warning for the
8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   classification macro FUNC called with VALUE.  POSIX declares the
8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   classification macros with an argument of real-floating (that is,
8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   one of float, double, or long double).  */
8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_WARN_REAL_FLOATING_DECL(func) \
8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int                                                 \
8605436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## f (float f)                                         \
8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (f);                                                  \
8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int                                                 \
9105436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## d (double d)                                        \
9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (d);                                                  \
9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int                                                 \
9605436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## l (long double l)                                   \
9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang{                                                                   \
9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return func (l);                                                  \
9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang}                                                                   \
10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - "       \
10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module " #func " for portability");    \
10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - "       \
10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module " #func " for portability");    \
10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - "       \
10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module " #func " for portability")
10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_WARN_REAL_FLOATING_IMPL(func, value) \
10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang  (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value)     \
10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value)  \
10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   : rpl_ ## func ## l (value))
11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @REPLACE_ITOLD@
11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Pull in a function that fixes the 'int' to 'long double' conversion
11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   of glibc 2.7.  */
11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C void _Qp_itoq (long double *, int);
11605436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq;
11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* POSIX allows platforms that don't support NAN.  But all major
12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   machines in the past 15 years have supported something close to
12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   IEEE NaN, so we define this unconditionally.  We also must define
12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   it on platforms like Solaris 10, where NAN is present but defined
12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   as a function pointer rather than a floating point constant.  */
12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined NAN || @REPLACE_NAN@
12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !GNULIB_defined_NAN
12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef NAN
12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     choke on the expression 0.0 / 0.0.  */
13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if defined __DECC || defined _MSC_VER
13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE float
13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_NaN ()
13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang{
13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang  static float zero = 0.0f;
13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang  return zero / zero;
13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang}
13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define NAN (_NaN())
13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define NAN (0.0f / 0.0f)
14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define GNULIB_defined_NAN 1
14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Solaris 10 defines HUGE_VAL, but as a function pointer rather
14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang   than a floating point constant.  */
14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @REPLACE_HUGE_VAL@
14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VALF
14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALF (1.0f / 0.0f)
15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VAL
15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VAL (1.0 / 0.0)
15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VALL
15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALL (1.0L / 0.0L)
15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VALF is a 'float' Infinity.  */
15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VALF
15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER
15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f.  */
16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VALF (1e25f * 1e25f)
16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VALF (1.0f / 0.0f)
16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VAL is a 'double' Infinity.  */
16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VAL
16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER
16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0.  */
17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VAL (1e250 * 1e250)
17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VAL (1.0 / 0.0)
17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VALL is a 'long double' Infinity.  */
17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VALL
17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER
17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L.  */
18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VALL (1e250L * 1e250L)
18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define HUGE_VALL (1.0L / 0.0L)
18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined.  */
18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !(defined FP_ILOGB0 && defined FP_ILOGBNAN)
18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __NetBSD__ || defined __sgi
19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* NetBSD, IRIX 6.5: match what ilogb() does */
19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _AIX
19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */
19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGB0   (- 2147483647 - 1) /* INT_MIN */
19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGBNAN 2147483647 /* INT_MAX */
19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined __sun
19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* Solaris 9: match what ilogb() does */
19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGBNAN 2147483647 /* INT_MAX */
20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang  /* Gnulib defined values.  */
20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGB0   (- 2147483647) /* - INT_MAX */
20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */
20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ACOSF@
21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ACOSF@
21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef acosf
21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (acosf, float, (float x));
21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (acosf, float, (float x));
21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (acosf);
21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosf
21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ACOSF
21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (acosf, "acosf is unportable - "
22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module acosf for portability");
22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ACOSL@
22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@
22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef acosl
22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (acosl, long double, (long double x));
22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (acosl, long double, (long double x));
23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (acosl);
23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosl
23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ACOSL
23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (acosl, "acosl is unportable - "
23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module acosl for portability");
23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ASINF@
24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ASINF@
24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef asinf
24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (asinf, float, (float x));
24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (asinf, float, (float x));
24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (asinf);
24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinf
24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ASINF
25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (asinf, "asinf is unportable - "
25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module asinf for portability");
25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ASINL@
25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@
25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef asinl
25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (asinl, long double, (long double x));
25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (asinl, long double, (long double x));
26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (asinl);
26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinl
26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ASINL
26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (asinl, "asinl is unportable - "
26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module asinl for portability");
26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ATANF@
27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ATANF@
27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef atanf
27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atanf, float, (float x));
27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atanf, float, (float x));
27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atanf);
27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanf
28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATANF
28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atanf, "atanf is unportable - "
28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module atanf for portability");
28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ATANL@
28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@
28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef atanl
28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atanl, long double, (long double x));
29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atanl, long double, (long double x));
29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atanl);
29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanl
29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATANL
29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atanl, "atanl is unportable - "
29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module atanl for portability");
29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
30105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ATAN2F@
30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ATAN2F@
30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef atan2f
30505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atan2f);
30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atan2f
31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATAN2F
31205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module atan2f for portability");
31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
31605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CBRTF@
31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_CBRTF@
32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
32105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef cbrtf
32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define cbrtf rpl_cbrtf
32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (cbrtf, float, (float x));
32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (cbrtf, float, (float x));
32605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_CBRTF@
32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrtf, float, (float x));
32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrtf, float, (float x));
33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
33205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrtf);
33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtf
33505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRTF
33605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
33705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module cbrtf for portability");
33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
33905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
34005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
34105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CBRT@
34205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_CBRT@
34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrt, double, (double x));
34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
34505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrt, double, (double x));
34605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrt);
34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrt
34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRT
35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrt, "cbrt is unportable - "
35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module cbrt for portability");
35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
35505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CBRTL@
35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_CBRTL@
35705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
35805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef cbrtl
35905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define cbrtl rpl_cbrtl
36005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
36105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (cbrtl, long double, (long double x));
36205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (cbrtl, long double, (long double x));
36305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
36405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_CBRTL@
36505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrtl, long double, (long double x));
36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrtl, long double, (long double x));
36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
36905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrtl);
37005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
37105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtl
37205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRTL
37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module cbrtl for portability");
37505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
37605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
37705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CEILF@
38005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_CEILF@
38105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ceilf
38305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ceilf rpl_ceilf
38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
38505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceilf, float, (float x));
38605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceilf, float, (float x));
38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_CEILF@
38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ceilf
39005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ceilf, float, (float x));
39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceilf, float, (float x));
39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceilf);
39505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
39605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceilf
39705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CEILF
39805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ceilf, "ceilf is unportable - "
39905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ceilf for portability");
40005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
40105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
40205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
40305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CEIL@
40405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_CEIL@
40505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
40605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ceil rpl_ceil
40705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
40805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceil, double, (double x));
40905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceil, double, (double x));
41005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
41105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceil, double, (double x));
41205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
41305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceil);
41405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
41505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
41605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_CEILL@
41705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_CEILL@
41805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
41905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ceill
42005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ceill rpl_ceill
42105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
42205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceill, long double, (long double x));
42305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceill, long double, (long double x));
42405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
42505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_CEILL@
42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ceill
42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ceill, long double, (long double x));
42805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceill, long double, (long double x));
43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceill);
43205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
43305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceill
43405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CEILL
43505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ceill, "ceill is unportable - "
43605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ceill for portability");
43705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
43805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
43905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
44005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
44105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COPYSIGNF@
44205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_COPYSIGNF@
44305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
44405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
44505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
44605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysignf);
44705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
44805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysignf
44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGNF
45005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
45105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module copysignf for portability");
45205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
45305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
45405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COPYSIGN@
45605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_COPYSIGN@
45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysign, double, (double x, double y));
45805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
45905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysign, double, (double x, double y));
46005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysign);
46105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysign
46305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGN
46405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysign, "copysign is unportable - "
46505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module copysign for portability");
46605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
46705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COPYSIGNL@
47005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_COPYSIGNL@
47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
47205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
47305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysignl);
47505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
47605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysignl
47705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGNL
47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysign, "copysignl is unportable - "
47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module copysignl for portability");
48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
48405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COSF@
48505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_COSF@
48605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef cosf
48705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cosf, float, (float x));
48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cosf, float, (float x));
49005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cosf);
49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosf
49305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSF
49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cosf, "cosf is unportable - "
49505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module cosf for portability");
49605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COSL@
50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_COSL@ || !@HAVE_DECL_COSL@
50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef cosl
50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cosl, long double, (long double x));
50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
50405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cosl, long double, (long double x));
50505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cosl);
50605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
50705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosl
50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSL
50905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cosl, "cosl is unportable - "
51005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module cosl for portability");
51105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
51205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
51305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
51405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_COSHF@
51605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_COSHF@
51705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef coshf
51805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (coshf, float, (float x));
51905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (coshf, float, (float x));
52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (coshf);
52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
52305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef coshf
52405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSHF
52505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (coshf, "coshf is unportable - "
52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module coshf for portability");
52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXPF@
53205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_EXPF@
53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef expf
53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expf, float, (float x));
53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expf, float, (float x));
53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expf);
53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expf
54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPF
54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expf, "expf is unportable - "
54205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module expf for portability");
54305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
54405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
54505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXPL@
54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@
54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef expl
54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expl, long double, (long double x));
55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expl, long double, (long double x));
55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expl);
55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expl
55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPL
55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expl, "expl is unportable - "
55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module expl for portability");
55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
56005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
56105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
56205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXP2F@
56305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_EXP2F@
56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2f, float, (float x));
56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2f, float, (float x));
56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2f);
56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2f
57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2F
57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module exp2f for portability");
57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXP2@
57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_EXP2@
57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef exp2
58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define exp2 rpl_exp2
58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (exp2, double, (double x));
58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (exp2, double, (double x));
58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_EXP2@
58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2, double, (double x));
58705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2, double, (double x));
58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2);
59105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
59205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2
59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2
59405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2, "exp2 is unportable - "
59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module exp2 for portability");
59605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
59805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXP2L@
60005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_EXP2L@
60105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
60205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef exp2l
60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define exp2l rpl_exp2l
60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
60505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (exp2l, long double, (long double x));
60605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (exp2l, long double, (long double x));
60705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_EXP2L@
60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef exp2l
61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2l, long double, (long double x));
61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
61205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2l, long double, (long double x));
61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2l);
61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2l
61705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2L
61805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module exp2l for portability");
62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
62205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
62305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
62405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXPM1F@
62505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_EXPM1F@
62605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef expm1f
62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define expm1f rpl_expm1f
62905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (expm1f, float, (float x));
63105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (expm1f, float, (float x));
63205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
63305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_EXPM1F@
63405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1f, float, (float x));
63505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
63605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1f, float, (float x));
63705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
63805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1f);
63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
64005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1f
64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1F
64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
64305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module expm1f for portability");
64405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXPM1@
64805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_EXPM1@
64905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef expm1
65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define expm1 rpl_expm1
65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (expm1, double, (double x));
65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (expm1, double, (double x));
65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_EXPM1@
65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1, double, (double x));
65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1, double, (double x));
66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
66105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1);
66205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
66305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1
66405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1
66505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1, "expm1 is unportable - "
66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module expm1 for portability");
66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_EXPM1L@
67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_EXPM1L@
67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef expm1l
67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1l, long double, (long double x));
67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1l, long double, (long double x));
67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1l);
67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1l
67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1L
68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module expm1l for portability");
68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FABSF@
68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_FABSF@
68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef fabsf
68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fabsf, float, (float x));
69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fabsf, float, (float x));
69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fabsf);
69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsf
69505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FABSF
69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
69705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fabsf for portability");
69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FABSL@
70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FABSL@
70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fabsl
70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fabsl rpl_fabsl
70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fabsl, long double, (long double x));
70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fabsl, long double, (long double x));
70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FABSL@
71105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fabsl
71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fabsl, long double, (long double x));
71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fabsl, long double, (long double x));
71505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
71605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fabsl);
71705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
71805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsl
71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FABSL
72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fabsl for portability");
72205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
72305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FLOORF@
72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FLOORF@
72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef floorf
73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define floorf rpl_floorf
73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floorf, float, (float x));
73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floorf, float, (float x));
73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_FLOORF@
73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef floorf
73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (floorf, float, (float x));
73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floorf, float, (float x));
74005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
74105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floorf);
74205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
74305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorf
74405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FLOORF
74505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (floorf, "floorf is unportable - "
74605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module floorf for portability");
74705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
74805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
74905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
75005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FLOOR@
75105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FLOOR@
75205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define floor rpl_floor
75405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
75505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floor, double, (double x));
75605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floor, double, (double x));
75705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
75805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floor, double, (double x));
75905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floor);
76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
76305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FLOORL@
76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FLOORL@
76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
76605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef floorl
76705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define floorl rpl_floorl
76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floorl, long double, (long double x));
77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floorl, long double, (long double x));
77105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
77205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_FLOORL@
77305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef floorl
77405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (floorl, long double, (long double x));
77505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
77605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floorl, long double, (long double x));
77705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
77805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floorl);
77905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
78005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorl
78105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FLOORL
78205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (floorl, "floorl is unportable - "
78305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module floorl for portability");
78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
78505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
78605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
78705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
78805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMAF@
78905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMAF@
79005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
79105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmaf
79205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fmaf rpl_fmaf
79305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
79405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
79505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
79605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
79705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FMAF@
79805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
79905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
80005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
80105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
80205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmaf);
80305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
80405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmaf
80505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMAF
80605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
80705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fmaf for portability");
80805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
80905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
81005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
81105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMA@
81205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMA@
81305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
81405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fma
81505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fma rpl_fma
81605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
81705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
81805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
81905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
82005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FMA@
82105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
82205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
82305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
82405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
82505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fma);
82605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
82705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fma
82805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMA
82905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fma, "fma is unportable - "
83005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fma for portability");
83105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
83205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
83305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
83405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMAL@
83505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMAL@
83605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
83705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmal
83805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fmal rpl_fmal
83905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
84005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmal, long double,
84105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, long double y, long double z));
84205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmal, long double,
84305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, long double y, long double z));
84405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FMAL@
84605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmal
84705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmal, long double,
84805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, long double y, long double z));
84905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
85005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmal, long double,
85105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, long double y, long double z));
85205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
85305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmal);
85405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
85505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmal
85605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMAL
85705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmal, "fmal is unportable - "
85805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fmal for portability");
85905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
86005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
86105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
86205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
86305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMODF@
86405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMODF@
86505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
86605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmodf
86705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fmodf rpl_fmodf
86805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
86905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmodf, float, (float x, float y));
87005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmodf, float, (float x, float y));
87105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
87205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FMODF@
87305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmodf
87405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmodf, float, (float x, float y));
87505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
87605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmodf, float, (float x, float y));
87705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
87805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmodf);
87905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
88005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodf
88105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMODF
88205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
88305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fmodf for portability");
88405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
88505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
88605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
88705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMOD@
88805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMOD@
88905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
89005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmod
89105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fmod rpl_fmod
89205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
89305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmod, double, (double x, double y));
89405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmod, double, (double x, double y));
89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
89605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmod, double, (double x, double y));
89705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
89805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmod);
89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
90005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmod
90105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMOD
90205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmod, "fmod has portability problems - "
90305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fmod for portability");
90405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
90505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
90605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FMODL@
90805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FMODL@
90905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmodl
91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define fmodl rpl_fmodl
91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
91305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
91505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
91605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FMODL@
91705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef fmodl
91805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
91905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
92005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
92105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
92205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmodl);
92305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
92405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodl
92505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMODL
92605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
92705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module fmodl for portability");
92805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
92905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
93005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
93105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
93205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as
93305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     x = mantissa * 2^exp
93405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   where
93505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
93605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is zero: mantissa = x, exp = 0.
93705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is infinite or NaN: mantissa = x, exp unspecified.
93805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Store exp in *EXPPTR and return mantissa.  */
93905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FREXPF@
94005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FREXPF@
94105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
94205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef frexpf
94305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define frexpf rpl_frexpf
94405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
94505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
94605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr));
94705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
94805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_FREXPF@
94905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef frexpf
95005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2)));
95105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
95205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr));
95305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
95405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexpf);
95505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
95605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpf
95705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FREXPF
95805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
95905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module frexpf for portability");
96005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
96105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
96205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
96305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as
96405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     x = mantissa * 2^exp
96505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   where
96605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
96705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is zero: mantissa = x, exp = 0.
96805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is infinite or NaN: mantissa = x, exp unspecified.
96905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Store exp in *EXPPTR and return mantissa.  */
97005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FREXP@
97105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_FREXP@
97205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
97305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define frexp rpl_frexp
97405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
97505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2)));
97605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr));
97705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
97805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr));
97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
98005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexp);
98105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
98205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexp
98305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Assume frexp is always declared.  */
98405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexp, "frexp is unportable - "
98505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module frexp for portability");
98605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
98705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
98805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as
98905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     x = mantissa * 2^exp
99005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   where
99105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
99205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is zero: mantissa = x, exp = 0.
99305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     If x is infinite or NaN: mantissa = x, exp unspecified.
99405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   Store exp in *EXPPTR and return mantissa.  */
99505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FREXPL@ && @REPLACE_FREXPL@
99605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
99705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef frexpl
99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define frexpl rpl_frexpl
99905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
100005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexpl, long double,
100105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
100205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr));
100305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
100405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_FREXPL@
100505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (frexpl, long double,
100605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  (long double x, int *expptr) _GL_ARG_NONNULL ((2)));
100705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
100805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @GNULIB_FREXPL@
100905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr));
101005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
101105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
101205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@)
101305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexpl);
101405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
101505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
101605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpl
101705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FREXPL
101805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexpl, "frexpl is unportable - "
101905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module frexpl for portability");
102005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
102105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
102205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
102305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
102405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2).  */
102505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_HYPOTF@
102605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_HYPOTF@
102705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
102805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef hypotf
102905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define hypotf rpl_hypotf
103005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
103105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
103205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
103305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
103405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_HYPOTF@
103505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
103605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
103705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
103805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
103905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypotf);
104005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
104105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotf
104205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOTF
104305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
104405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module hypotf for portability");
104505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
104605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
104705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
104805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2).  */
104905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_HYPOT@
105005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_HYPOT@
105105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
105205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef hypot
105305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define hypot rpl_hypot
105405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
105505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypot, double, (double x, double y));
105605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypot, double, (double x, double y));
105705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
105805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypot, double, (double x, double y));
105905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
106005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypot);
106105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
106205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypot
106305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOT
106405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotf, "hypot has portability problems - "
106505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module hypot for portability");
106605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
106705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
106805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
106905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2).  */
107005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_HYPOTL@
107105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_HYPOTL@
107205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
107305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef hypotl
107405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define hypotl rpl_hypotl
107505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
107605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y));
107705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y));
107805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
107905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_HYPOTL@
108005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y));
108105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
108205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y));
108305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
108405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypotl);
108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
108605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotl
108705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOTL
108805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
108905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module hypotl for portability");
109005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
109105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
109205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
109305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
109405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ILOGBF@
109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ILOGBF@
109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
109705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ilogbf
109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ilogbf rpl_ilogbf
109905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ilogbf, int, (float x));
110105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ilogbf, int, (float x));
110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
110305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_ILOGBF@
110405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogbf, int, (float x));
110505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
110605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogbf, int, (float x));
110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
110805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogbf);
110905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogbf
111105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGBF
111205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
111305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ilogbf for portability");
111405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
111605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ILOGB@
111805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ILOGB@
111905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef ilogb
112105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define ilogb rpl_ilogb
112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
112305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ilogb, int, (double x));
112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ilogb, int, (double x));
112505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
112605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_ILOGB@
112705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogb, int, (double x));
112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
112905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogb, int, (double x));
113005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
113105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogb);
113205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
113305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogb
113405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGB
113505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
113605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ilogb for portability");
113705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
113805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
113905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
114005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ILOGBL@
114105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_ILOGBL@
114205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogbl, int, (long double x));
114305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
114405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogbl, int, (long double x));
114505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogbl);
114605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
114705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogbl
114805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGBL
114905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
115005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ilogbl for portability");
115105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
115205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
115305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
115405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
115505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return x * 2^exp.  */
115605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LDEXPF@
115705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_LDEXPF@
115805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef ldexpf
115905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
116005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
116105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
116205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ldexpf);
116305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
116405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpf
116505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LDEXPF
116605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
116705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ldexpf for portability");
116805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
116905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
117005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
117105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return x * 2^exp.  */
117205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@
117305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
117405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef ldexpl
117505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define ldexpl rpl_ldexpl
117605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
117705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp));
117805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp));
117905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else
118005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_LDEXPL@
118105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp));
118205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
118305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @GNULIB_LDEXPL@
118405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp));
118505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
118605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
118705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LDEXPL@
118805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ldexpl);
118905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
119005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK
119105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpl
119205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LDEXPL
119305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - "
119405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module ldexpl for portability");
119505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
119605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
119705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
119805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
119905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOGF@
120005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOGF@
120105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
120205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logf
120305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define logf rpl_logf
120405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
120505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logf, float, (float x));
120605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logf, float, (float x));
120705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
120805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOGF@
120905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logf
121005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logf, float, (float x));
121105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
121205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logf, float, (float x));
121305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
121405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logf);
121505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
121605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logf
121705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGF
121805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logf, "logf is unportable - "
121905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module logf for portability");
122005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
122105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
122205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
122305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG@
122405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG@
122505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
122605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log
122705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log rpl_log
122805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
122905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log, double, (double x));
123005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log, double, (double x));
123105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
123205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log, double, (double x));
123305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
123405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log);
123505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
123605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log
123705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG
123805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log, "log has portability problems - "
123905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log for portability");
124005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
124105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
124205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
124305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOGL@
124405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOGL@
124505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
124605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logl
124705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define logl rpl_logl
124805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
124905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logl, long double, (long double x));
125005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logl, long double, (long double x));
125105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
125205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@
125305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logl
125405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logl, long double, (long double x));
125505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
125605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logl, long double, (long double x));
125705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
125805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logl);
125905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
126005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logl
126105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGL
126205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logl, "logl is unportable - "
126305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module logl for portability");
126405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
126505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
126605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
126705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
126805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG10F@
126905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG10F@
127005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
127105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log10f
127205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log10f rpl_log10f
127305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
127405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10f, float, (float x));
127505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10f, float, (float x));
127605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
127705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOG10F@
127805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log10f
127905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log10f, float, (float x));
128005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
128105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10f, float, (float x));
128205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
128305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10f);
128405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
128505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10f
128605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10F
128705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10f, "log10f is unportable - "
128805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log10f for portability");
128905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
129005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
129105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
129205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG10@
129305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG10@
129405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
129505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log10
129605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log10 rpl_log10
129705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
129805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10, double, (double x));
129905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10, double, (double x));
130005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
130105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10, double, (double x));
130205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
130305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10);
130405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
130505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10
130605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10
130705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10, "log10 has portability problems - "
130805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log10 for portability");
130905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
131005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
131105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
131205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG10L@
131305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG10L@
131405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
131505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log10l
131605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log10l rpl_log10l
131705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
131805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10l, long double, (long double x));
131905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10l, long double, (long double x));
132005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
132105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@
132205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log10l
132305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log10l, long double, (long double x));
132405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
132505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10l, long double, (long double x));
132605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
132705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10l);
132805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
132905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10l
133005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10L
133105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10l, "log10l is unportable - "
133205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log10l for portability");
133305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
133405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
133505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
133605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
133705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG1PF@
133805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG1PF@
133905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
134005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log1pf
134105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log1pf rpl_log1pf
134205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
134305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1pf, float, (float x));
134405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1pf, float, (float x));
134505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
134605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOG1PF@
134705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1pf, float, (float x));
134805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
134905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1pf, float, (float x));
135005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
135105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1pf);
135205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
135305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pf
135405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1PF
135505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
135605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log1pf for portability");
135705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
135805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
135905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
136005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG1P@
136105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG1P@
136205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
136305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log1p
136405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log1p rpl_log1p
136505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
136605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1p, double, (double x));
136705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1p, double, (double x));
136805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
136905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOG1P@
137005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1p, double, (double x));
137105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
137205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1p, double, (double x));
137305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
137405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1p);
137505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
137605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1p
137705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1P
137805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1p, "log1p has portability problems - "
137905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log1p for portability");
138005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
138105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
138205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
138305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG1PL@
138405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG1PL@
138505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
138605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log1pl
138705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log1pl rpl_log1pl
138805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
138905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1pl, long double, (long double x));
139005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1pl, long double, (long double x));
139105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
139205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOG1PL@
139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1pl, long double, (long double x));
139405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
139505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1pl, long double, (long double x));
139605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
139705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1pl);
139805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
139905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pl
140005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1PL
140105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
140205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log1pl for portability");
140305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
140405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
140505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
140605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
140705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG2F@
140805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG2F@
140905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
141005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log2f
141105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log2f rpl_log2f
141205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
141305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2f, float, (float x));
141405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2f, float, (float x));
141505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
141605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_LOG2F@
141705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log2f
141805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2f, float, (float x));
141905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
142005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2f, float, (float x));
142105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
142205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2f);
142305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
142405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2f
142505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2F
142605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2f, "log2f is unportable - "
142705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log2f for portability");
142805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
142905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
143005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
143105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG2@
143205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG2@
143305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
143405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log2
143505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log2 rpl_log2
143605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
143705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2, double, (double x));
143805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2, double, (double x));
143905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
144005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_LOG2@
144105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log2
144205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2, double, (double x));
144305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
144405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2, double, (double x));
144505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
144605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2);
144705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
144805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2
144905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2
145005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2, "log2 is unportable - "
145105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log2 for portability");
145205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
145305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
145405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
145505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOG2L@
145605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOG2L@
145705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
145805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef log2l
145905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define log2l rpl_log2l
146005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
146105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2l, long double, (long double x));
146205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2l, long double, (long double x));
146305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
146405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_LOG2L@
146505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2l, long double, (long double x));
146605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
146705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2l, long double, (long double x));
146805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
146905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2l);
147005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
147105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2l
147205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2L
147305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2l, "log2l is unportable - "
147405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module log2l for portability");
147505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
147605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
147705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
147805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
147905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOGBF@
148005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOGBF@
148105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
148205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logbf
148305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define logbf rpl_logbf
148405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
148505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logbf, float, (float x));
148605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logbf, float, (float x));
148705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
148805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOGBF@
148905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logbf, float, (float x));
149005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
149105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logbf, float, (float x));
149205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
149305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logbf);
149405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
149505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbf
149605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGBF
149705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logbf, "logbf is unportable - "
149805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module logbf for portability");
149905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
150005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
150105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
150205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOGB@
150305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOGB@
150405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
150505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logb
150605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define logb rpl_logb
150705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
150805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logb, double, (double x));
150905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logb, double, (double x));
151005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
151105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_LOGB@
151205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logb, double, (double x));
151305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
151405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logb, double, (double x));
151505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
151605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logb);
151705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
151805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logb
151905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGB
152005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logb, "logb is unportable - "
152105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module logb for portability");
152205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
152305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
152405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
152505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_LOGBL@
152605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_LOGBL@
152705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
152805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef logbl
152905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define logbl rpl_logbl
153005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
153105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logbl, long double, (long double x));
153205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logbl, long double, (long double x));
153305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
153405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_LOGBL@
153505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logbl, long double, (long double x));
153605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
153705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logbl, long double, (long double x));
153805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
153905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logbl);
154005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
154105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbl
154205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGBL
154305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logbl, "logbl is unportable - "
154405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module logbl for portability");
154505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
154605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
154705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
154805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
154905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_MODFF@
155005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_MODFF@
155105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
155205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef modff
155305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define modff rpl_modff
155405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
155505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
155605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modff, float, (float x, float *iptr));
155705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
155805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_MODFF@
155905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef modff
156005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2)));
156105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
156205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr));
156305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
156405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modff);
156505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
156605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modff
156705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODFF
156805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modff, "modff is unportable - "
156905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module modff for portability");
157005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
157105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
157205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
157305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_MODF@
157405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_MODF@
157505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
157605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef modf
157705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define modf rpl_modf
157805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
157905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2)));
158005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modf, double, (double x, double *iptr));
158105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
158205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modf, double, (double x, double *iptr));
158305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
158405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modf);
158505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
158605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modf
158705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODF
158805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modf, "modf has portability problems - "
158905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module modf for portability");
159005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
159105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
159205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
159305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_MODFL@
159405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_MODFL@
159505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
159605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef modfl
159705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define modfl rpl_modfl
159805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
159905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr)
160005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                      _GL_ARG_NONNULL ((2)));
160105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr));
160205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
160305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_MODFL@
160405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef modfl
160505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
160605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                                      _GL_ARG_NONNULL ((2)));
160705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
160805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr));
160905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
161005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modfl);
161105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
161205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modfl
161305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODFL
161405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modfl, "modfl is unportable - "
161505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module modfl for portability");
161605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
161705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
161805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
161905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
162005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_POWF@
162105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_POWF@
162205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef powf
162305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (powf, float, (float x, float y));
162405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
162505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (powf, float, (float x, float y));
162605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (powf);
162705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
162805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef powf
162905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_POWF
163005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (powf, "powf is unportable - "
163105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module powf for portability");
163205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
163305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
163405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
163505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
163605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_REMAINDERF@
163705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_REMAINDERF@
163805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
163905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef remainderf
164005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define remainderf rpl_remainderf
164105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
164205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainderf, float, (float x, float y));
164305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainderf, float, (float x, float y));
164405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
164505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_REMAINDERF@
164605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainderf, float, (float x, float y));
164705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
164805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainderf, float, (float x, float y));
164905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
165005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainderf);
165105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
165205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderf
165305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDERF
165405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
165505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module remainderf for portability");
165605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
165705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
165805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
165905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_REMAINDER@
166005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_REMAINDER@
166105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
166205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef remainder
166305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define remainder rpl_remainder
166405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
166505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainder, double, (double x, double y));
166605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainder, double, (double x, double y));
166705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
166805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@
166905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainder, double, (double x, double y));
167005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
167105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainder, double, (double x, double y));
167205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
167305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainder);
167405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
167505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainder
167605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDER
167705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainder, "remainder is unportable - "
167805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module remainder for portability");
167905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
168005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
168105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
168205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_REMAINDERL@
168305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_REMAINDERL@
168405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
168505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef remainderl
168605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define remainderl rpl_remainderl
168705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
168805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y));
168905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y));
169005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
169105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_REMAINDERL@
169205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef remainderl
169305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y));
169405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
169505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y));
169605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
169705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainderl);
169805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
169905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderl
170005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDERL
170105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
170205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module remainderl for portability");
170305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
170405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
170505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
170605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
170705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_RINTF@
170805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_DECL_RINTF@
170905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rintf, float, (float x));
171005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
171105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rintf, float, (float x));
171205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rintf);
171305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
171405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rintf
171505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINTF
171605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rintf, "rintf is unportable - "
171705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module rintf for portability");
171805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
171905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
172005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
172105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_RINT@
172205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_RINT@
172305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rint, double, (double x));
172405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
172505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rint, double, (double x));
172605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rint);
172705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
172805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rint
172905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINT
173005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rint, "rint is unportable - "
173105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module rint for portability");
173205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
173305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
173405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
173505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_RINTL@
173605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_RINTL@
173705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rintl, long double, (long double x));
173805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
173905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rintl, long double, (long double x));
174005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rintl);
174105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
174205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rintl
174305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINTL
174405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rintl, "rintl is unportable - "
174505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module rintl for portability");
174605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
174705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
174805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
174905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
175005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ROUNDF@
175105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ROUNDF@
175205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
175305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef roundf
175405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define roundf rpl_roundf
175505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
175605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (roundf, float, (float x));
175705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (roundf, float, (float x));
175805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
175905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_ROUNDF@
176005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (roundf, float, (float x));
176105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
176205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (roundf, float, (float x));
176305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
176405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (roundf);
176505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
176605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundf
176705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUNDF
176805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (roundf, "roundf is unportable - "
176905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module roundf for portability");
177005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
177105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
177205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
177305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ROUND@
177405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ROUND@
177505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
177605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef round
177705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define round rpl_round
177805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
177905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (round, double, (double x));
178005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (round, double, (double x));
178105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
178205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_ROUND@
178305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (round, double, (double x));
178405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
178505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (round, double, (double x));
178605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
178705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (round);
178805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
178905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef round
179005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUND
179105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (round, "round is unportable - "
179205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module round for portability");
179305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
179405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
179505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
179605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ROUNDL@
179705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ROUNDL@
179805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
179905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef roundl
180005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define roundl rpl_roundl
180105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
180205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (roundl, long double, (long double x));
180305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (roundl, long double, (long double x));
180405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
180505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_ROUNDL@
180605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef roundl
180705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (roundl, long double, (long double x));
180805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
180905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (roundl, long double, (long double x));
181005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
181105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (roundl);
181205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
181305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundl
181405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUNDL
181505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (roundl, "roundl is unportable - "
181605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module roundl for portability");
181705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
181805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
181905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
182005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
182105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SINF@
182205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_SINF@
182305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef sinf
182405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinf, float, (float x));
182505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
182605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinf, float, (float x));
182705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinf);
182805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
182905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinf
183005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINF
183105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinf, "sinf is unportable - "
183205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sinf for portability");
183305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
183405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
183505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
183605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SINL@
183705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_SINL@ || !@HAVE_DECL_SINL@
183805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef sinl
183905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinl, long double, (long double x));
184005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
184105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinl, long double, (long double x));
184205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinl);
184305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
184405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinl
184505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINL
184605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinl, "sinl is unportable - "
184705436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sinl for portability");
184805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
184905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
185005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
185105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
185205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SINHF@
185305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_SINHF@
185405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef sinhf
185505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinhf, float, (float x));
185605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
185705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinhf, float, (float x));
185805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinhf);
185905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
186005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinhf
186105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINHF
186205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
186305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sinhf for portability");
186405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
186505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
186605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
186705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
186805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SQRTF@
186905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_SQRTF@
187005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef sqrtf
187105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sqrtf, float, (float x));
187205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
187305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sqrtf, float, (float x));
187405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sqrtf);
187505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
187605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtf
187705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SQRTF
187805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
187905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sqrtf for portability");
188005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
188105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
188205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
188305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SQRTL@
188405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_SQRTL@
188505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
188605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef sqrtl
188705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define sqrtl rpl_sqrtl
188805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
188905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (sqrtl, long double, (long double x));
189005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (sqrtl, long double, (long double x));
189105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
189205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@
189305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef sqrtl
189405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sqrtl, long double, (long double x));
189505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
189605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sqrtl, long double, (long double x));
189705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
189805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sqrtl);
189905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
190005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtl
190105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SQRTL
190205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - "
190305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module sqrtl for portability");
190405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
190505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
190605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
190705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
190805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TANF@
190905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_TANF@
191005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef tanf
191105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanf, float, (float x));
191205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
191305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanf, float, (float x));
191405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanf);
191505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
191605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanf
191705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANF
191805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanf, "tanf is unportable - "
191905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module tanf for portability");
192005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
192105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
192205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
192305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TANL@
192405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_TANL@ || !@HAVE_DECL_TANL@
192505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef tanl
192605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanl, long double, (long double x));
192705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
192805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanl, long double, (long double x));
192905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanl);
193005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
193105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanl
193205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANL
193305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanl, "tanl is unportable - "
193405436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module tanl for portability");
193505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
193605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
193705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
193805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
193905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TANHF@
194005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !@HAVE_TANHF@
194105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef tanhf
194205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanhf, float, (float x));
194305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
194405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanhf, float, (float x));
194505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanhf);
194605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
194705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanhf
194805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANHF
194905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
195005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module tanhf for portability");
195105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
195205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
195305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
195405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
195505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TRUNCF@
195605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_TRUNCF@
195705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
195805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define truncf rpl_truncf
195905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
196005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (truncf, float, (float x));
196105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (truncf, float, (float x));
196205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
196305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_TRUNCF@
196405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (truncf, float, (float x));
196505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
196605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (truncf, float, (float x));
196705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
196805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (truncf);
196905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
197005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef truncf
197105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNCF
197205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (truncf, "truncf is unportable - "
197305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module truncf for portability");
197405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
197505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
197605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
197705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TRUNC@
197805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_TRUNC@
197905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
198005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define trunc rpl_trunc
198105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
198205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (trunc, double, (double x));
198305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (trunc, double, (double x));
198405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
198505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_TRUNC@
198605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (trunc, double, (double x));
198705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
198805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (trunc, double, (double x));
198905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
199005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (trunc);
199105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
199205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef trunc
199305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNC
199405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (trunc, "trunc is unportable - "
199505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module trunc for portability");
199605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
199705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
199805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
199905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_TRUNCL@
200005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_TRUNCL@
200105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
200205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef truncl
200305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define truncl rpl_truncl
200405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
200505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (truncl, long double, (long double x));
200605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (truncl, long double, (long double x));
200705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
200805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if !@HAVE_DECL_TRUNCL@
200905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (truncl, long double, (long double x));
201005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
201105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (truncl, long double, (long double x));
201205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
201305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (truncl);
201405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
201505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef truncl
201605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNCL
201705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (truncl, "truncl is unportable - "
201805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                 "use gnulib module truncl for portability");
201905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
202005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
202105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
202205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
202305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Definitions of function-like macros come here, after the function
202405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   declarations.  */
202505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
202605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
202705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISFINITE@
202805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ISFINITE@
202905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinitef (float x);
203005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinited (double x);
203105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinitel (long double x);
203205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isfinite
203305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isfinite(x) \
203405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \
203505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? gl_isfinited (x) : \
203605436638acc7c010349a69c3395f1a57c642dc62Ying Wang    gl_isfinitef (x))
203705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
203805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus
203905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifdef isfinite
204005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite)
204105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isfinite
204205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite)
204305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
204405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
204505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
204605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isfinite
204705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isfinite);
204805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isfinite
204905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x)
205005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
205105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
205205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
205305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
205405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISINF@
205505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ISINF@
205605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinff (float x);
205705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinfd (double x);
205805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinfl (long double x);
205905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isinf
206005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isinf(x) \
206105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
206205436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
206305436638acc7c010349a69c3395f1a57c642dc62Ying Wang    gl_isinff (x))
206405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
206505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus
206605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifdef isinf
206705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf)
206805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isinf
206905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf)
207005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
207105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
207205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
207305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isinf
207405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isinf);
207505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isinf
207605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x)
207705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
207805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
207905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
208005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
208105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISNANF@
208205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'float' numbers.  */
208305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @HAVE_ISNANF@
208405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan macro
208505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   or (older) isnanf function.  */
208605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if __GNUC__ >= 4
208705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* GCC 4.0 and newer provides three built-ins for isnan.  */
208805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnanf
208905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnanf(x) __builtin_isnanf ((float)(x))
209005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  elif defined isnan
209105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnanf
209205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnanf(x) isnan ((float)(x))
209305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
209405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
209505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN.  */
209605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnanf
209705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnanf rpl_isnanf
209805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnanf (float x);
209905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
210005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
210105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
210205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISNAND@
210305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'double' numbers.
210405436638acc7c010349a69c3395f1a57c642dc62Ying Wang   This function is a gnulib extension, unlike isnan() which applied only
210505436638acc7c010349a69c3395f1a57c642dc62Ying Wang   to 'double' numbers earlier but now is a type-generic macro.  */
210605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @HAVE_ISNAND@
210705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan
210805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   macro.  */
210905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if __GNUC__ >= 4
211005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* GCC 4.0 and newer provides three built-ins for isnan.  */
211105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnand
211205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnand(x) __builtin_isnan ((double)(x))
211305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
211405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnand
211505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnand(x) isnan ((double)(x))
211605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
211705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
211805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN.  */
211905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnand
212005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnand rpl_isnand
212105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnand (double x);
212205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
212305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
212405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
212505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISNANL@
212605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'long double' numbers.  */
212705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @HAVE_ISNANL@
212805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan
212905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   macro or (older) isnanl function.  */
213005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if __GNUC__ >= 4
213105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    /* GCC 4.0 and newer provides three built-ins for isnan.  */
213205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnanl
213305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnanl(x) __builtin_isnanl ((long double)(x))
213405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  elif defined isnan
213505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnanl
213605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnanl(x) isnan ((long double)(x))
213705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
213805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
213905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN.  */
214005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnanl
214105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnanl rpl_isnanl
214205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST;
214305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
214405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
214505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
214605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL!  */
214705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_ISNAN@
214805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_ISNAN@
214905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* We can't just use the isnanf macro (e.g.) as exposed by
215005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   isnanf.h (e.g.) here, because those may end up being macros
215105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   that recursively expand back to isnan.  So use the gnulib
215205436638acc7c010349a69c3395f1a57c642dc62Ying Wang   replacements for them directly. */
215305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if @HAVE_ISNANF@ && __GNUC__ >= 4
215405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_f(x) __builtin_isnanf ((float)(x))
215505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
215605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnanf (float x);
215705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_f(x) rpl_isnanf (x)
215805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
215905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if @HAVE_ISNAND@ && __GNUC__ >= 4
216005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_d(x) __builtin_isnan ((double)(x))
216105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
216205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnand (double x);
216305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_d(x) rpl_isnand (x)
216405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
216505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if @HAVE_ISNANL@ && __GNUC__ >= 4
216605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_l(x) __builtin_isnanl ((long double)(x))
216705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  else
216805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST;
216905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define gl_isnan_l(x) rpl_isnanl (x)
217005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
217105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnan
217205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnan(x) \
217305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
217405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
217505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    gl_isnan_f (x))
217605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 4
217705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnan
217805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnan(x) \
217905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \
218005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \
218105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    __builtin_isnanf ((float)(x)))
218205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
218305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus
218405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifdef isnan
218505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan)
218605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef isnan
218705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan)
218805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
218905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else
219005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Ensure isnan is a macro.  */
219105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifndef isnan
219205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define isnan isnan
219305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
219405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
219505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
219605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isnan
219705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isnan);
219805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef isnan
219905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x)
220005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
220105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
220205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
220305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
220405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if @GNULIB_SIGNBIT@
220505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_SIGNBIT_USING_GCC@
220605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef signbit
220705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   /* GCC 4.0 and newer provides three built-ins for signbit.  */
220805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define signbit(x) \
220905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
221005436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
221105436638acc7c010349a69c3395f1a57c642dc62Ying Wang    __builtin_signbitf (x))
221205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
221305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if @REPLACE_SIGNBIT@
221405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef signbit
221505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitf (float arg);
221605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitd (double arg);
221705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitl (long double arg);
221805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  if __GNUC__ >= 2 && !defined __STRICT_ANSI__
221905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   define _GL_NUM_UINT_WORDS(type) \
222005436638acc7c010349a69c3395f1a57c642dc62Ying Wang      ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
222105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
222205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitf_OPTIMIZED_MACRO
222305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitf(arg) \
222405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ({ union { float _value;                                         \
222505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  unsigned int _word[_GL_NUM_UINT_WORDS (float)];       \
222605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                } _m;                                                   \
222705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          _m._value = (arg);                                            \
222805436638acc7c010349a69c3395f1a57c642dc62Ying Wang          (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1;          \
222905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        })
223005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   endif
223105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
223205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitd_OPTIMIZED_MACRO
223305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitd(arg) \
223405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ({ union { double _value;                                        \
223505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  unsigned int _word[_GL_NUM_UINT_WORDS (double)];      \
223605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                } _m;                                                   \
223705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          _m._value = (arg);                                            \
223805436638acc7c010349a69c3395f1a57c642dc62Ying Wang          (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1;          \
223905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        })
224005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   endif
224105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
224205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitl_OPTIMIZED_MACRO
224305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#    define gl_signbitl(arg) \
224405436638acc7c010349a69c3395f1a57c642dc62Ying Wang       ({ union { long double _value;                                   \
224505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                  unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
224605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                } _m;                                                   \
224705436638acc7c010349a69c3395f1a57c642dc62Ying Wang          _m._value = (arg);                                            \
224805436638acc7c010349a69c3395f1a57c642dc62Ying Wang          (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1;        \
224905436638acc7c010349a69c3395f1a57c642dc62Ying Wang        })
225005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   endif
225105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
225205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define signbit(x) \
225305436638acc7c010349a69c3395f1a57c642dc62Ying Wang   (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
225405436638acc7c010349a69c3395f1a57c642dc62Ying Wang    sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
225505436638acc7c010349a69c3395f1a57c642dc62Ying Wang    gl_signbitf (x))
225605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
225705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus
225805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  ifdef signbit
225905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
226005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#   undef signbit
226105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
226205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  endif
226305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
226405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK
226505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined signbit
226605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (signbit);
226705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  undef signbit
226805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#  define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
226905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif
227005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif
227105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
227205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_INLINE_HEADER_END
227305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
227405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _@GUARD_PREFIX@_MATH_H */
227505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _@GUARD_PREFIX@_MATH_H */
2276