mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-02-14 21:38:07 +00:00
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
parent
01be0441d6
commit
23956f55f3
|
@ -60,7 +60,7 @@ and slicing, but this bitwise implementation is significantly faster
|
||||||
|
|
||||||
See https://github.com/billbreit/BitWiseApps/blob/main/dev/time_ops.py
|
See https://github.com/billbreit/BitWiseApps/blob/main/dev/time_ops.py
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
bit_length = int.bit_length
|
bit_length = int.bit_length
|
||||||
|
|
||||||
|
@ -68,6 +68,7 @@ bit_length = int.bit_length
|
||||||
and for bit_length(value) > bit_len, which can cause silent errors.
|
and for bit_length(value) > bit_len, which can cause silent errors.
|
||||||
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):
|
||||||
"""Get value of bit at index in bint.
|
"""Get value of bit at index in bint.
|
||||||
|
|
||||||
|
@ -85,6 +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):
|
||||||
"""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().
|
||||||
|
|
||||||
|
@ -103,6 +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):
|
||||||
"""Insert bit value before index.
|
"""Insert bit value before index.
|
||||||
|
|
||||||
|
@ -121,6 +124,7 @@ def bit_insert(bint: int, index: int, value: int = 1):
|
||||||
|
|
||||||
return multibit_insert(bint, index, 1, value)
|
return multibit_insert(bint, index, 1, value)
|
||||||
|
|
||||||
|
|
||||||
def bit_remove(bint: int, index: int) -> int:
|
def bit_remove(bint: int, index: int) -> int:
|
||||||
"""Remove the bit at index from bint.
|
"""Remove the bit at index from bint.
|
||||||
|
|
||||||
|
@ -136,6 +140,7 @@ def bit_remove(bint: int, index: int) -> int:
|
||||||
|
|
||||||
return multibit_remove(bint, index, 1)
|
return multibit_remove(bint, index, 1)
|
||||||
|
|
||||||
|
|
||||||
def multibit_get(bint: int, index: int, bit_len: int) -> int:
|
def multibit_get(bint: int, index: int, bit_len: int) -> int:
|
||||||
"""Get bit_len number of bits starting from index.
|
"""Get bit_len number of bits starting from index.
|
||||||
819 = 1100110011.
|
819 = 1100110011.
|
||||||
|
@ -155,6 +160,7 @@ def multibit_get(bint: int, index: int, bit_len: int) -> int:
|
||||||
|
|
||||||
return (bint >> index) & ((1 << bit_len) - 1)
|
return (bint >> index) & ((1 << bit_len) - 1)
|
||||||
|
|
||||||
|
|
||||||
def multibit_set(bint: int, index: int, bit_len: int, value: int) -> int:
|
def multibit_set(bint: int, index: int, bit_len: int, value: int) -> int:
|
||||||
"""Overlay bint at index with value for bit_len bits.
|
"""Overlay bint at index with value for bit_len bits.
|
||||||
|
|
||||||
|
@ -225,7 +231,6 @@ def multibit_remove(bint: int, index: int, bit_len: int) -> int:
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
import doctest
|
import doctest
|
||||||
|
|
||||||
doctest.testmod()
|
doctest.testmod()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user