1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: #ifndef _COMPLEX_H
24: #define _COMPLEX_H 1
25:
26: #include <features.h>
27:
28:
29: #include <bits/mathdef.h>
30:
31: __BEGIN_DECLS
32:
33:
34:
35:
36: #if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)
37: # define _Complex __complex__
38: #endif
39:
40: #define complex _Complex
41:
42:
43:
44:
45: #define _Complex_I (__extension__ 1.0iF)
46:
47:
48:
49: #undef I
50: #define I _Complex_I
51:
52:
53:
54:
55:
56:
57: #define __MATHCALL(function, args) \
58: __MATHDECL (_Mdouble_complex_,function, args)
59: #define __MATHDECL(type, function, args) \
60: __MATHDECL_1(type, function, args); \
61: __MATHDECL_1(type, __CONCAT(__,function), args)
62: #define __MATHDECL_1(type, function, args) \
63: extern type __MATH_PRECNAME(function) args __THROW
64:
65: #define _Mdouble_ double
66: #define __MATH_PRECNAME(name) name
67: #include <bits/cmathcalls.h>
68: #undef _Mdouble_
69: #undef __MATH_PRECNAME
70:
71:
72: #ifndef _Mfloat_
73: # define _Mfloat_ float
74: #endif
75: #define _Mdouble_ _Mfloat_
76: #ifdef __STDC__
77: # define __MATH_PRECNAME(name) name##f
78: #else
79: # define __MATH_PRECNAME(name) namef
80: #endif
81: #include <bits/cmathcalls.h>
82: #undef _Mdouble_
83: #undef __MATH_PRECNAME
84:
85:
86:
87: #if (__STDC__ - 0 || __GNUC__ - 0) \
88: && (!defined __NO_LONG_DOUBLE_MATH || defined __LDBL_COMPAT)
89: # ifdef __LDBL_COMPAT
90: # undef __MATHDECL_1
91: # define __MATHDECL_1(type, function, args) \
92: extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function)
93: # endif
94:
95: # ifndef _Mlong_double_
96: # define _Mlong_double_ long double
97: # endif
98: # define _Mdouble_ _Mlong_double_
99: # ifdef __STDC__
100: # define __MATH_PRECNAME(name) name##l
101: # else
102: # define __MATH_PRECNAME(name) namel
103: # endif
104: # include <bits/cmathcalls.h>
105: #endif
106: #undef _Mdouble_
107: #undef __MATH_PRECNAME
108: #undef __MATHDECL_1
109: #undef __MATHDECL
110: #undef __MATHCALL
111:
112: __END_DECLS
113:
114: #endif