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