On 04/17/2011 06:25 AM, thenlich at users dot sourceforge.net wrote:
--- snip ---
I agree.
Let's open a new bug for this. This bug is about the correct choice of format,
not about rounding (this is somewhere else in the code).
Yes, new PR. We are using builtin snprintf for DTOA.
#define DTOA \
snprintf (buffer, size, "%+-#" STR(MIN_FIELD_WIDTH) ".*" \
"e", ndigits - 1, tmp);
By examining the buffer returned, we are getting an exact value back before we
even begin processing the string for our libgfortran needs. The buffer for this
case contains:
buffer=990e-02
The first digit is an artifact of shifting the buffer for decimal point
placement and is ignored. I still need to check the code between the call to
snprintf and where I have placed a printf to view it.
snprintf may be rounding the value up. Testing continues.