| Index: fusl/src/math/scalbnl.c
|
| diff --git a/fusl/src/math/scalbnl.c b/fusl/src/math/scalbnl.c
|
| index 08a4c58754d8a237f4441f10b1cce610ef885e43..9a03ef70d53de055427a9a8794b5732aaf3e32e6 100644
|
| --- a/fusl/src/math/scalbnl.c
|
| +++ b/fusl/src/math/scalbnl.c
|
| @@ -1,36 +1,34 @@
|
| #include "libm.h"
|
|
|
| #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
|
| -long double scalbnl(long double x, int n)
|
| -{
|
| - return scalbn(x, n);
|
| +long double scalbnl(long double x, int n) {
|
| + return scalbn(x, n);
|
| }
|
| #elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
|
| -long double scalbnl(long double x, int n)
|
| -{
|
| - union ldshape u;
|
| +long double scalbnl(long double x, int n) {
|
| + union ldshape u;
|
|
|
| - if (n > 16383) {
|
| - x *= 0x1p16383L;
|
| - n -= 16383;
|
| - if (n > 16383) {
|
| - x *= 0x1p16383L;
|
| - n -= 16383;
|
| - if (n > 16383)
|
| - n = 16383;
|
| - }
|
| - } else if (n < -16382) {
|
| - x *= 0x1p-16382L;
|
| - n += 16382;
|
| - if (n < -16382) {
|
| - x *= 0x1p-16382L;
|
| - n += 16382;
|
| - if (n < -16382)
|
| - n = -16382;
|
| - }
|
| - }
|
| - u.f = 1.0;
|
| - u.i.se = 0x3fff + n;
|
| - return x * u.f;
|
| + if (n > 16383) {
|
| + x *= 0x1p16383L;
|
| + n -= 16383;
|
| + if (n > 16383) {
|
| + x *= 0x1p16383L;
|
| + n -= 16383;
|
| + if (n > 16383)
|
| + n = 16383;
|
| + }
|
| + } else if (n < -16382) {
|
| + x *= 0x1p-16382L;
|
| + n += 16382;
|
| + if (n < -16382) {
|
| + x *= 0x1p-16382L;
|
| + n += 16382;
|
| + if (n < -16382)
|
| + n = -16382;
|
| + }
|
| + }
|
| + u.f = 1.0;
|
| + u.i.se = 0x3fff + n;
|
| + return x * u.f;
|
| }
|
| #endif
|
|
|