issue23591: optimize _high_bit()

This commit is contained in:
Ethan Furman 2016-09-02 15:50:21 -07:00
parent 1a05d6c04d
commit 0443953067
1 changed files with 2 additions and 7 deletions

View File

@ -784,13 +784,8 @@ class IntFlag(int, Flag):
def _high_bit(value):
"""return the highest bit set in value"""
bit = 0
while 'looking for the highest bit':
limit = 2 ** bit
if limit > value:
return bit - 1
bit += 1
"""returns index of highest bit, or -1 if value is zero or negative"""
return value.bit_length() - 1 if value > 0 else -1
def unique(enumeration):
"""Class decorator for enumerations ensuring unique member values."""