The logic is in ruby_float_step in float.c.

It doesn't do the obvious (add step to base until exceed maximum), 
probably to avoid accumulating errors. But I think the logic is wrong 
for the ... case.

            if (!excl) n++;
            for (i=0; i<n; i++) {
                rb_yield(DBL2NUM(i*unit+beg));
            }

-- 
Posted via http://www.ruby-forum.com/.