
def 							__A(lowerCAmelCase						,  lowerCAmelCase )		->				List[Any]:

		"""simple docstring"""






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

		_UpperCamelCase						    =	str(bin(snake_case__ ) )
		binary_number += "0" * shift_amount
		return binary_number


def 							__A(lowerCAmelCase						,  lowerCAmelCase )		->				List[Any]:

		"""simple docstring"""






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

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


def 							__A(lowerCAmelCase						,  lowerCAmelCase )		->				Union[str, Any]:

		"""simple docstring"""






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

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


if __name__ == "__main__":
	import doctest

	doctest.testmod()





from typing import TYPE_CHECKING

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


lowerCamelCase__	=							{
    "configuration_mctct": ["MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP", "MCTCTConfig"],
    "feature_extraction_mctct": ["MCTCTFeatureExtractor"],
    "processing_mctct": ["MCTCTProcessor"],
}


try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowerCamelCase__	=							[
		    "MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "MCTCTForCTC",
		    "MCTCTModel",
		    "MCTCTPreTrainedModel",
		]


if TYPE_CHECKING:
		from .configuration_mctct import MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP, MCTCTConfig
		from .feature_extraction_mctct import MCTCTFeatureExtractor
		from .processing_mctct import MCTCTProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_mctct import MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST, MCTCTForCTC, MCTCTModel, MCTCTPreTrainedModel

else:
		import sys

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



