Skip to content

Commit 7cbf23e

Browse files
committed
feat(boolean_algebra): add half adder implementation
1 parent 4f12987 commit 7cbf23e

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

boolean_algebra/half_adder.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,17 @@
1616
"""
1717

1818

19-
def half_adder(a: int, b: int) -> tuple[int, int]:
19+
def half_adder(input_a: int, input_b: int) -> tuple[int, int]:
2020
"""
2121
Compute the sum and carry for a Half Adder.
2222
23+
Args:
24+
input_a: First input bit (0 or 1).
25+
input_b: Second input bit (0 or 1).
26+
27+
Returns:
28+
A tuple `(sum_bit, carry_bit)`.
29+
2330
>>> half_adder(0, 0)
2431
(0, 0)
2532
>>> half_adder(0, 1)
@@ -32,15 +39,15 @@ def half_adder(a: int, b: int) -> tuple[int, int]:
3239
Raises:
3340
ValueError: If inputs are not 0 or 1.
3441
"""
35-
if a not in (0, 1) or b not in (0, 1):
42+
if input_a not in (0, 1) or input_b not in (0, 1):
3643
raise ValueError("Inputs must be 0 or 1")
3744

38-
sum_bit = a ^ b
39-
carry_bit = a & b
45+
sum_bit = input_a ^ input_b
46+
carry_bit = input_a & input_b
4047
return sum_bit, carry_bit
4148

4249

4350
if __name__ == "__main__":
4451
import doctest
4552

46-
doctest.testmod()
53+
doctest.testmod()

0 commit comments

Comments
 (0)