projects
/
oweals
/
musl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6e76e15
)
math: fix __fpclassifyl(-0.0) for IEEE binary128
author
Szabolcs Nagy
<nsz@port70.net>
Sun, 8 Feb 2015 16:41:56 +0000
(17:41 +0100)
committer
Szabolcs Nagy
<nsz@port70.net>
Sun, 8 Feb 2015 16:41:56 +0000
(17:41 +0100)
The sign bit was not cleared before checking for 0 so -0.0
was misclassified as FP_SUBNORMAL instead of FP_ZERO.
src/math/__fpclassifyl.c
patch
|
blob
|
history
diff --git
a/src/math/__fpclassifyl.c
b/src/math/__fpclassifyl.c
index c274229716bcbed3c94e9077961b2905191619d3..481c0b949974ad43a59e95846bf9fb83ff5cbf23 100644
(file)
--- a/
src/math/__fpclassifyl.c
+++ b/
src/math/__fpclassifyl.c
@@
-24,12
+24,11
@@
int __fpclassifyl(long double x)
{
union ldshape u = {x};
int e = u.i.se & 0x7fff;
+ u.i.se = 0;
if (!e)
return u.i2.lo | u.i2.hi ? FP_SUBNORMAL : FP_ZERO;
- if (e == 0x7fff) {
- u.i.se = 0;
+ if (e == 0x7fff)
return u.i2.lo | u.i2.hi ? FP_NAN : FP_INFINITE;
- }
return FP_NORMAL;
}
#endif