1 /* $NetBSD: complex.h,v 1.3 2010/09/15 16:11:30 christos Exp $ */
2 
3 /*
4  * Copyright (c) 2010 Matthias Drochner.
5  * Public domain.
6  */
7 
8 #ifndef	_COMPLEX_H
9 #define	_COMPLEX_H
10 
11 #define complex _Complex
12 #define _Complex_I 1.0fi
13 #define I _Complex_I
14 
15 #include <sys/cdefs.h>
16 #include <ieeefp.h>
17 
18 __BEGIN_DECLS
19 
20 /* 7.3.5 Trigonometric functions */
21 /* 7.3.5.1 The cacos functions */
22 double complex cacos(double complex);
23 float complex cacosf(float complex);
24 
25 /* 7.3.5.2 The casin functions */
26 double complex casin(double complex);
27 float complex casinf(float complex);
28 
29 /* 7.3.5.1 The catan functions */
30 double complex catan(double complex);
31 float complex catanf(float complex);
32 
33 /* 7.3.5.1 The ccos functions */
34 double complex ccos(double complex);
35 float complex ccosf(float complex);
36 
37 /* 7.3.5.1 The csin functions */
38 double complex csin(double complex);
39 float complex csinf(float complex);
40 
41 /* 7.3.5.1 The ctan functions */
42 double complex ctan(double complex);
43 float complex ctanf(float complex);
44 
45 /* 7.3.6 Hyperbolic functions */
46 /* 7.3.6.1 The cacosh functions */
47 double complex cacosh(double complex);
48 float complex cacoshf(float complex);
49 
50 /* 7.3.6.2 The casinh functions */
51 double complex casinh(double complex);
52 float complex casinhf(float complex);
53 
54 /* 7.3.6.3 The catanh functions */
55 double complex catanh(double complex);
56 float complex catanhf(float complex);
57 
58 /* 7.3.6.4 The ccosh functions */
59 double complex ccosh(double complex);
60 float complex ccoshf(float complex);
61 
62 /* 7.3.6.5 The csinh functions */
63 double complex csinh(double complex);
64 float complex csinhf(float complex);
65 
66 /* 7.3.6.6 The ctanh functions */
67 double complex ctanh(double complex);
68 float complex ctanhf(float complex);
69 
70 /* 7.3.7 Exponential and logarithmic functions */
71 /* 7.3.7.1 The cexp functions */
72 double complex cexp(double complex);
73 float complex cexpf(float complex);
74 
75 /* 7.3.7.2 The clog functions */
76 double complex clog(double complex);
77 float complex clogf(float complex);
78 
79 /* 7.3.8 Power and absolute-value functions */
80 /* 7.3.8.1 The cabs functions */
81 double cabs(double complex);
82 float cabsf(float complex);
83 
84 /* 7.3.8.2 The cpow functions */
85 double complex cpow(double complex, double complex);
86 float complex cpowf(float complex, float complex);
87 
88 /* 7.3.8.3 The csqrt functions */
89 double complex csqrt(double complex);
90 float complex csqrtf(float complex);
91 
92 /* 7.3.9 Manipulation functions */
93 /* 7.3.9.1 The carg functions */
94 double carg(double complex);
95 float cargf(float complex);
96 
97 /* 7.3.9.2 The cimag functions */
98 double cimag(double complex);
99 float cimagf(float complex);
100 
101 /* 7.3.9.3 The conj functions */
102 double complex conj(double complex);
103 float complex conjf(float complex);
104 
105 /* 7.3.9.4 The cproj functions */
106 double complex cproj(double complex);
107 float complex cprojf(float complex);
108 
109 /* 7.3.9.5 The creal functions */
110 double creal(double complex);
111 float crealf(float complex);
112 
113 #if __GNU_VISIBLE
114 double complex clog10(double complex);
115 float complex clog10f(float complex);
116 #endif
117 
118 #ifdef _HAVE_LONG_DOUBLE
119 long double complex csqrtl(long double complex);
120 long double cabsl(long double complex) ;
121 long double complex cprojl(long double complex);
122 long double creall(long double complex);
123 long double complex conjl(long double complex);
124 long double cimagl(long double complex);
125 
126 #ifdef _HAVE_LONG_DOUBLE_MATH
127 long double cargl(long double complex);
128 long double complex casinl(long double complex);
129 long double complex cacosl(long double complex);
130 long double complex catanl(long double complex);
131 long double complex ccosl(long double complex);
132 long double complex csinl(long double complex);
133 long double complex ctanl(long double complex);
134 long double complex cacoshl(long double complex);
135 long double complex casinhl(long double complex);
136 long double complex catanhl(long double complex);
137 long double complex ccoshl(long double complex);
138 long double complex csinhl(long double complex);
139 long double complex ctanhl(long double complex);
140 long double complex cexpl(long double complex);
141 long double complex clogl(long double complex);
142 long double complex cpowl(long double complex, long double complex);
143 #if __GNU_VISIBLE
144 long double complex clog10l(long double complex);
145 #endif
146 #endif /* _HAVE_LONG_DOUBLE_MATH */
147 
148 #endif /* _HAVE_LONG_DOUBLE */
149 
150 __END_DECLS
151 
152 #endif	/* ! _COMPLEX_H */
153