Mercurial > hg > octave-kai > gnulib-hg
annotate lib/math.in.h @ 16659:28ba2c8d945e
New module 'log1pl'.
* lib/math.in.h (log1pl): New declaration.
* lib/log1pl.c: New file.
* m4/log1pl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
* modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
* modules/log1pl: New file.
* tests/test-math-c++.cc: Check the declaration of log1pl.
* doc/posix-functions/log1pl.texi: Mention the new module.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 11 Mar 2012 00:48:36 +0100 |
parents | 86d5719ce2ff |
children | f691c5744fcb |
rev | line source |
---|---|
9255 | 1 /* A GNU-like <math.h>. |
2 | |
16201
8250f2777afc
maint: update all copyright year number ranges
Jim Meyering <meyering@redhat.com>
parents:
16128
diff
changeset
|
3 Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc. |
9255 | 4 |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9297
diff
changeset
|
5 This program is free software: you can redistribute it and/or modify |
9255 | 6 it under the terms of the GNU General Public License as published by |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9297
diff
changeset
|
7 the Free Software Foundation; either version 3 of the License, or |
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9297
diff
changeset
|
8 (at your option) any later version. |
9255 | 9 |
10 This program is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 GNU General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU General Public License | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
9297
diff
changeset
|
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
9255 | 17 |
14840
5f709022a256
Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents:
14274
diff
changeset
|
18 #ifndef _@GUARD_PREFIX@_MATH_H |
13094
2ed0fc659db8
Emit #pragma system_header after the inclusion guard, not before.
Bruno Haible <bruno@clisp.org>
parents:
13055
diff
changeset
|
19 |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10375
diff
changeset
|
20 #if __GNUC__ >= 3 |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
21 @PRAGMA_SYSTEM_HEADER@ |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10375
diff
changeset
|
22 #endif |
13761
a19ace3ba849
Avoid line length limitation from HP NonStop system header files.
Bruno Haible <bruno@clisp.org>
parents:
13758
diff
changeset
|
23 @PRAGMA_COLUMNS@ |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
24 |
9255 | 25 /* The include_next requires a split double-inclusion guard. */ |
11583
dc80f2cc1327
Second attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
Eric Blake <ebb9@byu.net>
parents:
11525
diff
changeset
|
26 #@INCLUDE_NEXT_AS_FIRST_DIRECTIVE@ @NEXT_AS_FIRST_DIRECTIVE_MATH_H@ |
9255 | 27 |
14840
5f709022a256
Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents:
14274
diff
changeset
|
28 #ifndef _@GUARD_PREFIX@_MATH_H |
5f709022a256
Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents:
14274
diff
changeset
|
29 #define _@GUARD_PREFIX@_MATH_H |
9255 | 30 |
31 | |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
32 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
33 |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
34 /* The definition of _GL_ARG_NONNULL is copied here. */ |
9255 | 35 |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
36 /* The definition of _GL_WARN_ON_USE is copied here. */ |
12422
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
12421
diff
changeset
|
37 |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
38 #ifdef __cplusplus |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
39 /* Helper macros to define type-generic function FUNC as overloaded functions, |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
40 rather than as macros like in C. POSIX declares these with an argument of |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
41 real-floating (that is, one of float, double, or long double). */ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
42 # define _GL_MATH_CXX_REAL_FLOATING_DECL_1(func) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
43 static inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
44 _gl_cxx_ ## func ## f (float f) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
45 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
46 return func (f); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
47 } \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
48 static inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
49 _gl_cxx_ ## func ## d (double d) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
50 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
51 return func (d); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
52 } \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
53 static inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
54 _gl_cxx_ ## func ## l (long double l) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
55 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
56 return func (l); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
57 } |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
58 # define _GL_MATH_CXX_REAL_FLOATING_DECL_2(func) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
59 inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
60 func (float f) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
61 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
62 return _gl_cxx_ ## func ## f (f); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
63 } \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
64 inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
65 func (double d) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
66 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
67 return _gl_cxx_ ## func ## d (d); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
68 } \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
69 inline int \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
70 func (long double l) \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
71 { \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
72 return _gl_cxx_ ## func ## l (l); \ |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
73 } |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
74 #endif |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
75 |
12726
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
76 /* Helper macros to define a portability warning for the |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
77 classification macro FUNC called with VALUE. POSIX declares the |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
78 classification macros with an argument of real-floating (that is, |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
79 one of float, double, or long double). */ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
80 #define _GL_WARN_REAL_FLOATING_DECL(func) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
81 static inline int \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
82 rpl_ ## func ## f (float f) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
83 { \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
84 return func (f); \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
85 } \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
86 static inline int \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
87 rpl_ ## func ## d (double d) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
88 { \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
89 return func (d); \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
90 } \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
91 static inline int \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
92 rpl_ ## func ## l (long double l) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
93 { \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
94 return func (l); \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
95 } \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
96 _GL_WARN_ON_USE (rpl_ ## func ## f, #func " is unportable - " \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
97 "use gnulib module " #func " for portability"); \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
98 _GL_WARN_ON_USE (rpl_ ## func ## d, #func " is unportable - " \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
99 "use gnulib module " #func " for portability"); \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
100 _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - " \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
101 "use gnulib module " #func " for portability") |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
102 #define _GL_WARN_REAL_FLOATING_IMPL(func, value) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
103 (sizeof (value) == sizeof (float) ? rpl_ ## func ## f (value) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
104 : sizeof (value) == sizeof (double) ? rpl_ ## func ## d (value) \ |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
105 : rpl_ ## func ## l (value)) |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
106 |
9255 | 107 |
15803
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
108 #if @REPLACE_ITOLD@ |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
109 /* Pull in a function that fixes the 'int' to 'long double' conversion |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
110 of glibc 2.7. */ |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
111 _GL_EXTERN_C void _Qp_itoq (long double *, int); |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
112 static void (*_gl_math_fix_itold) (long double *, int) = _Qp_itoq; |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
113 #endif |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
114 |
ec6332cd8838
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
Bruno Haible <bruno@clisp.org>
parents:
15638
diff
changeset
|
115 |
9850 | 116 /* POSIX allows platforms that don't support NAN. But all major |
117 machines in the past 15 years have supported something close to | |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
118 IEEE NaN, so we define this unconditionally. We also must define |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
119 it on platforms like Solaris 10, where NAN is present but defined |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
120 as a function pointer rather than a floating point constant. */ |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
121 #if !defined NAN || @REPLACE_NAN@ |
14274
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
122 # if !GNULIB_defined_NAN |
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
123 # undef NAN |
15595
328819af1c02
Support for MSVC compiler: Avoid division by a literal 0.
Bruno Haible <bruno@clisp.org>
parents:
14840
diff
changeset
|
124 /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler |
328819af1c02
Support for MSVC compiler: Avoid division by a literal 0.
Bruno Haible <bruno@clisp.org>
parents:
14840
diff
changeset
|
125 choke on the expression 0.0 / 0.0. */ |
328819af1c02
Support for MSVC compiler: Avoid division by a literal 0.
Bruno Haible <bruno@clisp.org>
parents:
14840
diff
changeset
|
126 # if defined __DECC || defined _MSC_VER |
9850 | 127 static float |
128 _NaN () | |
129 { | |
130 static float zero = 0.0f; | |
131 return zero / zero; | |
132 } | |
14274
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
133 # define NAN (_NaN()) |
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
134 # else |
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
135 # define NAN (0.0f / 0.0f) |
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
136 # endif |
da5595160b9f
Allow multiple gnulib generated replacements to coexist.
Bruno Haible <bruno@clisp.org>
parents:
14079
diff
changeset
|
137 # define GNULIB_defined_NAN 1 |
9850 | 138 # endif |
139 #endif | |
140 | |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
141 /* Solaris 10 defines HUGE_VAL, but as a function pointer rather |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
142 than a floating point constant. */ |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
143 #if @REPLACE_HUGE_VAL@ |
16510
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
144 # undef HUGE_VALF |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
145 # define HUGE_VALF (1.0f / 0.0f) |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
146 # undef HUGE_VAL |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
147 # define HUGE_VAL (1.0 / 0.0) |
16510
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
148 # undef HUGE_VALL |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
149 # define HUGE_VALL (1.0L / 0.0L) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
150 #endif |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
151 |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
152 /* HUGE_VALF is a 'float' Infinity. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
153 #ifndef HUGE_VALF |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
154 # if defined _MSC_VER |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
155 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
156 # define HUGE_VALF (1e25f * 1e25f) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
157 # else |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
158 # define HUGE_VALF (1.0f / 0.0f) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
159 # endif |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
160 #endif |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9850
diff
changeset
|
161 |
16510
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
162 /* HUGE_VAL is a 'double' Infinity. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
163 #ifndef HUGE_VAL |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
164 # if defined _MSC_VER |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
165 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
166 # define HUGE_VAL (1e250 * 1e250) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
167 # else |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
168 # define HUGE_VAL (1.0 / 0.0) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
169 # endif |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
170 #endif |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
171 |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
172 /* HUGE_VALL is a 'long double' Infinity. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
173 #ifndef HUGE_VALL |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
174 # if defined _MSC_VER |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
175 /* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L. */ |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
176 # define HUGE_VALL (1e250L * 1e250L) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
177 # else |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
178 # define HUGE_VALL (1.0L / 0.0L) |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
179 # endif |
af909bf507e4
math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
Bruno Haible <bruno@clisp.org>
parents:
16499
diff
changeset
|
180 #endif |
12927
d3ea0f2aacfc
logb: Provide missing declaration for Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
12766
diff
changeset
|
181 |
15884 | 182 #if @GNULIB_ACOSF@ |
183 # if !@HAVE_ACOSF@ | |
184 # undef acosf | |
185 _GL_FUNCDECL_SYS (acosf, float, (float x)); | |
186 # endif | |
187 _GL_CXXALIAS_SYS (acosf, float, (float x)); | |
188 _GL_CXXALIASWARN (acosf); | |
189 #elif defined GNULIB_POSIXCHECK | |
190 # undef acosf | |
191 # if HAVE_RAW_DECL_ACOSF | |
192 _GL_WARN_ON_USE (acosf, "acosf is unportable - " | |
193 "use gnulib module acosf for portability"); | |
194 # endif | |
195 #endif | |
196 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
197 #if @GNULIB_ACOSL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
198 # if !@HAVE_ACOSL@ || !@HAVE_DECL_ACOSL@ |
16401
2e3db69dec4a
acosl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16400
diff
changeset
|
199 # undef acosl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
200 _GL_FUNCDECL_SYS (acosl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
201 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
202 _GL_CXXALIAS_SYS (acosl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
203 _GL_CXXALIASWARN (acosl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
204 #elif defined GNULIB_POSIXCHECK |
9255 | 205 # undef acosl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
206 # if HAVE_RAW_DECL_ACOSL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
207 _GL_WARN_ON_USE (acosl, "acosl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
208 "use gnulib module acosl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
209 # endif |
9255 | 210 #endif |
211 | |
9285 | 212 |
15881 | 213 #if @GNULIB_ASINF@ |
214 # if !@HAVE_ASINF@ | |
215 # undef asinf | |
216 _GL_FUNCDECL_SYS (asinf, float, (float x)); | |
217 # endif | |
218 _GL_CXXALIAS_SYS (asinf, float, (float x)); | |
219 _GL_CXXALIASWARN (asinf); | |
220 #elif defined GNULIB_POSIXCHECK | |
221 # undef asinf | |
222 # if HAVE_RAW_DECL_ASINF | |
223 _GL_WARN_ON_USE (asinf, "asinf is unportable - " | |
224 "use gnulib module asinf for portability"); | |
225 # endif | |
226 #endif | |
227 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
228 #if @GNULIB_ASINL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
229 # if !@HAVE_ASINL@ || !@HAVE_DECL_ASINL@ |
16400
7f26a7ed91f4
asinl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16399
diff
changeset
|
230 # undef asinl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
231 _GL_FUNCDECL_SYS (asinl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
232 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
233 _GL_CXXALIAS_SYS (asinl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
234 _GL_CXXALIASWARN (asinl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
235 #elif defined GNULIB_POSIXCHECK |
9255 | 236 # undef asinl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
237 # if HAVE_RAW_DECL_ASINL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
238 _GL_WARN_ON_USE (asinl, "asinl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
239 "use gnulib module asinl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
240 # endif |
9255 | 241 #endif |
242 | |
9285 | 243 |
15887 | 244 #if @GNULIB_ATANF@ |
245 # if !@HAVE_ATANF@ | |
246 # undef atanf | |
247 _GL_FUNCDECL_SYS (atanf, float, (float x)); | |
248 # endif | |
249 _GL_CXXALIAS_SYS (atanf, float, (float x)); | |
250 _GL_CXXALIASWARN (atanf); | |
251 #elif defined GNULIB_POSIXCHECK | |
252 # undef atanf | |
253 # if HAVE_RAW_DECL_ATANF | |
254 _GL_WARN_ON_USE (atanf, "atanf is unportable - " | |
255 "use gnulib module atanf for portability"); | |
256 # endif | |
257 #endif | |
258 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
259 #if @GNULIB_ATANL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
260 # if !@HAVE_ATANL@ || !@HAVE_DECL_ATANL@ |
16402
2c3775efa261
atanl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16401
diff
changeset
|
261 # undef atanl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
262 _GL_FUNCDECL_SYS (atanl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
263 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
264 _GL_CXXALIAS_SYS (atanl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
265 _GL_CXXALIASWARN (atanl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
266 #elif defined GNULIB_POSIXCHECK |
9255 | 267 # undef atanl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
268 # if HAVE_RAW_DECL_ATANL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
269 _GL_WARN_ON_USE (atanl, "atanl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
270 "use gnulib module atanl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
271 # endif |
9255 | 272 #endif |
273 | |
9285 | 274 |
15890 | 275 #if @GNULIB_ATAN2F@ |
276 # if !@HAVE_ATAN2F@ | |
277 # undef atan2f | |
278 _GL_FUNCDECL_SYS (atan2f, float, (float y, float x)); | |
279 # endif | |
280 _GL_CXXALIAS_SYS (atan2f, float, (float y, float x)); | |
281 _GL_CXXALIASWARN (atan2f); | |
282 #elif defined GNULIB_POSIXCHECK | |
283 # undef atan2f | |
284 # if HAVE_RAW_DECL_ATAN2F | |
285 _GL_WARN_ON_USE (atan2f, "atan2f is unportable - " | |
286 "use gnulib module atan2f for portability"); | |
287 # endif | |
288 #endif | |
289 | |
290 | |
16534 | 291 #if @GNULIB_CBRTF@ |
16538
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
292 # if @REPLACE_CBRTF@ |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
293 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
294 # undef cbrtf |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
295 # define cbrtf rpl_cbrtf |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
296 # endif |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
297 _GL_FUNCDECL_RPL (cbrtf, float, (float x)); |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
298 _GL_CXXALIAS_RPL (cbrtf, float, (float x)); |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
299 # else |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
300 # if !@HAVE_DECL_CBRTF@ |
16534 | 301 _GL_FUNCDECL_SYS (cbrtf, float, (float x)); |
16538
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
302 # endif |
06da3fa23cf9
cbrtf: Work around bug in IRIX 6.5 system function.
Bruno Haible <bruno@clisp.org>
parents:
16536
diff
changeset
|
303 _GL_CXXALIAS_SYS (cbrtf, float, (float x)); |
16534 | 304 # endif |
305 _GL_CXXALIASWARN (cbrtf); | |
306 #elif defined GNULIB_POSIXCHECK | |
307 # undef cbrtf | |
308 # if HAVE_RAW_DECL_CBRTF | |
309 _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - " | |
310 "use gnulib module cbrtf for portability"); | |
311 # endif | |
312 #endif | |
313 | |
16533
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
314 #if @GNULIB_CBRT@ |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
315 # if !@HAVE_CBRT@ |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
316 _GL_FUNCDECL_SYS (cbrt, double, (double x)); |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
317 # endif |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
318 _GL_CXXALIAS_SYS (cbrt, double, (double x)); |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
319 _GL_CXXALIASWARN (cbrt); |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
320 #elif defined GNULIB_POSIXCHECK |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
321 # undef cbrt |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
322 # if HAVE_RAW_DECL_CBRT |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
323 _GL_WARN_ON_USE (cbrt, "cbrt is unportable - " |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
324 "use gnulib module cbrt for portability"); |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
325 # endif |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
326 #endif |
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
327 |
16536 | 328 #if @GNULIB_CBRTL@ |
16545
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
329 # if @REPLACE_CBRTL@ |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
330 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
331 # undef cbrtl |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
332 # define cbrtl rpl_cbrtl |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
333 # endif |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
334 _GL_FUNCDECL_RPL (cbrtl, long double, (long double x)); |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
335 _GL_CXXALIAS_RPL (cbrtl, long double, (long double x)); |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
336 # else |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
337 # if !@HAVE_DECL_CBRTL@ |
16536 | 338 _GL_FUNCDECL_SYS (cbrtl, long double, (long double x)); |
16545
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
339 # endif |
c71947bf23ab
cbrtl-ieee: Work around test failure on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16538
diff
changeset
|
340 _GL_CXXALIAS_SYS (cbrtl, long double, (long double x)); |
16536 | 341 # endif |
342 _GL_CXXALIASWARN (cbrtl); | |
343 #elif defined GNULIB_POSIXCHECK | |
344 # undef cbrtl | |
345 # if HAVE_RAW_DECL_CBRTL | |
346 _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - " | |
347 "use gnulib module cbrtl for portability"); | |
348 # endif | |
349 #endif | |
350 | |
16533
d91850ca525f
cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents:
16532
diff
changeset
|
351 |
9295 | 352 #if @GNULIB_CEILF@ |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9418
diff
changeset
|
353 # if @REPLACE_CEILF@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
354 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
355 # undef ceilf |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
356 # define ceilf rpl_ceilf |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
357 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
358 _GL_FUNCDECL_RPL (ceilf, float, (float x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
359 _GL_CXXALIAS_RPL (ceilf, float, (float x)); |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
360 # else |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
361 # if !@HAVE_DECL_CEILF@ |
16391
4576be79e9e7
ceilf: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16390
diff
changeset
|
362 # undef ceilf |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
363 _GL_FUNCDECL_SYS (ceilf, float, (float x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
364 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
365 _GL_CXXALIAS_SYS (ceilf, float, (float x)); |
9295 | 366 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
367 _GL_CXXALIASWARN (ceilf); |
9295 | 368 #elif defined GNULIB_POSIXCHECK |
369 # undef ceilf | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
370 # if HAVE_RAW_DECL_CEILF |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
371 _GL_WARN_ON_USE (ceilf, "ceilf is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
372 "use gnulib module ceilf for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
373 # endif |
9295 | 374 #endif |
375 | |
13982 | 376 #if @GNULIB_CEIL@ |
377 # if @REPLACE_CEIL@ | |
378 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
379 # define ceil rpl_ceil | |
380 # endif | |
381 _GL_FUNCDECL_RPL (ceil, double, (double x)); | |
382 _GL_CXXALIAS_RPL (ceil, double, (double x)); | |
383 # else | |
384 _GL_CXXALIAS_SYS (ceil, double, (double x)); | |
385 # endif | |
386 _GL_CXXALIASWARN (ceil); | |
387 #endif | |
388 | |
9297 | 389 #if @GNULIB_CEILL@ |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9418
diff
changeset
|
390 # if @REPLACE_CEILL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
391 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
392 # undef ceill |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
393 # define ceill rpl_ceill |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
394 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
395 _GL_FUNCDECL_RPL (ceill, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
396 _GL_CXXALIAS_RPL (ceill, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
397 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
398 # if !@HAVE_DECL_CEILL@ |
16393
43820240f265
ceill: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16392
diff
changeset
|
399 # undef ceill |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
400 _GL_FUNCDECL_SYS (ceill, long double, (long double x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
401 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
402 _GL_CXXALIAS_SYS (ceill, long double, (long double x)); |
9297 | 403 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
404 _GL_CXXALIASWARN (ceill); |
9297 | 405 #elif defined GNULIB_POSIXCHECK |
9255 | 406 # undef ceill |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
407 # if HAVE_RAW_DECL_CEILL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
408 _GL_WARN_ON_USE (ceill, "ceill is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
409 "use gnulib module ceill for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
410 # endif |
9255 | 411 #endif |
412 | |
9285 | 413 |
15911 | 414 #if @GNULIB_COPYSIGNF@ |
16599
281cc716033c
copysignf: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16588
diff
changeset
|
415 # if !@HAVE_DECL_COPYSIGNF@ |
15911 | 416 _GL_FUNCDECL_SYS (copysignf, float, (float x, float y)); |
417 # endif | |
418 _GL_CXXALIAS_SYS (copysignf, float, (float x, float y)); | |
419 _GL_CXXALIASWARN (copysignf); | |
420 #elif defined GNULIB_POSIXCHECK | |
421 # undef copysignf | |
422 # if HAVE_RAW_DECL_COPYSIGNF | |
423 _GL_WARN_ON_USE (copysignf, "copysignf is unportable - " | |
424 "use gnulib module copysignf for portability"); | |
425 # endif | |
426 #endif | |
427 | |
428 #if @GNULIB_COPYSIGN@ | |
429 # if !@HAVE_COPYSIGN@ | |
430 _GL_FUNCDECL_SYS (copysign, double, (double x, double y)); | |
431 # endif | |
432 _GL_CXXALIAS_SYS (copysign, double, (double x, double y)); | |
433 _GL_CXXALIASWARN (copysign); | |
434 #elif defined GNULIB_POSIXCHECK | |
435 # undef copysign | |
436 # if HAVE_RAW_DECL_COPYSIGN | |
437 _GL_WARN_ON_USE (copysign, "copysign is unportable - " | |
438 "use gnulib module copysign for portability"); | |
439 # endif | |
440 #endif | |
441 | |
15913 | 442 #if @GNULIB_COPYSIGNL@ |
443 # if !@HAVE_COPYSIGNL@ | |
444 _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y)); | |
445 # endif | |
446 _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y)); | |
447 _GL_CXXALIASWARN (copysignl); | |
448 #elif defined GNULIB_POSIXCHECK | |
449 # undef copysignl | |
450 # if HAVE_RAW_DECL_COPYSIGNL | |
451 _GL_WARN_ON_USE (copysign, "copysignl is unportable - " | |
452 "use gnulib module copysignl for portability"); | |
453 # endif | |
454 #endif | |
455 | |
15911 | 456 |
15875 | 457 #if @GNULIB_COSF@ |
458 # if !@HAVE_COSF@ | |
459 # undef cosf | |
460 _GL_FUNCDECL_SYS (cosf, float, (float x)); | |
461 # endif | |
462 _GL_CXXALIAS_SYS (cosf, float, (float x)); | |
463 _GL_CXXALIASWARN (cosf); | |
464 #elif defined GNULIB_POSIXCHECK | |
465 # undef cosf | |
466 # if HAVE_RAW_DECL_COSF | |
467 _GL_WARN_ON_USE (cosf, "cosf is unportable - " | |
468 "use gnulib module cosf for portability"); | |
469 # endif | |
470 #endif | |
471 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
472 #if @GNULIB_COSL@ |
13145
0ac425232626
math: Fix some C++ test errors on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13143
diff
changeset
|
473 # if !@HAVE_COSL@ || !@HAVE_DECL_COSL@ |
16398
5c120a4f2e73
cosl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16397
diff
changeset
|
474 # undef cosl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
475 _GL_FUNCDECL_SYS (cosl, long double, (long double x)); |
13145
0ac425232626
math: Fix some C++ test errors on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13143
diff
changeset
|
476 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
477 _GL_CXXALIAS_SYS (cosl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
478 _GL_CXXALIASWARN (cosl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
479 #elif defined GNULIB_POSIXCHECK |
9255 | 480 # undef cosl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
481 # if HAVE_RAW_DECL_COSL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
482 _GL_WARN_ON_USE (cosl, "cosl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
483 "use gnulib module cosl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
484 # endif |
9255 | 485 #endif |
486 | |
9285 | 487 |
15896 | 488 #if @GNULIB_COSHF@ |
489 # if !@HAVE_COSHF@ | |
490 # undef coshf | |
491 _GL_FUNCDECL_SYS (coshf, float, (float x)); | |
492 # endif | |
493 _GL_CXXALIAS_SYS (coshf, float, (float x)); | |
494 _GL_CXXALIASWARN (coshf); | |
495 #elif defined GNULIB_POSIXCHECK | |
496 # undef coshf | |
497 # if HAVE_RAW_DECL_COSHF | |
498 _GL_WARN_ON_USE (coshf, "coshf is unportable - " | |
499 "use gnulib module coshf for portability"); | |
500 # endif | |
501 #endif | |
502 | |
503 | |
15860 | 504 #if @GNULIB_EXPF@ |
505 # if !@HAVE_EXPF@ | |
506 # undef expf | |
507 _GL_FUNCDECL_SYS (expf, float, (float x)); | |
508 # endif | |
509 _GL_CXXALIAS_SYS (expf, float, (float x)); | |
510 _GL_CXXALIASWARN (expf); | |
511 #elif defined GNULIB_POSIXCHECK | |
512 # undef expf | |
513 # if HAVE_RAW_DECL_EXPF | |
514 _GL_WARN_ON_USE (expf, "expf is unportable - " | |
515 "use gnulib module expf for portability"); | |
516 # endif | |
517 #endif | |
518 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
519 #if @GNULIB_EXPL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
520 # if !@HAVE_EXPL@ || !@HAVE_DECL_EXPL@ |
16395
68bd0cc2f6dd
expl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16394
diff
changeset
|
521 # undef expl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
522 _GL_FUNCDECL_SYS (expl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
523 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
524 _GL_CXXALIAS_SYS (expl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
525 _GL_CXXALIASWARN (expl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
526 #elif defined GNULIB_POSIXCHECK |
9255 | 527 # undef expl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
528 # if HAVE_RAW_DECL_EXPL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
529 _GL_WARN_ON_USE (expl, "expl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
530 "use gnulib module expl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
531 # endif |
9255 | 532 #endif |
533 | |
9285 | 534 |
16618 | 535 #if @GNULIB_EXP2F@ |
536 # if !@HAVE_DECL_EXP2F@ | |
537 _GL_FUNCDECL_SYS (exp2f, float, (float x)); | |
538 # endif | |
539 _GL_CXXALIAS_SYS (exp2f, float, (float x)); | |
540 _GL_CXXALIASWARN (exp2f); | |
541 #elif defined GNULIB_POSIXCHECK | |
542 # undef exp2f | |
543 # if HAVE_RAW_DECL_EXP2F | |
544 _GL_WARN_ON_USE (exp2f, "exp2f is unportable - " | |
545 "use gnulib module exp2f for portability"); | |
546 # endif | |
547 #endif | |
548 | |
16616 | 549 #if @GNULIB_EXP2@ |
550 # if @REPLACE_EXP2@ | |
551 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
552 # undef exp2 | |
553 # define exp2 rpl_exp2 | |
554 # endif | |
555 _GL_FUNCDECL_RPL (exp2, double, (double x)); | |
556 _GL_CXXALIAS_RPL (exp2, double, (double x)); | |
557 # else | |
558 # if !@HAVE_DECL_EXP2@ | |
559 _GL_FUNCDECL_SYS (exp2, double, (double x)); | |
560 # endif | |
561 _GL_CXXALIAS_SYS (exp2, double, (double x)); | |
562 # endif | |
563 _GL_CXXALIASWARN (exp2); | |
564 #elif defined GNULIB_POSIXCHECK | |
565 # undef exp2 | |
566 # if HAVE_RAW_DECL_EXP2 | |
567 _GL_WARN_ON_USE (exp2, "exp2 is unportable - " | |
568 "use gnulib module exp2 for portability"); | |
569 # endif | |
570 #endif | |
571 | |
16620 | 572 #if @GNULIB_EXP2L@ |
16628
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
573 # if @REPLACE_EXP2L@ |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
574 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
575 # undef exp2l |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
576 # define exp2l rpl_exp2l |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
577 # endif |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
578 _GL_FUNCDECL_RPL (exp2l, long double, (long double x)); |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
579 _GL_CXXALIAS_RPL (exp2l, long double, (long double x)); |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
580 # else |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
581 # if !@HAVE_DECL_EXP2L@ |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
582 # undef exp2l |
16620 | 583 _GL_FUNCDECL_SYS (exp2l, long double, (long double x)); |
16628
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
584 # endif |
d19d163c1519
exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16620
diff
changeset
|
585 _GL_CXXALIAS_SYS (exp2l, long double, (long double x)); |
16620 | 586 # endif |
587 _GL_CXXALIASWARN (exp2l); | |
588 #elif defined GNULIB_POSIXCHECK | |
589 # undef exp2l | |
590 # if HAVE_RAW_DECL_EXP2L | |
591 _GL_WARN_ON_USE (exp2l, "exp2l is unportable - " | |
592 "use gnulib module exp2l for portability"); | |
593 # endif | |
594 #endif | |
595 | |
16616 | 596 |
16583 | 597 #if @GNULIB_EXPM1F@ |
16587
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
598 # if @REPLACE_EXPM1F@ |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
599 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
600 # undef expm1f |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
601 # define expm1f rpl_expm1f |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
602 # endif |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
603 _GL_FUNCDECL_RPL (expm1f, float, (float x)); |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
604 _GL_CXXALIAS_RPL (expm1f, float, (float x)); |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
605 # else |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
606 # if !@HAVE_EXPM1F@ |
16583 | 607 _GL_FUNCDECL_SYS (expm1f, float, (float x)); |
16587
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
608 # endif |
d71dacc1f7e0
Work around expm1f bug on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16585
diff
changeset
|
609 _GL_CXXALIAS_SYS (expm1f, float, (float x)); |
16583 | 610 # endif |
611 _GL_CXXALIASWARN (expm1f); | |
612 #elif defined GNULIB_POSIXCHECK | |
613 # undef expm1f | |
614 # if HAVE_RAW_DECL_EXPM1F | |
615 _GL_WARN_ON_USE (expm1f, "expm1f is unportable - " | |
616 "use gnulib module expm1f for portability"); | |
617 # endif | |
618 #endif | |
619 | |
16581 | 620 #if @GNULIB_EXPM1@ |
16588 | 621 # if @REPLACE_EXPM1@ |
622 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
623 # undef expm1 | |
624 # define expm1 rpl_expm1 | |
625 # endif | |
626 _GL_FUNCDECL_RPL (expm1, double, (double x)); | |
627 _GL_CXXALIAS_RPL (expm1, double, (double x)); | |
628 # else | |
629 # if !@HAVE_EXPM1@ | |
16581 | 630 _GL_FUNCDECL_SYS (expm1, double, (double x)); |
16588 | 631 # endif |
632 _GL_CXXALIAS_SYS (expm1, double, (double x)); | |
16581 | 633 # endif |
634 _GL_CXXALIASWARN (expm1); | |
635 #elif defined GNULIB_POSIXCHECK | |
636 # undef expm1 | |
637 # if HAVE_RAW_DECL_EXPM1 | |
638 _GL_WARN_ON_USE (expm1, "expm1 is unportable - " | |
639 "use gnulib module expm1 for portability"); | |
640 # endif | |
641 #endif | |
642 | |
16585 | 643 #if @GNULIB_EXPM1L@ |
16606
c65f617394a7
expm1l: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16605
diff
changeset
|
644 # if !@HAVE_DECL_EXPM1L@ |
16607
8b3e493a6849
expm1l: Avoid compilation error on AIX.
Bruno Haible <bruno@clisp.org>
parents:
16606
diff
changeset
|
645 # undef expm1l |
16585 | 646 _GL_FUNCDECL_SYS (expm1l, long double, (long double x)); |
647 # endif | |
648 _GL_CXXALIAS_SYS (expm1l, long double, (long double x)); | |
649 _GL_CXXALIASWARN (expm1l); | |
650 #elif defined GNULIB_POSIXCHECK | |
651 # undef expm1l | |
652 # if HAVE_RAW_DECL_EXPM1L | |
653 _GL_WARN_ON_USE (expm1l, "expm1l is unportable - " | |
654 "use gnulib module expm1l for portability"); | |
655 # endif | |
656 #endif | |
657 | |
16581 | 658 |
15828 | 659 #if @GNULIB_FABSF@ |
660 # if !@HAVE_FABSF@ | |
661 # undef fabsf | |
662 _GL_FUNCDECL_SYS (fabsf, float, (float x)); | |
663 # endif | |
664 _GL_CXXALIAS_SYS (fabsf, float, (float x)); | |
665 _GL_CXXALIASWARN (fabsf); | |
666 #elif defined GNULIB_POSIXCHECK | |
667 # undef fabsf | |
668 # if HAVE_RAW_DECL_FABSF | |
669 _GL_WARN_ON_USE (fabsf, "fabsf is unportable - " | |
670 "use gnulib module fabsf for portability"); | |
671 # endif | |
672 #endif | |
673 | |
16405 | 674 #if @GNULIB_FABSL@ |
675 # if @REPLACE_FABSL@ | |
676 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
677 # undef fabsl | |
678 # define fabsl rpl_fabsl | |
679 # endif | |
680 _GL_FUNCDECL_RPL (fabsl, long double, (long double x)); | |
681 _GL_CXXALIAS_RPL (fabsl, long double, (long double x)); | |
682 # else | |
683 # if !@HAVE_FABSL@ | |
684 # undef fabsl | |
685 _GL_FUNCDECL_SYS (fabsl, long double, (long double x)); | |
686 # endif | |
687 _GL_CXXALIAS_SYS (fabsl, long double, (long double x)); | |
688 # endif | |
689 _GL_CXXALIASWARN (fabsl); | |
690 #elif defined GNULIB_POSIXCHECK | |
691 # undef fabsl | |
692 # if HAVE_RAW_DECL_FABSL | |
693 _GL_WARN_ON_USE (fabsl, "fabsl is unportable - " | |
694 "use gnulib module fabsl for portability"); | |
695 # endif | |
696 #endif | |
697 | |
15828 | 698 |
9291 | 699 #if @GNULIB_FLOORF@ |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9418
diff
changeset
|
700 # if @REPLACE_FLOORF@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
701 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
702 # undef floorf |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
703 # define floorf rpl_floorf |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
704 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
705 _GL_FUNCDECL_RPL (floorf, float, (float x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
706 _GL_CXXALIAS_RPL (floorf, float, (float x)); |
13973 | 707 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
708 # if !@HAVE_DECL_FLOORF@ |
16390
60e9584368df
floorf: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16201
diff
changeset
|
709 # undef floorf |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
710 _GL_FUNCDECL_SYS (floorf, float, (float x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
711 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
712 _GL_CXXALIAS_SYS (floorf, float, (float x)); |
9291 | 713 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
714 _GL_CXXALIASWARN (floorf); |
9291 | 715 #elif defined GNULIB_POSIXCHECK |
716 # undef floorf | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
717 # if HAVE_RAW_DECL_FLOORF |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
718 _GL_WARN_ON_USE (floorf, "floorf is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
719 "use gnulib module floorf for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
720 # endif |
9291 | 721 #endif |
722 | |
13981 | 723 #if @GNULIB_FLOOR@ |
724 # if @REPLACE_FLOOR@ | |
725 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
726 # define floor rpl_floor | |
727 # endif | |
728 _GL_FUNCDECL_RPL (floor, double, (double x)); | |
729 _GL_CXXALIAS_RPL (floor, double, (double x)); | |
730 # else | |
731 _GL_CXXALIAS_SYS (floor, double, (double x)); | |
732 # endif | |
733 _GL_CXXALIASWARN (floor); | |
734 #endif | |
735 | |
9293 | 736 #if @GNULIB_FLOORL@ |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9418
diff
changeset
|
737 # if @REPLACE_FLOORL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
738 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
739 # undef floorl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
740 # define floorl rpl_floorl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
741 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
742 _GL_FUNCDECL_RPL (floorl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
743 _GL_CXXALIAS_RPL (floorl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
744 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
745 # if !@HAVE_DECL_FLOORL@ |
16392
7e35e3b2a920
floorl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16391
diff
changeset
|
746 # undef floorl |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
747 _GL_FUNCDECL_SYS (floorl, long double, (long double x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
748 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
749 _GL_CXXALIAS_SYS (floorl, long double, (long double x)); |
9293 | 750 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
751 _GL_CXXALIASWARN (floorl); |
9293 | 752 #elif defined GNULIB_POSIXCHECK |
9255 | 753 # undef floorl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
754 # if HAVE_RAW_DECL_FLOORL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
755 _GL_WARN_ON_USE (floorl, "floorl is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
756 "use gnulib module floorl for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
757 # endif |
9255 | 758 #endif |
759 | |
9285 | 760 |
16040 | 761 #if @GNULIB_FMAF@ |
762 # if @REPLACE_FMAF@ | |
763 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
764 # undef fmaf | |
765 # define fmaf rpl_fmaf | |
766 # endif | |
767 _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z)); | |
768 _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z)); | |
769 # else | |
770 # if !@HAVE_FMAF@ | |
771 _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z)); | |
772 # endif | |
773 _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z)); | |
774 # endif | |
775 _GL_CXXALIASWARN (fmaf); | |
776 #elif defined GNULIB_POSIXCHECK | |
777 # undef fmaf | |
778 # if HAVE_RAW_DECL_FMAF | |
779 _GL_WARN_ON_USE (fmaf, "fmaf is unportable - " | |
780 "use gnulib module fmaf for portability"); | |
781 # endif | |
782 #endif | |
783 | |
16038 | 784 #if @GNULIB_FMA@ |
785 # if @REPLACE_FMA@ | |
786 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
787 # undef fma | |
788 # define fma rpl_fma | |
789 # endif | |
790 _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z)); | |
791 _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z)); | |
792 # else | |
793 # if !@HAVE_FMA@ | |
794 _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z)); | |
795 # endif | |
796 _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z)); | |
797 # endif | |
798 _GL_CXXALIASWARN (fma); | |
799 #elif defined GNULIB_POSIXCHECK | |
800 # undef fma | |
801 # if HAVE_RAW_DECL_FMA | |
802 _GL_WARN_ON_USE (fma, "fma is unportable - " | |
803 "use gnulib module fma for portability"); | |
804 # endif | |
805 #endif | |
806 | |
16042 | 807 #if @GNULIB_FMAL@ |
808 # if @REPLACE_FMAL@ | |
809 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
810 # undef fmal | |
811 # define fmal rpl_fmal | |
812 # endif | |
813 _GL_FUNCDECL_RPL (fmal, long double, | |
814 (long double x, long double y, long double z)); | |
815 _GL_CXXALIAS_RPL (fmal, long double, | |
816 (long double x, long double y, long double z)); | |
817 # else | |
818 # if !@HAVE_FMAL@ | |
16612
a3a0882402d7
fmal: Avoid compilation error on AIX.
Bruno Haible <bruno@clisp.org>
parents:
16607
diff
changeset
|
819 # undef fmal |
16042 | 820 _GL_FUNCDECL_SYS (fmal, long double, |
821 (long double x, long double y, long double z)); | |
822 # endif | |
823 _GL_CXXALIAS_SYS (fmal, long double, | |
824 (long double x, long double y, long double z)); | |
825 # endif | |
826 _GL_CXXALIASWARN (fmal); | |
827 #elif defined GNULIB_POSIXCHECK | |
828 # undef fmal | |
829 # if HAVE_RAW_DECL_FMAL | |
830 _GL_WARN_ON_USE (fmal, "fmal is unportable - " | |
831 "use gnulib module fmal for portability"); | |
832 # endif | |
833 #endif | |
834 | |
16038 | 835 |
15832 | 836 #if @GNULIB_FMODF@ |
16488
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
837 # if @REPLACE_FMODF@ |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
838 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
839 # undef fmodf |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
840 # define fmodf rpl_fmodf |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
841 # endif |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
842 _GL_FUNCDECL_RPL (fmodf, float, (float x, float y)); |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
843 _GL_CXXALIAS_RPL (fmodf, float, (float x, float y)); |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
844 # else |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
845 # if !@HAVE_FMODF@ |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
846 # undef fmodf |
15832 | 847 _GL_FUNCDECL_SYS (fmodf, float, (float x, float y)); |
16488
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
848 # endif |
8bed60fd8e6c
fmodf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16486
diff
changeset
|
849 _GL_CXXALIAS_SYS (fmodf, float, (float x, float y)); |
15832 | 850 # endif |
851 _GL_CXXALIASWARN (fmodf); | |
852 #elif defined GNULIB_POSIXCHECK | |
853 # undef fmodf | |
854 # if HAVE_RAW_DECL_FMODF | |
855 _GL_WARN_ON_USE (fmodf, "fmodf is unportable - " | |
856 "use gnulib module fmodf for portability"); | |
857 # endif | |
858 #endif | |
859 | |
16486
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
860 #if @GNULIB_FMOD@ |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
861 # if @REPLACE_FMOD@ |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
862 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
863 # undef fmod |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
864 # define fmod rpl_fmod |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
865 # endif |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
866 _GL_FUNCDECL_RPL (fmod, double, (double x, double y)); |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
867 _GL_CXXALIAS_RPL (fmod, double, (double x, double y)); |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
868 # else |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
869 _GL_CXXALIAS_SYS (fmod, double, (double x, double y)); |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
870 # endif |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
871 _GL_CXXALIASWARN (fmod); |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
872 #elif defined GNULIB_POSIXCHECK |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
873 # undef fmod |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
874 # if HAVE_RAW_DECL_FMOD |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
875 _GL_WARN_ON_USE (fmod, "fmod has portability problems - " |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
876 "use gnulib module fmod for portability"); |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
877 # endif |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
878 #endif |
8b3ead70232c
fmod-ieee: Work around test failures on OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16471
diff
changeset
|
879 |
16410 | 880 #if @GNULIB_FMODL@ |
881 # if @REPLACE_FMODL@ | |
882 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
883 # undef fmodl | |
884 # define fmodl rpl_fmodl | |
885 # endif | |
886 _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y)); | |
887 _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y)); | |
888 # else | |
889 # if !@HAVE_FMODL@ | |
890 # undef fmodl | |
891 _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y)); | |
892 # endif | |
893 _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y)); | |
894 # endif | |
895 _GL_CXXALIASWARN (fmodl); | |
896 #elif defined GNULIB_POSIXCHECK | |
897 # undef fmodl | |
898 # if HAVE_RAW_DECL_FMODL | |
899 _GL_WARN_ON_USE (fmodl, "fmodl is unportable - " | |
900 "use gnulib module fmodl for portability"); | |
901 # endif | |
902 #endif | |
903 | |
15832 | 904 |
9255 | 905 /* Write x as |
906 x = mantissa * 2^exp | |
907 where | |
908 If x finite and nonzero: 0.5 <= |mantissa| < 1.0. | |
909 If x is zero: mantissa = x, exp = 0. | |
910 If x is infinite or NaN: mantissa = x, exp unspecified. | |
9312
bec01fc15c2f
Rename parameter 'exp' to 'expptr', to avoid gcc warnings.
Bruno Haible <bruno@clisp.org>
parents:
9309
diff
changeset
|
911 Store exp in *EXPPTR and return mantissa. */ |
15841 | 912 #if @GNULIB_FREXPF@ |
15845
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
913 # if @REPLACE_FREXPF@ |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
914 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
915 # undef frexpf |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
916 # define frexpf rpl_frexpf |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
917 # endif |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
918 _GL_FUNCDECL_RPL (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
919 _GL_CXXALIAS_RPL (frexpf, float, (float x, int *expptr)); |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
920 # else |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
921 # if !@HAVE_FREXPF@ |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
922 # undef frexpf |
15841 | 923 _GL_FUNCDECL_SYS (frexpf, float, (float x, int *expptr) _GL_ARG_NONNULL ((2))); |
15845
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
924 # endif |
622d3734ca5a
frexpf: Work around problems on IRIX and mingw.
Bruno Haible <bruno@clisp.org>
parents:
15841
diff
changeset
|
925 _GL_CXXALIAS_SYS (frexpf, float, (float x, int *expptr)); |
15841 | 926 # endif |
927 _GL_CXXALIASWARN (frexpf); | |
928 #elif defined GNULIB_POSIXCHECK | |
929 # undef frexpf | |
930 # if HAVE_RAW_DECL_FREXPF | |
931 _GL_WARN_ON_USE (frexpf, "frexpf is unportable - " | |
932 "use gnulib module frexpf for portability"); | |
933 # endif | |
934 #endif | |
935 | |
936 /* Write x as | |
937 x = mantissa * 2^exp | |
938 where | |
939 If x finite and nonzero: 0.5 <= |mantissa| < 1.0. | |
940 If x is zero: mantissa = x, exp = 0. | |
941 If x is infinite or NaN: mantissa = x, exp unspecified. | |
942 Store exp in *EXPPTR and return mantissa. */ | |
15840
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
943 #if @GNULIB_FREXP@ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
944 # if @REPLACE_FREXP@ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
945 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
946 # define frexp rpl_frexp |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
947 # endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
948 _GL_FUNCDECL_RPL (frexp, double, (double x, int *expptr) _GL_ARG_NONNULL ((2))); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
949 _GL_CXXALIAS_RPL (frexp, double, (double x, int *expptr)); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
950 # else |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
951 _GL_CXXALIAS_SYS (frexp, double, (double x, int *expptr)); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
952 # endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
953 _GL_CXXALIASWARN (frexp); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
954 #elif defined GNULIB_POSIXCHECK |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
955 # undef frexp |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
956 /* Assume frexp is always declared. */ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
957 _GL_WARN_ON_USE (frexp, "frexp is unportable - " |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
958 "use gnulib module frexp for portability"); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
959 #endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
960 |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
961 /* Write x as |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
962 x = mantissa * 2^exp |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
963 where |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
964 If x finite and nonzero: 0.5 <= |mantissa| < 1.0. |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
965 If x is zero: mantissa = x, exp = 0. |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
966 If x is infinite or NaN: mantissa = x, exp unspecified. |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
967 Store exp in *EXPPTR and return mantissa. */ |
9255 | 968 #if @GNULIB_FREXPL@ && @REPLACE_FREXPL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
969 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
970 # undef frexpl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
971 # define frexpl rpl_frexpl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
972 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
973 _GL_FUNCDECL_RPL (frexpl, long double, |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
974 (long double x, int *expptr) _GL_ARG_NONNULL ((2))); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
975 _GL_CXXALIAS_RPL (frexpl, long double, (long double x, int *expptr)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
976 #else |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
977 # if !@HAVE_DECL_FREXPL@ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
978 _GL_FUNCDECL_SYS (frexpl, long double, |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
979 (long double x, int *expptr) _GL_ARG_NONNULL ((2))); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
980 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
981 # if @GNULIB_FREXPL@ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
982 _GL_CXXALIAS_SYS (frexpl, long double, (long double x, int *expptr)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
983 # endif |
9255 | 984 #endif |
13164
05d5602815b8
frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13145
diff
changeset
|
985 #if @GNULIB_FREXPL@ && !(@REPLACE_FREXPL@ && !@HAVE_DECL_FREXPL@) |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
986 _GL_CXXALIASWARN (frexpl); |
9255 | 987 #endif |
988 #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK | |
989 # undef frexpl | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
990 # if HAVE_RAW_DECL_FREXPL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
991 _GL_WARN_ON_USE (frexpl, "frexpl is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
992 "use gnulib module frexpl for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
993 # endif |
9255 | 994 #endif |
995 | |
9285 | 996 |
16514 | 997 /* Return sqrt(x^2+y^2). */ |
998 #if @GNULIB_HYPOTF@ | |
999 # if @REPLACE_HYPOTF@ | |
1000 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1001 # undef hypotf | |
1002 # define hypotf rpl_hypotf | |
1003 # endif | |
1004 _GL_FUNCDECL_RPL (hypotf, float, (float x, float y)); | |
1005 _GL_CXXALIAS_RPL (hypotf, float, (float x, float y)); | |
1006 # else | |
1007 # if !@HAVE_HYPOTF@ | |
1008 _GL_FUNCDECL_SYS (hypotf, float, (float x, float y)); | |
1009 # endif | |
1010 _GL_CXXALIAS_SYS (hypotf, float, (float x, float y)); | |
1011 # endif | |
1012 _GL_CXXALIASWARN (hypotf); | |
1013 #elif defined GNULIB_POSIXCHECK | |
1014 # undef hypotf | |
1015 # if HAVE_RAW_DECL_HYPOTF | |
1016 _GL_WARN_ON_USE (hypotf, "hypotf is unportable - " | |
1017 "use gnulib module hypotf for portability"); | |
1018 # endif | |
1019 #endif | |
1020 | |
16519 | 1021 /* Return sqrt(x^2+y^2). */ |
16530
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1022 #if @GNULIB_HYPOT@ |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1023 # if @REPLACE_HYPOT@ |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1024 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1025 # undef hypot |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1026 # define hypot rpl_hypot |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1027 # endif |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1028 _GL_FUNCDECL_RPL (hypot, double, (double x, double y)); |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1029 _GL_CXXALIAS_RPL (hypot, double, (double x, double y)); |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1030 # else |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1031 _GL_CXXALIAS_SYS (hypot, double, (double x, double y)); |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1032 # endif |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1033 _GL_CXXALIASWARN (hypot); |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1034 #elif defined GNULIB_POSIXCHECK |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1035 # undef hypot |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1036 # if HAVE_RAW_DECL_HYPOT |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1037 _GL_WARN_ON_USE (hypotf, "hypot has portability problems - " |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1038 "use gnulib module hypot for portability"); |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1039 # endif |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1040 #endif |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1041 |
3cae6aa4577f
hypot-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16519
diff
changeset
|
1042 /* Return sqrt(x^2+y^2). */ |
16519 | 1043 #if @GNULIB_HYPOTL@ |
16532
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1044 # if @REPLACE_HYPOTL@ |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1045 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1046 # undef hypotl |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1047 # define hypotl rpl_hypotl |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1048 # endif |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1049 _GL_FUNCDECL_RPL (hypotl, long double, (long double x, long double y)); |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1050 _GL_CXXALIAS_RPL (hypotl, long double, (long double x, long double y)); |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1051 # else |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1052 # if !@HAVE_HYPOTL@ |
16519 | 1053 _GL_FUNCDECL_SYS (hypotl, long double, (long double x, long double y)); |
16532
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1054 # endif |
1fcd2cd248a9
hypotl-ieee: Work around test failure on OSF/1 and native Windows.
Bruno Haible <bruno@clisp.org>
parents:
16530
diff
changeset
|
1055 _GL_CXXALIAS_SYS (hypotl, long double, (long double x, long double y)); |
16519 | 1056 # endif |
1057 _GL_CXXALIASWARN (hypotl); | |
1058 #elif defined GNULIB_POSIXCHECK | |
1059 # undef hypotl | |
1060 # if HAVE_RAW_DECL_HYPOTL | |
1061 _GL_WARN_ON_USE (hypotl, "hypotl is unportable - " | |
1062 "use gnulib module hypotl for portability"); | |
1063 # endif | |
1064 #endif | |
1065 | |
16514 | 1066 |
9255 | 1067 /* Return x * 2^exp. */ |
15847 | 1068 #if @GNULIB_LDEXPF@ |
1069 # if !@HAVE_LDEXPF@ | |
1070 # undef ldexpf | |
1071 _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp)); | |
1072 # endif | |
1073 _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp)); | |
1074 _GL_CXXALIASWARN (ldexpf); | |
1075 #elif defined GNULIB_POSIXCHECK | |
1076 # undef ldexpf | |
1077 # if HAVE_RAW_DECL_LDEXPF | |
1078 _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - " | |
1079 "use gnulib module ldexpf for portability"); | |
1080 # endif | |
1081 #endif | |
1082 | |
1083 /* Return x * 2^exp. */ | |
9255 | 1084 #if @GNULIB_LDEXPL@ && @REPLACE_LDEXPL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1085 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
15638
f2a7b56d34a3
math: Avoid macro redefinition warnings on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
15595
diff
changeset
|
1086 # undef ldexpl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1087 # define ldexpl rpl_ldexpl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1088 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1089 _GL_FUNCDECL_RPL (ldexpl, long double, (long double x, int exp)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1090 _GL_CXXALIAS_RPL (ldexpl, long double, (long double x, int exp)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1091 #else |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1092 # if !@HAVE_DECL_LDEXPL@ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1093 _GL_FUNCDECL_SYS (ldexpl, long double, (long double x, int exp)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1094 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1095 # if @GNULIB_LDEXPL@ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1096 _GL_CXXALIAS_SYS (ldexpl, long double, (long double x, int exp)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1097 # endif |
9255 | 1098 #endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1099 #if @GNULIB_LDEXPL@ |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1100 _GL_CXXALIASWARN (ldexpl); |
9255 | 1101 #endif |
1102 #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK | |
1103 # undef ldexpl | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1104 # if HAVE_RAW_DECL_LDEXPL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1105 _GL_WARN_ON_USE (ldexpl, "ldexpl is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1106 "use gnulib module ldexpl for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1107 # endif |
9255 | 1108 #endif |
1109 | |
9285 | 1110 |
15840
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1111 #if @GNULIB_LOGB@ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1112 # if !@HAVE_DECL_LOGB@ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1113 _GL_EXTERN_C double logb (double x); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1114 # endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1115 #elif defined GNULIB_POSIXCHECK |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1116 # undef logb |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1117 # if HAVE_RAW_DECL_LOGB |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1118 _GL_WARN_ON_USE (logb, "logb is unportable - " |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1119 "use gnulib module logb for portability"); |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1120 # endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1121 #endif |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1122 |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1123 |
15863 | 1124 #if @GNULIB_LOGF@ |
16632
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1125 # if @REPLACE_LOGF@ |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1126 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1127 # undef logf |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1128 # define logf rpl_logf |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1129 # endif |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1130 _GL_FUNCDECL_RPL (logf, float, (float x)); |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1131 _GL_CXXALIAS_RPL (logf, float, (float x)); |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1132 # else |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1133 # if !@HAVE_LOGF@ |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1134 # undef logf |
15863 | 1135 _GL_FUNCDECL_SYS (logf, float, (float x)); |
16632
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1136 # endif |
2450f24b2cbc
logf: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16631
diff
changeset
|
1137 _GL_CXXALIAS_SYS (logf, float, (float x)); |
15863 | 1138 # endif |
1139 _GL_CXXALIASWARN (logf); | |
1140 #elif defined GNULIB_POSIXCHECK | |
1141 # undef logf | |
1142 # if HAVE_RAW_DECL_LOGF | |
1143 _GL_WARN_ON_USE (logf, "logf is unportable - " | |
1144 "use gnulib module logf for portability"); | |
1145 # endif | |
1146 #endif | |
1147 | |
16631
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1148 #if @GNULIB_LOG@ |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1149 # if @REPLACE_LOG@ |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1150 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1151 # undef log |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1152 # define log rpl_log |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1153 # endif |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1154 _GL_FUNCDECL_RPL (log, double, (double x)); |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1155 _GL_CXXALIAS_RPL (log, double, (double x)); |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1156 # else |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1157 _GL_CXXALIAS_SYS (log, double, (double x)); |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1158 # endif |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1159 _GL_CXXALIASWARN (log); |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1160 #elif defined GNULIB_POSIXCHECK |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1161 # undef log |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1162 # if HAVE_RAW_DECL_LOG |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1163 _GL_WARN_ON_USE (log, "log has portability problems - " |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1164 "use gnulib module log for portability"); |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1165 # endif |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1166 #endif |
45443deebb7d
log: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16628
diff
changeset
|
1167 |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1168 #if @GNULIB_LOGL@ |
16633
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1169 # if @REPLACE_LOGL@ |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1170 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1171 # undef logl |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1172 # define logl rpl_logl |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1173 # endif |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1174 _GL_FUNCDECL_RPL (logl, long double, (long double x)); |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1175 _GL_CXXALIAS_RPL (logl, long double, (long double x)); |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1176 # else |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1177 # if !@HAVE_LOGL@ || !@HAVE_DECL_LOGL@ |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1178 # undef logl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1179 _GL_FUNCDECL_SYS (logl, long double, (long double x)); |
16633
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1180 # endif |
833042aa7d55
logl: Work around OSF/1 5.1 bug.
Bruno Haible <bruno@clisp.org>
parents:
16632
diff
changeset
|
1181 _GL_CXXALIAS_SYS (logl, long double, (long double x)); |
13145
0ac425232626
math: Fix some C++ test errors on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13143
diff
changeset
|
1182 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1183 _GL_CXXALIASWARN (logl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1184 #elif defined GNULIB_POSIXCHECK |
9255 | 1185 # undef logl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1186 # if HAVE_RAW_DECL_LOGL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1187 _GL_WARN_ON_USE (logl, "logl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
1188 "use gnulib module logl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1189 # endif |
9255 | 1190 #endif |
1191 | |
9285 | 1192 |
15866 | 1193 #if @GNULIB_LOG10F@ |
1194 # if !@HAVE_LOG10F@ | |
1195 # undef log10f | |
1196 _GL_FUNCDECL_SYS (log10f, float, (float x)); | |
1197 # endif | |
1198 _GL_CXXALIAS_SYS (log10f, float, (float x)); | |
1199 _GL_CXXALIASWARN (log10f); | |
1200 #elif defined GNULIB_POSIXCHECK | |
1201 # undef log10f | |
1202 # if HAVE_RAW_DECL_LOG10F | |
1203 _GL_WARN_ON_USE (log10f, "log10f is unportable - " | |
1204 "use gnulib module log10f for portability"); | |
1205 # endif | |
1206 #endif | |
1207 | |
16419 | 1208 #if @GNULIB_LOG10L@ |
1209 # if !@HAVE_LOG10L@ || !@HAVE_DECL_LOG10L@ | |
1210 # undef log10l | |
1211 _GL_FUNCDECL_SYS (log10l, long double, (long double x)); | |
1212 # endif | |
1213 _GL_CXXALIAS_SYS (log10l, long double, (long double x)); | |
1214 _GL_CXXALIASWARN (log10l); | |
1215 #elif defined GNULIB_POSIXCHECK | |
1216 # undef log10l | |
1217 # if HAVE_RAW_DECL_LOG10L | |
1218 _GL_WARN_ON_USE (log10l, "log10l is unportable - " | |
1219 "use gnulib module log10l for portability"); | |
1220 # endif | |
1221 #endif | |
1222 | |
15866 | 1223 |
16657 | 1224 #if @GNULIB_LOG1PF@ |
1225 # if @REPLACE_LOG1PF@ | |
1226 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1227 # undef log1pf | |
1228 # define log1pf rpl_log1pf | |
1229 # endif | |
1230 _GL_FUNCDECL_RPL (log1pf, float, (float x)); | |
1231 _GL_CXXALIAS_RPL (log1pf, float, (float x)); | |
1232 # else | |
1233 # if !@HAVE_LOG1PF@ | |
1234 _GL_FUNCDECL_SYS (log1pf, float, (float x)); | |
1235 # endif | |
1236 _GL_CXXALIAS_SYS (log1pf, float, (float x)); | |
1237 # endif | |
1238 _GL_CXXALIASWARN (log1pf); | |
1239 #elif defined GNULIB_POSIXCHECK | |
1240 # undef log1pf | |
1241 # if HAVE_RAW_DECL_LOG1PF | |
1242 _GL_WARN_ON_USE (log1pf, "log1pf is unportable - " | |
1243 "use gnulib module log1pf for portability"); | |
1244 # endif | |
1245 #endif | |
1246 | |
16655
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1247 #if @GNULIB_LOG1P@ |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1248 # if !@HAVE_LOG1P@ |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1249 _GL_FUNCDECL_SYS (log1p, double, (double x)); |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1250 # endif |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1251 _GL_CXXALIAS_SYS (log1p, double, (double x)); |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1252 _GL_CXXALIASWARN (log1p); |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1253 #elif defined GNULIB_POSIXCHECK |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1254 # undef log1p |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1255 # if HAVE_RAW_DECL_LOG1P |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1256 _GL_WARN_ON_USE (log1p, "log1p has portability problems - " |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1257 "use gnulib module log1p for portability"); |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1258 # endif |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1259 #endif |
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1260 |
16659 | 1261 #if @GNULIB_LOG1PL@ |
1262 # if !@HAVE_LOG1PL@ | |
1263 _GL_FUNCDECL_SYS (log1pl, long double, (long double x)); | |
1264 # endif | |
1265 _GL_CXXALIAS_SYS (log1pl, long double, (long double x)); | |
1266 _GL_CXXALIASWARN (log1pl); | |
1267 #elif defined GNULIB_POSIXCHECK | |
1268 # undef log1pl | |
1269 # if HAVE_RAW_DECL_LOG1PL | |
1270 _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - " | |
1271 "use gnulib module log1pl for portability"); | |
1272 # endif | |
1273 #endif | |
1274 | |
16655
e1c84de792a7
log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16633
diff
changeset
|
1275 |
15838 | 1276 #if @GNULIB_MODFF@ |
16468
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1277 # if @REPLACE_MODFF@ |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1278 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1279 # undef modff |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1280 # define modff rpl_modff |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1281 # endif |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1282 _GL_FUNCDECL_RPL (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1283 _GL_CXXALIAS_RPL (modff, float, (float x, float *iptr)); |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1284 # else |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1285 # if !@HAVE_MODFF@ |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1286 # undef modff |
15838 | 1287 _GL_FUNCDECL_SYS (modff, float, (float x, float *iptr) _GL_ARG_NONNULL ((2))); |
16468
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1288 # endif |
5ad3cc13d9c3
modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
Bruno Haible <bruno@clisp.org>
parents:
16467
diff
changeset
|
1289 _GL_CXXALIAS_SYS (modff, float, (float x, float *iptr)); |
15838 | 1290 # endif |
1291 _GL_CXXALIASWARN (modff); | |
1292 #elif defined GNULIB_POSIXCHECK | |
1293 # undef modff | |
1294 # if HAVE_RAW_DECL_MODFF | |
1295 _GL_WARN_ON_USE (modff, "modff is unportable - " | |
1296 "use gnulib module modff for portability"); | |
1297 # endif | |
1298 #endif | |
1299 | |
16467
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1300 #if @GNULIB_MODF@ |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1301 # if @REPLACE_MODF@ |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1302 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1303 # undef modf |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1304 # define modf rpl_modf |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1305 # endif |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1306 _GL_FUNCDECL_RPL (modf, double, (double x, double *iptr) _GL_ARG_NONNULL ((2))); |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1307 _GL_CXXALIAS_RPL (modf, double, (double x, double *iptr)); |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1308 # else |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1309 _GL_CXXALIAS_SYS (modf, double, (double x, double *iptr)); |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1310 # endif |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1311 _GL_CXXALIASWARN (modf); |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1312 #elif defined GNULIB_POSIXCHECK |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1313 # undef modf |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1314 # if HAVE_RAW_DECL_MODF |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1315 _GL_WARN_ON_USE (modf, "modf has portability problems - " |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1316 "use gnulib module modf for portability"); |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1317 # endif |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1318 #endif |
c5b61bdb6da4
modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
16419
diff
changeset
|
1319 |
16408 | 1320 #if @GNULIB_MODFL@ |
16471
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1321 # if @REPLACE_MODFL@ |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1322 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1323 # undef modfl |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1324 # define modfl rpl_modfl |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1325 # endif |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1326 _GL_FUNCDECL_RPL (modfl, long double, (long double x, long double *iptr) |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1327 _GL_ARG_NONNULL ((2))); |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1328 _GL_CXXALIAS_RPL (modfl, long double, (long double x, long double *iptr)); |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1329 # else |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1330 # if !@HAVE_MODFL@ |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1331 # undef modfl |
16408 | 1332 _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr) |
1333 _GL_ARG_NONNULL ((2))); | |
16471
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1334 # endif |
1f4605f1f3ae
modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
Bruno Haible <bruno@clisp.org>
parents:
16468
diff
changeset
|
1335 _GL_CXXALIAS_SYS (modfl, long double, (long double x, long double *iptr)); |
16408 | 1336 # endif |
1337 _GL_CXXALIASWARN (modfl); | |
1338 #elif defined GNULIB_POSIXCHECK | |
1339 # undef modfl | |
1340 # if HAVE_RAW_DECL_MODFL | |
1341 _GL_WARN_ON_USE (modfl, "modfl is unportable - " | |
1342 "use gnulib module modfl for portability"); | |
1343 # endif | |
1344 #endif | |
1345 | |
15838 | 1346 |
15869 | 1347 #if @GNULIB_POWF@ |
1348 # if !@HAVE_POWF@ | |
1349 # undef powf | |
1350 _GL_FUNCDECL_SYS (powf, float, (float x, float y)); | |
1351 # endif | |
1352 _GL_CXXALIAS_SYS (powf, float, (float x, float y)); | |
1353 _GL_CXXALIASWARN (powf); | |
1354 #elif defined GNULIB_POSIXCHECK | |
1355 # undef powf | |
1356 # if HAVE_RAW_DECL_POWF | |
1357 _GL_WARN_ON_USE (powf, "powf is unportable - " | |
1358 "use gnulib module powf for portability"); | |
1359 # endif | |
1360 #endif | |
1361 | |
1362 | |
16413 | 1363 #if @GNULIB_REMAINDERF@ |
16498
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1364 # if @REPLACE_REMAINDERF@ |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1365 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1366 # undef remainderf |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1367 # define remainderf rpl_remainderf |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1368 # endif |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1369 _GL_FUNCDECL_RPL (remainderf, float, (float x, float y)); |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1370 _GL_CXXALIAS_RPL (remainderf, float, (float x, float y)); |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1371 # else |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1372 # if !@HAVE_REMAINDERF@ |
16413 | 1373 _GL_FUNCDECL_SYS (remainderf, float, (float x, float y)); |
16498
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1374 # endif |
e04c5a489c44
remainderf-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16497
diff
changeset
|
1375 _GL_CXXALIAS_SYS (remainderf, float, (float x, float y)); |
16413 | 1376 # endif |
1377 _GL_CXXALIASWARN (remainderf); | |
1378 #elif defined GNULIB_POSIXCHECK | |
1379 # undef remainderf | |
1380 # if HAVE_RAW_DECL_REMAINDERF | |
1381 _GL_WARN_ON_USE (remainderf, "remainderf is unportable - " | |
1382 "use gnulib module remainderf for portability"); | |
1383 # endif | |
1384 #endif | |
1385 | |
16412
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1386 #if @GNULIB_REMAINDER@ |
16497
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1387 # if @REPLACE_REMAINDER@ |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1388 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1389 # undef remainder |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1390 # define remainder rpl_remainder |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1391 # endif |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1392 _GL_FUNCDECL_RPL (remainder, double, (double x, double y)); |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1393 _GL_CXXALIAS_RPL (remainder, double, (double x, double y)); |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1394 # else |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1395 # if !@HAVE_REMAINDER@ || !@HAVE_DECL_REMAINDER@ |
16412
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1396 _GL_FUNCDECL_SYS (remainder, double, (double x, double y)); |
16497
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1397 # endif |
3843e07f6df5
remainder-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16488
diff
changeset
|
1398 _GL_CXXALIAS_SYS (remainder, double, (double x, double y)); |
16412
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1399 # endif |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1400 _GL_CXXALIASWARN (remainder); |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1401 #elif defined GNULIB_POSIXCHECK |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1402 # undef remainder |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1403 # if HAVE_RAW_DECL_REMAINDER |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1404 _GL_WARN_ON_USE (remainder, "remainder is unportable - " |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1405 "use gnulib module remainder for portability"); |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1406 # endif |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1407 #endif |
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1408 |
16415 | 1409 #if @GNULIB_REMAINDERL@ |
16499
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1410 # if @REPLACE_REMAINDERL@ |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1411 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1412 # undef remainderl |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1413 # define remainderl rpl_remainderl |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1414 # endif |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1415 _GL_FUNCDECL_RPL (remainderl, long double, (long double x, long double y)); |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1416 _GL_CXXALIAS_RPL (remainderl, long double, (long double x, long double y)); |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1417 # else |
16605
65abd231dc80
remainderl: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16604
diff
changeset
|
1418 # if !@HAVE_DECL_REMAINDERL@ |
16415 | 1419 _GL_FUNCDECL_SYS (remainderl, long double, (long double x, long double y)); |
16499
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1420 # endif |
65ee7db4e4a7
remainderl-ieee: Work around test failure on OSF/1.
Bruno Haible <bruno@clisp.org>
parents:
16498
diff
changeset
|
1421 _GL_CXXALIAS_SYS (remainderl, long double, (long double x, long double y)); |
16415 | 1422 # endif |
1423 _GL_CXXALIASWARN (remainderl); | |
1424 #elif defined GNULIB_POSIXCHECK | |
1425 # undef remainderl | |
1426 # if HAVE_RAW_DECL_REMAINDERL | |
1427 _GL_WARN_ON_USE (remainderl, "remainderl is unportable - " | |
1428 "use gnulib module remainderl for portability"); | |
1429 # endif | |
1430 #endif | |
1431 | |
16412
a50ff00ce4ee
remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16410
diff
changeset
|
1432 |
15918 | 1433 #if @GNULIB_RINTF@ |
16604
9ac8499fa137
rintf: Don't override undeclared system function on IRIX 6.5.
Bruno Haible <bruno@clisp.org>
parents:
16603
diff
changeset
|
1434 # if !@HAVE_DECL_RINTF@ |
15918 | 1435 _GL_FUNCDECL_SYS (rintf, float, (float x)); |
1436 # endif | |
1437 _GL_CXXALIAS_SYS (rintf, float, (float x)); | |
1438 _GL_CXXALIASWARN (rintf); | |
1439 #elif defined GNULIB_POSIXCHECK | |
1440 # undef rintf | |
1441 # if HAVE_RAW_DECL_RINTF | |
1442 _GL_WARN_ON_USE (rintf, "rintf is unportable - " | |
1443 "use gnulib module rintf for portability"); | |
1444 # endif | |
1445 #endif | |
1446 | |
15917 | 1447 #if @GNULIB_RINT@ |
1448 # if !@HAVE_RINT@ | |
1449 _GL_FUNCDECL_SYS (rint, double, (double x)); | |
1450 # endif | |
1451 _GL_CXXALIAS_SYS (rint, double, (double x)); | |
1452 _GL_CXXALIASWARN (rint); | |
1453 #elif defined GNULIB_POSIXCHECK | |
1454 # undef rint | |
1455 # if HAVE_RAW_DECL_RINT | |
1456 _GL_WARN_ON_USE (rint, "rint is unportable - " | |
1457 "use gnulib module rint for portability"); | |
1458 # endif | |
1459 #endif | |
1460 | |
15920 | 1461 #if @GNULIB_RINTL@ |
1462 # if !@HAVE_RINTL@ | |
1463 _GL_FUNCDECL_SYS (rintl, long double, (long double x)); | |
1464 # endif | |
1465 _GL_CXXALIAS_SYS (rintl, long double, (long double x)); | |
1466 _GL_CXXALIASWARN (rintl); | |
1467 #elif defined GNULIB_POSIXCHECK | |
1468 # undef rintl | |
1469 # if HAVE_RAW_DECL_RINTL | |
1470 _GL_WARN_ON_USE (rintl, "rintl is unportable - " | |
1471 "use gnulib module rintl for portability"); | |
1472 # endif | |
1473 #endif | |
1474 | |
15917 | 1475 |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1476 #if @GNULIB_ROUNDF@ |
9465
4a3319c82e39
Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
Bruno Haible <bruno@clisp.org>
parents:
9423
diff
changeset
|
1477 # if @REPLACE_ROUNDF@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1478 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1479 # undef roundf |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1480 # define roundf rpl_roundf |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1481 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1482 _GL_FUNCDECL_RPL (roundf, float, (float x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1483 _GL_CXXALIAS_RPL (roundf, float, (float x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1484 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1485 # if !@HAVE_DECL_ROUNDF@ |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1486 _GL_FUNCDECL_SYS (roundf, float, (float x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1487 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1488 _GL_CXXALIAS_SYS (roundf, float, (float x)); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1489 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1490 _GL_CXXALIASWARN (roundf); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1491 #elif defined GNULIB_POSIXCHECK |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1492 # undef roundf |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1493 # if HAVE_RAW_DECL_ROUNDF |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1494 _GL_WARN_ON_USE (roundf, "roundf is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1495 "use gnulib module roundf for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1496 # endif |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1497 #endif |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1498 |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1499 #if @GNULIB_ROUND@ |
9465
4a3319c82e39
Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
Bruno Haible <bruno@clisp.org>
parents:
9423
diff
changeset
|
1500 # if @REPLACE_ROUND@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1501 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1502 # undef round |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1503 # define round rpl_round |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1504 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1505 _GL_FUNCDECL_RPL (round, double, (double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1506 _GL_CXXALIAS_RPL (round, double, (double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1507 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1508 # if !@HAVE_DECL_ROUND@ |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1509 _GL_FUNCDECL_SYS (round, double, (double x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1510 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1511 _GL_CXXALIAS_SYS (round, double, (double x)); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1512 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1513 _GL_CXXALIASWARN (round); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1514 #elif defined GNULIB_POSIXCHECK |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1515 # undef round |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1516 # if HAVE_RAW_DECL_ROUND |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1517 _GL_WARN_ON_USE (round, "round is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1518 "use gnulib module round for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1519 # endif |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1520 #endif |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1521 |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1522 #if @GNULIB_ROUNDL@ |
9465
4a3319c82e39
Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
Bruno Haible <bruno@clisp.org>
parents:
9423
diff
changeset
|
1523 # if @REPLACE_ROUNDL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1524 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1525 # undef roundl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1526 # define roundl rpl_roundl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1527 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1528 _GL_FUNCDECL_RPL (roundl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1529 _GL_CXXALIAS_RPL (roundl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1530 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1531 # if !@HAVE_DECL_ROUNDL@ |
16603
f57d6aac15ce
roundl: Avoid compilation error on AIX.
Bruno Haible <bruno@clisp.org>
parents:
16599
diff
changeset
|
1532 # undef roundl |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1533 _GL_FUNCDECL_SYS (roundl, long double, (long double x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1534 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1535 _GL_CXXALIAS_SYS (roundl, long double, (long double x)); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1536 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1537 _GL_CXXALIASWARN (roundl); |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1538 #elif defined GNULIB_POSIXCHECK |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1539 # undef roundl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1540 # if HAVE_RAW_DECL_ROUNDL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1541 _GL_WARN_ON_USE (roundl, "roundl is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1542 "use gnulib module roundl for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1543 # endif |
9375
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1544 #endif |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1545 |
96fea5b2eb11
Implement 'round', 'roundf', 'roundl' modules.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9312
diff
changeset
|
1546 |
15872 | 1547 #if @GNULIB_SINF@ |
1548 # if !@HAVE_SINF@ | |
1549 # undef sinf | |
1550 _GL_FUNCDECL_SYS (sinf, float, (float x)); | |
1551 # endif | |
1552 _GL_CXXALIAS_SYS (sinf, float, (float x)); | |
1553 _GL_CXXALIASWARN (sinf); | |
1554 #elif defined GNULIB_POSIXCHECK | |
1555 # undef sinf | |
1556 # if HAVE_RAW_DECL_SINF | |
1557 _GL_WARN_ON_USE (sinf, "sinf is unportable - " | |
1558 "use gnulib module sinf for portability"); | |
1559 # endif | |
1560 #endif | |
1561 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1562 #if @GNULIB_SINL@ |
13145
0ac425232626
math: Fix some C++ test errors on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13143
diff
changeset
|
1563 # if !@HAVE_SINL@ || !@HAVE_DECL_SINL@ |
16397
3dd8fb89c3a4
sinl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16396
diff
changeset
|
1564 # undef sinl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1565 _GL_FUNCDECL_SYS (sinl, long double, (long double x)); |
13145
0ac425232626
math: Fix some C++ test errors on Solaris 8 and Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13143
diff
changeset
|
1566 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1567 _GL_CXXALIAS_SYS (sinl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1568 _GL_CXXALIASWARN (sinl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1569 #elif defined GNULIB_POSIXCHECK |
9255 | 1570 # undef sinl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1571 # if HAVE_RAW_DECL_SINL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1572 _GL_WARN_ON_USE (sinl, "sinl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
1573 "use gnulib module sinl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1574 # endif |
9255 | 1575 #endif |
1576 | |
9285 | 1577 |
15893 | 1578 #if @GNULIB_SINHF@ |
1579 # if !@HAVE_SINHF@ | |
1580 # undef sinhf | |
1581 _GL_FUNCDECL_SYS (sinhf, float, (float x)); | |
1582 # endif | |
1583 _GL_CXXALIAS_SYS (sinhf, float, (float x)); | |
1584 _GL_CXXALIASWARN (sinhf); | |
1585 #elif defined GNULIB_POSIXCHECK | |
1586 # undef sinhf | |
1587 # if HAVE_RAW_DECL_SINHF | |
1588 _GL_WARN_ON_USE (sinhf, "sinhf is unportable - " | |
1589 "use gnulib module sinhf for portability"); | |
1590 # endif | |
1591 #endif | |
1592 | |
1593 | |
15857 | 1594 #if @GNULIB_SQRTF@ |
1595 # if !@HAVE_SQRTF@ | |
1596 # undef sqrtf | |
1597 _GL_FUNCDECL_SYS (sqrtf, float, (float x)); | |
1598 # endif | |
1599 _GL_CXXALIAS_SYS (sqrtf, float, (float x)); | |
1600 _GL_CXXALIASWARN (sqrtf); | |
1601 #elif defined GNULIB_POSIXCHECK | |
1602 # undef sqrtf | |
1603 # if HAVE_RAW_DECL_SQRTF | |
1604 _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - " | |
1605 "use gnulib module sqrtf for portability"); | |
1606 # endif | |
1607 #endif | |
1608 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1609 #if @GNULIB_SQRTL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1610 # if !@HAVE_SQRTL@ || !@HAVE_DECL_SQRTL@ |
16394
11a860d6f42d
sqrtl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16393
diff
changeset
|
1611 # undef sqrtl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1612 _GL_FUNCDECL_SYS (sqrtl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1613 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1614 _GL_CXXALIAS_SYS (sqrtl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1615 _GL_CXXALIASWARN (sqrtl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1616 #elif defined GNULIB_POSIXCHECK |
9255 | 1617 # undef sqrtl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1618 # if HAVE_RAW_DECL_SQRTL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1619 _GL_WARN_ON_USE (sqrtl, "sqrtl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
1620 "use gnulib module sqrtl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1621 # endif |
9255 | 1622 #endif |
1623 | |
9285 | 1624 |
15878 | 1625 #if @GNULIB_TANF@ |
1626 # if !@HAVE_TANF@ | |
1627 # undef tanf | |
1628 _GL_FUNCDECL_SYS (tanf, float, (float x)); | |
1629 # endif | |
1630 _GL_CXXALIAS_SYS (tanf, float, (float x)); | |
1631 _GL_CXXALIASWARN (tanf); | |
1632 #elif defined GNULIB_POSIXCHECK | |
1633 # undef tanf | |
1634 # if HAVE_RAW_DECL_TANF | |
1635 _GL_WARN_ON_USE (tanf, "tanf is unportable - " | |
1636 "use gnulib module tanf for portability"); | |
1637 # endif | |
1638 #endif | |
1639 | |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1640 #if @GNULIB_TANL@ |
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1641 # if !@HAVE_TANL@ || !@HAVE_DECL_TANL@ |
16399
bffe229960ad
tanl: Provide function definition on MSVC.
Bruno Haible <bruno@clisp.org>
parents:
16398
diff
changeset
|
1642 # undef tanl |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1643 _GL_FUNCDECL_SYS (tanl, long double, (long double x)); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1644 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1645 _GL_CXXALIAS_SYS (tanl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1646 _GL_CXXALIASWARN (tanl); |
12752
73d9dd27dc41
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Bruno Haible <bruno@clisp.org>
parents:
12726
diff
changeset
|
1647 #elif defined GNULIB_POSIXCHECK |
9255 | 1648 # undef tanl |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1649 # if HAVE_RAW_DECL_TANL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1650 _GL_WARN_ON_USE (tanl, "tanl is unportable - " |
16579
de008bfc0e6d
math: Update module names in warnings.
Bruno Haible <bruno@clisp.org>
parents:
16545
diff
changeset
|
1651 "use gnulib module tanl for portability"); |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1652 # endif |
9255 | 1653 #endif |
1654 | |
9285 | 1655 |
15899 | 1656 #if @GNULIB_TANHF@ |
1657 # if !@HAVE_TANHF@ | |
1658 # undef tanhf | |
1659 _GL_FUNCDECL_SYS (tanhf, float, (float x)); | |
1660 # endif | |
1661 _GL_CXXALIAS_SYS (tanhf, float, (float x)); | |
1662 _GL_CXXALIASWARN (tanhf); | |
1663 #elif defined GNULIB_POSIXCHECK | |
1664 # undef tanhf | |
1665 # if HAVE_RAW_DECL_TANHF | |
1666 _GL_WARN_ON_USE (tanhf, "tanhf is unportable - " | |
1667 "use gnulib module tanhf for portability"); | |
1668 # endif | |
1669 #endif | |
1670 | |
1671 | |
9285 | 1672 #if @GNULIB_TRUNCF@ |
13979 | 1673 # if @REPLACE_TRUNCF@ |
1674 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1675 # define truncf rpl_truncf | |
1676 # endif | |
1677 _GL_FUNCDECL_RPL (truncf, float, (float x)); | |
1678 _GL_CXXALIAS_RPL (truncf, float, (float x)); | |
1679 # else | |
1680 # if !@HAVE_DECL_TRUNCF@ | |
13143
cdede380a9a1
math: Fix some C++ test errors on Solaris 8.
Bruno Haible <bruno@clisp.org>
parents:
13142
diff
changeset
|
1681 _GL_FUNCDECL_SYS (truncf, float, (float x)); |
13979 | 1682 # endif |
1683 _GL_CXXALIAS_SYS (truncf, float, (float x)); | |
13143
cdede380a9a1
math: Fix some C++ test errors on Solaris 8.
Bruno Haible <bruno@clisp.org>
parents:
13142
diff
changeset
|
1684 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1685 _GL_CXXALIASWARN (truncf); |
9285 | 1686 #elif defined GNULIB_POSIXCHECK |
1687 # undef truncf | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1688 # if HAVE_RAW_DECL_TRUNCF |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1689 _GL_WARN_ON_USE (truncf, "truncf is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1690 "use gnulib module truncf for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1691 # endif |
9285 | 1692 #endif |
1693 | |
9282 | 1694 #if @GNULIB_TRUNC@ |
13983 | 1695 # if @REPLACE_TRUNC@ |
1696 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | |
1697 # define trunc rpl_trunc | |
1698 # endif | |
1699 _GL_FUNCDECL_RPL (trunc, double, (double x)); | |
1700 _GL_CXXALIAS_RPL (trunc, double, (double x)); | |
1701 # else | |
1702 # if !@HAVE_DECL_TRUNC@ | |
13143
cdede380a9a1
math: Fix some C++ test errors on Solaris 8.
Bruno Haible <bruno@clisp.org>
parents:
13142
diff
changeset
|
1703 _GL_FUNCDECL_SYS (trunc, double, (double x)); |
13983 | 1704 # endif |
1705 _GL_CXXALIAS_SYS (trunc, double, (double x)); | |
13143
cdede380a9a1
math: Fix some C++ test errors on Solaris 8.
Bruno Haible <bruno@clisp.org>
parents:
13142
diff
changeset
|
1706 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1707 _GL_CXXALIASWARN (trunc); |
9282 | 1708 #elif defined GNULIB_POSIXCHECK |
1709 # undef trunc | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1710 # if HAVE_RAW_DECL_TRUNC |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1711 _GL_WARN_ON_USE (trunc, "trunc is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1712 "use gnulib module trunc for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1713 # endif |
9282 | 1714 #endif |
1715 | |
9287 | 1716 #if @GNULIB_TRUNCL@ |
9913
d3f5a70dc1ba
Make truncl work on OSF/1 4.0.
Bruno Haible <bruno@clisp.org>
parents:
9898
diff
changeset
|
1717 # if @REPLACE_TRUNCL@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1718 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1719 # undef truncl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1720 # define truncl rpl_truncl |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1721 # endif |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1722 _GL_FUNCDECL_RPL (truncl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1723 _GL_CXXALIAS_RPL (truncl, long double, (long double x)); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1724 # else |
13142
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1725 # if !@HAVE_DECL_TRUNCL@ |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1726 _GL_FUNCDECL_SYS (truncl, long double, (long double x)); |
6b79b839590c
math: Fix some C++ test errors on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
13094
diff
changeset
|
1727 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1728 _GL_CXXALIAS_SYS (truncl, long double, (long double x)); |
9287 | 1729 # endif |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1730 _GL_CXXALIASWARN (truncl); |
9287 | 1731 #elif defined GNULIB_POSIXCHECK |
1732 # undef truncl | |
12766
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1733 # if HAVE_RAW_DECL_TRUNCL |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1734 _GL_WARN_ON_USE (truncl, "truncl is unportable - " |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1735 "use gnulib module truncl for portability"); |
2c14f1e449e5
warn-on-use: use instead of link-warning
Eric Blake <ebb9@byu.net>
parents:
12752
diff
changeset
|
1736 # endif |
9287 | 1737 #endif |
1738 | |
9418
5e7b33ec70ff
Add/remove some blank lines.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
1739 |
15840
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1740 /* Definitions of function-like macros come here, after the function |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1741 declarations. */ |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1742 |
61fe30185561
math: Sort function declarations of math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
15838
diff
changeset
|
1743 |
9414
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1744 #if @GNULIB_ISFINITE@ |
9423
fa47aa8bb105
Use REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
Bruno Haible <bruno@clisp.org>
parents:
9420
diff
changeset
|
1745 # if @REPLACE_ISFINITE@ |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1746 _GL_EXTERN_C int gl_isfinitef (float x); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1747 _GL_EXTERN_C int gl_isfinited (double x); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1748 _GL_EXTERN_C int gl_isfinitel (long double x); |
9414
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1749 # undef isfinite |
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1750 # define isfinite(x) \ |
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1751 (sizeof (x) == sizeof (long double) ? gl_isfinitel (x) : \ |
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1752 sizeof (x) == sizeof (double) ? gl_isfinited (x) : \ |
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1753 gl_isfinitef (x)) |
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1754 # endif |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1755 # ifdef __cplusplus |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1756 # ifdef isfinite |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1757 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isfinite) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1758 # undef isfinite |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1759 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isfinite) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1760 # endif |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1761 # endif |
9414
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1762 #elif defined GNULIB_POSIXCHECK |
12726
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1763 # if defined isfinite |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1764 _GL_WARN_REAL_FLOATING_DECL (isfinite); |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1765 # undef isfinite |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1766 # define isfinite(x) _GL_WARN_REAL_FLOATING_IMPL (isfinite, x) |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1767 # endif |
9414
1c5d0b856e8b
Implement 'isfinite' module.
Ben Pfaff <blp@cs.stanford.edu>
parents:
9413
diff
changeset
|
1768 #endif |
9255 | 1769 |
9418
5e7b33ec70ff
Add/remove some blank lines.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
1770 |
10287 | 1771 #if @GNULIB_ISINF@ |
1772 # if @REPLACE_ISINF@ | |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1773 _GL_EXTERN_C int gl_isinff (float x); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1774 _GL_EXTERN_C int gl_isinfd (double x); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1775 _GL_EXTERN_C int gl_isinfl (long double x); |
10287 | 1776 # undef isinf |
1777 # define isinf(x) \ | |
1778 (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \ | |
1779 sizeof (x) == sizeof (double) ? gl_isinfd (x) : \ | |
1780 gl_isinff (x)) | |
1781 # endif | |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1782 # ifdef __cplusplus |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1783 # ifdef isinf |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1784 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isinf) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1785 # undef isinf |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1786 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isinf) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1787 # endif |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1788 # endif |
10287 | 1789 #elif defined GNULIB_POSIXCHECK |
12726
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1790 # if defined isinf |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1791 _GL_WARN_REAL_FLOATING_DECL (isinf); |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1792 # undef isinf |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1793 # define isinf(x) _GL_WARN_REAL_FLOATING_IMPL (isinf, x) |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1794 # endif |
10287 | 1795 #endif |
1796 | |
1797 | |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1798 #if @GNULIB_ISNANF@ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1799 /* Test for NaN for 'float' numbers. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1800 # if @HAVE_ISNANF@ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1801 /* The original <math.h> included above provides a declaration of isnan macro |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1802 or (older) isnanf function. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1803 # if __GNUC__ >= 4 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1804 /* GCC 4.0 and newer provides three built-ins for isnan. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1805 # undef isnanf |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1806 # define isnanf(x) __builtin_isnanf ((float)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1807 # elif defined isnan |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1808 # undef isnanf |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1809 # define isnanf(x) isnan ((float)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1810 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1811 # else |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1812 /* Test whether X is a NaN. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1813 # undef isnanf |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1814 # define isnanf rpl_isnanf |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1815 _GL_EXTERN_C int isnanf (float x); |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1816 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1817 #endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1818 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1819 #if @GNULIB_ISNAND@ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1820 /* Test for NaN for 'double' numbers. |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1821 This function is a gnulib extension, unlike isnan() which applied only |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1822 to 'double' numbers earlier but now is a type-generic macro. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1823 # if @HAVE_ISNAND@ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1824 /* The original <math.h> included above provides a declaration of isnan |
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1825 macro. */ |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1826 # if __GNUC__ >= 4 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1827 /* GCC 4.0 and newer provides three built-ins for isnan. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1828 # undef isnand |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1829 # define isnand(x) __builtin_isnan ((double)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1830 # else |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1831 # undef isnand |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1832 # define isnand(x) isnan ((double)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1833 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1834 # else |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1835 /* Test whether X is a NaN. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1836 # undef isnand |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1837 # define isnand rpl_isnand |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1838 _GL_EXTERN_C int isnand (double x); |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1839 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1840 #endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1841 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1842 #if @GNULIB_ISNANL@ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1843 /* Test for NaN for 'long double' numbers. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1844 # if @HAVE_ISNANL@ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1845 /* The original <math.h> included above provides a declaration of isnan |
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1846 macro or (older) isnanl function. */ |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1847 # if __GNUC__ >= 4 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1848 /* GCC 4.0 and newer provides three built-ins for isnan. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1849 # undef isnanl |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1850 # define isnanl(x) __builtin_isnanl ((long double)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1851 # elif defined isnan |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1852 # undef isnanl |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1853 # define isnanl(x) isnan ((long double)(x)) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1854 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1855 # else |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1856 /* Test whether X is a NaN. */ |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1857 # undef isnanl |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1858 # define isnanl rpl_isnanl |
16128
6beadb731202
mark functions with const and pure attributes
Jim Meyering <meyering@redhat.com>
parents:
16042
diff
changeset
|
1859 _GL_EXTERN_C int isnanl (long double x) _GL_ATTRIBUTE_CONST; |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1860 # endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1861 #endif |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1862 |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1863 /* This must come *after* the snippets for GNULIB_ISNANF and GNULIB_ISNANL! */ |
10267 | 1864 #if @GNULIB_ISNAN@ |
1865 # if @REPLACE_ISNAN@ | |
1866 /* We can't just use the isnanf macro (e.g.) as exposed by | |
1867 isnanf.h (e.g.) here, because those may end up being macros | |
1868 that recursively expand back to isnan. So use the gnulib | |
1869 replacements for them directly. */ | |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1870 # if @HAVE_ISNANF@ && __GNUC__ >= 4 |
14060
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1871 # define gl_isnan_f(x) __builtin_isnanf ((float)(x)) |
10267 | 1872 # else |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1873 _GL_EXTERN_C int rpl_isnanf (float x); |
10267 | 1874 # define gl_isnan_f(x) rpl_isnanf (x) |
1875 # endif | |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1876 # if @HAVE_ISNAND@ && __GNUC__ >= 4 |
10267 | 1877 # define gl_isnan_d(x) __builtin_isnan ((double)(x)) |
1878 # else | |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1879 _GL_EXTERN_C int rpl_isnand (double x); |
10267 | 1880 # define gl_isnan_d(x) rpl_isnand (x) |
1881 # endif | |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10655
diff
changeset
|
1882 # if @HAVE_ISNANL@ && __GNUC__ >= 4 |
14060
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1883 # define gl_isnan_l(x) __builtin_isnanl ((long double)(x)) |
10267 | 1884 # else |
16128
6beadb731202
mark functions with const and pure attributes
Jim Meyering <meyering@redhat.com>
parents:
16042
diff
changeset
|
1885 _GL_EXTERN_C int rpl_isnanl (long double x) _GL_ATTRIBUTE_CONST; |
10267 | 1886 # define gl_isnan_l(x) rpl_isnanl (x) |
1887 # endif | |
1888 # undef isnan | |
1889 # define isnan(x) \ | |
1890 (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \ | |
1891 sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \ | |
1892 gl_isnan_f (x)) | |
14060
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1893 # elif __GNUC__ >= 4 |
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1894 # undef isnan |
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1895 # define isnan(x) \ |
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1896 (sizeof (x) == sizeof (long double) ? __builtin_isnanl ((long double)(x)) : \ |
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1897 sizeof (x) == sizeof (double) ? __builtin_isnan ((double)(x)) : \ |
99b3a26ce54b
isnan: Use GCC built-ins when possible.
Bruno Haible <bruno@clisp.org>
parents:
13983
diff
changeset
|
1898 __builtin_isnanf ((float)(x))) |
10267 | 1899 # endif |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1900 # ifdef __cplusplus |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1901 # ifdef isnan |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1902 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (isnan) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1903 # undef isnan |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1904 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (isnan) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1905 # endif |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1906 # else |
13960
51218504eb9d
isnan: Ensure it is a macro.
Bruno Haible <bruno@clisp.org>
parents:
13761
diff
changeset
|
1907 /* Ensure isnan is a macro. */ |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1908 # ifndef isnan |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1909 # define isnan isnan |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1910 # endif |
13960
51218504eb9d
isnan: Ensure it is a macro.
Bruno Haible <bruno@clisp.org>
parents:
13761
diff
changeset
|
1911 # endif |
10267 | 1912 #elif defined GNULIB_POSIXCHECK |
12726
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1913 # if defined isnan |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1914 _GL_WARN_REAL_FLOATING_DECL (isnan); |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1915 # undef isnan |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1916 # define isnan(x) _GL_WARN_REAL_FLOATING_IMPL (isnan, x) |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1917 # endif |
10267 | 1918 #endif |
1919 | |
1920 | |
9255 | 1921 #if @GNULIB_SIGNBIT@ |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1922 # if @REPLACE_SIGNBIT_USING_GCC@ |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1923 # undef signbit |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1924 /* GCC 4.0 and newer provides three built-ins for signbit. */ |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1925 # define signbit(x) \ |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1926 (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \ |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1927 sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \ |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1928 __builtin_signbitf (x)) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
1929 # endif |
9255 | 1930 # if @REPLACE_SIGNBIT@ |
1931 # undef signbit | |
12936
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1932 _GL_EXTERN_C int gl_signbitf (float arg); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1933 _GL_EXTERN_C int gl_signbitd (double arg); |
9be4aca41cee
math: Avoid #define replacements in C++ mode.
Bruno Haible <bruno@clisp.org>
parents:
12927
diff
changeset
|
1934 _GL_EXTERN_C int gl_signbitl (long double arg); |
15962
cfa1d5dbe78c
Support for old NeXTstep 3.3 gcc.
Daniel Richard G <skunk@iskunk.org>
parents:
15920
diff
changeset
|
1935 # if __GNUC__ >= 2 && !defined __STRICT_ANSI__ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1936 # define _GL_NUM_UINT_WORDS(type) \ |
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1937 ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) |
11506
d800366aa3fe
Avoid link error when creating a namespace clean library.
Bruno Haible <bruno@clisp.org>
parents:
10836
diff
changeset
|
1938 # if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf |
11525
0b09102d516e
Fix compilation error introduced on 2009-04-25.
Bruno Haible <bruno@clisp.org>
parents:
11506
diff
changeset
|
1939 # define gl_signbitf_OPTIMIZED_MACRO |
9255 | 1940 # define gl_signbitf(arg) \ |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1941 ({ union { float _value; \ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1942 unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \ |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1943 } _m; \ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1944 _m._value = (arg); \ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1945 (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \ |
9255 | 1946 }) |
1947 # endif | |
11506
d800366aa3fe
Avoid link error when creating a namespace clean library.
Bruno Haible <bruno@clisp.org>
parents:
10836
diff
changeset
|
1948 # if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd |
11525
0b09102d516e
Fix compilation error introduced on 2009-04-25.
Bruno Haible <bruno@clisp.org>
parents:
11506
diff
changeset
|
1949 # define gl_signbitd_OPTIMIZED_MACRO |
9255 | 1950 # define gl_signbitd(arg) \ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1951 ({ union { double _value; \ |
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1952 unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \ |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1953 } _m; \ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1954 _m._value = (arg); \ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1955 (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \ |
9255 | 1956 }) |
1957 # endif | |
11506
d800366aa3fe
Avoid link error when creating a namespace clean library.
Bruno Haible <bruno@clisp.org>
parents:
10836
diff
changeset
|
1958 # if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl |
11525
0b09102d516e
Fix compilation error introduced on 2009-04-25.
Bruno Haible <bruno@clisp.org>
parents:
11506
diff
changeset
|
1959 # define gl_signbitl_OPTIMIZED_MACRO |
9255 | 1960 # define gl_signbitl(arg) \ |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1961 ({ union { long double _value; \ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1962 unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \ |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1963 } _m; \ |
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
11741
diff
changeset
|
1964 _m._value = (arg); \ |
13758
e50f7d9e3040
Avoid some lines longer than 80 characters.
Paul Eggert <eggert@cs.ucla.edu>
parents:
13164
diff
changeset
|
1965 (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \ |
9255 | 1966 }) |
1967 # endif | |
1968 # endif | |
1969 # define signbit(x) \ | |
1970 (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \ | |
1971 sizeof (x) == sizeof (double) ? gl_signbitd (x) : \ | |
1972 gl_signbitf (x)) | |
1973 # endif | |
15982
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1974 # ifdef __cplusplus |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1975 # ifdef signbit |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1976 _GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1977 # undef signbit |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1978 _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit) |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1979 # endif |
a63613865d90
isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
Bruno Haible <bruno@clisp.org>
parents:
15962
diff
changeset
|
1980 # endif |
9255 | 1981 #elif defined GNULIB_POSIXCHECK |
12726
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1982 # if defined signbit |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1983 _GL_WARN_REAL_FLOATING_DECL (signbit); |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1984 # undef signbit |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1985 # define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x) |
d6da6e5f2f62
math: add portability warnings for classification macros
Eric Blake <ebb9@byu.net>
parents:
12559
diff
changeset
|
1986 # endif |
9255 | 1987 #endif |
1988 | |
1989 | |
14840
5f709022a256
Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents:
14274
diff
changeset
|
1990 #endif /* _@GUARD_PREFIX@_MATH_H */ |
5f709022a256
Allow multiple gnulib generated include files to be combined.
Bruno Haible <bruno@clisp.org>
parents:
14274
diff
changeset
|
1991 #endif /* _@GUARD_PREFIX@_MATH_H */ |