


def 	__lowerCamelCase						(							lowerCamelCase__		:						List[Any]  ,							lowerCamelCase__		:						List[Any]      ):





			'''simple docstring'''




			if number < 0 or shift_amount < 0:
						raise ValueError("""both inputs must be positive integers"""      )

			lowerCamelCase    		=  str(bin(lowerCamelCase__      )      )
			binary_number += "0" * shift_amount
			return binary_number






def 	__lowerCamelCase						(							lowerCamelCase__		:						Tuple  ,							lowerCamelCase__		:						str      ):





			'''simple docstring'''




			if number < 0 or shift_amount < 0:
						raise ValueError("""both inputs must be positive integers"""      )

			lowerCamelCase    		=  str(bin(lowerCamelCase__      )      )[2:]
			if shift_amount >= len(lowerCamelCase__      ):
						return "0b0"
			lowerCamelCase    		=  binary_number[: len(lowerCamelCase__      ) - shift_amount]
			return "0b" + shifted_binary_number






def 	__lowerCamelCase						(							lowerCamelCase__		:						List[Any]  ,							lowerCamelCase__		:						List[Any]      ):





			'''simple docstring'''




			if number >= 0:  # Get binary representation of positive number
						lowerCamelCase    		=  "0" + str(bin(lowerCamelCase__      )      ).strip("""-"""      )[2:]
			else:  # Get binary (2's complement) representation of negative number
						lowerCamelCase    		=  len(bin(lowerCamelCase__      )[3:]      )  # Find 2's complement of number
						lowerCamelCase    		=  bin(abs(lowerCamelCase__      ) - (1 << binary_number_length)      )[3:]
						lowerCamelCase    		=  (
						    "1" + "0" * (binary_number_length - len(lowerCamelCase__      )) + binary_number
						)

			if shift_amount >= len(lowerCamelCase__      ):
						return "0b" + binary_number[0] * len(lowerCamelCase__      )
			return (
			    "0b"
			    + binary_number[0] * shift_amount
			    + binary_number[: len(lowerCamelCase__      ) - shift_amount]
			)


if __name__ == "__main__":
		import doctest

		doctest.testmod()





'''simple docstring'''
from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


lowerCAmelCase   : Dict             =				{"""configuration_van""": ["""VAN_PRETRAINED_CONFIG_ARCHIVE_MAP""", """VanConfig"""]}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowerCAmelCase   : int             =				[
					    """VAN_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """VanForImageClassification""",
					    """VanModel""",
					    """VanPreTrainedModel""",
					]

if TYPE_CHECKING:
					from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_van import (
										    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
										    VanForImageClassification,
										    VanModel,
										    VanPreTrainedModel,
										)

else:
					import sys

					lowerCAmelCase   : Tuple             =				_LazyModule(__name__, globals()["""__file__"""], _import_structure)


