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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 /* A GNU-like <math.h>.
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
9
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13 GNU General Public License for more details.
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30
17168
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
31 _GL_INLINE_HEADER_BEGIN
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
32 #ifndef _GL_MATH_INLINE
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
33 # define _GL_MATH_INLINE _GL_INLINE
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
34 #endif
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
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
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
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
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
120 /* POSIX allows platforms that don't support NAN. But all major
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
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
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
131 _GL_MATH_INLINE float
9850
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
132 _NaN ()
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
133 {
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
134 static float zero = 0.0f;
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
135 return zero / zero;
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
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
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
142 # endif
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
143 #endif
7f3ed6b093be Guarantee a definition of NAN.
Eric Blake <ebb9@byu.net>
parents: 9645
diff changeset
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
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
209 #if @GNULIB_ACOSF@
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
210 # if !@HAVE_ACOSF@
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
211 # undef acosf
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
212 _GL_FUNCDECL_SYS (acosf, float, (float x));
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
213 # endif
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
214 _GL_CXXALIAS_SYS (acosf, float, (float x));
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
215 _GL_CXXALIASWARN (acosf);
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
216 #elif defined GNULIB_POSIXCHECK
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
217 # undef acosf
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
218 # if HAVE_RAW_DECL_ACOSF
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
219 _GL_WARN_ON_USE (acosf, "acosf is unportable - "
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
220 "use gnulib module acosf for portability");
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
221 # endif
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
222 #endif
c46fa8f14280 New module 'acosf'.
Bruno Haible <bruno@clisp.org>
parents: 15881
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
237 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
238
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
239
15881
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
240 #if @GNULIB_ASINF@
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
241 # if !@HAVE_ASINF@
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
242 # undef asinf
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
243 _GL_FUNCDECL_SYS (asinf, float, (float x));
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
244 # endif
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
245 _GL_CXXALIAS_SYS (asinf, float, (float x));
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
246 _GL_CXXALIASWARN (asinf);
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
247 #elif defined GNULIB_POSIXCHECK
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
248 # undef asinf
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
249 # if HAVE_RAW_DECL_ASINF
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
250 _GL_WARN_ON_USE (asinf, "asinf is unportable - "
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
251 "use gnulib module asinf for portability");
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
252 # endif
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
253 #endif
8ff52f1384c6 New module 'asinf'.
Bruno Haible <bruno@clisp.org>
parents: 15878
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
268 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
269
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
270
15887
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
271 #if @GNULIB_ATANF@
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
272 # if !@HAVE_ATANF@
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
273 # undef atanf
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
274 _GL_FUNCDECL_SYS (atanf, float, (float x));
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
275 # endif
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
276 _GL_CXXALIAS_SYS (atanf, float, (float x));
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
277 _GL_CXXALIASWARN (atanf);
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
278 #elif defined GNULIB_POSIXCHECK
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
279 # undef atanf
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
280 # if HAVE_RAW_DECL_ATANF
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
281 _GL_WARN_ON_USE (atanf, "atanf is unportable - "
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
282 "use gnulib module atanf for portability");
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
283 # endif
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
284 #endif
89c762414427 New module 'atanf'.
Bruno Haible <bruno@clisp.org>
parents: 15884
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
299 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
300
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
301
15890
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
302 #if @GNULIB_ATAN2F@
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
303 # if !@HAVE_ATAN2F@
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
304 # undef atan2f
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
305 _GL_FUNCDECL_SYS (atan2f, float, (float y, float x));
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
306 # endif
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
307 _GL_CXXALIAS_SYS (atan2f, float, (float y, float x));
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
308 _GL_CXXALIASWARN (atan2f);
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
309 #elif defined GNULIB_POSIXCHECK
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
310 # undef atan2f
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
311 # if HAVE_RAW_DECL_ATAN2F
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
312 _GL_WARN_ON_USE (atan2f, "atan2f is unportable - "
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
313 "use gnulib module atan2f for portability");
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
314 # endif
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
315 #endif
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
316
52fb6ed99832 New module 'atan2f'.
Bruno Haible <bruno@clisp.org>
parents: 15887
diff changeset
317
16534
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
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
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
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
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
331 # endif
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
332 _GL_CXXALIASWARN (cbrtf);
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
333 #elif defined GNULIB_POSIXCHECK
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
334 # undef cbrtf
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
335 # if HAVE_RAW_DECL_CBRTF
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
336 _GL_WARN_ON_USE (cbrtf, "cbrtf is unportable - "
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
337 "use gnulib module cbrtf for portability");
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
338 # endif
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
339 #endif
f2d8c70a9f81 New module 'cbrtf'.
Bruno Haible <bruno@clisp.org>
parents: 16533
diff changeset
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
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
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
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
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
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
368 # endif
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
369 _GL_CXXALIASWARN (cbrtl);
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
370 #elif defined GNULIB_POSIXCHECK
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
371 # undef cbrtl
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
372 # if HAVE_RAW_DECL_CBRTL
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
373 _GL_WARN_ON_USE (cbrtl, "cbrtl is unportable - "
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
374 "use gnulib module cbrtl for portability");
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
375 # endif
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
376 #endif
b4afb7c149dc New module 'cbrtl'.
Bruno Haible <bruno@clisp.org>
parents: 16534
diff changeset
377
16533
d91850ca525f cbrt: Provide replacement on MSVC and Minix.
Bruno Haible <bruno@clisp.org>
parents: 16532
diff changeset
378
9295
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
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
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
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
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
395 #elif defined GNULIB_POSIXCHECK
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
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
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
401 #endif
a19e5992f6f0 New module 'ceilf'.
Bruno Haible <bruno@clisp.org>
parents: 9293
diff changeset
402
13982
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
403 #if @GNULIB_CEIL@
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
404 # if @REPLACE_CEIL@
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
405 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
406 # define ceil rpl_ceil
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
407 # endif
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
408 _GL_FUNCDECL_RPL (ceil, double, (double x));
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
409 _GL_CXXALIAS_RPL (ceil, double, (double x));
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
410 # else
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
411 _GL_CXXALIAS_SYS (ceil, double, (double x));
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
412 # endif
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
413 _GL_CXXALIASWARN (ceil);
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
414 #endif
2c35dd380b9e New module 'ceil-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13981
diff changeset
415
9297
3191943555eb New module 'ceill'.
Bruno Haible <bruno@clisp.org>
parents: 9295
diff changeset
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
3191943555eb New module 'ceill'.
Bruno Haible <bruno@clisp.org>
parents: 9295
diff changeset
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
3191943555eb New module 'ceill'.
Bruno Haible <bruno@clisp.org>
parents: 9295
diff changeset
432 #elif defined GNULIB_POSIXCHECK
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
438 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
439
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
440
15911
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
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
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
443 _GL_FUNCDECL_SYS (copysignf, float, (float x, float y));
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
444 # endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
445 _GL_CXXALIAS_SYS (copysignf, float, (float x, float y));
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
446 _GL_CXXALIASWARN (copysignf);
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
447 #elif defined GNULIB_POSIXCHECK
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
448 # undef copysignf
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
449 # if HAVE_RAW_DECL_COPYSIGNF
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
450 _GL_WARN_ON_USE (copysignf, "copysignf is unportable - "
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
451 "use gnulib module copysignf for portability");
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
452 # endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
453 #endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
454
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
455 #if @GNULIB_COPYSIGN@
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
456 # if !@HAVE_COPYSIGN@
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
457 _GL_FUNCDECL_SYS (copysign, double, (double x, double y));
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
458 # endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
459 _GL_CXXALIAS_SYS (copysign, double, (double x, double y));
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
460 _GL_CXXALIASWARN (copysign);
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
461 #elif defined GNULIB_POSIXCHECK
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
462 # undef copysign
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
463 # if HAVE_RAW_DECL_COPYSIGN
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
464 _GL_WARN_ON_USE (copysign, "copysign is unportable - "
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
465 "use gnulib module copysign for portability");
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
466 # endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
467 #endif
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
468
15913
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
469 #if @GNULIB_COPYSIGNL@
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
470 # if !@HAVE_COPYSIGNL@
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
471 _GL_FUNCDECL_SYS (copysignl, long double, (long double x, long double y));
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
472 # endif
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
473 _GL_CXXALIAS_SYS (copysignl, long double, (long double x, long double y));
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
474 _GL_CXXALIASWARN (copysignl);
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
475 #elif defined GNULIB_POSIXCHECK
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
476 # undef copysignl
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
477 # if HAVE_RAW_DECL_COPYSIGNL
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
478 _GL_WARN_ON_USE (copysign, "copysignl is unportable - "
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
479 "use gnulib module copysignl for portability");
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
480 # endif
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
481 #endif
adefeca52f7d New module 'copysignl'.
Bruno Haible <bruno@clisp.org>
parents: 15911
diff changeset
482
15911
bc21ee3c09aa New module 'copysignf'.
Bruno Haible <bruno@clisp.org>
parents: 15908
diff changeset
483
15875
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
484 #if @GNULIB_COSF@
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
485 # if !@HAVE_COSF@
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
486 # undef cosf
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
487 _GL_FUNCDECL_SYS (cosf, float, (float x));
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
488 # endif
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
489 _GL_CXXALIAS_SYS (cosf, float, (float x));
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
490 _GL_CXXALIASWARN (cosf);
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
491 #elif defined GNULIB_POSIXCHECK
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
492 # undef cosf
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
493 # if HAVE_RAW_DECL_COSF
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
494 _GL_WARN_ON_USE (cosf, "cosf is unportable - "
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
495 "use gnulib module cosf for portability");
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
496 # endif
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
497 #endif
7eede30e6658 New module 'cosf'.
Bruno Haible <bruno@clisp.org>
parents: 15872
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
512 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
513
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
514
15896
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
515 #if @GNULIB_COSHF@
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
516 # if !@HAVE_COSHF@
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
517 # undef coshf
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
518 _GL_FUNCDECL_SYS (coshf, float, (float x));
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
519 # endif
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
520 _GL_CXXALIAS_SYS (coshf, float, (float x));
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
521 _GL_CXXALIASWARN (coshf);
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
522 #elif defined GNULIB_POSIXCHECK
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
523 # undef coshf
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
524 # if HAVE_RAW_DECL_COSHF
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
525 _GL_WARN_ON_USE (coshf, "coshf is unportable - "
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
526 "use gnulib module coshf for portability");
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
527 # endif
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
528 #endif
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
529
df1794ad8606 New module 'coshf'.
Bruno Haible <bruno@clisp.org>
parents: 15893
diff changeset
530
15860
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
531 #if @GNULIB_EXPF@
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
532 # if !@HAVE_EXPF@
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
533 # undef expf
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
534 _GL_FUNCDECL_SYS (expf, float, (float x));
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
535 # endif
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
536 _GL_CXXALIAS_SYS (expf, float, (float x));
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
537 _GL_CXXALIASWARN (expf);
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
538 #elif defined GNULIB_POSIXCHECK
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
539 # undef expf
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
540 # if HAVE_RAW_DECL_EXPF
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
541 _GL_WARN_ON_USE (expf, "expf is unportable - "
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
542 "use gnulib module expf for portability");
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
543 # endif
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
544 #endif
e6ff40a73d85 New module 'expf'.
Bruno Haible <bruno@clisp.org>
parents: 15857
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
559 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
560
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
561
16618
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
562 #if @GNULIB_EXP2F@
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
563 # if !@HAVE_DECL_EXP2F@
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
564 _GL_FUNCDECL_SYS (exp2f, float, (float x));
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
565 # endif
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
566 _GL_CXXALIAS_SYS (exp2f, float, (float x));
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
567 _GL_CXXALIASWARN (exp2f);
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
568 #elif defined GNULIB_POSIXCHECK
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
569 # undef exp2f
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
570 # if HAVE_RAW_DECL_EXP2F
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
571 _GL_WARN_ON_USE (exp2f, "exp2f is unportable - "
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
572 "use gnulib module exp2f for portability");
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
573 # endif
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
574 #endif
ca62953d33cd New module 'exp2f'.
Bruno Haible <bruno@clisp.org>
parents: 16616
diff changeset
575
16616
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
576 #if @GNULIB_EXP2@
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
577 # if @REPLACE_EXP2@
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
578 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
579 # undef exp2
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
580 # define exp2 rpl_exp2
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
581 # endif
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
582 _GL_FUNCDECL_RPL (exp2, double, (double x));
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
583 _GL_CXXALIAS_RPL (exp2, double, (double x));
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
584 # else
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
585 # if !@HAVE_DECL_EXP2@
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
586 _GL_FUNCDECL_SYS (exp2, double, (double x));
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
587 # endif
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
588 _GL_CXXALIAS_SYS (exp2, double, (double x));
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
589 # endif
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
590 _GL_CXXALIASWARN (exp2);
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
591 #elif defined GNULIB_POSIXCHECK
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
592 # undef exp2
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
593 # if HAVE_RAW_DECL_EXP2
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
594 _GL_WARN_ON_USE (exp2, "exp2 is unportable - "
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
595 "use gnulib module exp2 for portability");
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
596 # endif
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
597 #endif
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
598
16620
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
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
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
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
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
613 # endif
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
614 _GL_CXXALIASWARN (exp2l);
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
615 #elif defined GNULIB_POSIXCHECK
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
616 # undef exp2l
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
617 # if HAVE_RAW_DECL_EXP2L
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
618 _GL_WARN_ON_USE (exp2l, "exp2l is unportable - "
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
619 "use gnulib module exp2l for portability");
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
620 # endif
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
621 #endif
4a578c3945b8 New module 'exp2l'.
Bruno Haible <bruno@clisp.org>
parents: 16618
diff changeset
622
16616
2f2ef742aa4b New module 'exp2'.
Bruno Haible <bruno@clisp.org>
parents: 16612
diff changeset
623
16583
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
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
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
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
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
637 # endif
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
638 _GL_CXXALIASWARN (expm1f);
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
639 #elif defined GNULIB_POSIXCHECK
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
640 # undef expm1f
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
641 # if HAVE_RAW_DECL_EXPM1F
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
642 _GL_WARN_ON_USE (expm1f, "expm1f is unportable - "
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
643 "use gnulib module expm1f for portability");
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
644 # endif
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
645 #endif
258b00af8457 New module 'expm1f'.
Bruno Haible <bruno@clisp.org>
parents: 16581
diff changeset
646
16581
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
647 #if @GNULIB_EXPM1@
16588
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
648 # if @REPLACE_EXPM1@
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
649 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
650 # undef expm1
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
651 # define expm1 rpl_expm1
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
652 # endif
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
653 _GL_FUNCDECL_RPL (expm1, double, (double x));
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
654 _GL_CXXALIAS_RPL (expm1, double, (double x));
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
655 # else
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
656 # if !@HAVE_EXPM1@
16581
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
657 _GL_FUNCDECL_SYS (expm1, double, (double x));
16588
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
658 # endif
6312b64c2c23 New module 'expm1-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 16587
diff changeset
659 _GL_CXXALIAS_SYS (expm1, double, (double x));
16581
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
660 # endif
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
661 _GL_CXXALIASWARN (expm1);
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
662 #elif defined GNULIB_POSIXCHECK
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
663 # undef expm1
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
664 # if HAVE_RAW_DECL_EXPM1
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
665 _GL_WARN_ON_USE (expm1, "expm1 is unportable - "
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
666 "use gnulib module expm1 for portability");
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
667 # endif
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
668 #endif
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
669
16585
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
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
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
673 _GL_FUNCDECL_SYS (expm1l, long double, (long double x));
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
674 # endif
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
675 _GL_CXXALIAS_SYS (expm1l, long double, (long double x));
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
676 _GL_CXXALIASWARN (expm1l);
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
677 #elif defined GNULIB_POSIXCHECK
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
678 # undef expm1l
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
679 # if HAVE_RAW_DECL_EXPM1L
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
680 _GL_WARN_ON_USE (expm1l, "expm1l is unportable - "
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
681 "use gnulib module expm1l for portability");
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
682 # endif
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
683 #endif
e9d32ad2396a New module 'expm1l'.
Bruno Haible <bruno@clisp.org>
parents: 16583
diff changeset
684
16581
8e7ddab445f4 New module 'expm1'.
Bruno Haible <bruno@clisp.org>
parents: 16579
diff changeset
685
15828
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
686 #if @GNULIB_FABSF@
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
687 # if !@HAVE_FABSF@
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
688 # undef fabsf
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
689 _GL_FUNCDECL_SYS (fabsf, float, (float x));
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
690 # endif
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
691 _GL_CXXALIAS_SYS (fabsf, float, (float x));
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
692 _GL_CXXALIASWARN (fabsf);
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
693 #elif defined GNULIB_POSIXCHECK
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
694 # undef fabsf
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
695 # if HAVE_RAW_DECL_FABSF
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
696 _GL_WARN_ON_USE (fabsf, "fabsf is unportable - "
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
697 "use gnulib module fabsf for portability");
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
698 # endif
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
699 #endif
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
700
16405
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
701 #if @GNULIB_FABSL@
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
702 # if @REPLACE_FABSL@
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
703 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
704 # undef fabsl
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
705 # define fabsl rpl_fabsl
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
706 # endif
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
707 _GL_FUNCDECL_RPL (fabsl, long double, (long double x));
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
708 _GL_CXXALIAS_RPL (fabsl, long double, (long double x));
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
709 # else
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
710 # if !@HAVE_FABSL@
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
711 # undef fabsl
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
712 _GL_FUNCDECL_SYS (fabsl, long double, (long double x));
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
713 # endif
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
714 _GL_CXXALIAS_SYS (fabsl, long double, (long double x));
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
715 # endif
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
716 _GL_CXXALIASWARN (fabsl);
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
717 #elif defined GNULIB_POSIXCHECK
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
718 # undef fabsl
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
719 # if HAVE_RAW_DECL_FABSL
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
720 _GL_WARN_ON_USE (fabsl, "fabsl is unportable - "
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
721 "use gnulib module fabsl for portability");
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
722 # endif
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
723 #endif
e393287b3d95 New module 'fabsl'.
Bruno Haible <bruno@clisp.org>
parents: 16402
diff changeset
724
15828
36ce57192e3b New module 'fabsf'.
Bruno Haible <bruno@clisp.org>
parents: 15803
diff changeset
725
9291
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
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
6cd176ff76a4 math: Fix indentation.
Bruno Haible <bruno@clisp.org>
parents: 13960
diff changeset
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
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
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
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
742 #elif defined GNULIB_POSIXCHECK
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
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
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
748 #endif
5828ff66b473 New module 'floorf'.
Bruno Haible <bruno@clisp.org>
parents: 9287
diff changeset
749
13981
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
750 #if @GNULIB_FLOOR@
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
751 # if @REPLACE_FLOOR@
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
752 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
753 # define floor rpl_floor
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
754 # endif
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
755 _GL_FUNCDECL_RPL (floor, double, (double x));
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
756 _GL_CXXALIAS_RPL (floor, double, (double x));
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
757 # else
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
758 _GL_CXXALIAS_SYS (floor, double, (double x));
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
759 # endif
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
760 _GL_CXXALIASWARN (floor);
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
761 #endif
8a7dbd29e9a5 New module 'floor-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13979
diff changeset
762
9293
b4e0b96fc4ba New module 'floorl'.
Bruno Haible <bruno@clisp.org>
parents: 9291
diff changeset
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
b4e0b96fc4ba New module 'floorl'.
Bruno Haible <bruno@clisp.org>
parents: 9291
diff changeset
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
b4e0b96fc4ba New module 'floorl'.
Bruno Haible <bruno@clisp.org>
parents: 9291
diff changeset
779 #elif defined GNULIB_POSIXCHECK
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
785 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
786
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
787
16040
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
788 #if @GNULIB_FMAF@
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
789 # if @REPLACE_FMAF@
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
790 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
791 # undef fmaf
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
792 # define fmaf rpl_fmaf
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
793 # endif
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
794 _GL_FUNCDECL_RPL (fmaf, float, (float x, float y, float z));
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
795 _GL_CXXALIAS_RPL (fmaf, float, (float x, float y, float z));
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
796 # else
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
797 # if !@HAVE_FMAF@
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
798 _GL_FUNCDECL_SYS (fmaf, float, (float x, float y, float z));
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
799 # endif
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
800 _GL_CXXALIAS_SYS (fmaf, float, (float x, float y, float z));
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
801 # endif
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
802 _GL_CXXALIASWARN (fmaf);
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
803 #elif defined GNULIB_POSIXCHECK
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
804 # undef fmaf
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
805 # if HAVE_RAW_DECL_FMAF
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
806 _GL_WARN_ON_USE (fmaf, "fmaf is unportable - "
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
807 "use gnulib module fmaf for portability");
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
808 # endif
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
809 #endif
b8acd8099b25 New module 'fmaf'.
Bruno Haible <bruno@clisp.org>
parents: 16038
diff changeset
810
16038
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
811 #if @GNULIB_FMA@
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
812 # if @REPLACE_FMA@
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
813 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
814 # undef fma
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
815 # define fma rpl_fma
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
816 # endif
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
817 _GL_FUNCDECL_RPL (fma, double, (double x, double y, double z));
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
818 _GL_CXXALIAS_RPL (fma, double, (double x, double y, double z));
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
819 # else
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
820 # if !@HAVE_FMA@
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
821 _GL_FUNCDECL_SYS (fma, double, (double x, double y, double z));
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
822 # endif
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
823 _GL_CXXALIAS_SYS (fma, double, (double x, double y, double z));
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
824 # endif
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
825 _GL_CXXALIASWARN (fma);
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
826 #elif defined GNULIB_POSIXCHECK
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
827 # undef fma
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
828 # if HAVE_RAW_DECL_FMA
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
829 _GL_WARN_ON_USE (fma, "fma is unportable - "
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
830 "use gnulib module fma for portability");
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
831 # endif
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
832 #endif
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
833
16042
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
834 #if @GNULIB_FMAL@
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
835 # if @REPLACE_FMAL@
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
836 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
837 # undef fmal
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
838 # define fmal rpl_fmal
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
839 # endif
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
840 _GL_FUNCDECL_RPL (fmal, long double,
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
841 (long double x, long double y, long double z));
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
842 _GL_CXXALIAS_RPL (fmal, long double,
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
843 (long double x, long double y, long double z));
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
844 # else
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
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
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
847 _GL_FUNCDECL_SYS (fmal, long double,
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
848 (long double x, long double y, long double z));
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
849 # endif
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
850 _GL_CXXALIAS_SYS (fmal, long double,
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
851 (long double x, long double y, long double z));
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
852 # endif
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
853 _GL_CXXALIASWARN (fmal);
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
854 #elif defined GNULIB_POSIXCHECK
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
855 # undef fmal
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
856 # if HAVE_RAW_DECL_FMAL
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
857 _GL_WARN_ON_USE (fmal, "fmal is unportable - "
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
858 "use gnulib module fmal for portability");
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
859 # endif
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
860 #endif
40ce19578aff New module 'fmal'.
Bruno Haible <bruno@clisp.org>
parents: 16040
diff changeset
861
16038
8f14d00d6f24 New module 'fma'.
Bruno Haible <bruno@clisp.org>
parents: 15982
diff changeset
862
15832
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
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
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
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
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
877 # endif
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
878 _GL_CXXALIASWARN (fmodf);
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
879 #elif defined GNULIB_POSIXCHECK
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
880 # undef fmodf
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
881 # if HAVE_RAW_DECL_FMODF
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
882 _GL_WARN_ON_USE (fmodf, "fmodf is unportable - "
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
883 "use gnulib module fmodf for portability");
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
884 # endif
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
885 #endif
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
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
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
907 #if @GNULIB_FMODL@
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
908 # if @REPLACE_FMODL@
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
909 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
910 # undef fmodl
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
911 # define fmodl rpl_fmodl
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
912 # endif
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
913 _GL_FUNCDECL_RPL (fmodl, long double, (long double x, long double y));
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
914 _GL_CXXALIAS_RPL (fmodl, long double, (long double x, long double y));
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
915 # else
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
916 # if !@HAVE_FMODL@
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
917 # undef fmodl
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
918 _GL_FUNCDECL_SYS (fmodl, long double, (long double x, long double y));
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
919 # endif
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
920 _GL_CXXALIAS_SYS (fmodl, long double, (long double x, long double y));
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
921 # endif
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
922 _GL_CXXALIASWARN (fmodl);
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
923 #elif defined GNULIB_POSIXCHECK
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
924 # undef fmodl
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
925 # if HAVE_RAW_DECL_FMODL
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
926 _GL_WARN_ON_USE (fmodl, "fmodl is unportable - "
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
927 "use gnulib module fmodl for portability");
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
928 # endif
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
929 #endif
7a80e494e5e8 New module 'fmodl'.
Bruno Haible <bruno@clisp.org>
parents: 16408
diff changeset
930
15832
022f031c4bdf New module 'fmodf'.
Bruno Haible <bruno@clisp.org>
parents: 15828
diff changeset
931
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
932 /* Write x as
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
933 x = mantissa * 2^exp
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
934 where
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
935 If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
936 If x is zero: mantissa = x, exp = 0.
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
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
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
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
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
953 # endif
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
954 _GL_CXXALIASWARN (frexpf);
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
955 #elif defined GNULIB_POSIXCHECK
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
956 # undef frexpf
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
957 # if HAVE_RAW_DECL_FREXPF
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
958 _GL_WARN_ON_USE (frexpf, "frexpf is unportable - "
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
959 "use gnulib module frexpf for portability");
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
960 # endif
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
961 #endif
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
962
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
963 /* Write x as
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
964 x = mantissa * 2^exp
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
965 where
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
966 If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
967 If x is zero: mantissa = x, exp = 0.
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
968 If x is infinite or NaN: mantissa = x, exp unspecified.
d26d12e238e1 New module 'frexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15840
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1014 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1015 #if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1021 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1022
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1023
16514
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1024 /* Return sqrt(x^2+y^2). */
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1025 #if @GNULIB_HYPOTF@
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1026 # if @REPLACE_HYPOTF@
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1027 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1028 # undef hypotf
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1029 # define hypotf rpl_hypotf
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1030 # endif
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1031 _GL_FUNCDECL_RPL (hypotf, float, (float x, float y));
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1032 _GL_CXXALIAS_RPL (hypotf, float, (float x, float y));
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1033 # else
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1034 # if !@HAVE_HYPOTF@
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1035 _GL_FUNCDECL_SYS (hypotf, float, (float x, float y));
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1036 # endif
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1037 _GL_CXXALIAS_SYS (hypotf, float, (float x, float y));
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1038 # endif
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1039 _GL_CXXALIASWARN (hypotf);
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1040 #elif defined GNULIB_POSIXCHECK
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1041 # undef hypotf
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1042 # if HAVE_RAW_DECL_HYPOTF
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1043 _GL_WARN_ON_USE (hypotf, "hypotf is unportable - "
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1044 "use gnulib module hypotf for portability");
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1045 # endif
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1046 #endif
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1047
16519
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
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
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
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
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
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
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1083 # endif
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1084 _GL_CXXALIASWARN (hypotl);
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1085 #elif defined GNULIB_POSIXCHECK
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1086 # undef hypotl
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1087 # if HAVE_RAW_DECL_HYPOTL
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1088 _GL_WARN_ON_USE (hypotl, "hypotl is unportable - "
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1089 "use gnulib module hypotl for portability");
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1090 # endif
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1091 #endif
52c75970f518 New module 'hypotl'.
Bruno Haible <bruno@clisp.org>
parents: 16514
diff changeset
1092
16514
befd75611259 New module 'hypotf'.
Bruno Haible <bruno@clisp.org>
parents: 16510
diff changeset
1093
16766
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1094 #if @GNULIB_ILOGBF@
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1095 # if @REPLACE_ILOGBF@
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1096 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1097 # undef ilogbf
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1098 # define ilogbf rpl_ilogbf
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1099 # endif
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1100 _GL_FUNCDECL_RPL (ilogbf, int, (float x));
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1101 _GL_CXXALIAS_RPL (ilogbf, int, (float x));
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1102 # else
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1103 # if !@HAVE_ILOGBF@
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1104 _GL_FUNCDECL_SYS (ilogbf, int, (float x));
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1105 # endif
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1106 _GL_CXXALIAS_SYS (ilogbf, int, (float x));
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1107 # endif
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1108 _GL_CXXALIASWARN (ilogbf);
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1109 #elif defined GNULIB_POSIXCHECK
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1110 # undef ilogbf
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1111 # if HAVE_RAW_DECL_ILOGBF
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1112 _GL_WARN_ON_USE (ilogbf, "ilogbf is unportable - "
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1113 "use gnulib module ilogbf for portability");
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1114 # endif
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1115 #endif
4f4f1518fbab New module 'ilogbf'.
Bruno Haible <bruno@clisp.org>
parents: 16764
diff changeset
1116
16764
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1117 #if @GNULIB_ILOGB@
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1118 # if @REPLACE_ILOGB@
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1119 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1120 # undef ilogb
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1121 # define ilogb rpl_ilogb
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1122 # endif
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1123 _GL_FUNCDECL_RPL (ilogb, int, (double x));
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1124 _GL_CXXALIAS_RPL (ilogb, int, (double x));
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1125 # else
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1126 # if !@HAVE_ILOGB@
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1127 _GL_FUNCDECL_SYS (ilogb, int, (double x));
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1128 # endif
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1129 _GL_CXXALIAS_SYS (ilogb, int, (double x));
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1130 # endif
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1131 _GL_CXXALIASWARN (ilogb);
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1132 #elif defined GNULIB_POSIXCHECK
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1133 # undef ilogb
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1134 # if HAVE_RAW_DECL_ILOGB
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1135 _GL_WARN_ON_USE (ilogb, "ilogb is unportable - "
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1136 "use gnulib module ilogb for portability");
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1137 # endif
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1138 #endif
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1139
16768
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1140 #if @GNULIB_ILOGBL@
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1141 # if !@HAVE_ILOGBL@
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1142 _GL_FUNCDECL_SYS (ilogbl, int, (long double x));
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1143 # endif
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1144 _GL_CXXALIAS_SYS (ilogbl, int, (long double x));
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1145 _GL_CXXALIASWARN (ilogbl);
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1146 #elif defined GNULIB_POSIXCHECK
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1147 # undef ilogbl
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1148 # if HAVE_RAW_DECL_ILOGBL
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1149 _GL_WARN_ON_USE (ilogbl, "ilogbl is unportable - "
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1150 "use gnulib module ilogbl for portability");
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1151 # endif
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1152 #endif
cd4aba7fcd3e New module 'ilogbl'.
Bruno Haible <bruno@clisp.org>
parents: 16766
diff changeset
1153
16764
d48f227b07b4 New module 'ilogb'.
Bruno Haible <bruno@clisp.org>
parents: 16763
diff changeset
1154
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1155 /* Return x * 2^exp. */
15847
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1156 #if @GNULIB_LDEXPF@
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1157 # if !@HAVE_LDEXPF@
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1158 # undef ldexpf
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1159 _GL_FUNCDECL_SYS (ldexpf, float, (float x, int exp));
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1160 # endif
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1161 _GL_CXXALIAS_SYS (ldexpf, float, (float x, int exp));
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1162 _GL_CXXALIASWARN (ldexpf);
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1163 #elif defined GNULIB_POSIXCHECK
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1164 # undef ldexpf
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1165 # if HAVE_RAW_DECL_LDEXPF
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1166 _GL_WARN_ON_USE (ldexpf, "ldexpf is unportable - "
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1167 "use gnulib module ldexpf for portability");
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1168 # endif
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1169 #endif
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1170
cd98f212217e New module 'ldexpf'.
Bruno Haible <bruno@clisp.org>
parents: 15845
diff changeset
1171 /* Return x * 2^exp. */
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1189 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1190 #if !@GNULIB_LDEXPL@ && defined GNULIB_POSIXCHECK
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1196 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1197
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1198
15863
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
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
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
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
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1213 # endif
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1214 _GL_CXXALIASWARN (logf);
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1215 #elif defined GNULIB_POSIXCHECK
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1216 # undef logf
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1217 # if HAVE_RAW_DECL_LOGF
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1218 _GL_WARN_ON_USE (logf, "logf is unportable - "
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1219 "use gnulib module logf for portability");
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1220 # endif
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
1221 #endif
c2fa2febdb1f New module 'logf'.
Bruno Haible <bruno@clisp.org>
parents: 15860
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1265 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1266
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1267
15866
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
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
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
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
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1282 # endif
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1283 _GL_CXXALIASWARN (log10f);
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1284 #elif defined GNULIB_POSIXCHECK
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1285 # undef log10f
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1286 # if HAVE_RAW_DECL_LOG10F
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1287 _GL_WARN_ON_USE (log10f, "log10f is unportable - "
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1288 "use gnulib module log10f for portability");
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1289 # endif
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1290 #endif
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
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
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
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
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
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
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1326 # endif
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1327 _GL_CXXALIASWARN (log10l);
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1328 #elif defined GNULIB_POSIXCHECK
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1329 # undef log10l
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1330 # if HAVE_RAW_DECL_LOG10L
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1331 _GL_WARN_ON_USE (log10l, "log10l is unportable - "
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1332 "use gnulib module log10l for portability");
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1333 # endif
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1334 #endif
271a263949d9 New module 'log10l'.
Bruno Haible <bruno@clisp.org>
parents: 16415
diff changeset
1335
15866
215da3b412e0 New module 'log10f'.
Bruno Haible <bruno@clisp.org>
parents: 15863
diff changeset
1336
16657
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1337 #if @GNULIB_LOG1PF@
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1338 # if @REPLACE_LOG1PF@
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1339 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1340 # undef log1pf
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1341 # define log1pf rpl_log1pf
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1342 # endif
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1343 _GL_FUNCDECL_RPL (log1pf, float, (float x));
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1344 _GL_CXXALIAS_RPL (log1pf, float, (float x));
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1345 # else
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1346 # if !@HAVE_LOG1PF@
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1347 _GL_FUNCDECL_SYS (log1pf, float, (float x));
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1348 # endif
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1349 _GL_CXXALIAS_SYS (log1pf, float, (float x));
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1350 # endif
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1351 _GL_CXXALIASWARN (log1pf);
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1352 #elif defined GNULIB_POSIXCHECK
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1353 # undef log1pf
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1354 # if HAVE_RAW_DECL_LOG1PF
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1355 _GL_WARN_ON_USE (log1pf, "log1pf is unportable - "
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1356 "use gnulib module log1pf for portability");
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1357 # endif
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
1358 #endif
86d5719ce2ff New module 'log1pf'.
Bruno Haible <bruno@clisp.org>
parents: 16655
diff changeset
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
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
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
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
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
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1396 # endif
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1397 _GL_CXXALIASWARN (log1pl);
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1398 #elif defined GNULIB_POSIXCHECK
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1399 # undef log1pl
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1400 # if HAVE_RAW_DECL_LOG1PL
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1401 _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1402 "use gnulib module log1pl for portability");
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1403 # endif
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1404 #endif
28ba2c8d945e New module 'log1pl'.
Bruno Haible <bruno@clisp.org>
parents: 16657
diff changeset
1405
16655
e1c84de792a7 log1p: Provide replacement for Minix and MSVC.
Bruno Haible <bruno@clisp.org>
parents: 16633
diff changeset
1406
16678
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1407 #if @GNULIB_LOG2F@
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1408 # if @REPLACE_LOG2F@
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1409 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1410 # undef log2f
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1411 # define log2f rpl_log2f
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1412 # endif
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1413 _GL_FUNCDECL_RPL (log2f, float, (float x));
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1414 _GL_CXXALIAS_RPL (log2f, float, (float x));
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1415 # else
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1416 # if !@HAVE_DECL_LOG2F@
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1417 # undef log2f
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1418 _GL_FUNCDECL_SYS (log2f, float, (float x));
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1419 # endif
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1420 _GL_CXXALIAS_SYS (log2f, float, (float x));
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1421 # endif
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1422 _GL_CXXALIASWARN (log2f);
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1423 #elif defined GNULIB_POSIXCHECK
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1424 # undef log2f
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1425 # if HAVE_RAW_DECL_LOG2F
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1426 _GL_WARN_ON_USE (log2f, "log2f is unportable - "
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1427 "use gnulib module log2f for portability");
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1428 # endif
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1429 #endif
2f6973f75a06 New module 'log2f'.
Bruno Haible <bruno@clisp.org>
parents: 16676
diff changeset
1430
16676
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1431 #if @GNULIB_LOG2@
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1432 # if @REPLACE_LOG2@
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1433 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1434 # undef log2
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1435 # define log2 rpl_log2
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1436 # endif
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1437 _GL_FUNCDECL_RPL (log2, double, (double x));
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1438 _GL_CXXALIAS_RPL (log2, double, (double x));
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1439 # else
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1440 # if !@HAVE_DECL_LOG2@
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1441 # undef log2
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1442 _GL_FUNCDECL_SYS (log2, double, (double x));
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1443 # endif
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1444 _GL_CXXALIAS_SYS (log2, double, (double x));
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1445 # endif
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1446 _GL_CXXALIASWARN (log2);
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1447 #elif defined GNULIB_POSIXCHECK
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1448 # undef log2
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1449 # if HAVE_RAW_DECL_LOG2
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1450 _GL_WARN_ON_USE (log2, "log2 is unportable - "
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1451 "use gnulib module log2 for portability");
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1452 # endif
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1453 #endif
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1454
16680
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1455 #if @GNULIB_LOG2L@
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1456 # if @REPLACE_LOG2L@
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1457 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1458 # undef log2l
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1459 # define log2l rpl_log2l
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1460 # endif
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1461 _GL_FUNCDECL_RPL (log2l, long double, (long double x));
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1462 _GL_CXXALIAS_RPL (log2l, long double, (long double x));
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1463 # else
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1464 # if !@HAVE_DECL_LOG2L@
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1465 _GL_FUNCDECL_SYS (log2l, long double, (long double x));
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1466 # endif
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1467 _GL_CXXALIAS_SYS (log2l, long double, (long double x));
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1468 # endif
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1469 _GL_CXXALIASWARN (log2l);
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1470 #elif defined GNULIB_POSIXCHECK
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1471 # undef log2l
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1472 # if HAVE_RAW_DECL_LOG2L
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1473 _GL_WARN_ON_USE (log2l, "log2l is unportable - "
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1474 "use gnulib module log2l for portability");
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1475 # endif
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1476 #endif
fcdfd8bdad38 New module 'log2l'.
Bruno Haible <bruno@clisp.org>
parents: 16678
diff changeset
1477
16676
e9598f93f892 New module 'log2'.
Bruno Haible <bruno@clisp.org>
parents: 16670
diff changeset
1478
16753
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1479 #if @GNULIB_LOGBF@
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1480 # if @REPLACE_LOGBF@
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1481 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1482 # undef logbf
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1483 # define logbf rpl_logbf
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1484 # endif
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1485 _GL_FUNCDECL_RPL (logbf, float, (float x));
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1486 _GL_CXXALIAS_RPL (logbf, float, (float x));
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1487 # else
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1488 # if !@HAVE_LOGBF@
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1489 _GL_FUNCDECL_SYS (logbf, float, (float x));
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1490 # endif
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1491 _GL_CXXALIAS_SYS (logbf, float, (float x));
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1492 # endif
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1493 _GL_CXXALIASWARN (logbf);
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1494 #elif defined GNULIB_POSIXCHECK
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1495 # undef logbf
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1496 # if HAVE_RAW_DECL_LOGBF
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1497 _GL_WARN_ON_USE (logbf, "logbf is unportable - "
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1498 "use gnulib module logbf for portability");
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1499 # endif
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
1500 #endif
0f9a8ebc12c1 New module 'logbf'.
Bruno Haible <bruno@clisp.org>
parents: 16751
diff changeset
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
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1525 #if @GNULIB_LOGBL@
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1526 # if @REPLACE_LOGBL@
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1527 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1528 # undef logbl
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1529 # define logbl rpl_logbl
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1530 # endif
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1531 _GL_FUNCDECL_RPL (logbl, long double, (long double x));
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1532 _GL_CXXALIAS_RPL (logbl, long double, (long double x));
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1533 # else
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1534 # if !@HAVE_LOGBL@
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1535 _GL_FUNCDECL_SYS (logbl, long double, (long double x));
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1536 # endif
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1537 _GL_CXXALIAS_SYS (logbl, long double, (long double x));
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1538 # endif
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1539 _GL_CXXALIASWARN (logbl);
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1540 #elif defined GNULIB_POSIXCHECK
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1541 # undef logbl
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1542 # if HAVE_RAW_DECL_LOGBL
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1543 _GL_WARN_ON_USE (logbl, "logbl is unportable - "
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1544 "use gnulib module logbl for portability");
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1545 # endif
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1546 #endif
5320f2305736 New module 'logbl'.
Bruno Haible <bruno@clisp.org>
parents: 16753
diff changeset
1547
16751
9d599e388a0f logb: Provide replacement and workarounds.
Bruno Haible <bruno@clisp.org>
parents: 16738
diff changeset
1548
15838
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
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
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
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
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1563 # endif
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1564 _GL_CXXALIASWARN (modff);
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1565 #elif defined GNULIB_POSIXCHECK
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1566 # undef modff
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1567 # if HAVE_RAW_DECL_MODFF
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1568 _GL_WARN_ON_USE (modff, "modff is unportable - "
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1569 "use gnulib module modff for portability");
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1570 # endif
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1571 #endif
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
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
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
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
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1605 _GL_FUNCDECL_SYS (modfl, long double, (long double x, long double *iptr)
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
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
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1609 # endif
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1610 _GL_CXXALIASWARN (modfl);
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1611 #elif defined GNULIB_POSIXCHECK
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1612 # undef modfl
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1613 # if HAVE_RAW_DECL_MODFL
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1614 _GL_WARN_ON_USE (modfl, "modfl is unportable - "
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1615 "use gnulib module modfl for portability");
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1616 # endif
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1617 #endif
b895d48831cd New module 'modfl'.
Bruno Haible <bruno@clisp.org>
parents: 16405
diff changeset
1618
15838
0e07b354626a New module 'modff'.
Bruno Haible <bruno@clisp.org>
parents: 15832
diff changeset
1619
15869
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1620 #if @GNULIB_POWF@
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1621 # if !@HAVE_POWF@
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1622 # undef powf
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1623 _GL_FUNCDECL_SYS (powf, float, (float x, float y));
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1624 # endif
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1625 _GL_CXXALIAS_SYS (powf, float, (float x, float y));
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1626 _GL_CXXALIASWARN (powf);
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1627 #elif defined GNULIB_POSIXCHECK
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1628 # undef powf
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1629 # if HAVE_RAW_DECL_POWF
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1630 _GL_WARN_ON_USE (powf, "powf is unportable - "
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1631 "use gnulib module powf for portability");
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1632 # endif
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1633 #endif
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1634
7fb8367bf966 New module 'powf'.
Bruno Haible <bruno@clisp.org>
parents: 15866
diff changeset
1635
16413
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
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
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
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
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1649 # endif
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1650 _GL_CXXALIASWARN (remainderf);
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1651 #elif defined GNULIB_POSIXCHECK
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1652 # undef remainderf
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1653 # if HAVE_RAW_DECL_REMAINDERF
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1654 _GL_WARN_ON_USE (remainderf, "remainderf is unportable - "
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1655 "use gnulib module remainderf for portability");
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1656 # endif
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
1657 #endif
3a9564d7a3a5 New module 'remainderf'.
Bruno Haible <bruno@clisp.org>
parents: 16412
diff changeset
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
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
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
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
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
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1696 # endif
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1697 _GL_CXXALIASWARN (remainderl);
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1698 #elif defined GNULIB_POSIXCHECK
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1699 # undef remainderl
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1700 # if HAVE_RAW_DECL_REMAINDERL
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1701 _GL_WARN_ON_USE (remainderl, "remainderl is unportable - "
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1702 "use gnulib module remainderl for portability");
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1703 # endif
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1704 #endif
7dac4948337f New module 'remainderl'.
Bruno Haible <bruno@clisp.org>
parents: 16413
diff changeset
1705
16412
a50ff00ce4ee remainder: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 16410
diff changeset
1706
15918
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
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
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1709 _GL_FUNCDECL_SYS (rintf, float, (float x));
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1710 # endif
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1711 _GL_CXXALIAS_SYS (rintf, float, (float x));
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1712 _GL_CXXALIASWARN (rintf);
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1713 #elif defined GNULIB_POSIXCHECK
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1714 # undef rintf
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1715 # if HAVE_RAW_DECL_RINTF
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1716 _GL_WARN_ON_USE (rintf, "rintf is unportable - "
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1717 "use gnulib module rintf for portability");
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1718 # endif
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1719 #endif
1ffbb15d4325 New module 'rintf'.
Bruno Haible <bruno@clisp.org>
parents: 15917
diff changeset
1720
15917
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1721 #if @GNULIB_RINT@
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1722 # if !@HAVE_RINT@
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1723 _GL_FUNCDECL_SYS (rint, double, (double x));
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1724 # endif
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1725 _GL_CXXALIAS_SYS (rint, double, (double x));
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1726 _GL_CXXALIASWARN (rint);
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1727 #elif defined GNULIB_POSIXCHECK
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1728 # undef rint
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1729 # if HAVE_RAW_DECL_RINT
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1730 _GL_WARN_ON_USE (rint, "rint is unportable - "
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1731 "use gnulib module rint for portability");
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1732 # endif
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1733 #endif
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
1734
15920
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1735 #if @GNULIB_RINTL@
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1736 # if !@HAVE_RINTL@
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1737 _GL_FUNCDECL_SYS (rintl, long double, (long double x));
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1738 # endif
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1739 _GL_CXXALIAS_SYS (rintl, long double, (long double x));
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1740 _GL_CXXALIASWARN (rintl);
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1741 #elif defined GNULIB_POSIXCHECK
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1742 # undef rintl
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1743 # if HAVE_RAW_DECL_RINTL
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1744 _GL_WARN_ON_USE (rintl, "rintl is unportable - "
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1745 "use gnulib module rintl for portability");
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1746 # endif
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1747 #endif
44844e6a23a1 New module 'rintl'.
Bruno Haible <bruno@clisp.org>
parents: 15918
diff changeset
1748
15917
2a90104cab5b rint: Support for MSVC.
Bruno Haible <bruno@clisp.org>
parents: 15913
diff changeset
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
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1821 #if @GNULIB_SINF@
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1822 # if !@HAVE_SINF@
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1823 # undef sinf
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1824 _GL_FUNCDECL_SYS (sinf, float, (float x));
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1825 # endif
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1826 _GL_CXXALIAS_SYS (sinf, float, (float x));
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1827 _GL_CXXALIASWARN (sinf);
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1828 #elif defined GNULIB_POSIXCHECK
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1829 # undef sinf
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1830 # if HAVE_RAW_DECL_SINF
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1831 _GL_WARN_ON_USE (sinf, "sinf is unportable - "
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1832 "use gnulib module sinf for portability");
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1833 # endif
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
1834 #endif
83e1d08997e4 New module 'sinf'.
Bruno Haible <bruno@clisp.org>
parents: 15869
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1849 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1850
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1851
15893
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1852 #if @GNULIB_SINHF@
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1853 # if !@HAVE_SINHF@
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1854 # undef sinhf
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1855 _GL_FUNCDECL_SYS (sinhf, float, (float x));
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1856 # endif
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1857 _GL_CXXALIAS_SYS (sinhf, float, (float x));
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1858 _GL_CXXALIASWARN (sinhf);
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1859 #elif defined GNULIB_POSIXCHECK
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1860 # undef sinhf
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1861 # if HAVE_RAW_DECL_SINHF
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1862 _GL_WARN_ON_USE (sinhf, "sinhf is unportable - "
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1863 "use gnulib module sinhf for portability");
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1864 # endif
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1865 #endif
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1866
792aac7b45c4 New module 'sinhf'.
Bruno Haible <bruno@clisp.org>
parents: 15890
diff changeset
1867
15857
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1868 #if @GNULIB_SQRTF@
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1869 # if !@HAVE_SQRTF@
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1870 # undef sqrtf
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1871 _GL_FUNCDECL_SYS (sqrtf, float, (float x));
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1872 # endif
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1873 _GL_CXXALIAS_SYS (sqrtf, float, (float x));
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1874 _GL_CXXALIASWARN (sqrtf);
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1875 #elif defined GNULIB_POSIXCHECK
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1876 # undef sqrtf
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1877 # if HAVE_RAW_DECL_SQRTF
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1878 _GL_WARN_ON_USE (sqrtf, "sqrtf is unportable - "
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1879 "use gnulib module sqrtf for portability");
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1880 # endif
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
1881 #endif
6b8400199763 New module 'sqrtf'.
Bruno Haible <bruno@clisp.org>
parents: 15847
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1905 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1906
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1907
15878
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1908 #if @GNULIB_TANF@
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1909 # if !@HAVE_TANF@
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1910 # undef tanf
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1911 _GL_FUNCDECL_SYS (tanf, float, (float x));
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1912 # endif
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1913 _GL_CXXALIAS_SYS (tanf, float, (float x));
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1914 _GL_CXXALIASWARN (tanf);
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1915 #elif defined GNULIB_POSIXCHECK
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1916 # undef tanf
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1917 # if HAVE_RAW_DECL_TANF
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1918 _GL_WARN_ON_USE (tanf, "tanf is unportable - "
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1919 "use gnulib module tanf for portability");
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1920 # endif
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
1921 #endif
c0c190f3cccb New module 'tanf'.
Bruno Haible <bruno@clisp.org>
parents: 15875
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1936 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1937
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1938
15899
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1939 #if @GNULIB_TANHF@
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1940 # if !@HAVE_TANHF@
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1941 # undef tanhf
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1942 _GL_FUNCDECL_SYS (tanhf, float, (float x));
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1943 # endif
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1944 _GL_CXXALIAS_SYS (tanhf, float, (float x));
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1945 _GL_CXXALIASWARN (tanhf);
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1946 #elif defined GNULIB_POSIXCHECK
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1947 # undef tanhf
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1948 # if HAVE_RAW_DECL_TANHF
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1949 _GL_WARN_ON_USE (tanhf, "tanhf is unportable - "
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1950 "use gnulib module tanhf for portability");
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1951 # endif
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1952 #endif
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1953
31b76bf2f9e4 New module 'tanhf'.
Bruno Haible <bruno@clisp.org>
parents: 15896
diff changeset
1954
9285
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1955 #if @GNULIB_TRUNCF@
13979
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1956 # if @REPLACE_TRUNCF@
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1957 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1958 # define truncf rpl_truncf
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1959 # endif
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1960 _GL_FUNCDECL_RPL (truncf, float, (float x));
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1961 _GL_CXXALIAS_RPL (truncf, float, (float x));
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1962 # else
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
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
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
1965 # endif
84d7ae75b38f New module 'truncf-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13973
diff changeset
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
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1969 #elif defined GNULIB_POSIXCHECK
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
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
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1975 #endif
79e67a783774 New module 'truncf'.
Bruno Haible <bruno@clisp.org>
parents: 9282
diff changeset
1976
9282
9a26e94f946a New module 'trunc'.
Bruno Haible <bruno@clisp.org>
parents: 9255
diff changeset
1977 #if @GNULIB_TRUNC@
13983
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1978 # if @REPLACE_TRUNC@
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1979 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1980 # define trunc rpl_trunc
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1981 # endif
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1982 _GL_FUNCDECL_RPL (trunc, double, (double x));
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1983 _GL_CXXALIAS_RPL (trunc, double, (double x));
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1984 # else
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
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
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
1987 # endif
ace70389132d New module 'trunc-ieee'.
Bruno Haible <bruno@clisp.org>
parents: 13982
diff changeset
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
9a26e94f946a New module 'trunc'.
Bruno Haible <bruno@clisp.org>
parents: 9255
diff changeset
1991 #elif defined GNULIB_POSIXCHECK
9a26e94f946a New module 'trunc'.
Bruno Haible <bruno@clisp.org>
parents: 9255
diff changeset
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
9a26e94f946a New module 'trunc'.
Bruno Haible <bruno@clisp.org>
parents: 9255
diff changeset
1997 #endif
9a26e94f946a New module 'trunc'.
Bruno Haible <bruno@clisp.org>
parents: 9255
diff changeset
1998
9287
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
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
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
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
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
2014 #elif defined GNULIB_POSIXCHECK
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
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
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
2020 #endif
ec7800681aff New module 'truncl'.
Bruno Haible <bruno@clisp.org>
parents: 9285
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2052
9418
5e7b33ec70ff Add/remove some blank lines.
Bruno Haible <bruno@clisp.org>
parents: 9414
diff changeset
2053
10287
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2054 #if @GNULIB_ISINF@
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
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
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2059 # undef isinf
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2060 # define isinf(x) \
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2061 (sizeof (x) == sizeof (long double) ? gl_isinfl (x) : \
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2062 sizeof (x) == sizeof (double) ? gl_isinfd (x) : \
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2063 gl_isinff (x))
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
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
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
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
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2078 #endif
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
2079
7a5cfea8469f Add isinf module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 10267
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2147 #if @GNULIB_ISNAN@
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2148 # if @REPLACE_ISNAN@
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2149 /* We can't just use the isnanf macro (e.g.) as exposed by
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2150 isnanf.h (e.g.) here, because those may end up being macros
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2151 that recursively expand back to isnan. So use the gnulib
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2157 # define gl_isnan_f(x) rpl_isnanf (x)
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2160 # define gl_isnan_d(x) __builtin_isnan ((double)(x))
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2163 # define gl_isnan_d(x) rpl_isnand (x)
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2169 # define gl_isnan_l(x) rpl_isnanl (x)
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2170 # endif
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2171 # undef isnan
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2172 # define isnan(x) \
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2173 (sizeof (x) == sizeof (long double) ? gl_isnan_l (x) : \
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2174 sizeof (x) == sizeof (double) ? gl_isnan_d (x) : \
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
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
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2201 #endif
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2202
bf763f10f63c Add isnan module.
Ben Pfaff <blp@cs.stanford.edu>
parents: 9913
diff changeset
2203
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2213 # if @REPLACE_SIGNBIT@
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2229 })
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2239 })
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2249 })
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2250 # endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2251 # endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2252 # define signbit(x) \
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2253 (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2254 sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2255 gl_signbitf (x))
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2270 #endif
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
2271
17168
1b3c19ad4b17 math: better 'inline'
Paul Eggert <eggert@cs.ucla.edu>
parents: 16768
diff changeset
2272 _GL_INLINE_HEADER_END
9255
590a8ac4bca4 Rename math_.h to math.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
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 */