






"""simple docstring"""


from math import radians as angle_to_radians
from math import sin

# Acceleration Constant on Earth (unit m/s^2)
_lowercase											=			9.80_665






def  _snake_case			(						snake_case__				:       List[Any]		, snake_case__				:       int       ):







	if not isinstance(snake_case__		, (int, float)       ):
		raise TypeError('Invalid velocity. Should be a positive number.'       )

	if not isinstance(snake_case__		, (int, float)       ):
		raise TypeError('Invalid angle. Range is 1-90 degrees.'       )

	# Ensure valid angle
	if angle > 90 or angle < 1:
		raise ValueError('Invalid angle. Range is 1-90 degrees.'       )

	# Ensure valid velocity
	if init_velocity < 0:
		raise ValueError('Invalid velocity. Should be a positive number.'       )






def  _snake_case			(						snake_case__				:       List[str]		, snake_case__				:       Optional[Any]       ):
	check_args(snake_case__		, snake_case__       )
	A  				=				angle_to_radians(2 * angle       )
	return round(init_velocity**2 * sin(snake_case__       ) / g		, 2       )






def  _snake_case			(						snake_case__				:       Optional[int]		, snake_case__				:       Optional[int]       ):
	check_args(snake_case__		, snake_case__       )
	A  				=				angle_to_radians(snake_case__       )
	return round(init_velocity**2 * sin(snake_case__       ) ** 2 / (2 * g)		, 2       )






def  _snake_case			(						snake_case__				:       Union[str, Any]		, snake_case__				:       Optional[Any]       ):
	check_args(snake_case__		, snake_case__       )
	A  				=				angle_to_radians(snake_case__       )
	return round(2 * init_velocity * sin(snake_case__       ) / g		, 2       )






def  _snake_case			(						):
	A				, A  				=				25, 20
	assert horizontal_distance(snake_case__		, snake_case__       ) == 40.97
	assert max_height(snake_case__		, snake_case__       ) == 3.73
	assert total_time(snake_case__		, snake_case__       ) == 1.74


if __name__ == "__main__":
		from doctest import testmod

		testmod()

		# Get input from user
		_lowercase											=			float(input('''Initial Velocity: ''').strip())

		# Get input from user
		_lowercase											=			float(input('''angle: ''').strip())

		# Print results
		print()
		print('''Results: ''')
		print(F"""Horizontal Distance: {horizontal_distance(init_vel, angle)!s} [m]""")
		print(F"""Maximum Height: {max_height(init_vel, angle)!s} [m]""")
		print(F"""Total Time: {total_time(init_vel, angle)!s} [s]""")

"""simple docstring"""


from typing import TYPE_CHECKING

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


_lowercase											=			{'''configuration_vilt''': ['''VILT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViltConfig''']}

try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_lowercase											=			['''ViltFeatureExtractor''']
		_lowercase											=			['''ViltImageProcessor''']
		_lowercase											=			['''ViltProcessor''']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_lowercase											=			[
		    '''VILT_PRETRAINED_MODEL_ARCHIVE_LIST''',
		    '''ViltForImageAndTextRetrieval''',
		    '''ViltForImagesAndTextClassification''',
		    '''ViltForTokenClassification''',
		    '''ViltForMaskedLM''',
		    '''ViltForQuestionAnswering''',
		    '''ViltLayer''',
		    '''ViltModel''',
		    '''ViltPreTrainedModel''',
		]


if TYPE_CHECKING:
		from .configuration_vilt import VILT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViltConfig

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_vilt import ViltFeatureExtractor
				from .image_processing_vilt import ViltImageProcessor
				from .processing_vilt import ViltProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_vilt import (
				    VILT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    ViltForImageAndTextRetrieval,
				    ViltForImagesAndTextClassification,
				    ViltForMaskedLM,
				    ViltForQuestionAnswering,
				    ViltForTokenClassification,
				    ViltLayer,
				    ViltModel,
				    ViltPreTrainedModel,
				)


else:
		import sys

		_lowercase											=			_LazyModule(__name__, globals()['''__file__'''], _import_structure)