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