Hello,
I don't know if anyone has followed the bug report for 1232705. An
issue is raised about big integer support. For the purposes of this
context, big integers shall be anything bigger than 32-bits, either
signed or unsigned, and may herein be expressed in either hex or decimal
(preferably both).
The biggest/smallest integer I can get in Mozilla Firefox on WinXP 32 is
+/- hex 20 0000 0000 0000 or dec 9007199254740992. I have not tested in
Linux yet. Can anyone on other OSes or browsers get bigger or smaller
numbers? I wrote a simply JavaScript to help, and attached it to the
bug report.
The JavaScript page merely has some buttons with predefined numbers, an
input field, a parse button, and an output field. The "parse" button
takes the string representation in the input text field, passes it to
parseInt to make an integer. Then it assigns that integer to the value
of the output text field, which implicitly converts back to a string.
The strings expect decimal only at this point. I could do bin2hex and
hex2bin later.
The strings should be the same. I haven't got an algorithm to do this
automatically. I did it manually. I just started with all 9s, (9, 99,
999, and so on) until the results differed. Then I reduced the first 9
to 1, and the rest of the 9s to 0s. Then I increased the last digit
from 0 through 9 to ensure they were all the same. If it's the same, go
half way up, else go half way down on the most significant digit until
you isolate the highest you can make it. For example, take the first
digit from 1 to 5, and the last from 0-9. If it' the same, take the
first up to 7, last 0-9. I found that sometimes the number would
(seemingly at random) match and then differ with the last digit changes.
If this happens, it's considered an overflow somewhere. Usually the
overflow caused the least significant digit(s) to go to 0. But
sometimes it would make odds round down to evens, usually 2 or 0 though.
It's hard to explain. If you come up with a good algorithm, let me
know. I think it would be handy to have a quick, automatic way of
determining your browser's math limits. Either way, if you've got about
5-10 minutes to kill, please test this. You can easily start off where
I was to save time. A dec <-> hex converter might be handy, so if it
might be useful, I'll include later. The odd looking decimal number
held little meaning for me until I converted it to hex and was surprised
to find a pretty number, which I don't believe is coincidence. :p It's
probably a C #define in some header file of some math library in
Mozilla. Simply making it bigger and recompiling might work locally,
but does nothing for the default installs out there. Maybe there's an
archaic way to change it in some browser config file. But I kind of
doubt that.
Leif
-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP,
AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Dynapi-Dev mailing list
Dynapi-Dev@lists.sourceforge.net
http://www.mail-archive.com/dynapi-dev@lists.sourceforge.net/