Fix type hints, validation errors

Add type hints and fix leading spaces issues.
This commit is contained in:
Bill Breitmayer 2024-05-29 11:31:58 -04:00
parent a471d00d75
commit 93610d9744

View File

@ -68,7 +68,7 @@ bit_length = int.bit_length
Anything like int(None) is going to cause a loud error. """ Anything like int(None) is going to cause a loud error. """
def bit_get(bint: int, index: int): def bit_get(bint: int, index: int) -> int:
"""Get value of bit at index in bint. """Get value of bit at index in bint.
>>> bit_get(15, 0) >>> bit_get(15, 0)
@ -86,7 +86,7 @@ def bit_get(bint: int, index: int):
return multibit_get(bint, index, 1) return multibit_get(bint, index, 1)
def bit_set(bint: int, index: int, value: int = 1): def bit_set(bint: int, index: int, value: int = 1) -> int:
"""Set bit at index to value 1 or 0, like set() or unset(). """Set bit at index to value 1 or 0, like set() or unset().
>>> bit_set(15, 0, 0) >>> bit_set(15, 0, 0)
@ -105,7 +105,7 @@ def bit_set(bint: int, index: int, value: int = 1):
return multibit_set(bint, index, 1, value) return multibit_set(bint, index, 1, value)
def bit_insert(bint: int, index: int, value: int = 1): def bit_insert(bint: int, index: int, value: int = 1) -> int:
"""Insert bit value before index. """Insert bit value before index.
>>> bit_insert(15, 0, 0) >>> bit_insert(15, 0, 0)
@ -223,13 +223,14 @@ def multibit_remove(bint: int, index: int, bit_len: int) -> int:
2 2
""" """
if bint < 0 or index < 0: if bint < 0 or index < 0 or bit_len < 0:
return None # error return None # error
return ((bint >> index + bit_len) << index) | bint & ((1 << index) - 1) return ((bint >> index + bit_len) << index) | bint & ((1 << index) - 1)
if __name__ == "__main__": if __name__ == "__main__":
import doctest import doctest
doctest.testmod() doctest.testmod()