They already have hardware support for an integer type supporting values up to 2^53
(about 9e15
), which is enough for most purposes.
When these integers “overflow” they turn into Inf
, which will contaminate downstream computations, so that you know something went wrong.
Further more, while they only support integer values up to 2^53
, they actually support much larger values than this, but at the downside of no longer supporting every integer. For example, at 1e18, the spacing between actually represented integers is 128
.
I think this type is good enough for most computational purposes.