JuliaLang/julia — pull request #6613 by stevengj (2014-04-23 17:43:08+00:00)
Title: fix #6364: float ranges honor length if specified

This is a minimal fix to #6364 (it makes `length((1:64)*(pi/5)) == 64`). In particular, `range(a, st, len)` should produce a range with the given `len`.

The fix still isn't perfect, because if the length of the range is not exactly representable in the requested floating-point type, then it will be converted to a `FloatRange` with a rounded length. Ideally, we should have a `FloatRange1` range type in which the length is an `Int` and there is no `divisor` field, in order to represent floating-point ranges with a specified length. But I feel that adding yet another `Range` type should be a subsequent PR (and might wait for 0.4).