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