From 3527569f1cd0df697242b68a8a837f08904872fe Mon Sep 17 00:00:00 2001 From: Elisha Hollander Date: Thu, 15 Jul 2021 13:48:46 +0300 Subject: 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 --- Lib/_pydecimal.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/_pydecimal.py b/Lib/_pydecimal.py index 3d6cece..f6d9ddf 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) -- cgit v0.12