>That's not true at all, Lua < 5.3 uses doubles for all numbers
I know that of course, but using doubles for integer math is only safe if you limit yourself to a certain integer range.
>which on most computers is IEEE 754, they can represent integers perfectly up to 2^53
False. You get rounding errors after 10^14.
>The value is not corrupted, depending on the rounding mode is which number you're going to get out of that (I get 9223372036854774784)
The above being an example of such a rounding error.
If I assign the value 9223372036854775000 to a variable I expect said variable to afterwards have the value 9223372036854775000 not 9223372036854774784. Your example is exactly what I meant with "corrupted" i.e. the value is changed by the conversion.
That's not true at all, Lua < 5.3 uses doubles for all numbers, which on most computers is IEEE 754, they can represent integers perfectly up to 2^53
The value is not corrupted, depending on the rounding mode is which number you're going to get out of that (I get 9223372036854774784)