complex_impl.h raw

   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  
  19  hidden double complex __ldexp_cexp(double complex,int);
  20  hidden float complex __ldexp_cexpf(float complex,int);
  21  
  22  #endif
  23