
"""simple docstring"""






from typing import TYPE_CHECKING

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


lowerCamelCase__ :       Tuple						     =			{
    "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__ :       Union[str, Any]						     =			[
					    "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__ :       Tuple						     =			_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)







"""simple docstring"""






from __future__ import annotations

from numpy import array, cos, cross, floataa, radians, sin
from numpy.typing import NDArray





def __A						(   a_ :							float		,		a_ :							float		,		a_ :							bool = False     )->							list[float]:




		'''simple docstring'''






		if radian_mode:
				return [magnitude * cos(a_     ), magnitude * sin(a_     )]
		return [magnitude * cos(radians(a_     )     ), magnitude * sin(radians(a_     )     )]





def __A						(   a_ :							NDArray[floataa]		,		a_ :							NDArray[floataa]		,		a_ :							float = 10**-1     )->							bool:




		'''simple docstring'''






		SCREAMING_SNAKE_CASE       :     NDArray[floataa]				= cross(a_		,		a_     )
		SCREAMING_SNAKE_CASE       :     float				= sum(a_     )
		return abs(a_     ) < eps


if __name__ == "__main__":
					# Test to check if it works
					lowerCamelCase__ :       Optional[Any]						     =			array(
					    [
					        polar_force(7_1_8.4, 180 - 30),
					        polar_force(8_7_9.5_4, 45),
					        polar_force(100, -90),
					    ]
					)

					lowerCamelCase__ :       NDArray[floataa]						     =			array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem 1 in image_data/2D_problems.jpg
					lowerCamelCase__ :       Union[str, Any]						     =			array(
					    [
					        polar_force(30 * 9.8_1, 15),
					        polar_force(215, 180 - 45),
					        polar_force(264, 90 - 30),
					    ]
					)

					lowerCamelCase__ :       Any						     =			array([[0, 0], [0, 0], [0, 0]])

					assert in_static_equilibrium(forces, location)

					# Problem in image_data/2D_problems_1.jpg
					lowerCamelCase__ :       Union[str, Any]						     =			array([[0, -2000], [0, -1200], [0, 15600], [0, -12400]])

					lowerCamelCase__ :       Optional[int]						     =			array([[0, 0], [6, 0], [10, 0], [12, 0]])

					assert in_static_equilibrium(forces, location)

					import doctest

					doctest.testmod()





