105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A GNU-like <math.h>. 305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 405436638acc7c010349a69c3395f1a57c642dc62Ying Wang Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc. 505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 605436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is free software: you can redistribute it and/or modify 705436638acc7c010349a69c3395f1a57c642dc62Ying Wang it under the terms of the GNU General Public License as published by 805436638acc7c010349a69c3395f1a57c642dc62Ying Wang the Free Software Foundation; either version 3 of the License, or 905436638acc7c010349a69c3395f1a57c642dc62Ying Wang (at your option) any later version. 1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang This program is distributed in the hope that it will be useful, 1205436638acc7c010349a69c3395f1a57c642dc62Ying Wang but WITHOUT ANY WARRANTY; without even the implied warranty of 1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1405436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNU General Public License for more details. 1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang You should have received a copy of the GNU General Public License 1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang along with this program. If not, see <http://www.gnu.org/licenses/>. */ 1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 1905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_MATH_H 2005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if __GNUC__ >= 3 2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#pragma GCC system_header 2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The include_next requires a split double-inclusion guard. */ 2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#include_next <math.h> 2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_MATH_H 3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_MATH_H 3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_INLINE_HEADER_BEGIN 3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_MATH_INLINE 3405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_INLINE _GL_INLINE 3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_CXXDEFS_H 3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXDEFS_H 4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The three most frequent use cases of these macros are: 4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4305436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a substitute for a function that is missing on some 4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang platforms, but is declared and works fine on the platforms on which 4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang it exists: 4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4705436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !@HAVE_FOO@ 4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (foo, ...); 5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 5205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 5705436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a replacement for a function that exists on all platforms, 5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang but is broken/insufficient and needs to be replaced on some platforms: 5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if @REPLACE_FOO@ 6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang # undef foo 6405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # define foo rpl_foo 6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (foo, ...); 6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (foo, ...); 6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang # else 6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 7205436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 7305436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 7505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang * For providing a replacement for a function that exists on some platforms 7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang but is broken/insufficient and needs to be replaced on some of them and 7805436638acc7c010349a69c3395f1a57c642dc62Ying Wang is additionally either missing or undeclared on some other platforms: 7905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang #if @GNULIB_FOO@ 8105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if @REPLACE_FOO@ 8205436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !(defined __cplusplus && defined GNULIB_NAMESPACE) 8305436638acc7c010349a69c3395f1a57c642dc62Ying Wang # undef foo 8405436638acc7c010349a69c3395f1a57c642dc62Ying Wang # define foo rpl_foo 8505436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 8605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (foo, ...); 8705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (foo, ...); 8805436638acc7c010349a69c3395f1a57c642dc62Ying Wang # else 8905436638acc7c010349a69c3395f1a57c642dc62Ying Wang # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ 9005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (foo, ...); 9105436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 9205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (foo, ...); 9305436638acc7c010349a69c3395f1a57c642dc62Ying Wang # endif 9405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN (foo); 9505436638acc7c010349a69c3395f1a57c642dc62Ying Wang #elif defined GNULIB_POSIXCHECK 9605436638acc7c010349a69c3395f1a57c642dc62Ying Wang ... 9705436638acc7c010349a69c3395f1a57c642dc62Ying Wang #endif 9805436638acc7c010349a69c3395f1a57c642dc62Ying Wang*/ 9905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 10005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_EXTERN_C declaration; 10105436638acc7c010349a69c3395f1a57c642dc62Ying Wang performs the declaration with C linkage. */ 10205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus 10305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern "C" 10405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 10505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_EXTERN_C extern 10605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 10705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 10805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); 10905436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a replacement function, named rpl_func, with the given prototype, 11005436638acc7c010349a69c3395f1a57c642dc62Ying Wang consisting of return type, parameters, and attributes. 11105436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 11205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) 11305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((1))); 11405436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ 11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) 11705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ 11805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C rettype rpl_func parameters_and_attributes 11905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 12005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); 12105436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares the system function, named func, with the given prototype, 12205436638acc7c010349a69c3395f1a57c642dc62Ying Wang consisting of return type, parameters, and attributes. 12305436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 12405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) 12505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((1))); 12605436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 12705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ 12805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C rettype func parameters_and_attributes 12905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 13005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL (func, rettype, parameters); 13105436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a C++ alias called GNULIB_NAMESPACE::func 13205436638acc7c010349a69c3395f1a57c642dc62Ying Wang that redirects to rpl_func, if GNULIB_NAMESPACE is defined. 13305436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 13405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); 13505436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 13605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ 13705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) 13805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 13905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ 14005436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 14105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 14205436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = ::rpl_func; \ 14305436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 14405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 14505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 14605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ 14705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 14805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 14905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 15005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); 15105436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); 15205436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function rpl_func may have a slightly different 15305436638acc7c010349a69c3395f1a57c642dc62Ying Wang declaration. A cast is used to silence the "invalid conversion" error 15405436638acc7c010349a69c3395f1a57c642dc62Ying Wang that would otherwise occur. */ 15505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 15605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ 15705436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 15805436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 15905436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = \ 16005436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>(::rpl_func); \ 16105436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 16205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 16305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 16405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ 16505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 16605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 16705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 16805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS (func, rettype, parameters); 16905436638acc7c010349a69c3395f1a57c642dc62Ying Wang declares a C++ alias called GNULIB_NAMESPACE::func 17005436638acc7c010349a69c3395f1a57c642dc62Ying Wang that redirects to the system provided function func, if GNULIB_NAMESPACE 17105436638acc7c010349a69c3395f1a57c642dc62Ying Wang is defined. 17205436638acc7c010349a69c3395f1a57c642dc62Ying Wang Example: 17305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); 17405436638acc7c010349a69c3395f1a57c642dc62Ying Wang */ 17505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 17605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* If we were to write 17705436638acc7c010349a69c3395f1a57c642dc62Ying Wang rettype (*const func) parameters = ::func; 17805436638acc7c010349a69c3395f1a57c642dc62Ying Wang like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls 17905436638acc7c010349a69c3395f1a57c642dc62Ying Wang better (remove an indirection through a 'static' pointer variable), 18005436638acc7c010349a69c3395f1a57c642dc62Ying Wang but then the _GL_CXXALIASWARN macro below would cause a warning not only 18105436638acc7c010349a69c3395f1a57c642dc62Ying Wang for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ 18205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ 18305436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 18405436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 18505436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = ::func; \ 18605436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 18705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 18805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 18905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ 19005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 19105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 19205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 19305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); 19405436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_SYS (func, rettype, parameters); 19505436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function func may have a slightly different declaration. 19605436638acc7c010349a69c3395f1a57c642dc62Ying Wang A cast is used to silence the "invalid conversion" error that would 19705436638acc7c010349a69c3395f1a57c642dc62Ying Wang otherwise occur. */ 19805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 19905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ 20005436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 20105436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 20205436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = \ 20305436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>(::func); \ 20405436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 20505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 20605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 20705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ 20805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 20905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 21005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 21105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); 21205436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_CXXALIAS_SYS (func, rettype, parameters); 21305436638acc7c010349a69c3395f1a57c642dc62Ying Wang except that the C function is picked among a set of overloaded functions, 21405436638acc7c010349a69c3395f1a57c642dc62Ying Wang namely the one with rettype2 and parameters2. Two consecutive casts 21505436638acc7c010349a69c3395f1a57c642dc62Ying Wang are used to silence the "cannot find a match" and "invalid conversion" 21605436638acc7c010349a69c3395f1a57c642dc62Ying Wang errors that would otherwise occur. */ 21705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 21805436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The outer cast must be a reinterpret_cast. 21905436638acc7c010349a69c3395f1a57c642dc62Ying Wang The inner cast: When the function is defined as a set of overloaded 22005436638acc7c010349a69c3395f1a57c642dc62Ying Wang functions, it works as a static_cast<>, choosing the designated variant. 22105436638acc7c010349a69c3395f1a57c642dc62Ying Wang When the function is defined as a single variant, it works as a 22205436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<>. The parenthesized cast syntax works both ways. */ 22305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ 22405436638acc7c010349a69c3395f1a57c642dc62Ying Wang namespace GNULIB_NAMESPACE \ 22505436638acc7c010349a69c3395f1a57c642dc62Ying Wang { \ 22605436638acc7c010349a69c3395f1a57c642dc62Ying Wang static rettype (*func) parameters = \ 22705436638acc7c010349a69c3395f1a57c642dc62Ying Wang reinterpret_cast<rettype(*)parameters>( \ 22805436638acc7c010349a69c3395f1a57c642dc62Ying Wang (rettype2(*)parameters2)(::func)); \ 22905436638acc7c010349a69c3395f1a57c642dc62Ying Wang } \ 23005436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 23105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 23205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ 23305436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 23405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 23505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 23605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN (func); 23705436638acc7c010349a69c3395f1a57c642dc62Ying Wang causes a warning to be emitted when ::func is used but not when 23805436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNULIB_NAMESPACE::func is used. func must be defined without overloaded 23905436638acc7c010349a69c3395f1a57c642dc62Ying Wang variants. */ 24005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 24105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \ 24205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) 24305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_1(func,namespace) \ 24405436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN_2 (func, namespace) 24505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, 24605436638acc7c010349a69c3395f1a57c642dc62Ying Wang we enable the warning only when not optimizing. */ 24705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__ 24805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 24905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_WARN_ON_USE (func, \ 25005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "The symbol ::" #func " refers to the system function. " \ 25105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "Use " #namespace "::" #func " instead.") 25205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 25305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 25405436638acc7c010349a69c3395f1a57c642dc62Ying Wang extern __typeof__ (func) func 25505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 25605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN_2(func,namespace) \ 25705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 25805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 25905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 26005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN(func) \ 26105436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 26205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 26305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 26405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); 26505436638acc7c010349a69c3395f1a57c642dc62Ying Wang causes a warning to be emitted when the given overloaded variant of ::func 26605436638acc7c010349a69c3395f1a57c642dc62Ying Wang is used but not when GNULIB_NAMESPACE::func is used. */ 26705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if defined __cplusplus && defined GNULIB_NAMESPACE 26805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ 26905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ 27005436638acc7c010349a69c3395f1a57c642dc62Ying Wang GNULIB_NAMESPACE) 27105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ 27205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) 27305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>, 27405436638acc7c010349a69c3395f1a57c642dc62Ying Wang we enable the warning only when not optimizing. */ 27505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !__OPTIMIZE__ 27605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 27705436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ 27805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "The symbol ::" #func " refers to the system function. " \ 27905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "Use " #namespace "::" #func " instead.") 28005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 28105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 28205436638acc7c010349a69c3395f1a57c642dc62Ying Wang extern __typeof__ (func) func 28305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 28405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ 28505436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 28605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 28705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 28805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ 28905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_EXTERN_C int _gl_cxxalias_dummy 29005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 29105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 29205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_CXXDEFS_H */ 29305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 29405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_ARG_NONNULL is copied here. */ 29505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools 29605436638acc7c010349a69c3395f1a57c642dc62Ying Wang that the values passed as arguments n, ..., m must be non-NULL pointers. 29705436638acc7c010349a69c3395f1a57c642dc62Ying Wang n = 1 stands for the first argument, n = 2 for the second argument etc. */ 29805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_ARG_NONNULL 29905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 30005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) 30105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 30205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_ARG_NONNULL(params) 30305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 30405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 30505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 30605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The definition of _GL_WARN_ON_USE is copied here. */ 30705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE 30805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 30905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) 31005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* A compiler attribute is available in gcc versions 4.3.0 and later. */ 31105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 31205436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function __attribute__ ((__warning__ (message))) 31305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 31405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function. */ 31505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 31605436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern __typeof__ (function) function 31705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported. */ 31805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE(function, message) \ 31905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use 32005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 32105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 32205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 32305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string") 32405436638acc7c010349a69c3395f1a57c642dc62Ying Wang is like _GL_WARN_ON_USE (function, "string"), except that the function is 32505436638acc7c010349a69c3395f1a57c642dc62Ying Wang declared with the given prototype, consisting of return type, parameters, 32605436638acc7c010349a69c3395f1a57c642dc62Ying Wang and attributes. 32705436638acc7c010349a69c3395f1a57c642dc62Ying Wang This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does 32805436638acc7c010349a69c3395f1a57c642dc62Ying Wang not work in this case. */ 32905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_ON_USE_CXX 33005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__) 33105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 33205436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes \ 33305436638acc7c010349a69c3395f1a57c642dc62Ying Wang __attribute__ ((__warning__ (msg))) 33405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING 33505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Verify the existence of the function. */ 33605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 33705436638acc7c010349a69c3395f1a57c642dc62Ying Wangextern rettype function parameters_and_attributes 33805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else /* Unsupported. */ 33905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \ 34005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_EXTERN_C int _gl_warn_on_use 34105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 34205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 34305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 34405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* _GL_WARN_EXTERN_C declaration; 34505436638acc7c010349a69c3395f1a57c642dc62Ying Wang performs the declaration with C linkage. */ 34605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef _GL_WARN_EXTERN_C 34705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __cplusplus 34805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_EXTERN_C extern "C" 34905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 35005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_WARN_EXTERN_C extern 35105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 35205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 35305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 35405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifdef __cplusplus 35505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Helper macros to define type-generic function FUNC as overloaded functions, 35605436638acc7c010349a69c3395f1a57c642dc62Ying Wang rather than as macros like in C. POSIX declares these with an argument of 35705436638acc7c010349a69c3395f1a57c642dc62Ying Wang real-floating (that is, one of float, double, or long double). */ 35805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \ 35905436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int \ 36005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## f (float f) \ 36105436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 36205436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (f); \ 36305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 36405436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int \ 36505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## d (double d) \ 36605436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 36705436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (d); \ 36805436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 36905436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic inline int \ 37005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_gl_cxx_ ## func ## l (long double l) \ 37105436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 37205436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (l); \ 37305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 37405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ 37505436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int \ 37605436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (float f) \ 37705436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 37805436638acc7c010349a69c3395f1a57c642dc62Ying Wang return _gl_cxx_ ## func ## f (f); \ 37905436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 38005436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int \ 38105436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (double d) \ 38205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 38305436638acc7c010349a69c3395f1a57c642dc62Ying Wang return _gl_cxx_ ## func ## d (d); \ 38405436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 38505436638acc7c010349a69c3395f1a57c642dc62Ying Wanginline int \ 38605436638acc7c010349a69c3395f1a57c642dc62Ying Wangfunc (long double l) \ 38705436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 38805436638acc7c010349a69c3395f1a57c642dc62Ying Wang return _gl_cxx_ ## func ## l (l); \ 38905436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 39005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 39105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 39205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Helper macros to define a portability warning for the 39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang classification macro FUNC called with VALUE. POSIX declares the 39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang classification macros with an argument of real-floating (that is, 39505436638acc7c010349a69c3395f1a57c642dc62Ying Wang one of float, double, or long double). */ 39605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_WARN_REAL_FLOATING_DECL(func) \ 39705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int \ 39805436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## f (float f) \ 39905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 40005436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (f); \ 40105436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 40205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int \ 40305436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## d (double d) \ 40405436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 40505436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (d); \ 40605436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 40705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE int \ 40805436638acc7c010349a69c3395f1a57c642dc62Ying Wangrpl_ ## func ## l (long double l) \ 40905436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ \ 41005436638acc7c010349a69c3395f1a57c642dc62Ying Wang return func (l); \ 41105436638acc7c010349a69c3395f1a57c642dc62Ying Wang} \ 41205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \ 41305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module " #func " for portability"); \ 41405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \ 41505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module " #func " for portability"); \ 41605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ 41705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module " #func " for portability") 41805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ 41905436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ 42005436638acc7c010349a69c3395f1a57c642dc62Ying Wang : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ 42105436638acc7c010349a69c3395f1a57c642dc62Ying Wang : rpl_ ## func ## l (value)) 42205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 42305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 42405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 42505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Pull in a function that fixes the 'int' to 'long double' conversion 42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang of glibc 2.7. */ 42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C void _Qp_itoq (long double *, int); 42805436638acc7c010349a69c3395f1a57c642dc62Ying Wangstatic void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq; 42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 43205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* POSIX allows platforms that don't support NAN. But all major 43305436638acc7c010349a69c3395f1a57c642dc62Ying Wang machines in the past 15 years have supported something close to 43405436638acc7c010349a69c3395f1a57c642dc62Ying Wang IEEE NaN, so we define this unconditionally. We also must define 43505436638acc7c010349a69c3395f1a57c642dc62Ying Wang it on platforms like Solaris 10, where NAN is present but defined 43605436638acc7c010349a69c3395f1a57c642dc62Ying Wang as a function pointer rather than a floating point constant. */ 43705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !defined NAN || 0 43805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !GNULIB_defined_NAN 43905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef NAN 44005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler 44105436638acc7c010349a69c3395f1a57c642dc62Ying Wang choke on the expression 0.0 / 0.0. */ 44205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __DECC || defined _MSC_VER 44305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_INLINE float 44405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_NaN () 44505436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 44605436638acc7c010349a69c3395f1a57c642dc62Ying Wang static float zero = 0.0f; 44705436638acc7c010349a69c3395f1a57c642dc62Ying Wang return zero / zero; 44805436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define NAN (_NaN()) 45005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 45105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define NAN (0.0f / 0.0f) 45205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 45305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define GNULIB_defined_NAN 1 45405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 45605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Solaris 10 defines HUGE_VAL, but as a function pointer rather 45805436638acc7c010349a69c3395f1a57c642dc62Ying Wang than a floating point constant. */ 45905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 46005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VALF 46105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALF (1.0f / 0.0f) 46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VAL 46305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VAL (1.0 / 0.0) 46405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef HUGE_VALL 46505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALL (1.0L / 0.0L) 46605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 46705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VALF is a 'float' Infinity. */ 46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VALF 47005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER 47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */ 47205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALF (1e25f * 1e25f) 47305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALF (1.0f / 0.0f) 47505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 47605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 47705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VAL is a 'double' Infinity. */ 47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VAL 48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER 48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */ 48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VAL (1e250 * 1e250) 48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 48405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VAL (1.0 / 0.0) 48505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 48605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 48705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* HUGE_VALL is a 'long double' Infinity. */ 48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#ifndef HUGE_VALL 49005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined _MSC_VER 49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */ 49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALL (1e250L * 1e250L) 49305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define HUGE_VALL (1.0L / 0.0L) 49505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 49605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Ensure FP_ILOGB0 and FP_ILOGBNAN are defined. */ 50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !(defined FP_ILOGB0 && defined FP_ILOGBNAN) 50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined __NetBSD__ || defined __sgi 50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* NetBSD, IRIX 6.5: match what ilogb() does */ 50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ 50405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */ 50505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined _AIX 50605436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* AIX 5.1: match what ilogb() does in AIX >= 5.2 */ 50705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGB0 (- 2147483647 - 1) /* INT_MIN */ 50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGBNAN 2147483647 /* INT_MAX */ 50905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined __sun 51005436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Solaris 9: match what ilogb() does */ 51105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGB0 (- 2147483647) /* - INT_MAX */ 51205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGBNAN 2147483647 /* INT_MAX */ 51305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 51405436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* Gnulib defined values. */ 51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGB0 (- 2147483647) /* - INT_MAX */ 51605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define FP_ILOGBNAN (- 2147483647 - 1) /* INT_MIN */ 51705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 51805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 51905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 52305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosf 52405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (acosf, float, (float x)); 52505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (acosf, float, (float x)); 52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (acosf); 52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosf 53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ACOSF 53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (acosf, "acosf is unportable - " 53205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module acosf for portability"); 53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosl 53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (acosl, long double, (long double x)); 54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (acosl, long double, (long double x)); 54205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (acosl); 54305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 54405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef acosl 54505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ACOSL 54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (acosl, "acosl is unportable - " 54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module acosl for portability"); 54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinf 55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (asinf, float, (float x)); 55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (asinf, float, (float x)); 55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (asinf); 55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 56005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinf 56105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ASINF 56205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (asinf, "asinf is unportable - " 56305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module asinf for portability"); 56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinl 57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (asinl, long double, (long double x)); 57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (asinl, long double, (long double x)); 57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (asinl); 57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef asinl 57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ASINL 57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (asinl, "asinl is unportable - " 57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module asinl for portability"); 57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanf 58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atanf, float, (float x)); 58705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atanf, float, (float x)); 58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atanf); 59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 59105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanf 59205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATANF 59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atanf, "atanf is unportable - " 59405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module atanf for portability"); 59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 59605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 59805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 60005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanl 60105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atanl, long double, (long double x)); 60205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atanl, long double, (long double x)); 60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atanl); 60505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 60605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atanl 60705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATANL 60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atanl, "atanl is unportable - " 60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module atanl for portability"); 61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 61205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atan2f 61705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); 61805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); 62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (atan2f); 62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 62205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef atan2f 62305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ATAN2F 62405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (atan2f, "atan2f is unportable - " 62505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module atan2f for portability"); 62605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 62905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 63105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 63205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 63305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtf 63405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define cbrtf rpl_cbrtf 63505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 63605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (cbrtf, float, (float x)); 63705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (cbrtf, float, (float x)); 63805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 64005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrtf, float, (float x)); 64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrtf, float, (float x)); 64305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 64405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrtf); 64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtf 64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRTF 64805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - " 64905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module cbrtf for portability"); 65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrt, double, (double x)); 65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrt, double, (double x)); 65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrt); 65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrt 66105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRT 66205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrt, "cbrt is unportable - " 66305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module cbrt for portability"); 66405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 66505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtl 67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define cbrtl rpl_cbrtl 67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (cbrtl, long double, (long double x)); 67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (cbrtl, long double, (long double x)); 67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cbrtl, long double, (long double x)); 67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cbrtl, long double, (long double x)); 68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cbrtl); 68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cbrtl 68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CBRTL 68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - " 68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module cbrtl for portability"); 68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceilf 69505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ceilf rpl_ceilf 69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 69705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceilf, float, (float x)); 69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceilf, float, (float x)); 69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceilf 70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ceilf, float, (float x)); 70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceilf, float, (float x)); 70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceilf); 70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceilf 70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CEILF 71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ceilf, "ceilf is unportable - " 71105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ceilf for portability"); 71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 71505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 71605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 71705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 71805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ceil rpl_ceil 71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceil, double, (double x)); 72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceil, double, (double x)); 72205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 72305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceil, double, (double x)); 72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceil); 72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceill 73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ceill rpl_ceill 73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ceill, long double, (long double x)); 73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ceill, long double, (long double x)); 73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceill 73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ceill, long double, (long double x)); 74005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 74105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ceill, long double, (long double x)); 74205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 74305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ceill); 74405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 74505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ceill 74605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_CEILL 74705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ceill, "ceill is unportable - " 74805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ceill for portability"); 74905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 75005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 75105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 75205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 75405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 75505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); 75605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 75705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); 75805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysignf); 75905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysignf 76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGNF 76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysignf, "copysignf is unportable - " 76305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module copysignf for portability"); 76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 76605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 76705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysign, double, (double x, double y)); 77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 77105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysign, double, (double x, double y)); 77205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysign); 77305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 77405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysign 77505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGN 77605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysign, "copysign is unportable - " 77705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module copysign for portability"); 77805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 77905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 78005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 78105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 78205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 78305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); 78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 78505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); 78605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (copysignl); 78705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 78805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef copysignl 78905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COPYSIGNL 79005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (copysign, "copysignl is unportable - " 79105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module copysignl for portability"); 79205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 79305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 79405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 79505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 79605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 79705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 79805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosf 79905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cosf, float, (float x)); 80005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 80105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cosf, float, (float x)); 80205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cosf); 80305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 80405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosf 80505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSF 80605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cosf, "cosf is unportable - " 80705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module cosf for portability"); 80805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 80905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 81005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 81105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 81205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 81305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosl 81405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (cosl, long double, (long double x)); 81505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 81605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (cosl, long double, (long double x)); 81705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (cosl); 81805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 81905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef cosl 82005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSL 82105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (cosl, "cosl is unportable - " 82205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module cosl for portability"); 82305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 82405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 82505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 82605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 82705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 82805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 82905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef coshf 83005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (coshf, float, (float x)); 83105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 83205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (coshf, float, (float x)); 83305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (coshf); 83405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 83505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef coshf 83605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_COSHF 83705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (coshf, "coshf is unportable - " 83805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module coshf for portability"); 83905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 84005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 84105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 84205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 84305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 84405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expf 84605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expf, float, (float x)); 84705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 84805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expf, float, (float x)); 84905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expf); 85005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 85105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expf 85205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPF 85305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expf, "expf is unportable - " 85405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module expf for portability"); 85505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 85605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 85705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 85805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 85905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 86005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expl 86105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expl, long double, (long double x)); 86205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 86305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expl, long double, (long double x)); 86405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expl); 86505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 86605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expl 86705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPL 86805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expl, "expl is unportable - " 86905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module expl for portability"); 87005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 87105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 87205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 87305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 87405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 87505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 87605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2f, float, (float x)); 87705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 87805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2f, float, (float x)); 87905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2f); 88005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 88105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2f 88205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2F 88305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2f, "exp2f is unportable - " 88405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module exp2f for portability"); 88505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 88605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 88705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 88805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 88905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 89005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 89105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2 89205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define exp2 rpl_exp2 89305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 89405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (exp2, double, (double x)); 89505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (exp2, double, (double x)); 89605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 89705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 89805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2, double, (double x)); 89905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2, double, (double x)); 90105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2); 90305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 90405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2 90505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2 90605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2, "exp2 is unportable - " 90705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module exp2 for portability"); 90805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 90905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 91005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 91105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 91205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 91305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 91405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2l 91505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define exp2l rpl_exp2l 91605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 91705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (exp2l, long double, (long double x)); 91805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (exp2l, long double, (long double x)); 91905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 92005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 92105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2l 92205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (exp2l, long double, (long double x)); 92305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 92405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (exp2l, long double, (long double x)); 92505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 92605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (exp2l); 92705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 92805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef exp2l 92905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXP2L 93005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (exp2l, "exp2l is unportable - " 93105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module exp2l for portability"); 93205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 93305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 93405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 93505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 93605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 93705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 93805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 93905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1f 94005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define expm1f rpl_expm1f 94105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 94205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (expm1f, float, (float x)); 94305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (expm1f, float, (float x)); 94405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 94505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 94605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1f, float, (float x)); 94705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 94805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1f, float, (float x)); 94905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1f); 95105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 95205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1f 95305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1F 95405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1f, "expm1f is unportable - " 95505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module expm1f for portability"); 95605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 95705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 95805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 95905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 96005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 96105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 96205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1 96305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define expm1 rpl_expm1 96405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 96505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (expm1, double, (double x)); 96605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (expm1, double, (double x)); 96705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 96805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 96905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1, double, (double x)); 97005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 97105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1, double, (double x)); 97205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 97305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1); 97405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 97505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1 97605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1 97705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1, "expm1 is unportable - " 97805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module expm1 for portability"); 97905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 98005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 98105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 98205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 98305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 98405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1l 98505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (expm1l, long double, (long double x)); 98605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 98705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (expm1l, long double, (long double x)); 98805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (expm1l); 98905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 99005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef expm1l 99105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_EXPM1L 99205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (expm1l, "expm1l is unportable - " 99305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module expm1l for portability"); 99405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 99505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 99605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 99705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 99805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 99905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 100005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsf 100105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fabsf, float, (float x)); 100205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 100305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fabsf, float, (float x)); 100405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fabsf); 100505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 100605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsf 100705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FABSF 100805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fabsf, "fabsf is unportable - " 100905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fabsf for portability"); 101005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 101105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 101205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 101305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 101405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 101505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 101605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsl 101705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fabsl rpl_fabsl 101805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 101905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fabsl, long double, (long double x)); 102005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fabsl, long double, (long double x)); 102105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 102205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 102305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsl 102405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fabsl, long double, (long double x)); 102505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fabsl, long double, (long double x)); 102705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 102805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fabsl); 102905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 103005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fabsl 103105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FABSL 103205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fabsl, "fabsl is unportable - " 103305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fabsl for portability"); 103405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 103505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 103605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 103705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 103805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 103905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 104005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 104105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorf 104205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define floorf rpl_floorf 104305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 104405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floorf, float, (float x)); 104505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floorf, float, (float x)); 104605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 104705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 104805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorf 104905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (floorf, float, (float x)); 105005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 105105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floorf, float, (float x)); 105205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 105305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floorf); 105405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 105505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorf 105605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FLOORF 105705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (floorf, "floorf is unportable - " 105805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module floorf for portability"); 105905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 106005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 106105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 106205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 106305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 106405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 106505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define floor rpl_floor 106605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 106705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floor, double, (double x)); 106805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floor, double, (double x)); 106905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 107005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floor, double, (double x)); 107105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 107205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floor); 107305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 107405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 107505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 107605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 107705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 107805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorl 107905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define floorl rpl_floorl 108005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 108105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (floorl, long double, (long double x)); 108205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (floorl, long double, (long double x)); 108305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 108405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 108505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorl 108605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (floorl, long double, (long double x)); 108705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 108805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (floorl, long double, (long double x)); 108905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (floorl); 109105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 109205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef floorl 109305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FLOORL 109405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (floorl, "floorl is unportable - " 109505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module floorl for portability"); 109605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 109705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 109805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 109905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 110005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 110105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 110205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 110305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmaf 110405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fmaf rpl_fmaf 110505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 110605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z)); 110705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); 110805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 110905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 111005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); 111105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 111205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); 111305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 111405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmaf); 111505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 111605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmaf 111705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMAF 111805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmaf, "fmaf is unportable - " 111905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fmaf for portability"); 112005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 112105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 112205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 112305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 112405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 112505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 112605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fma 112705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fma rpl_fma 112805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 112905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fma, double, (double x, double y, double z)); 113005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); 113105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 113205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 113305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); 113405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 113505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); 113605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 113705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fma); 113805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 113905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fma 114005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMA 114105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fma, "fma is unportable - " 114205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fma for portability"); 114305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 114405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 114505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 114605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 114705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 114805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 114905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmal 115005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fmal rpl_fmal 115105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 115205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmal, long double, 115305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, long double y, long double z)); 115405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmal, long double, 115505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, long double y, long double z)); 115605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 115705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 115805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmal 115905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmal, long double, 116005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, long double y, long double z)); 116105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 116205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmal, long double, 116305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, long double y, long double z)); 116405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 116505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmal); 116605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 116705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmal 116805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMAL 116905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmal, "fmal is unportable - " 117005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fmal for portability"); 117105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 117205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 117305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 117405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 117505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 117605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 117705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 117805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodf 117905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fmodf rpl_fmodf 118005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 118105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmodf, float, (float x, float y)); 118205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmodf, float, (float x, float y)); 118305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 118405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 118505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodf 118605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmodf, float, (float x, float y)); 118705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 118805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmodf, float, (float x, float y)); 118905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 119005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmodf); 119105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 119205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodf 119305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMODF 119405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmodf, "fmodf is unportable - " 119505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fmodf for portability"); 119605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 119705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 119805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 119905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 120005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 120105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 120205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmod 120305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fmod rpl_fmod 120405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 120505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmod, double, (double x, double y)); 120605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmod, double, (double x, double y)); 120705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 120805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmod, double, (double x, double y)); 120905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 121005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmod); 121105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 121205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmod 121305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMOD 121405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmod, "fmod has portability problems - " 121505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fmod for portability"); 121605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 121705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 121805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 121905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 122005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 122105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 122205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodl 122305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define fmodl rpl_fmodl 122405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 122505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y)); 122605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y)); 122705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 122805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 122905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodl 123005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y)); 123105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 123205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y)); 123305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 123405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (fmodl); 123505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 123605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef fmodl 123705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FMODL 123805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (fmodl, "fmodl is unportable - " 123905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module fmodl for portability"); 124005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 124105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 124205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 124305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 124405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as 124505436638acc7c010349a69c3395f1a57c642dc62Ying Wang x = mantissa * 2^exp 124605436638acc7c010349a69c3395f1a57c642dc62Ying Wang where 124705436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x finite and nonzero: 0.5 <= |mantissa| < 1.0. 124805436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is zero: mantissa = x, exp = 0. 124905436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is infinite or NaN: mantissa = x, exp unspecified. 125005436638acc7c010349a69c3395f1a57c642dc62Ying Wang Store exp in *EXPPTR and return mantissa. */ 125105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 125205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 125305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 125405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpf 125505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define frexpf rpl_frexpf 125605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 125705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); 125805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr)); 125905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 126005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 126105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpf 126205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); 126305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 126405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); 126505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 126605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexpf); 126705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 126805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpf 126905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FREXPF 127005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexpf, "frexpf is unportable - " 127105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module frexpf for portability"); 127205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 127305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 127405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 127505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as 127605436638acc7c010349a69c3395f1a57c642dc62Ying Wang x = mantissa * 2^exp 127705436638acc7c010349a69c3395f1a57c642dc62Ying Wang where 127805436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x finite and nonzero: 0.5 <= |mantissa| < 1.0. 127905436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is zero: mantissa = x, exp = 0. 128005436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is infinite or NaN: mantissa = x, exp unspecified. 128105436638acc7c010349a69c3395f1a57c642dc62Ying Wang Store exp in *EXPPTR and return mantissa. */ 128205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 128305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 128405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 128505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define frexp rpl_frexp 128605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 128705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); 128805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); 128905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 129005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); 129105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 129205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexp); 129305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 129405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexp 129505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Assume frexp is always declared. */ 129605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexp, "frexp is unportable - " 129705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module frexp for portability"); 129805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 129905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 130005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Write x as 130105436638acc7c010349a69c3395f1a57c642dc62Ying Wang x = mantissa * 2^exp 130205436638acc7c010349a69c3395f1a57c642dc62Ying Wang where 130305436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x finite and nonzero: 0.5 <= |mantissa| < 1.0. 130405436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is zero: mantissa = x, exp = 0. 130505436638acc7c010349a69c3395f1a57c642dc62Ying Wang If x is infinite or NaN: mantissa = x, exp unspecified. 130605436638acc7c010349a69c3395f1a57c642dc62Ying Wang Store exp in *EXPPTR and return mantissa. */ 130705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 && 0 130805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 130905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpl 131005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define frexpl rpl_frexpl 131105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 131205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (frexpl, long double, 131305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, int *expptr) _GL_ARG_NONNULL ((2))); 131405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr)); 131505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 131605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 131705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (frexpl, long double, 131805436638acc7c010349a69c3395f1a57c642dc62Ying Wang (long double x, int *expptr) _GL_ARG_NONNULL ((2))); 131905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 132005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 132105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr)); 132205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 132305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 132405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 && !(0 && !1) 132505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (frexpl); 132605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 132705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !1 && defined GNULIB_POSIXCHECK 132805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef frexpl 132905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_FREXPL 133005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (frexpl, "frexpl is unportable - " 133105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module frexpl for portability"); 133205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 133305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 133405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 133505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 133605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2). */ 133705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 133805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 133905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 134005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotf 134105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define hypotf rpl_hypotf 134205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 134305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypotf, float, (float x, float y)); 134405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypotf, float, (float x, float y)); 134505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 134605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 134705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (hypotf, float, (float x, float y)); 134805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 134905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypotf, float, (float x, float y)); 135005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 135105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypotf); 135205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 135305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotf 135405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOTF 135505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotf, "hypotf is unportable - " 135605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module hypotf for portability"); 135705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 135805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 135905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 136005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2). */ 136105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 136205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 136305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 136405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypot 136505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define hypot rpl_hypot 136605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 136705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypot, double, (double x, double y)); 136805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypot, double, (double x, double y)); 136905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 137005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypot, double, (double x, double y)); 137105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 137205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypot); 137305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 137405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypot 137505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOT 137605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotf, "hypot has portability problems - " 137705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module hypot for portability"); 137805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 137905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 138005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 138105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return sqrt(x^2+y^2). */ 138205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 138305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 138405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 138505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotl 138605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define hypotl rpl_hypotl 138705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 138805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y)); 138905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y)); 139005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 139105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 139205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y)); 139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 139405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y)); 139505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 139605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (hypotl); 139705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 139805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef hypotl 139905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_HYPOTL 140005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (hypotl, "hypotl is unportable - " 140105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module hypotl for portability"); 140205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 140305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 140405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 140505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 140605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 140705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 140805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 140905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogbf 141005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ilogbf rpl_ilogbf 141105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 141205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ilogbf, int, (float x)); 141305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ilogbf, int, (float x)); 141405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 141505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 141605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogbf, int, (float x)); 141705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 141805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogbf, int, (float x)); 141905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 142005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogbf); 142105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 142205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogbf 142305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGBF 142405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - " 142505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ilogbf for portability"); 142605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 142705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 142805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 142905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 143005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 143105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 143205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogb 143305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ilogb rpl_ilogb 143405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 143505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ilogb, int, (double x)); 143605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ilogb, int, (double x)); 143705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 143805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 143905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogb, int, (double x)); 144005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 144105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogb, int, (double x)); 144205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 144305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogb); 144405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 144505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogb 144605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGB 144705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogb, "ilogb is unportable - " 144805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ilogb for portability"); 144905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 145005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 145105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 145205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 145305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 145405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ilogbl, int, (long double x)); 145505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 145605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ilogbl, int, (long double x)); 145705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ilogbl); 145805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 145905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ilogbl 146005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ILOGBL 146105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - " 146205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ilogbl for portability"); 146305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 146405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 146505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 146605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 146705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return x * 2^exp. */ 146805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 146905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 147005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpf 147105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); 147205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 147305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); 147405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ldexpf); 147505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 147605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpf 147705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LDEXPF 147805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - " 147905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ldexpf for portability"); 148005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 148105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 148205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 148305436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Return x * 2^exp. */ 148405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 && 0 148505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 148605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpl 148705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define ldexpl rpl_ldexpl 148805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 148905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp)); 149005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp)); 149105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#else 149205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 149305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp)); 149405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 149505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 149605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp)); 149705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 149805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 149905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 150005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (ldexpl); 150105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 150205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if !1 && defined GNULIB_POSIXCHECK 150305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef ldexpl 150405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LDEXPL 150505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - " 150605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module ldexpl for portability"); 150705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 150805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 150905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 151005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 151105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 151205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 151305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 151405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logf 151505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define logf rpl_logf 151605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 151705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logf, float, (float x)); 151805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logf, float, (float x)); 151905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 152005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 152105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logf 152205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logf, float, (float x)); 152305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 152405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logf, float, (float x)); 152505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 152605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logf); 152705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 152805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logf 152905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGF 153005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logf, "logf is unportable - " 153105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module logf for portability"); 153205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 153305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 153405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 153505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 153605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 153705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 153805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log 153905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log rpl_log 154005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 154105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log, double, (double x)); 154205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log, double, (double x)); 154305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 154405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log, double, (double x)); 154505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 154605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log); 154705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 154805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log 154905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG 155005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log, "log has portability problems - " 155105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log for portability"); 155205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 155305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 155405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 155505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 155605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 155705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 155805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logl 155905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define logl rpl_logl 156005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 156105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logl, long double, (long double x)); 156205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logl, long double, (long double x)); 156305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 156405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 156505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logl 156605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logl, long double, (long double x)); 156705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 156805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logl, long double, (long double x)); 156905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 157005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logl); 157105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 157205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logl 157305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGL 157405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logl, "logl is unportable - " 157505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module logl for portability"); 157605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 157705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 157805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 157905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 158005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 158105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 158205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 158305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10f 158405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log10f rpl_log10f 158505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 158605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10f, float, (float x)); 158705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10f, float, (float x)); 158805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 158905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 159005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10f 159105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log10f, float, (float x)); 159205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 159305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10f, float, (float x)); 159405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 159505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10f); 159605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 159705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10f 159805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10F 159905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10f, "log10f is unportable - " 160005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log10f for portability"); 160105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 160205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 160305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 160405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 160505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 160605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 160705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10 160805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log10 rpl_log10 160905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 161005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10, double, (double x)); 161105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10, double, (double x)); 161205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 161305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10, double, (double x)); 161405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 161505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10); 161605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 161705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10 161805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10 161905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10, "log10 has portability problems - " 162005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log10 for portability"); 162105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 162205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 162305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 162405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 162505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 162605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 162705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10l 162805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log10l rpl_log10l 162905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 163005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log10l, long double, (long double x)); 163105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log10l, long double, (long double x)); 163205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 163305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 163405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10l 163505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log10l, long double, (long double x)); 163605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 163705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log10l, long double, (long double x)); 163805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 163905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log10l); 164005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 164105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log10l 164205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG10L 164305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log10l, "log10l is unportable - " 164405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log10l for portability"); 164505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 164605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 164705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 164805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 164905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 165005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 165105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 165205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pf 165305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log1pf rpl_log1pf 165405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 165505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1pf, float, (float x)); 165605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1pf, float, (float x)); 165705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 165805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 165905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1pf, float, (float x)); 166005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 166105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1pf, float, (float x)); 166205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 166305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1pf); 166405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 166505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pf 166605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1PF 166705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1pf, "log1pf is unportable - " 166805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log1pf for portability"); 166905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 167005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 167105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 167205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 167305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 167405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 167505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1p 167605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log1p rpl_log1p 167705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 167805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1p, double, (double x)); 167905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1p, double, (double x)); 168005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 168105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 168205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1p, double, (double x)); 168305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 168405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1p, double, (double x)); 168505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 168605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1p); 168705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 168805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1p 168905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1P 169005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1p, "log1p has portability problems - " 169105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log1p for portability"); 169205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 169305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 169405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 169505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 169605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 169705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 169805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pl 169905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log1pl rpl_log1pl 170005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 170105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log1pl, long double, (long double x)); 170205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log1pl, long double, (long double x)); 170305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 170405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 170505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log1pl, long double, (long double x)); 170605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 170705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log1pl, long double, (long double x)); 170805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 170905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log1pl); 171005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 171105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log1pl 171205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG1PL 171305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log1pl, "log1pl has portability problems - " 171405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log1pl for portability"); 171505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 171605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 171705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 171805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 171905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 172005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 172105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 172205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2f 172305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log2f rpl_log2f 172405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 172505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2f, float, (float x)); 172605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2f, float, (float x)); 172705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 172805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 172905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2f 173005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2f, float, (float x)); 173105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 173205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2f, float, (float x)); 173305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 173405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2f); 173505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 173605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2f 173705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2F 173805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2f, "log2f is unportable - " 173905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log2f for portability"); 174005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 174105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 174205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 174305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 174405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 174505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 174605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2 174705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log2 rpl_log2 174805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 174905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2, double, (double x)); 175005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2, double, (double x)); 175105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 175205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 175305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2 175405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2, double, (double x)); 175505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 175605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2, double, (double x)); 175705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 175805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2); 175905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 176005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2 176105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2 176205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2, "log2 is unportable - " 176305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log2 for portability"); 176405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 176505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 176605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 176705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 176805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 176905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 177005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2l 177105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define log2l rpl_log2l 177205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 177305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (log2l, long double, (long double x)); 177405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (log2l, long double, (long double x)); 177505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 177605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 177705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (log2l, long double, (long double x)); 177805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 177905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (log2l, long double, (long double x)); 178005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 178105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (log2l); 178205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 178305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef log2l 178405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOG2L 178505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (log2l, "log2l is unportable - " 178605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module log2l for portability"); 178705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 178805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 178905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 179005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 179105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 179205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 179305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 179405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbf 179505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define logbf rpl_logbf 179605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 179705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logbf, float, (float x)); 179805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logbf, float, (float x)); 179905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 180005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 180105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logbf, float, (float x)); 180205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 180305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logbf, float, (float x)); 180405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 180505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logbf); 180605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 180705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbf 180805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGBF 180905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logbf, "logbf is unportable - " 181005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module logbf for portability"); 181105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 181205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 181305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 181405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 181505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 181605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 181705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logb 181805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define logb rpl_logb 181905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 182005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logb, double, (double x)); 182105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logb, double, (double x)); 182205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 182305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 182405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logb, double, (double x)); 182505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 182605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logb, double, (double x)); 182705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 182805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logb); 182905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 183005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logb 183105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGB 183205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logb, "logb is unportable - " 183305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module logb for portability"); 183405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 183505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 183605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 183705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 183805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 183905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 184005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbl 184105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define logbl rpl_logbl 184205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 184305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (logbl, long double, (long double x)); 184405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (logbl, long double, (long double x)); 184505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 184605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 184705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (logbl, long double, (long double x)); 184805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 184905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (logbl, long double, (long double x)); 185005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 185105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (logbl); 185205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 185305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef logbl 185405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_LOGBL 185505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (logbl, "logbl is unportable - " 185605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module logbl for portability"); 185705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 185805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 185905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 186005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 186105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 186205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 186305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 186405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modff 186505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define modff rpl_modff 186605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 186705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); 186805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modff, float, (float x, float *iptr)); 186905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 187005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 187105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modff 187205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); 187305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 187405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); 187505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 187605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modff); 187705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 187805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modff 187905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODFF 188005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modff, "modff is unportable - " 188105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module modff for portability"); 188205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 188305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 188405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 188505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 188605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 188705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 188805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modf 188905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define modf rpl_modf 189005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 189105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2))); 189205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modf, double, (double x, double *iptr)); 189305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 189405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modf, double, (double x, double *iptr)); 189505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 189605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modf); 189705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 189805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modf 189905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODF 190005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modf, "modf has portability problems - " 190105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module modf for portability"); 190205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 190305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 190405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 190505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 190605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 190705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 190805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modfl 190905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define modfl rpl_modfl 191005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 191105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr) 191205436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((2))); 191305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr)); 191405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 191505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 191605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modfl 191705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr) 191805436638acc7c010349a69c3395f1a57c642dc62Ying Wang _GL_ARG_NONNULL ((2))); 191905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 192005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr)); 192105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 192205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (modfl); 192305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 192405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef modfl 192505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_MODFL 192605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (modfl, "modfl is unportable - " 192705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module modfl for portability"); 192805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 192905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 193005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 193105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 193205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 193305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 193405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef powf 193505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (powf, float, (float x, float y)); 193605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 193705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (powf, float, (float x, float y)); 193805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (powf); 193905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 194005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef powf 194105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_POWF 194205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (powf, "powf is unportable - " 194305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module powf for portability"); 194405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 194505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 194605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 194705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 194805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 194905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 195005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 195105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderf 195205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define remainderf rpl_remainderf 195305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 195405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainderf, float, (float x, float y)); 195505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainderf, float, (float x, float y)); 195605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 195705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 195805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainderf, float, (float x, float y)); 195905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 196005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainderf, float, (float x, float y)); 196105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 196205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainderf); 196305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 196405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderf 196505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDERF 196605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainderf, "remainderf is unportable - " 196705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module remainderf for portability"); 196805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 196905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 197005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 197105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 197205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 197305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 197405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainder 197505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define remainder rpl_remainder 197605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 197705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainder, double, (double x, double y)); 197805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainder, double, (double x, double y)); 197905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 198005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 198105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainder, double, (double x, double y)); 198205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 198305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainder, double, (double x, double y)); 198405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 198505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainder); 198605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 198705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainder 198805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDER 198905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainder, "remainder is unportable - " 199005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module remainder for portability"); 199105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 199205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 199305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 199405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 199505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 199605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 199705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderl 199805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define remainderl rpl_remainderl 199905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 200005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y)); 200105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y)); 200205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 200305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 200405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderl 200505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y)); 200605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 200705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y)); 200805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 200905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (remainderl); 201005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 201105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef remainderl 201205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_REMAINDERL 201305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (remainderl, "remainderl is unportable - " 201405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module remainderl for portability"); 201505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 201605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 201705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 201805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 201905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 202005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 202105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rintf, float, (float x)); 202205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 202305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rintf, float, (float x)); 202405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rintf); 202505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 202605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rintf 202705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINTF 202805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rintf, "rintf is unportable - " 202905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module rintf for portability"); 203005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 203105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 203205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 203305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 203405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 203505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rint, double, (double x)); 203605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 203705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rint, double, (double x)); 203805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rint); 203905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 204005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rint 204105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINT 204205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rint, "rint is unportable - " 204305436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module rint for portability"); 204405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 204505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 204605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 204705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 204805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 204905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (rintl, long double, (long double x)); 205005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 205105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (rintl, long double, (long double x)); 205205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (rintl); 205305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 205405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef rintl 205505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_RINTL 205605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (rintl, "rintl is unportable - " 205705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module rintl for portability"); 205805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 205905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 206005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 206105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 206205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 206305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 206405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 206505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundf 206605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define roundf rpl_roundf 206705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 206805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (roundf, float, (float x)); 206905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (roundf, float, (float x)); 207005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 207105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 207205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (roundf, float, (float x)); 207305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 207405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (roundf, float, (float x)); 207505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 207605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (roundf); 207705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 207805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundf 207905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUNDF 208005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (roundf, "roundf is unportable - " 208105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module roundf for portability"); 208205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 208305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 208405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 208505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 208605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 208705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 208805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef round 208905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define round rpl_round 209005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 209105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (round, double, (double x)); 209205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (round, double, (double x)); 209305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 209405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 209505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (round, double, (double x)); 209605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 209705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (round, double, (double x)); 209805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 209905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (round); 210005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 210105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef round 210205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUND 210305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (round, "round is unportable - " 210405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module round for portability"); 210505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 210605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 210705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 210805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 210905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 211005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 211105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundl 211205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define roundl rpl_roundl 211305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 211405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (roundl, long double, (long double x)); 211505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (roundl, long double, (long double x)); 211605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 211705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 211805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundl 211905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (roundl, long double, (long double x)); 212005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 212105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (roundl, long double, (long double x)); 212205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 212305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (roundl); 212405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 212505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef roundl 212605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_ROUNDL 212705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (roundl, "roundl is unportable - " 212805436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module roundl for portability"); 212905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 213005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 213105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 213205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 213305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 213405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 213505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinf 213605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinf, float, (float x)); 213705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 213805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinf, float, (float x)); 213905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinf); 214005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 214105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinf 214205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINF 214305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinf, "sinf is unportable - " 214405436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module sinf for portability"); 214505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 214605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 214705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 214805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 214905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 215005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinl 215105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinl, long double, (long double x)); 215205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 215305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinl, long double, (long double x)); 215405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinl); 215505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 215605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinl 215705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINL 215805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinl, "sinl is unportable - " 215905436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module sinl for portability"); 216005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 216105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 216205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 216305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 216405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 216505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 216605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinhf 216705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sinhf, float, (float x)); 216805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 216905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sinhf, float, (float x)); 217005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sinhf); 217105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 217205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sinhf 217305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SINHF 217405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sinhf, "sinhf is unportable - " 217505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module sinhf for portability"); 217605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 217705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 217805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 217905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 218005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 218105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 218205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtf 218305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sqrtf, float, (float x)); 218405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 218505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sqrtf, float, (float x)); 218605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sqrtf); 218705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 218805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtf 218905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SQRTF 219005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - " 219105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module sqrtf for portability"); 219205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 219305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 219405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 219505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 219605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 219705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 219805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtl 219905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define sqrtl rpl_sqrtl 220005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 220105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (sqrtl, long double, (long double x)); 220205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (sqrtl, long double, (long double x)); 220305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 220405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 220505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtl 220605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (sqrtl, long double, (long double x)); 220705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 220805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (sqrtl, long double, (long double x)); 220905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 221005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (sqrtl); 221105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 221205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef sqrtl 221305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_SQRTL 221405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - " 221505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module sqrtl for portability"); 221605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 221705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 221805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 221905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 222005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 222105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 222205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanf 222305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanf, float, (float x)); 222405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 222505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanf, float, (float x)); 222605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanf); 222705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 222805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanf 222905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANF 223005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanf, "tanf is unportable - " 223105436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module tanf for portability"); 223205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 223305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 223405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 223505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 223605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 || !1 223705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanl 223805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanl, long double, (long double x)); 223905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 224005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanl, long double, (long double x)); 224105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanl); 224205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 224305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanl 224405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANL 224505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanl, "tanl is unportable - " 224605436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module tanl for portability"); 224705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 224805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 224905436638acc7c010349a69c3395f1a57c642dc62Ying Wang 225005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 225105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 225205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 225305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanhf 225405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (tanhf, float, (float x)); 225505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 225605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (tanhf, float, (float x)); 225705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (tanhf); 225805436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 225905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef tanhf 226005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TANHF 226105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (tanhf, "tanhf is unportable - " 226205436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module tanhf for portability"); 226305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 226405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 226505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 226605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 226705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 226805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 226905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 227005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define truncf rpl_truncf 227105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 227205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (truncf, float, (float x)); 227305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (truncf, float, (float x)); 227405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 227505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 227605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (truncf, float, (float x)); 227705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 227805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (truncf, float, (float x)); 227905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 228005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (truncf); 228105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 228205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef truncf 228305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNCF 228405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (truncf, "truncf is unportable - " 228505436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module truncf for portability"); 228605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 228705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 228805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 228905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 229005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 229105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 229205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define trunc rpl_trunc 229305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 229405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (trunc, double, (double x)); 229505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (trunc, double, (double x)); 229605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 229705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 229805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (trunc, double, (double x)); 229905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 230005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (trunc, double, (double x)); 230105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 230205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (trunc); 230305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 230405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef trunc 230505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNC 230605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (trunc, "trunc is unportable - " 230705436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module trunc for portability"); 230805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 230905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 231005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 231105436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 231205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 231305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 231405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef truncl 231505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define truncl rpl_truncl 231605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 231705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_RPL (truncl, long double, (long double x)); 231805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_RPL (truncl, long double, (long double x)); 231905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 232005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if !1 232105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_FUNCDECL_SYS (truncl, long double, (long double x)); 232205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 232305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIAS_SYS (truncl, long double, (long double x)); 232405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 232505436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_CXXALIASWARN (truncl); 232605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 232705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef truncl 232805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if HAVE_RAW_DECL_TRUNCL 232905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_ON_USE (truncl, "truncl is unportable - " 233005436638acc7c010349a69c3395f1a57c642dc62Ying Wang "use gnulib module truncl for portability"); 233105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 233205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 233305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 233405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 233505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Definitions of function-like macros come here, after the function 233605436638acc7c010349a69c3395f1a57c642dc62Ying Wang declarations. */ 233705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 233805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 233905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 234005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 234105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinitef (float x); 234205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinited (double x); 234305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isfinitel (long double x); 234405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isfinite 234505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isfinite(x) \ 234605436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \ 234705436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ 234805436638acc7c010349a69c3395f1a57c642dc62Ying Wang gl_isfinitef (x)) 234905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 235005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus 235105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef isfinite 235205436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) 235305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isfinite 235405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite) 235505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 235605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 235705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 235805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isfinite 235905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isfinite); 236005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isfinite 236105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x) 236205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 236305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 236405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 236505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 236605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 0 236705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 236805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinff (float x); 236905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinfd (double x); 237005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_isinfl (long double x); 237105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isinf 237205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isinf(x) \ 237305436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \ 237405436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? gl_isinfd (x) : \ 237505436638acc7c010349a69c3395f1a57c642dc62Ying Wang gl_isinff (x)) 237605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 237705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus 237805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef isinf 237905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) 238005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isinf 238105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf) 238205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 238305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 238405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 238505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isinf 238605436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isinf); 238705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isinf 238805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x) 238905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 239005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 239105436638acc7c010349a69c3395f1a57c642dc62Ying Wang 239205436638acc7c010349a69c3395f1a57c642dc62Ying Wang 239305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 239405436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'float' numbers. */ 239505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 239605436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan macro 239705436638acc7c010349a69c3395f1a57c642dc62Ying Wang or (older) isnanf function. */ 239805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if __GNUC__ >= 4 239905436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* GCC 4.0 and newer provides three built-ins for isnan. */ 240005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanf 240105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanf(x) __builtin_isnanf ((float)(x)) 240205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined isnan 240305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanf 240405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanf(x) isnan ((float)(x)) 240505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 240605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 240705436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN. */ 240805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanf 240905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanf rpl_isnanf 241005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnanf (float x); 241105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 241205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 241305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 241405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 241505436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'double' numbers. 241605436638acc7c010349a69c3395f1a57c642dc62Ying Wang This function is a gnulib extension, unlike isnan() which applied only 241705436638acc7c010349a69c3395f1a57c642dc62Ying Wang to 'double' numbers earlier but now is a type-generic macro. */ 241805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 241905436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan 242005436638acc7c010349a69c3395f1a57c642dc62Ying Wang macro. */ 242105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if __GNUC__ >= 4 242205436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* GCC 4.0 and newer provides three built-ins for isnan. */ 242305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnand 242405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnand(x) __builtin_isnan ((double)(x)) 242505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 242605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnand 242705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnand(x) isnan ((double)(x)) 242805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 242905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 243005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN. */ 243105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnand 243205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnand rpl_isnand 243305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnand (double x); 243405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 243505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 243605436638acc7c010349a69c3395f1a57c642dc62Ying Wang 243705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 243805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test for NaN for 'long double' numbers. */ 243905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 244005436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* The original <math.h> included above provides a declaration of isnan 244105436638acc7c010349a69c3395f1a57c642dc62Ying Wang macro or (older) isnanl function. */ 244205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if __GNUC__ >= 4 244305436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* GCC 4.0 and newer provides three built-ins for isnan. */ 244405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanl 244505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanl(x) __builtin_isnanl ((long double)(x)) 244605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif defined isnan 244705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanl 244805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanl(x) isnan ((long double)(x)) 244905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 245005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 245105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Test whether X is a NaN. */ 245205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnanl 245305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnanl rpl_isnanl 245405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST; 245505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 245605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 245705436638acc7c010349a69c3395f1a57c642dc62Ying Wang 245805436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */ 245905436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 246005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 246105436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* We can't just use the isnanf macro (e.g.) as exposed by 246205436638acc7c010349a69c3395f1a57c642dc62Ying Wang isnanf.h (e.g.) here, because those may end up being macros 246305436638acc7c010349a69c3395f1a57c642dc62Ying Wang that recursively expand back to isnan. So use the gnulib 246405436638acc7c010349a69c3395f1a57c642dc62Ying Wang replacements for them directly. */ 246505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 && __GNUC__ >= 4 246605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_f(x) __builtin_isnanf ((float)(x)) 246705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 246805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnanf (float x); 246905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_f(x) rpl_isnanf (x) 247005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 247105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 1 && __GNUC__ >= 4 247205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_d(x) __builtin_isnan ((double)(x)) 247305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 247405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnand (double x); 247505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_d(x) rpl_isnand (x) 247605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 247705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 && __GNUC__ >= 4 247805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) 247905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 248005436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; 248105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_isnan_l(x) rpl_isnanl (x) 248205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 248305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnan 248405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnan(x) \ 248505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ 248605436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ 248705436638acc7c010349a69c3395f1a57c642dc62Ying Wang gl_isnan_f (x)) 248805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# elif __GNUC__ >= 4 248905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnan 249005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnan(x) \ 249105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \ 249205436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ 249305436638acc7c010349a69c3395f1a57c642dc62Ying Wang __builtin_isnanf ((float)(x))) 249405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 249505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus 249605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef isnan 249705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) 249805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnan 249905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan) 250005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 250105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# else 250205436638acc7c010349a69c3395f1a57c642dc62Ying Wang/* Ensure isnan is a macro. */ 250305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifndef isnan 250405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnan isnan 250505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 250605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 250705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 250805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined isnan 250905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (isnan); 251005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef isnan 251105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x) 251205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 251305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 251405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 251505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 251605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#if 1 251705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 251805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef signbit 251905436638acc7c010349a69c3395f1a57c642dc62Ying Wang /* GCC 4.0 and newer provides three built-ins for signbit. */ 252005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define signbit(x) \ 252105436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ 252205436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ 252305436638acc7c010349a69c3395f1a57c642dc62Ying Wang __builtin_signbitf (x)) 252405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 252505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if 0 252605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef signbit 252705436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitf (float arg); 252805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitd (double arg); 252905436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_EXTERN_C int gl_signbitl (long double arg); 253005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if __GNUC__ >= 2 && !defined __STRICT_ANSI__ 253105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define _GL_NUM_UINT_WORDS(type) \ 253205436638acc7c010349a69c3395f1a57c642dc62Ying Wang ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) 253305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf 253405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitf_OPTIMIZED_MACRO 253505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitf(arg) \ 253605436638acc7c010349a69c3395f1a57c642dc62Ying Wang ({ union { float _value; \ 253705436638acc7c010349a69c3395f1a57c642dc62Ying Wang unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ 253805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } _m; \ 253905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _m._value = (arg); \ 254005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ 254105436638acc7c010349a69c3395f1a57c642dc62Ying Wang }) 254205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 254305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd 254405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitd_OPTIMIZED_MACRO 254505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitd(arg) \ 254605436638acc7c010349a69c3395f1a57c642dc62Ying Wang ({ union { double _value; \ 254705436638acc7c010349a69c3395f1a57c642dc62Ying Wang unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ 254805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } _m; \ 254905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _m._value = (arg); \ 255005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ 255105436638acc7c010349a69c3395f1a57c642dc62Ying Wang }) 255205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 255305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl 255405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitl_OPTIMIZED_MACRO 255505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define gl_signbitl(arg) \ 255605436638acc7c010349a69c3395f1a57c642dc62Ying Wang ({ union { long double _value; \ 255705436638acc7c010349a69c3395f1a57c642dc62Ying Wang unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ 255805436638acc7c010349a69c3395f1a57c642dc62Ying Wang } _m; \ 255905436638acc7c010349a69c3395f1a57c642dc62Ying Wang _m._value = (arg); \ 256005436638acc7c010349a69c3395f1a57c642dc62Ying Wang (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ 256105436638acc7c010349a69c3395f1a57c642dc62Ying Wang }) 256205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 256305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 256405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define signbit(x) \ 256505436638acc7c010349a69c3395f1a57c642dc62Ying Wang (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ 256605436638acc7c010349a69c3395f1a57c642dc62Ying Wang sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ 256705436638acc7c010349a69c3395f1a57c642dc62Ying Wang gl_signbitf (x)) 256805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 256905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef __cplusplus 257005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# ifdef signbit 257105436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) 257205436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef signbit 257305436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) 257405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 257505436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 257605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#elif defined GNULIB_POSIXCHECK 257705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# if defined signbit 257805436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_WARN_REAL_FLOATING_DECL (signbit); 257905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# undef signbit 258005436638acc7c010349a69c3395f1a57c642dc62Ying Wang# define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) 258105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# endif 258205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif 258305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 258405436638acc7c010349a69c3395f1a57c642dc62Ying Wang_GL_INLINE_HEADER_END 258505436638acc7c010349a69c3395f1a57c642dc62Ying Wang 258605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_MATH_H */ 258705436638acc7c010349a69c3395f1a57c642dc62Ying Wang#endif /* _GL_MATH_H */ 2588