[Python-checkins] cpython (2.7): #11901: add description of how bitfields are laid out to hexversion docs

r.david.murray python-checkins at python.org
Mon Apr 25 22:14:59 CEST 2011


http://hg.python.org/cpython/rev/48758cd0769b
changeset:   69558:48758cd0769b
branch:      2.7
parent:      69545:e4fcfb8066ff
user:        R David Murray <rdmurray at bitdance.com>
date:        Mon Apr 25 16:10:18 2011 -0400
summary:
  #11901: add description of how bitfields are laid out to hexversion docs

Patch by Sijin Joseph.

files:
  Doc/library/sys.rst |  24 ++++++++++++++++++++++++
  Misc/ACKS           |   1 +
  2 files changed, 25 insertions(+), 0 deletions(-)


diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -562,6 +562,30 @@
    ``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
 
 
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -411,6 +411,7 @@
 Lucas de Jonge
 John Jorgensen
 Jens B. Jorgensen
+Sijin Joseph
 Andreas Jung
 Tattoo Mabonzo K.
 Bob Kahn

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list