]> granicus.if.org Git - python/commitdiff
#11901: add description of how bitfields are laid out to hexversion docs
authorR David Murray <rdmurray@bitdance.com>
Mon, 25 Apr 2011 20:10:18 +0000 (16:10 -0400)
committerR David Murray <rdmurray@bitdance.com>
Mon, 25 Apr 2011 20:10:18 +0000 (16:10 -0400)
Patch by Sijin Joseph.

Doc/library/sys.rst
Misc/ACKS

index 12f861b2933d759995d1eefb80ab0904fbf69de8..1598d96b628b5fe97445c4d4d5a00c4c8421227b 100644 (file)
@@ -562,6 +562,30 @@ always available.
    ``version_info`` value may be used for a more human-friendly encoding of the
    same information.
 
+   The ``hexversion`` is a 32-bit number with the following layout
+
+   +-------------------------+------------------------------------------------+
+   | bits (big endian order) | meaning                                        |
+   +=========================+================================================+
+   | :const:`1-8`            |  ``PY_MAJOR_VERSION``  (the ``2`` in           |
+   |                         |  ``2.1.0a3``)                                  |
+   +-------------------------+------------------------------------------------+
+   | :const:`9-16`           |  ``PY_MINOR_VERSION``  (the ``1`` in           |
+   |                         |  ``2.1.0a3``)                                  |
+   +-------------------------+------------------------------------------------+
+   | :const:`17-24`          |  ``PY_MICRO_VERSION``  (the ``0`` in           |
+   |                         |  ``2.1.0a3``)                                  |
+   +-------------------------+------------------------------------------------+
+   | :const:`25-28`          |  ``PY_RELEASE_LEVEL``  (``0xA`` for alpha,     |
+   |                         |  ``0xB`` for beta, ``0xC`` for gamma and       |
+   |                         |  ``0xF`` for final)                            |
+   +-------------------------+------------------------------------------------+
+   | :const:`29-32`          |  ``PY_RELEASE_SERIAL``  (the ``3`` in          |
+   |                         |  ``2.1.0a3``)                                  |
+   +-------------------------+------------------------------------------------+
+
+   thus ``2.1.0a3`` is hexversion ``0x020100a3``
+
    .. versionadded:: 1.5.2
 
 
index e614e0d745e25bc8c602ec29bbb5a5ed7bbdc5e4..450a3a5c3972ae51e4ca8f0fcb935f08671b6092 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -411,6 +411,7 @@ Irmen de Jong
 Lucas de Jonge
 John Jorgensen
 Jens B. Jorgensen
+Sijin Joseph
 Andreas Jung
 Tattoo Mabonzo K.
 Bob Kahn