If you look into some numerics book , like the one by Stoer and

Burlisch,

they introduce a convention of an epsilon as the smallest positive

number

that a computer can store.

This is of course machine/implementation dependent. I have tried to

find

whether there is a common Ruby definition - but I didn’t find anything,

maybe because Ruby introduces BigFloats along the way automatically.

In any case, this epsilon will be a power of 2.

On my machine, Float::EPSILON is 2**(-52).

(Just type in

Float::EPSILON

at irb).

Your computer can only represent integer multiples of that number as

floats, so there are all sorts of rounding errors in arithmetic - see

Stoer

and Burlisch

or *http://www.javaworld.com/javaworld/jw-10-1996/jw-10-hood.html*

(http://www.javaworld.com/javaworld/jw-10-1996/jw-10-hood.html) .

Best regards,

Axel