mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-23 22:52:23 +03:00
math: minor scalbn*.c simplification
This commit is contained in:
parent
56b57f37a4
commit
1b77b9072f
@ -10,10 +10,8 @@ double scalbn(double x, int n)
|
||||
if (n > 1023) {
|
||||
x *= 0x1p1023;
|
||||
n -= 1023;
|
||||
if (n > 1023) {
|
||||
STRICT_ASSIGN(double, x, x * 0x1p1023);
|
||||
return x;
|
||||
}
|
||||
if (n > 1023)
|
||||
n = 1023;
|
||||
}
|
||||
} else if (n < -1022) {
|
||||
x *= 0x1p-1022;
|
||||
@ -21,10 +19,8 @@ double scalbn(double x, int n)
|
||||
if (n < -1022) {
|
||||
x *= 0x1p-1022;
|
||||
n += 1022;
|
||||
if (n < -1022) {
|
||||
STRICT_ASSIGN(double, x, x * 0x1p-1022);
|
||||
return x;
|
||||
}
|
||||
if (n < -1022)
|
||||
n = -1022;
|
||||
}
|
||||
}
|
||||
INSERT_WORDS(scale, (uint32_t)(0x3ff+n)<<20, 0);
|
||||
|
@ -10,10 +10,8 @@ float scalbnf(float x, int n)
|
||||
if (n > 127) {
|
||||
x *= 0x1p127f;
|
||||
n -= 127;
|
||||
if (n > 127) {
|
||||
STRICT_ASSIGN(float, x, x * 0x1p127f);
|
||||
return x;
|
||||
}
|
||||
if (n > 127)
|
||||
n = 127;
|
||||
}
|
||||
} else if (n < -126) {
|
||||
x *= 0x1p-126f;
|
||||
@ -21,10 +19,8 @@ float scalbnf(float x, int n)
|
||||
if (n < -126) {
|
||||
x *= 0x1p-126f;
|
||||
n += 126;
|
||||
if (n < -126) {
|
||||
STRICT_ASSIGN(float, x, x * 0x1p-126f);
|
||||
return x;
|
||||
}
|
||||
if (n < -126)
|
||||
n = -126;
|
||||
}
|
||||
}
|
||||
SET_FLOAT_WORD(scale, (uint32_t)(0x7f+n)<<23);
|
||||
|
@ -17,7 +17,7 @@ long double scalbnl(long double x, int n)
|
||||
x *= 0x1p16383L;
|
||||
n -= 16383;
|
||||
if (n > 16383)
|
||||
return x * 0x1p16383L;
|
||||
n = 16383;
|
||||
}
|
||||
} else if (n < -16382) {
|
||||
x *= 0x1p-16382L;
|
||||
@ -26,7 +26,7 @@ long double scalbnl(long double x, int n)
|
||||
x *= 0x1p-16382L;
|
||||
n += 16382;
|
||||
if (n < -16382)
|
||||
return x * 0x1p-16382L;
|
||||
n = -16382;
|
||||
}
|
||||
}
|
||||
scale.e = 1.0;
|
||||
|
Loading…
Reference in New Issue
Block a user