diff options
author | Yesudeep Mangalapilly <yesudeep@gmail.com> | 2011-08-17 00:19:39 +0530 |
---|---|---|
committer | Yesudeep Mangalapilly <yesudeep@gmail.com> | 2011-08-17 00:19:39 +0530 |
commit | eaaabd0ecc9ef06eaf5734908f1476cbbc7565a5 (patch) | |
tree | 41392d0fcb91dcfafd2694a4300d45faecb38b7a /rsa | |
parent | 9487ce6e5db4cb876c465e8bd51a3e579e118c0c (diff) | |
download | rsa-eaaabd0ecc9ef06eaf5734908f1476cbbc7565a5.tar.gz |
Fixes a silly error.
Diffstat (limited to 'rsa')
-rw-r--r-- | rsa/common.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/rsa/common.py b/rsa/common.py index 7801b59..eb95e82 100644 --- a/rsa/common.py +++ b/rsa/common.py @@ -22,6 +22,9 @@ def bit_size(num): Number of bits needed to represent a integer excluding any prefix 0 bits. + As per definition from http://wiki.python.org/moin/BitManipulation and + to match the behavior of the Python 3 API. + :param num: Integer value. If num is 0, returns 0. Only the absolute value of the number is considered. Therefore, signed integers will be abs(num) @@ -67,16 +70,13 @@ def _bit_size(number): def byte_size(number): - """Returns the number of bytes required to hold a specific long number. + """ + Returns the number of bytes required to hold a specific long number. The number of bytes is rounded up. """ - if number == 0: - return 0 - # Does not perform floating-point division and uses built-in divmod - # operator. quanta, mod = divmod(bit_size(number), 8) - if mod: + if mod or number == 0: quanta += 1 return quanta #return int(math.ceil(bit_size(number) / 8.0)) |