On Monday, 30 June 2014 at 11:57:04 UTC, Don wrote:
And if you perform a division using integers, you've silently
lost precision.
2 ints of arbitrary length = rational numbers => no loss of
precision for divs.
CPU vendors make arbitrary decisions about FP and break
compliance with no remorse for single precision float vector
operations in order to reduce die size / increase throughput.
That includes not having NaN/Inf, reducing mantissa precision for
some operations, etc.
FP is not portable out-of-the-box.
I think the main advantage of integers is that you control the
precision and can repeat the calculation with the same result. It
is easier to avoid stability issues with integers too. And it is
portable.