github.com/afumu/libc@v0.0.6/musl/src/math/copysignl.c (about)

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