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