#ifndef _COMPLEX_IMPL_H #define _COMPLEX_IMPL_H #include #include "libm.h" #undef __CMPLX #undef CMPLX #undef CMPLXF #undef CMPLXL #define __CMPLX(x, y, t) \ ((union { _Complex t __z; t __xy[2]; }){.__xy = {(x),(y)}}.__z) #define CMPLX(x, y) __CMPLX(x, y, double) #define CMPLXF(x, y) __CMPLX(x, y, float) #define CMPLXL(x, y) __CMPLX(x, y, long double) hidden double complex __ldexp_cexp(double complex,int); hidden float complex __ldexp_cexpf(float complex,int); #endif