diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2022-12-27 09:56:02 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2022-12-27 10:00:19 -0500 |
commit | 00f681d6a63c66740a2a93ee138f351b531430b0 (patch) | |
tree | bddae0eb97ddb6679b212c85c7d592013bb648c9 /coverage/numbits.py | |
parent | cf3fe635dd63217c0999c372aadae5a14741b1c5 (diff) | |
download | python-coveragepy-git-00f681d6a63c66740a2a93ee138f351b531430b0.tar.gz |
test: add mypy just for one file at first
Diffstat (limited to 'coverage/numbits.py')
-rw-r--r-- | coverage/numbits.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/coverage/numbits.py b/coverage/numbits.py index da8e724b..99d53878 100644 --- a/coverage/numbits.py +++ b/coverage/numbits.py @@ -16,12 +16,12 @@ the future. Use these functions to work with those binary blobs of data. import json from itertools import zip_longest +from typing import Iterable, List -from coverage.misc import contract +import sqlite3 -@contract(nums='Iterable', returns='blob') -def nums_to_numbits(nums): +def nums_to_numbits(nums: Iterable[int]) -> bytes: """Convert `nums` into a numbits. Arguments: @@ -41,8 +41,7 @@ def nums_to_numbits(nums): return bytes(b) -@contract(numbits='blob', returns='list[int]') -def numbits_to_nums(numbits): +def numbits_to_nums(numbits: bytes) -> List[int]: """Convert a numbits into a list of numbers. Arguments: @@ -63,8 +62,7 @@ def numbits_to_nums(numbits): return nums -@contract(numbits1='blob', numbits2='blob', returns='blob') -def numbits_union(numbits1, numbits2): +def numbits_union(numbits1: bytes, numbits2: bytes) -> bytes: """Compute the union of two numbits. Returns: @@ -74,8 +72,7 @@ def numbits_union(numbits1, numbits2): return bytes(b1 | b2 for b1, b2 in byte_pairs) -@contract(numbits1='blob', numbits2='blob', returns='blob') -def numbits_intersection(numbits1, numbits2): +def numbits_intersection(numbits1: bytes, numbits2: bytes) -> bytes: """Compute the intersection of two numbits. Returns: @@ -86,8 +83,7 @@ def numbits_intersection(numbits1, numbits2): return intersection_bytes.rstrip(b'\0') -@contract(numbits1='blob', numbits2='blob', returns='bool') -def numbits_any_intersection(numbits1, numbits2): +def numbits_any_intersection(numbits1: bytes, numbits2: bytes) -> bool: """Is there any number that appears in both numbits? Determine whether two number sets have a non-empty intersection. This is @@ -100,8 +96,7 @@ def numbits_any_intersection(numbits1, numbits2): return any(b1 & b2 for b1, b2 in byte_pairs) -@contract(num='int', numbits='blob', returns='bool') -def num_in_numbits(num, numbits): +def num_in_numbits(num: int, numbits: bytes) -> bool: """Does the integer `num` appear in `numbits`? Returns: @@ -113,7 +108,7 @@ def num_in_numbits(num, numbits): return bool(numbits[nbyte] & (1 << nbit)) -def register_sqlite_functions(connection): +def register_sqlite_functions(connection: sqlite3.Connection) -> None: """ Define numbits functions in a SQLite connection. |