| 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 |