On 08/09/2017 02:36 AM, hh via use-livecode wrote:
but I'm annoyed that the IDE doesn't give me an overflow warning if I try
to perform an operation on a number that's bigger than 0xFFFFFFFF.
Instead, it just happily trims it down to an unsigned integer and proceeds
to give me a wrong result.
Don't complain because *you* are easily able to work around your
From the baseconvert entry of the dictionary:
baseConvert(number, originalBase, destinationBase)
The number must be an integer between zero and 4,294,967,295 (2^32 - 1).
Oops. OK - point sheepishly taken. Is that the definition of integer in
the dictionary? The "integer" entry just says "if the value contains
digits (and an optional minus sign) and no other characters, it is an
integer", which is as simplisitic a definition as the entry for "hex".
But what annoys me isn't the fact that baseconvert, etc (bitXor is the
one that bit me) only work on integers less than 2^32. It's more the
fact that the input data was crunched down to something the functions
could handle, and then give me the wrong result with no warning.
use-livecode mailing list
Please visit this url to subscribe, unsubscribe and manage your subscription