initial cmath code and minor libm.h update
[libm] / src / math / copysignl.c
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
13         ux.bits.sign = uy.bits.sign;
14         return ux.value;
15 }
16 #endif