From 2043f9c582943ec7624f8aec5dc58e59a0b9a5b0 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 25 Apr 2011 16:12:26 -0400 Subject: #11901: add description of how bitfields are laid out to hexversion docs Patch by Sijin Joseph. --- Doc/library/sys.rst | 23 +++++++++++++++++++++++ Misc/ACKS | 1 + 2 files changed, 24 insertions(+) diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index e51e8ea..148630c 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -450,6 +450,29 @@ 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`` .. data:: int_info diff --git a/Misc/ACKS b/Misc/ACKS index 7842fa2..75ad0f9 100644 --- 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 -- cgit v0.12