xref: /aosp_15_r20/bionic/libc/include/complex.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*-
2*8d67ca89SAndroid Build Coastguard Worker  * Copyright (c) 2001-2011 The FreeBSD Project.
3*8d67ca89SAndroid Build Coastguard Worker  * All rights reserved.
4*8d67ca89SAndroid Build Coastguard Worker  *
5*8d67ca89SAndroid Build Coastguard Worker  * Redistribution and use in source and binary forms, with or without
6*8d67ca89SAndroid Build Coastguard Worker  * modification, are permitted provided that the following conditions
7*8d67ca89SAndroid Build Coastguard Worker  * are met:
8*8d67ca89SAndroid Build Coastguard Worker  * 1. Redistributions of source code must retain the above copyright
9*8d67ca89SAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer.
10*8d67ca89SAndroid Build Coastguard Worker  * 2. Redistributions in binary form must reproduce the above copyright
11*8d67ca89SAndroid Build Coastguard Worker  *    notice, this list of conditions and the following disclaimer in the
12*8d67ca89SAndroid Build Coastguard Worker  *    documentation and/or other materials provided with the distribution.
13*8d67ca89SAndroid Build Coastguard Worker  *
14*8d67ca89SAndroid Build Coastguard Worker  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*8d67ca89SAndroid Build Coastguard Worker  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*8d67ca89SAndroid Build Coastguard Worker  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*8d67ca89SAndroid Build Coastguard Worker  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*8d67ca89SAndroid Build Coastguard Worker  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*8d67ca89SAndroid Build Coastguard Worker  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*8d67ca89SAndroid Build Coastguard Worker  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*8d67ca89SAndroid Build Coastguard Worker  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*8d67ca89SAndroid Build Coastguard Worker  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*8d67ca89SAndroid Build Coastguard Worker  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*8d67ca89SAndroid Build Coastguard Worker  * SUCH DAMAGE.
25*8d67ca89SAndroid Build Coastguard Worker  *
26*8d67ca89SAndroid Build Coastguard Worker  * $FreeBSD$
27*8d67ca89SAndroid Build Coastguard Worker  */
28*8d67ca89SAndroid Build Coastguard Worker 
29*8d67ca89SAndroid Build Coastguard Worker #ifndef _COMPLEX_H
30*8d67ca89SAndroid Build Coastguard Worker #define	_COMPLEX_H
31*8d67ca89SAndroid Build Coastguard Worker 
32*8d67ca89SAndroid Build Coastguard Worker #include <sys/cdefs.h>
33*8d67ca89SAndroid Build Coastguard Worker 
34*8d67ca89SAndroid Build Coastguard Worker #ifdef __GNUC__
35*8d67ca89SAndroid Build Coastguard Worker #define	_Complex_I	((float _Complex)1.0i)
36*8d67ca89SAndroid Build Coastguard Worker #endif
37*8d67ca89SAndroid Build Coastguard Worker 
38*8d67ca89SAndroid Build Coastguard Worker #ifdef __generic
39*8d67ca89SAndroid Build Coastguard Worker _Static_assert(__generic(_Complex_I, float _Complex, 1, 0),
40*8d67ca89SAndroid Build Coastguard Worker     "_Complex_I must be of type float _Complex");
41*8d67ca89SAndroid Build Coastguard Worker #endif
42*8d67ca89SAndroid Build Coastguard Worker 
43*8d67ca89SAndroid Build Coastguard Worker #define	complex		_Complex
44*8d67ca89SAndroid Build Coastguard Worker #define	I		_Complex_I
45*8d67ca89SAndroid Build Coastguard Worker 
46*8d67ca89SAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 201112L
47*8d67ca89SAndroid Build Coastguard Worker #define	CMPLX(x, y)	((double complex){ x, y })
48*8d67ca89SAndroid Build Coastguard Worker #define	CMPLXF(x, y)	((float complex){ x, y })
49*8d67ca89SAndroid Build Coastguard Worker #define	CMPLXL(x, y)	((long double complex){ x, y })
50*8d67ca89SAndroid Build Coastguard Worker #endif
51*8d67ca89SAndroid Build Coastguard Worker 
52*8d67ca89SAndroid Build Coastguard Worker __BEGIN_DECLS
53*8d67ca89SAndroid Build Coastguard Worker 
54*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5 Trigonometric functions */
55*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The cacos functions */
56*8d67ca89SAndroid Build Coastguard Worker 
57*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
58*8d67ca89SAndroid Build Coastguard Worker double complex cacos(double complex __z) __INTRODUCED_IN(23);
59*8d67ca89SAndroid Build Coastguard Worker float complex cacosf(float complex __z) __INTRODUCED_IN(23);
60*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
61*8d67ca89SAndroid Build Coastguard Worker 
62*8d67ca89SAndroid Build Coastguard Worker 
63*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
64*8d67ca89SAndroid Build Coastguard Worker long double complex cacosl(long double complex __z) __INTRODUCED_IN(26);
65*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
66*8d67ca89SAndroid Build Coastguard Worker 
67*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.2 The casin functions */
68*8d67ca89SAndroid Build Coastguard Worker 
69*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
70*8d67ca89SAndroid Build Coastguard Worker double complex casin(double complex __z) __INTRODUCED_IN(23);
71*8d67ca89SAndroid Build Coastguard Worker float complex casinf(float complex __z) __INTRODUCED_IN(23);
72*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
73*8d67ca89SAndroid Build Coastguard Worker 
74*8d67ca89SAndroid Build Coastguard Worker 
75*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
76*8d67ca89SAndroid Build Coastguard Worker long double complex casinl(long double complex __z) __INTRODUCED_IN(26);
77*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
78*8d67ca89SAndroid Build Coastguard Worker 
79*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The catan functions */
80*8d67ca89SAndroid Build Coastguard Worker 
81*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
82*8d67ca89SAndroid Build Coastguard Worker double complex catan(double complex __z) __INTRODUCED_IN(23);
83*8d67ca89SAndroid Build Coastguard Worker float complex catanf(float complex __z) __INTRODUCED_IN(23);
84*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
85*8d67ca89SAndroid Build Coastguard Worker 
86*8d67ca89SAndroid Build Coastguard Worker 
87*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
88*8d67ca89SAndroid Build Coastguard Worker long double complex catanl(long double complex __z) __INTRODUCED_IN(26);
89*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
90*8d67ca89SAndroid Build Coastguard Worker 
91*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The ccos functions */
92*8d67ca89SAndroid Build Coastguard Worker 
93*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
94*8d67ca89SAndroid Build Coastguard Worker double complex ccos(double complex __z) __INTRODUCED_IN(23);
95*8d67ca89SAndroid Build Coastguard Worker float complex ccosf(float complex __z) __INTRODUCED_IN(23);
96*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
97*8d67ca89SAndroid Build Coastguard Worker 
98*8d67ca89SAndroid Build Coastguard Worker 
99*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
100*8d67ca89SAndroid Build Coastguard Worker long double complex ccosl(long double complex __z) __INTRODUCED_IN(26);
101*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
102*8d67ca89SAndroid Build Coastguard Worker 
103*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The csin functions */
104*8d67ca89SAndroid Build Coastguard Worker 
105*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
106*8d67ca89SAndroid Build Coastguard Worker double complex csin(double complex __z) __INTRODUCED_IN(23);
107*8d67ca89SAndroid Build Coastguard Worker float complex csinf(float complex __z) __INTRODUCED_IN(23);
108*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
109*8d67ca89SAndroid Build Coastguard Worker 
110*8d67ca89SAndroid Build Coastguard Worker 
111*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
112*8d67ca89SAndroid Build Coastguard Worker long double complex csinl(long double complex __z) __INTRODUCED_IN(26);
113*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
114*8d67ca89SAndroid Build Coastguard Worker 
115*8d67ca89SAndroid Build Coastguard Worker /* 7.3.5.1 The ctan functions */
116*8d67ca89SAndroid Build Coastguard Worker 
117*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
118*8d67ca89SAndroid Build Coastguard Worker double complex ctan(double complex __z) __INTRODUCED_IN(23);
119*8d67ca89SAndroid Build Coastguard Worker float complex ctanf(float complex __z) __INTRODUCED_IN(23);
120*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
121*8d67ca89SAndroid Build Coastguard Worker 
122*8d67ca89SAndroid Build Coastguard Worker 
123*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
124*8d67ca89SAndroid Build Coastguard Worker long double complex ctanl(long double complex __z) __INTRODUCED_IN(26);
125*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
126*8d67ca89SAndroid Build Coastguard Worker 
127*8d67ca89SAndroid Build Coastguard Worker 
128*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6 Hyperbolic functions */
129*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.1 The cacosh functions */
130*8d67ca89SAndroid Build Coastguard Worker 
131*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
132*8d67ca89SAndroid Build Coastguard Worker double complex cacosh(double complex __z) __INTRODUCED_IN(23);
133*8d67ca89SAndroid Build Coastguard Worker float complex cacoshf(float complex __z) __INTRODUCED_IN(23);
134*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
135*8d67ca89SAndroid Build Coastguard Worker 
136*8d67ca89SAndroid Build Coastguard Worker 
137*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
138*8d67ca89SAndroid Build Coastguard Worker long double complex cacoshl(long double complex __z) __INTRODUCED_IN(26);
139*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
140*8d67ca89SAndroid Build Coastguard Worker 
141*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.2 The casinh functions */
142*8d67ca89SAndroid Build Coastguard Worker 
143*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
144*8d67ca89SAndroid Build Coastguard Worker double complex casinh(double complex __z) __INTRODUCED_IN(23);
145*8d67ca89SAndroid Build Coastguard Worker float complex casinhf(float complex __z) __INTRODUCED_IN(23);
146*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
147*8d67ca89SAndroid Build Coastguard Worker 
148*8d67ca89SAndroid Build Coastguard Worker 
149*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
150*8d67ca89SAndroid Build Coastguard Worker long double complex casinhl(long double complex __z) __INTRODUCED_IN(26);
151*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
152*8d67ca89SAndroid Build Coastguard Worker 
153*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.3 The catanh functions */
154*8d67ca89SAndroid Build Coastguard Worker 
155*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
156*8d67ca89SAndroid Build Coastguard Worker double complex catanh(double complex __z) __INTRODUCED_IN(23);
157*8d67ca89SAndroid Build Coastguard Worker float complex catanhf(float complex __z) __INTRODUCED_IN(23);
158*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
159*8d67ca89SAndroid Build Coastguard Worker 
160*8d67ca89SAndroid Build Coastguard Worker 
161*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
162*8d67ca89SAndroid Build Coastguard Worker long double complex catanhl(long double complex __z) __INTRODUCED_IN(26);
163*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
164*8d67ca89SAndroid Build Coastguard Worker 
165*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.4 The ccosh functions */
166*8d67ca89SAndroid Build Coastguard Worker 
167*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
168*8d67ca89SAndroid Build Coastguard Worker double complex ccosh(double complex __z) __INTRODUCED_IN(23);
169*8d67ca89SAndroid Build Coastguard Worker float complex ccoshf(float complex __z) __INTRODUCED_IN(23);
170*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
171*8d67ca89SAndroid Build Coastguard Worker 
172*8d67ca89SAndroid Build Coastguard Worker 
173*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
174*8d67ca89SAndroid Build Coastguard Worker long double complex ccoshl(long double complex __z) __INTRODUCED_IN(26);
175*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
176*8d67ca89SAndroid Build Coastguard Worker 
177*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.5 The csinh functions */
178*8d67ca89SAndroid Build Coastguard Worker 
179*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
180*8d67ca89SAndroid Build Coastguard Worker double complex csinh(double complex __z) __INTRODUCED_IN(23);
181*8d67ca89SAndroid Build Coastguard Worker float complex csinhf(float complex __z) __INTRODUCED_IN(23);
182*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
183*8d67ca89SAndroid Build Coastguard Worker 
184*8d67ca89SAndroid Build Coastguard Worker 
185*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
186*8d67ca89SAndroid Build Coastguard Worker long double complex csinhl(long double complex __z) __INTRODUCED_IN(26);
187*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
188*8d67ca89SAndroid Build Coastguard Worker 
189*8d67ca89SAndroid Build Coastguard Worker /* 7.3.6.6 The ctanh functions */
190*8d67ca89SAndroid Build Coastguard Worker 
191*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
192*8d67ca89SAndroid Build Coastguard Worker double complex ctanh(double complex __z) __INTRODUCED_IN(23);
193*8d67ca89SAndroid Build Coastguard Worker float complex ctanhf(float complex __z) __INTRODUCED_IN(23);
194*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
195*8d67ca89SAndroid Build Coastguard Worker 
196*8d67ca89SAndroid Build Coastguard Worker 
197*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
198*8d67ca89SAndroid Build Coastguard Worker long double complex ctanhl(long double complex __z) __INTRODUCED_IN(26);
199*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
200*8d67ca89SAndroid Build Coastguard Worker 
201*8d67ca89SAndroid Build Coastguard Worker 
202*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7 Exponential and logarithmic functions */
203*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7.1 The cexp functions */
204*8d67ca89SAndroid Build Coastguard Worker 
205*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
206*8d67ca89SAndroid Build Coastguard Worker double complex cexp(double complex __z) __INTRODUCED_IN(23);
207*8d67ca89SAndroid Build Coastguard Worker float complex cexpf(float complex __z) __INTRODUCED_IN(23);
208*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
209*8d67ca89SAndroid Build Coastguard Worker 
210*8d67ca89SAndroid Build Coastguard Worker 
211*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
212*8d67ca89SAndroid Build Coastguard Worker long double complex cexpl(long double complex __z) __INTRODUCED_IN(26);
213*8d67ca89SAndroid Build Coastguard Worker /* 7.3.7.2 The clog functions */
214*8d67ca89SAndroid Build Coastguard Worker double complex clog(double complex __z) __INTRODUCED_IN(26);
215*8d67ca89SAndroid Build Coastguard Worker float complex clogf(float complex __z) __INTRODUCED_IN(26);
216*8d67ca89SAndroid Build Coastguard Worker long double complex clogl(long double complex __z) __INTRODUCED_IN(26);
217*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
218*8d67ca89SAndroid Build Coastguard Worker 
219*8d67ca89SAndroid Build Coastguard Worker 
220*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8 Power and absolute-value functions */
221*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.1 The cabs functions */
222*8d67ca89SAndroid Build Coastguard Worker 
223*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
224*8d67ca89SAndroid Build Coastguard Worker double cabs(double complex __z) __INTRODUCED_IN(23);
225*8d67ca89SAndroid Build Coastguard Worker float cabsf(float complex __z) __INTRODUCED_IN(23);
226*8d67ca89SAndroid Build Coastguard Worker long double cabsl(long double complex __z) __INTRODUCED_IN(23);
227*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
228*8d67ca89SAndroid Build Coastguard Worker 
229*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.2 The cpow functions */
230*8d67ca89SAndroid Build Coastguard Worker 
231*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(26)
232*8d67ca89SAndroid Build Coastguard Worker double complex cpow(double complex __x, double complex __z) __INTRODUCED_IN(26);
233*8d67ca89SAndroid Build Coastguard Worker float complex cpowf(float complex __x, float complex __z) __INTRODUCED_IN(26);
234*8d67ca89SAndroid Build Coastguard Worker long double complex cpowl(long double complex __x, long double complex __z) __INTRODUCED_IN(26);
235*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(26) */
236*8d67ca89SAndroid Build Coastguard Worker 
237*8d67ca89SAndroid Build Coastguard Worker /* 7.3.8.3 The csqrt functions */
238*8d67ca89SAndroid Build Coastguard Worker 
239*8d67ca89SAndroid Build Coastguard Worker #if __BIONIC_AVAILABILITY_GUARD(23)
240*8d67ca89SAndroid Build Coastguard Worker double complex csqrt(double complex __z) __INTRODUCED_IN(23);
241*8d67ca89SAndroid Build Coastguard Worker float complex csqrtf(float complex __z) __INTRODUCED_IN(23);
242*8d67ca89SAndroid Build Coastguard Worker long double complex csqrtl(long double complex __z) __INTRODUCED_IN(23);
243*8d67ca89SAndroid Build Coastguard Worker 
244*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9 Manipulation functions */
245*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.1 The carg functions */
246*8d67ca89SAndroid Build Coastguard Worker double carg(double complex __z) __INTRODUCED_IN(23);
247*8d67ca89SAndroid Build Coastguard Worker float cargf(float complex __z) __INTRODUCED_IN(23);
248*8d67ca89SAndroid Build Coastguard Worker long double cargl(long double complex __z) __INTRODUCED_IN(23);
249*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.2 The cimag functions */
250*8d67ca89SAndroid Build Coastguard Worker double cimag(double complex __z) __INTRODUCED_IN(23);
251*8d67ca89SAndroid Build Coastguard Worker float cimagf(float complex __z) __INTRODUCED_IN(23);
252*8d67ca89SAndroid Build Coastguard Worker long double cimagl(long double complex __z) __INTRODUCED_IN(23);
253*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.3 The conj functions */
254*8d67ca89SAndroid Build Coastguard Worker double complex conj(double complex __z) __INTRODUCED_IN(23);
255*8d67ca89SAndroid Build Coastguard Worker float complex conjf(float complex __z) __INTRODUCED_IN(23);
256*8d67ca89SAndroid Build Coastguard Worker long double complex conjl(long double complex __z) __INTRODUCED_IN(23);
257*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.4 The cproj functions */
258*8d67ca89SAndroid Build Coastguard Worker double complex cproj(double complex __z) __INTRODUCED_IN(23);
259*8d67ca89SAndroid Build Coastguard Worker float complex cprojf(float complex __z) __INTRODUCED_IN(23);
260*8d67ca89SAndroid Build Coastguard Worker long double complex cprojl(long double complex __z) __INTRODUCED_IN(23);
261*8d67ca89SAndroid Build Coastguard Worker /* 7.3.9.5 The creal functions */
262*8d67ca89SAndroid Build Coastguard Worker double creal(double complex __z) __INTRODUCED_IN(23);
263*8d67ca89SAndroid Build Coastguard Worker float crealf(float complex __z) __INTRODUCED_IN(23);
264*8d67ca89SAndroid Build Coastguard Worker long double creall(long double complex __z) __INTRODUCED_IN(23);
265*8d67ca89SAndroid Build Coastguard Worker #endif /* __BIONIC_AVAILABILITY_GUARD(23) */
266*8d67ca89SAndroid Build Coastguard Worker 
267*8d67ca89SAndroid Build Coastguard Worker 
268*8d67ca89SAndroid Build Coastguard Worker __END_DECLS
269*8d67ca89SAndroid Build Coastguard Worker 
270*8d67ca89SAndroid Build Coastguard Worker #endif
271