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