


"""simple docstring"""
from math import factorial, radians






def 		lowercase							(     _snake_case						:      float     ,   _snake_case						:      int = 18     ,   _snake_case						:      int = 10     )     ->float:
	"""simple docstring"""





	__snake_case	:						Any						=				angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

	# Converting from degrees to radians
	__snake_case	:						int						=				radians(_snake_case     )

	__snake_case	:						str						=				angle_in_radians
	__snake_case	:						Optional[int]						=				3
	__snake_case	:						List[Any]						=				-1

	for _ in range(_snake_case     ):
		result += (b * (angle_in_radians**a)) / factorial(_snake_case     )

		__snake_case	:						int						=				-b  # One positive term and the next will be negative and so on...
		a += 2  # Increased by 2 for every term.

	return round(_snake_case     ,   _snake_case     )


if __name__ == "__main__":
			__import__("""doctest""").testmod()






"""simple docstring"""




from typing import TYPE_CHECKING

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


__lowerCamelCase							 =     {
    "configuration_chinese_clip": [
        "CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "ChineseCLIPConfig",
        "ChineseCLIPOnnxConfig",
        "ChineseCLIPTextConfig",
        "ChineseCLIPVisionConfig",
    ],
    "processing_chinese_clip": ["ChineseCLIPProcessor"],
}

try:
				if not is_vision_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowerCamelCase							 =     ["ChineseCLIPFeatureExtractor"]
				__lowerCamelCase							 =     ["ChineseCLIPImageProcessor"]

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowerCamelCase							 =     [
				    "CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "ChineseCLIPModel",
				    "ChineseCLIPPreTrainedModel",
				    "ChineseCLIPTextModel",
				    "ChineseCLIPVisionModel",
				]

if TYPE_CHECKING:
				from .configuration_chinese_clip import (
				    CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    ChineseCLIPConfig,
				    ChineseCLIPOnnxConfig,
				    ChineseCLIPTextConfig,
				    ChineseCLIPVisionConfig,
				)
				from .processing_chinese_clip import ChineseCLIPProcessor

				try:
								if not is_vision_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .feature_extraction_chinese_clip import ChineseCLIPFeatureExtractor, ChineseCLIPImageProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_chinese_clip import (
								    CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
								    ChineseCLIPModel,
								    ChineseCLIPPreTrainedModel,
								    ChineseCLIPTextModel,
								    ChineseCLIPVisionModel,
								)

else:
				import sys

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





