GDBserver

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