diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-03-20 16:00:49 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-03-20 16:00:49 (GMT) |
commit | d72c7b671e2d010ea39a8686f89c83612d2d3a76 (patch) | |
tree | d720a29ccca22a761e6310f2e4f25e57f6b03106 | |
parent | 0ef2cf6126f47b9a4ef8f8ff93cafed487b67363 (diff) | |
download | cpython-d72c7b671e2d010ea39a8686f89c83612d2d3a76.zip cpython-d72c7b671e2d010ea39a8686f89c83612d2d3a76.tar.gz cpython-d72c7b671e2d010ea39a8686f89c83612d2d3a76.tar.bz2 |
Add ..versionadded for sys.int_info, update py3k version of
whatsnew/2.7.rst to keep it in sync with the trunk version, and
replace SHIFT with PyLong_SHIFT in #error message
-rw-r--r-- | Doc/library/sys.rst | 2 | ||||
-rw-r--r-- | Doc/whatsnew/2.7.rst | 24 | ||||
-rw-r--r-- | Include/longintrepr.h | 2 |
3 files changed, 27 insertions, 1 deletions
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 091b4d6..632e550 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -429,6 +429,8 @@ always available. | | represent a digit | +-------------------------+----------------------------------------------+ + .. versionadded:: 3.1 + .. function:: intern(string) diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst index 8037b13..e44a42b 100644 --- a/Doc/whatsnew/2.7.rst +++ b/Doc/whatsnew/2.7.rst @@ -86,6 +86,30 @@ Some smaller changes made to the core Python language are: (Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.) +* Integers are now stored internally either in base 2**15 or in base + 2**30, the base being determined at build time. Previously, they + were always stored in base 2**15. Using base 2**30 gives + significant performance improvements on 64-bit machines, but + benchmark results on 32-bit machines have been mixed. Therefore, + the default is to use base 2**30 on 64-bit machines and base 2**15 + on 32-bit machines; on Unix, there's a new configure option + --enable-big-digits that can be used to override this default. + + Apart from the performance improvements this change should be + invisible to end users, with one exception: for testing and + debugging purposes there's a new structseq ``sys.long_info`` that + provides information about the internal format, giving the number of + bits per digit and the size in bytes of the C type used to store + each digit:: + + >>> import sys + >>> sys.long_info + sys.long_info(bits_per_digit=30, sizeof_digit=4) + + + (Contributed by Mark Dickinson; :issue:`4258`.) + + .. ====================================================================== diff --git a/Include/longintrepr.h b/Include/longintrepr.h index 144d04b..dd0933a 100644 --- a/Include/longintrepr.h +++ b/Include/longintrepr.h @@ -67,7 +67,7 @@ typedef long stwodigits; /* signed variant of twodigits */ #define PyLong_MASK ((digit)(PyLong_BASE - 1)) #if PyLong_SHIFT % 5 != 0 -#error "longobject.c requires that SHIFT be divisible by 5" +#error "longobject.c requires that PyLong_SHIFT be divisible by 5" #endif /* Long integer representation. |