1 __all__
= ["log2_int", "bits_for"]
4 def log2_int(n
, need_pow2
=True):
7 r
= (n
- 1).bit_length()
8 if need_pow2
and (1 << r
) != n
:
9 raise ValueError("{} is not a power of 2".format(n
))
13 def bits_for(n
, require_sign_bit
=False):
15 r
= log2_int(n
+ 1, False)
17 require_sign_bit
= True
18 r
= log2_int(-n
, False)