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