[racket] Inconsistency of `in-range` and numerical issues
I've discovered a rather troubling behaviour when using `in-range` with
floating point numbers, which I think is worth knowing in case you hadn't
consider the issue before:
On my machine, I get the following:
(length (for/list ([i (in-range .1 .7 .1)]) i)) ; 6
(length (for/list ([i (in-range .1 .8 .1)]) i)) ; 8 (!)
But:
(length (for/list ([i (in-range 1/10 7/10 1/10)]) i)) ; 6
(length (for/list ([i (in-range 1/10 8/10 1/10)]) i)) ; 7
Would it be a good idea to safe-guard these kinds of cases directly in
`in-range`?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150224/7b00e24f/attachment.html>