On 2017-08-09 18:29, Mark Wieder via use-livecode wrote:
Looking into the engine code, by the time you get to the actual bitXor code, the input arguments are already unsigned integers. Since I was passing 20-hex-digit values to bitXor, I would have expected some kind of runtime warning or error or something. It's not just a loss of precision here, it's a totally wrong answer with no indication that anything has gone astray. Writing a string-oriented function to handle this wasn't a problem - realizing that something had gone wrong was.
Btw, I should mention that the way numbers work in LiveCode has become one of my biggest 'pet peeves' over the last year or so. The current way things work is too simplistic really - it hides the very important distinction between 'exact' and 'inexact' numeric representations, for example.
Unfortunately, there's a fair amount of work involved to fix the situation to my satisfaction level - although I think I have a handle on how to do so without hugely adversely affecting general numeric performance. *sigh*
Warmest Regards, Mark. -- Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/ LiveCode: Everyone can create apps _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode