fix the last known rounding bug in floating point printing
authorRich Felker <dalias@aerifal.cx>
Wed, 11 May 2011 23:58:03 +0000 (19:58 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 11 May 2011 23:58:03 +0000 (19:58 -0400)
commit8628eff9128d66cc69dbc301341dc55130a9817e
treef6eaf02a2b338a200303de07054f3a5414326a12
parent15b77d52c950c375514d2e8152e7112fd018e20e
fix the last known rounding bug in floating point printing

the observed symptom was that the code was incorrectly rounding up
1.0625 to 1.063 despite the rounding mode being round-to-nearest with
ties broken by rounding to even last place. however, the code was just
not right in many respects, and i'm surprised it worked as well as it
did. this time i tested the values that end up in the variables round,
small, and the expression round+small, and all look good.
src/stdio/vfprintf.c