1*c9945492SAndroid Build Coastguard Worker #ifndef _COMPLEX_IMPL_H 2*c9945492SAndroid Build Coastguard Worker #define _COMPLEX_IMPL_H 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker #include <complex.h> 5*c9945492SAndroid Build Coastguard Worker #include "libm.h" 6*c9945492SAndroid Build Coastguard Worker 7*c9945492SAndroid Build Coastguard Worker #undef __CMPLX 8*c9945492SAndroid Build Coastguard Worker #undef CMPLX 9*c9945492SAndroid Build Coastguard Worker #undef CMPLXF 10*c9945492SAndroid Build Coastguard Worker #undef CMPLXL 11*c9945492SAndroid Build Coastguard Worker 12*c9945492SAndroid Build Coastguard Worker #define __CMPLX(x, y, t) \ 13*c9945492SAndroid Build Coastguard Worker ((union { _Complex t __z; t __xy[2]; }){.__xy = {(x),(y)}}.__z) 14*c9945492SAndroid Build Coastguard Worker 15*c9945492SAndroid Build Coastguard Worker #define CMPLX(x, y) __CMPLX(x, y, double) 16*c9945492SAndroid Build Coastguard Worker #define CMPLXF(x, y) __CMPLX(x, y, float) 17*c9945492SAndroid Build Coastguard Worker #define CMPLXL(x, y) __CMPLX(x, y, long double) 18*c9945492SAndroid Build Coastguard Worker 19*c9945492SAndroid Build Coastguard Worker hidden double complex __ldexp_cexp(double complex,int); 20*c9945492SAndroid Build Coastguard Worker hidden float complex __ldexp_cexpf(float complex,int); 21*c9945492SAndroid Build Coastguard Worker 22*c9945492SAndroid Build Coastguard Worker #endif 23