If you look into some numerics book , like the one by Stoer and
they introduce a convention of an epsilon as the smallest positive
that a computer can store.
This is of course machine/implementation dependent. I have tried to
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
Your computer can only represent integer multiples of that number as
floats, so there are all sorts of rounding errors in arithmetic - see