xref: /haiku/src/system/libroot/posix/musl/math/copysignl.c (revision 830f67ef991407f287dbc1238aa5f5906d90c991)
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
17