From: Paper Moon Date: Mon, 29 Jun 2026 09:56:41 +0000 (+0800) Subject: gh-152359: Update numbers.rst to reference numeric-hash docs (#152549) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8ec36f14a552136d54072e3e5bb595ec1f4f0b5f;p=thirdparty%2FPython%2Fcpython.git gh-152359: Update numbers.rst to reference numeric-hash docs (#152549) Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> --- diff --git a/Doc/library/numbers.rst b/Doc/library/numbers.rst index 57b35017072c..0ed24b4e6c52 100644 --- a/Doc/library/numbers.rst +++ b/Doc/library/numbers.rst @@ -90,20 +90,7 @@ Notes for type implementers Implementers should be careful to make equal numbers equal and hash them to the same values. This may be subtle if there are two different -extensions of the real numbers. For example, :class:`fractions.Fraction` -implements :func:`hash` as follows:: - - def __hash__(self): - if self.denominator == 1: - # Get integers right. - return hash(self.numerator) - # Expensive check, but definitely correct. - if self == float(self): - return hash(float(self)) - else: - # Use tuple's hash to avoid a high collision rate on - # simple fractions. - return hash((self.numerator, self.denominator)) +extensions of the real numbers. See also :ref:`numeric-hash`. Adding More Numeric ABCs