Commit 677d6ec6 authored by Guido van Rossum's avatar Guido van Rossum

Fix due to Bill Noon for problem discovered by Ken Manheimer: packing

0.0 as float or double would yield the representation for 1.0!
parent 5add0a34
......@@ -167,7 +167,7 @@ pack_float(x, p, incr)
f = ldexp(f, 126 + e);
e = 0;
}
else {
else if (!(e == 0 && f == 0.0)) {
e += 127;
f -= 1.0; /* Get rid of leading 1 */
}
......@@ -239,7 +239,7 @@ pack_double(x, p, incr)
f = ldexp(f, 1022 + e);
e = 0;
}
else {
else if (!(e == 0 && f == 0.0)) {
e += 1023;
f -= 1.0; /* Get rid of leading 1 */
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment