This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients gpolo, serhiy.storchaka
Date 2013-01-02.15:09:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1357139353.64.0.50025486638.issue16840@psf.upfronthosting.co.za>
In-reply-to
Content
A long time Tcl got support first 64-bit integers, and then arbitrary size integers. Python also supports arbitrary size integers. However Tkinter supports only C long integers. For example, on 32-bit platform:

>>> import tkinter
>>> t = tkinter.Tk()
>>> t.tk.call('expr', 2**30)
1073741824
>>> t.tk.call('expr', 2**31)
<wideInt object at 0x9122518>
>>> t.tk.call('expr', 2**63)
<bignum object at 0x9126010>

Those <wideInt object> and <bignum object> are not usable from Python. Potentially this can cause errors in some rare circumstances.

I'm working on a patch, but was faced with a problem. Tcl provides functions for conversions between Bignum Tcl object and mp_int, but it does not provide all functions for conversions between mp_int and bytes sequence. Which is better, add libtommath library to CPython dependencies, or implement the missing functionality manually? Or may be use haxadecimal representation for conversions?
History
Date User Action Args
2013-01-02 15:09:13serhiy.storchakasetrecipients: + serhiy.storchaka, gpolo
2013-01-02 15:09:13serhiy.storchakasetmessageid: <1357139353.64.0.50025486638.issue16840@psf.upfronthosting.co.za>
2013-01-02 15:09:13serhiy.storchakalinkissue16840 messages
2013-01-02 15:09:13serhiy.storchakacreate