Mail Archives: djgpp-workers/1998/07/19/11:29:57
The last version of libm (that is now part of the latest alpha) came
with a test program. It turns out that it tests not only the math
functions, but others as well, so I'm using it to run some rgeression
tests (that's how the minor bugs in strtod were unearthed).
One particular case where I get many discrepancies is the case like the
following:
double delta = -1e-7;
printf("delta = %f, %g\n", delta, delta);
This prints 0.000000 in DJGPP and Borland, but -0.000000 in Microsoft
(and Linux as well, as I'm told).
Personally, I'd prefer to see the minus sign, since it alerts the user
that the quantity is actually negative, and that more digits are needed
to see the value.
However, this seems to be implementation-dependent behavior, so I'm
unsure whether it needs to be fixed.
Therefore, it's up to you. If enough people want it to be corrected,
I'll try. In particular, I'd like to know how do other environments
(besides the ones cited above) behave in this case.
- Raw text -