Some inputs cause unexpected behaviour. One example is the input "0xffffffffffffff" in 64-bit mode which is shown as "0x100000000000000". This problem comes from lost precision when inputs are cast to float after evaluation. Since python's built in float type is 64-bit, it cannot represent all 64-bit integers.
This commit allows the evaluated input to take whichever type suits it, removing the problem due to casting.
Some inputs cause unexpected behaviour. One example is the input "0xffffffffffffff" in 64-bit mode which is shown as "0x100000000000000". This problem comes from lost precision when inputs are cast to float after evaluation. Since python's built in float type is 64-bit, it cannot represent all 64-bit integers. This commit allows the evaluated input to take whichever type suits it, removing the problem due to casting.