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