Fix the C version of ceill(x) for -1 < x <= -0 in all rounding modes.
The result should be -0, but was +0.
This commit is contained in:
parent
7913e26359
commit
6597187205
@ -63,7 +63,7 @@ ceill(long double x)
|
||||
if (huge + x > 0.0)
|
||||
if (u.bits.exp > 0 ||
|
||||
(u.bits.manh | u.bits.manl) != 0)
|
||||
u.e = u.bits.sign ? 0.0 : 1.0;
|
||||
u.e = u.bits.sign ? -0.0 : 1.0;
|
||||
} else {
|
||||
uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
||||
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user