]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.10] bpo-47040: improve document of checksum functions (GH-31955) (GH-32002)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sun, 20 Mar 2022 07:21:34 +0000 (00:21 -0700)
committerGitHub <noreply@github.com>
Sun, 20 Mar 2022 07:21:34 +0000 (00:21 -0700)
Clarifies a versionchanged note on crc32 & adler32 docs that the workaround is only needed for Python 2 and earlier.
Also cleans up an unnecessary intermediate variable in the implementation.

Authored-By: Ma Lin / animalize
Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit 6d290d5862375799e997f1192ef56abca4e9182e)

Co-authored-by: Ma Lin <animalize@users.noreply.github.com>
Doc/library/binascii.rst
Doc/library/zlib.rst

index 2c0c1bce5d7f8f9a0f18f0be815a0c4c5605b6df..5cd058c0b6d74f97cd85f2917783e4de14d964d3 100644 (file)
@@ -135,7 +135,7 @@ The :mod:`binascii` module defines the following functions:
 
 .. function:: crc32(data[, value])
 
-   Compute CRC-32, the 32-bit checksum of *data*, starting with an
+   Compute CRC-32, the unsigned 32-bit checksum of *data*, starting with an
    initial CRC of *value*.  The default initial CRC is zero.  The algorithm
    is consistent with the ZIP file checksum.  Since the algorithm is designed for
    use as a checksum algorithm, it is not suitable for use as a general hash
@@ -149,9 +149,8 @@ The :mod:`binascii` module defines the following functions:
 
    .. versionchanged:: 3.0
       The result is always unsigned.
-      To generate the same numeric value across all Python versions and
-      platforms, use ``crc32(data) & 0xffffffff``.
-
+      To generate the same numeric value when using Python 2 or earlier,
+      use ``crc32(data) & 0xffffffff``.
 
 .. function:: b2a_hex(data[, sep[, bytes_per_sep=1]])
               hexlify(data[, sep[, bytes_per_sep=1]])
index ec60ea24db662709f0745715e91cf3c738885164..6758c615d74db8242a65fd7f352b5495bd156107 100644 (file)
@@ -42,10 +42,9 @@ The available exception and functions in this module are:
    for use as a general hash algorithm.
 
    .. versionchanged:: 3.0
-      Always returns an unsigned value.
-      To generate the same numeric value across all Python versions and
-      platforms, use ``adler32(data) & 0xffffffff``.
-
+      The result is always unsigned.
+      To generate the same numeric value when using Python 2 or earlier,
+      use ``adler32(data) & 0xffffffff``.
 
 .. function:: compress(data, /, level=-1)
 
@@ -127,10 +126,9 @@ The available exception and functions in this module are:
    for use as a general hash algorithm.
 
    .. versionchanged:: 3.0
-      Always returns an unsigned value.
-      To generate the same numeric value across all Python versions and
-      platforms, use ``crc32(data) & 0xffffffff``.
-
+      The result is always unsigned.
+      To generate the same numeric value when using Python 2 or earlier,
+      use ``crc32(data) & 0xffffffff``.
 
 .. function:: decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)