On Aug 30, 2006, at 12:50 , Bruce Momjian wrote:
> Here is a test program. What does it show for you?
> The output for me is:
>
> 4.100000000000000
> 2.999999999999989
> 3.000000000000000
Here's what I get. Just to make sure I'm doing this right, I'm
including how I compiled it.
$ cat div_test.c
#include <stdio.h>
int
main(int argc, char *argv[])
{
double x;
x = 41;
x = x / 10.0;
printf("%f\n", x);
x = x - (int)x;
x = x * 30;
printf("%15.15f\n", x);
x = 0.1 * 30;
printf("%15.15f\n", x);
return 0;
}
$ gcc div_test.c -o div_test
$ ./div_test
4.100000
2.999999999999989
3.000000000000000
$
> Yea, just an optimization, but I was worried that the computations
> might
> throw problems for certain numbers, so I figured I would only
> trigger it
> when necessary.
Thanks for the explanation. Helps me know I might actually be
learning this.
> Patch attached. It also fixes a regression test output too.
Thanks for the patch. I'll look at it more closely tonight.
Michael Glaesemann
grzm seespotcode net