1#include "libm.h" 2 3#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 4long double copysignl(long double x, long double y) { 5 return copysign(x, y); 6} 7#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384 8long double copysignl(long double x, long double y) { 9 union ldshape ux = {x}, uy = {y}; 10 ux.i.se &= 0x7fff; 11 ux.i.se |= uy.i.se & 0x8000; 12 return ux.f; 13} 14#endif 15