From: Andrej Date: Fri, 19 Dec 2025 08:29:35 +0000 (-0800) Subject: gh-142527: Docs: Clarify that random.seed() discards the sign of an integer input... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=610aabfef2f90dc1a274703779615aa5b7fbbb3a;p=thirdparty%2FPython%2Fcpython.git gh-142527: Docs: Clarify that random.seed() discards the sign of an integer input (#142483) If *a* is an integer, the sign of *a* is discarded in the C source code. Clarify this behavior to prevent foot guns, where a common use case might naively assume that flipping the sign will produce different sequences (e.g. for a train/test split of a synthetic data generator in machine learning). Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- diff --git a/Doc/library/random.rst b/Doc/library/random.rst index 4e55e301b890..6bddf575a809 100644 --- a/Doc/library/random.rst +++ b/Doc/library/random.rst @@ -78,7 +78,7 @@ Bookkeeping functions instead of the system time (see the :func:`os.urandom` function for details on availability). - If *a* is an int, it is used directly. + If *a* is an int, its absolute value is used directly. With version 2 (the default), a :class:`str`, :class:`bytes`, or :class:`bytearray` object gets converted to an :class:`int` and all of its bits are used.