From: Elisha Hollander Date: Thu, 15 Jul 2021 10:48:46 +0000 (+0300) Subject: Remove unnecessary test for `xc == 1` in _pydecimal (GH-27102) X-Git-Tag: v3.11.0a1~673 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3527569f1cd0df697242b68a8a837f08904872fe;p=thirdparty%2FPython%2Fcpython.git Remove unnecessary test for `xc == 1` in _pydecimal (GH-27102) - if `xc == 1` then the function returns on line 2140; - other assignments to `xc` are inside the `y.sign == 1` condition block which always returns early --- diff --git a/Lib/_pydecimal.py b/Lib/_pydecimal.py index 3d6cece9676c..f6d9ddf42e47 100644 --- a/Lib/_pydecimal.py +++ b/Lib/_pydecimal.py @@ -2230,7 +2230,7 @@ class Decimal(object): if xe != 0 and len(str(abs(yc*xe))) <= -ye: return None xc_bits = _nbits(xc) - if xc != 1 and len(str(abs(yc)*xc_bits)) <= -ye: + if len(str(abs(yc)*xc_bits)) <= -ye: return None m, n = yc, 10**(-ye) while m % 2 == n % 2 == 0: @@ -2243,7 +2243,7 @@ class Decimal(object): # compute nth root of xc*10**xe if n > 1: # if 1 < xc < 2**n then xc isn't an nth power - if xc != 1 and xc_bits <= n: + if xc_bits <= n: return None xe, rem = divmod(xe, n)