



def       __lowercase  (_SCREAMING_SNAKE_CASE      :int       ):
				if not isinstance(lowerCAmelCase__    ,	lowerCAmelCase__       ) or number < 0:
								raise ValueError('''Input must be a non-negative integer'''       )

				SCREAMING_SNAKE_CASE  :						Any      					= 0
				while number:
								# This way we arrive at next set bit (next 1) instead of looping
								# through each bit and checking for 1s hence the
								# loop won't run 32 times it will only run the number of `1` times
								number &= number - 1
								count += 1
				return count


if __name__ == "__main__":
	import doctest

	doctest.testmod()









'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


snake_case_			=     {
    """configuration_timesformer""": ["""TIMESFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""", """TimesformerConfig"""],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	snake_case_			=     [
	    """TIMESFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """TimesformerModel""",
	    """TimesformerForVideoClassification""",
	    """TimesformerPreTrainedModel""",
	]

if TYPE_CHECKING:
	from .configuration_timesformer import TIMESFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, TimesformerConfig

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_timesformer import (
		    TIMESFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TimesformerForVideoClassification,
		    TimesformerModel,
		    TimesformerPreTrainedModel,
		)

else:
	import sys

	snake_case_			=     _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




