mirror of
git://git.musl-libc.org/musl
synced 2025-03-06 20:48:29 +01:00
math: minor scalbn*.c simplification
This commit is contained in:
parent
56b57f37a4
commit
1b77b9072f
3 changed files with 10 additions and 18 deletions
|
@ -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…
Add table
Reference in a new issue