http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21718

--- Comment #28 from Rick Regan <exploringbinary at gmail dot com> ---
Yes, that makes sense. I originally (mistakingly) thought that SIGNIFICAND_BITS
was the intermediate precision for mpfr_strtofr(), like it was for gcc's
original algorithm. Then I talked myself out of the "needs more precision"
argument based on my interpretation of your response.

So then is the round to zero/stickiness just to avoid double rounding (as
opposed to using round to nearest/no stickiness)?

BTW, I'm testing out the code. I tried a test I found in float-exact-1.c: it's
the literal assigned to the double named d1c. When I run it (on a 64-bit
system) with the fix I get 0x0.0000000000001p-1022; strtod() (David Gay's and
glibc's) gives me 0. Also, before the fix, I get "warning: floating constant
truncated to zero" and the conversion is correct; after the fix, no message,
and an incorrect conversion.

Reply via email to