(2011/09/17 16:14), Yusuke ENDOH wrote:
> Hello,
> 
> 2011/9/17 NARUSE, Yui <naruse / airemix.jp>:
>> In my current understanding, the error is
>> fabs(beg) * epsilon + fabs(unit) * epsilon * n + fabs(end) * epsilon
>> = (fabs(beg) + fabs(end) + fabs(end-beg)) * epsilon
>> // ignore error over unit*n -> end-beg
>> But the correct error may be less than it.
> 
> 
> I have no understanding of the error, but your patch does not
> work in this case:
> 
>   e = 1.0 + 1E-12
>   p (1.0 ... e).step(1E-16).all? {|n| n < e }  #=> false
>   p (1.0 ... e).step(1E-16).to_a.last == e     #=> true

Your case is not the target of my patch.

-- 
NARUSE, Yui  <naruse / airemix.jp>