xref: /aosp_15_r20/prebuilts/build-tools/sysroots/arm-unknown-linux-musleabihf/include/complex.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef _COMPLEX_H
2*cda5da8dSAndroid Build Coastguard Worker #define _COMPLEX_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #define complex _Complex
9*cda5da8dSAndroid Build Coastguard Worker #ifdef __GNUC__
10*cda5da8dSAndroid Build Coastguard Worker #define _Complex_I (__extension__ (0.0f+1.0fi))
11*cda5da8dSAndroid Build Coastguard Worker #else
12*cda5da8dSAndroid Build Coastguard Worker #define _Complex_I (0.0f+1.0fi)
13*cda5da8dSAndroid Build Coastguard Worker #endif
14*cda5da8dSAndroid Build Coastguard Worker #define I _Complex_I
15*cda5da8dSAndroid Build Coastguard Worker 
16*cda5da8dSAndroid Build Coastguard Worker double complex cacos(double complex);
17*cda5da8dSAndroid Build Coastguard Worker float complex cacosf(float complex);
18*cda5da8dSAndroid Build Coastguard Worker long double complex cacosl(long double complex);
19*cda5da8dSAndroid Build Coastguard Worker 
20*cda5da8dSAndroid Build Coastguard Worker double complex casin(double complex);
21*cda5da8dSAndroid Build Coastguard Worker float complex casinf(float complex);
22*cda5da8dSAndroid Build Coastguard Worker long double complex casinl(long double complex);
23*cda5da8dSAndroid Build Coastguard Worker 
24*cda5da8dSAndroid Build Coastguard Worker double complex catan(double complex);
25*cda5da8dSAndroid Build Coastguard Worker float complex catanf(float complex);
26*cda5da8dSAndroid Build Coastguard Worker long double complex catanl(long double complex);
27*cda5da8dSAndroid Build Coastguard Worker 
28*cda5da8dSAndroid Build Coastguard Worker double complex ccos(double complex);
29*cda5da8dSAndroid Build Coastguard Worker float complex ccosf(float complex);
30*cda5da8dSAndroid Build Coastguard Worker long double complex ccosl(long double complex);
31*cda5da8dSAndroid Build Coastguard Worker 
32*cda5da8dSAndroid Build Coastguard Worker double complex csin(double complex);
33*cda5da8dSAndroid Build Coastguard Worker float complex csinf(float complex);
34*cda5da8dSAndroid Build Coastguard Worker long double complex csinl(long double complex);
35*cda5da8dSAndroid Build Coastguard Worker 
36*cda5da8dSAndroid Build Coastguard Worker double complex ctan(double complex);
37*cda5da8dSAndroid Build Coastguard Worker float complex ctanf(float complex);
38*cda5da8dSAndroid Build Coastguard Worker long double complex ctanl(long double complex);
39*cda5da8dSAndroid Build Coastguard Worker 
40*cda5da8dSAndroid Build Coastguard Worker double complex cacosh(double complex);
41*cda5da8dSAndroid Build Coastguard Worker float complex cacoshf(float complex);
42*cda5da8dSAndroid Build Coastguard Worker long double complex cacoshl(long double complex);
43*cda5da8dSAndroid Build Coastguard Worker 
44*cda5da8dSAndroid Build Coastguard Worker double complex casinh(double complex);
45*cda5da8dSAndroid Build Coastguard Worker float complex casinhf(float complex);
46*cda5da8dSAndroid Build Coastguard Worker long double complex casinhl(long double complex);
47*cda5da8dSAndroid Build Coastguard Worker 
48*cda5da8dSAndroid Build Coastguard Worker double complex catanh(double complex);
49*cda5da8dSAndroid Build Coastguard Worker float complex catanhf(float complex);
50*cda5da8dSAndroid Build Coastguard Worker long double complex catanhl(long double complex);
51*cda5da8dSAndroid Build Coastguard Worker 
52*cda5da8dSAndroid Build Coastguard Worker double complex ccosh(double complex);
53*cda5da8dSAndroid Build Coastguard Worker float complex ccoshf(float complex);
54*cda5da8dSAndroid Build Coastguard Worker long double complex ccoshl(long double complex);
55*cda5da8dSAndroid Build Coastguard Worker 
56*cda5da8dSAndroid Build Coastguard Worker double complex csinh(double complex);
57*cda5da8dSAndroid Build Coastguard Worker float complex csinhf(float complex);
58*cda5da8dSAndroid Build Coastguard Worker long double complex csinhl(long double complex);
59*cda5da8dSAndroid Build Coastguard Worker 
60*cda5da8dSAndroid Build Coastguard Worker double complex ctanh(double complex);
61*cda5da8dSAndroid Build Coastguard Worker float complex ctanhf(float complex);
62*cda5da8dSAndroid Build Coastguard Worker long double complex ctanhl(long double complex);
63*cda5da8dSAndroid Build Coastguard Worker 
64*cda5da8dSAndroid Build Coastguard Worker double complex cexp(double complex);
65*cda5da8dSAndroid Build Coastguard Worker float complex cexpf(float complex);
66*cda5da8dSAndroid Build Coastguard Worker long double complex cexpl(long double complex);
67*cda5da8dSAndroid Build Coastguard Worker 
68*cda5da8dSAndroid Build Coastguard Worker double complex clog(double complex);
69*cda5da8dSAndroid Build Coastguard Worker float complex clogf(float complex);
70*cda5da8dSAndroid Build Coastguard Worker long double complex clogl(long double complex);
71*cda5da8dSAndroid Build Coastguard Worker 
72*cda5da8dSAndroid Build Coastguard Worker double cabs(double complex);
73*cda5da8dSAndroid Build Coastguard Worker float cabsf(float complex);
74*cda5da8dSAndroid Build Coastguard Worker long double cabsl(long double complex);
75*cda5da8dSAndroid Build Coastguard Worker 
76*cda5da8dSAndroid Build Coastguard Worker double complex cpow(double complex, double complex);
77*cda5da8dSAndroid Build Coastguard Worker float complex cpowf(float complex, float complex);
78*cda5da8dSAndroid Build Coastguard Worker long double complex cpowl(long double complex, long double complex);
79*cda5da8dSAndroid Build Coastguard Worker 
80*cda5da8dSAndroid Build Coastguard Worker double complex csqrt(double complex);
81*cda5da8dSAndroid Build Coastguard Worker float complex csqrtf(float complex);
82*cda5da8dSAndroid Build Coastguard Worker long double complex csqrtl(long double complex);
83*cda5da8dSAndroid Build Coastguard Worker 
84*cda5da8dSAndroid Build Coastguard Worker double carg(double complex);
85*cda5da8dSAndroid Build Coastguard Worker float cargf(float complex);
86*cda5da8dSAndroid Build Coastguard Worker long double cargl(long double complex);
87*cda5da8dSAndroid Build Coastguard Worker 
88*cda5da8dSAndroid Build Coastguard Worker double cimag(double complex);
89*cda5da8dSAndroid Build Coastguard Worker float cimagf(float complex);
90*cda5da8dSAndroid Build Coastguard Worker long double cimagl(long double complex);
91*cda5da8dSAndroid Build Coastguard Worker 
92*cda5da8dSAndroid Build Coastguard Worker double complex conj(double complex);
93*cda5da8dSAndroid Build Coastguard Worker float complex conjf(float complex);
94*cda5da8dSAndroid Build Coastguard Worker long double complex conjl(long double complex);
95*cda5da8dSAndroid Build Coastguard Worker 
96*cda5da8dSAndroid Build Coastguard Worker double complex cproj(double complex);
97*cda5da8dSAndroid Build Coastguard Worker float complex cprojf(float complex);
98*cda5da8dSAndroid Build Coastguard Worker long double complex cprojl(long double complex);
99*cda5da8dSAndroid Build Coastguard Worker 
100*cda5da8dSAndroid Build Coastguard Worker double creal(double complex);
101*cda5da8dSAndroid Build Coastguard Worker float crealf(float complex);
102*cda5da8dSAndroid Build Coastguard Worker long double creall(long double complex);
103*cda5da8dSAndroid Build Coastguard Worker 
104*cda5da8dSAndroid Build Coastguard Worker #ifndef __cplusplus
105*cda5da8dSAndroid Build Coastguard Worker #define __CIMAG(x, t) \
106*cda5da8dSAndroid Build Coastguard Worker 	(+(union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1])
107*cda5da8dSAndroid Build Coastguard Worker 
108*cda5da8dSAndroid Build Coastguard Worker #define creal(x) ((double)(x))
109*cda5da8dSAndroid Build Coastguard Worker #define crealf(x) ((float)(x))
110*cda5da8dSAndroid Build Coastguard Worker #define creall(x) ((long double)(x))
111*cda5da8dSAndroid Build Coastguard Worker 
112*cda5da8dSAndroid Build Coastguard Worker #define cimag(x) __CIMAG(x, double)
113*cda5da8dSAndroid Build Coastguard Worker #define cimagf(x) __CIMAG(x, float)
114*cda5da8dSAndroid Build Coastguard Worker #define cimagl(x) __CIMAG(x, long double)
115*cda5da8dSAndroid Build Coastguard Worker #endif
116*cda5da8dSAndroid Build Coastguard Worker 
117*cda5da8dSAndroid Build Coastguard Worker #if __STDC_VERSION__ >= 201112L
118*cda5da8dSAndroid Build Coastguard Worker #if defined(_Imaginary_I)
119*cda5da8dSAndroid Build Coastguard Worker #define __CMPLX(x, y, t) ((t)(x) + _Imaginary_I*(t)(y))
120*cda5da8dSAndroid Build Coastguard Worker #elif defined(__clang__)
121*cda5da8dSAndroid Build Coastguard Worker #define __CMPLX(x, y, t) (+(_Complex t){ (t)(x), (t)(y) })
122*cda5da8dSAndroid Build Coastguard Worker #else
123*cda5da8dSAndroid Build Coastguard Worker #define __CMPLX(x, y, t) (__builtin_complex((t)(x), (t)(y)))
124*cda5da8dSAndroid Build Coastguard Worker #endif
125*cda5da8dSAndroid Build Coastguard Worker #define CMPLX(x, y) __CMPLX(x, y, double)
126*cda5da8dSAndroid Build Coastguard Worker #define CMPLXF(x, y) __CMPLX(x, y, float)
127*cda5da8dSAndroid Build Coastguard Worker #define CMPLXL(x, y) __CMPLX(x, y, long double)
128*cda5da8dSAndroid Build Coastguard Worker #endif
129*cda5da8dSAndroid Build Coastguard Worker 
130*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
131*cda5da8dSAndroid Build Coastguard Worker }
132*cda5da8dSAndroid Build Coastguard Worker #endif
133*cda5da8dSAndroid Build Coastguard Worker #endif
134