def get_set_bits_count(number: int) -> int:
"""
Count the number of set bits in a 32 bit integer
>>> get_set_bits_count(25)
3
>>> get_set_bits_count(37)
3
>>> get_set_bits_count(21)
3
>>> get_set_bits_count(58)
4
>>> get_set_bits_count(0)
0
>>> get_set_bits_count(256)
1
>>> get_set_bits_count(-1)
Traceback (most recent call last):
...
ValueError: the value of input must be positive
"""
if number < 0:
raise ValueError("the value of input must be positive")
result = 0
while number:
if number % 2 == 1:
result += 1
number = number >> 1
return result
if __name__ == "__main__":
import doctest
doctest.testmod()