
14 Nov
2009
14 Nov
'09
4 p.m.
Hi. I've seen that in GHC sometimes there are little errors in some basic number calculations: *Prelude> 123.35503 * 10.0 1233.5502999999999 *Prelude> properFraction 123.35503 (123,0.3550299999999993) whereas in Hugs no such errors seem to occur (that I have found, at least): *Hugs> 123.35503 * 10.0 1233.5503 (but:) *Hugs> properFraction 123.35503 (123,0.355029999999999) I understand that error may (and will) happen in floating point, but it surprises me that they do so easily, and, above all, the difference between GHC and Hugs. Does someone know why does this difference occur? (Thanks in advance, by the way :) ).