


"""simple docstring"""


from math import factorial, pi


def _lowerCamelCase			(	_UpperCamelCase					,				_UpperCamelCase = 30   ):

			'''simple docstring'''




			if not isinstance(_UpperCamelCase					,				(int, float)   ):
						raise ValueError("maclaurin_sin() requires either an int or float for theta"   )

			if not isinstance(_UpperCamelCase					,				_UpperCamelCase   ) or accuracy <= 0:
						raise ValueError("maclaurin_sin() requires a positive int for accuracy"   )

			__lowerCAmelCase       					=    float(_UpperCamelCase   )
			__lowerCAmelCase       					=    theta // (2 * pi)
			theta -= 2 * div * pi
			return sum(
			    (-1) ** r * theta ** (2 * r + 1) / factorial(2 * r + 1   ) for r in range(_UpperCamelCase   )   )


def _lowerCamelCase			(	_UpperCamelCase					,				_UpperCamelCase = 30   ):

			'''simple docstring'''




			if not isinstance(_UpperCamelCase					,				(int, float)   ):
						raise ValueError("maclaurin_cos() requires either an int or float for theta"   )

			if not isinstance(_UpperCamelCase					,				_UpperCamelCase   ) or accuracy <= 0:
						raise ValueError("maclaurin_cos() requires a positive int for accuracy"   )

			__lowerCAmelCase       					=    float(_UpperCamelCase   )
			__lowerCAmelCase       					=    theta // (2 * pi)
			theta -= 2 * div * pi
			return sum((-1) ** r * theta ** (2 * r) / factorial(2 * r   ) for r in range(_UpperCamelCase   )   )


if __name__ == "__main__":
	import doctest

	doctest.testmod()

	print(maclaurin_sin(1_0))
	print(maclaurin_sin(-1_0))
	print(maclaurin_sin(1_0, 1_5))
	print(maclaurin_sin(-1_0, 1_5))

	print(maclaurin_cos(5))
	print(maclaurin_cos(-5))
	print(maclaurin_cos(1_0, 1_5))
	print(maclaurin_cos(-1_0, 1_5))








"""simple docstring"""


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A  :     Union[str, Any]    					=    {
    "configuration_x_clip": [
        "XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "XCLIPConfig",
        "XCLIPTextConfig",
        "XCLIPVisionConfig",
    ],
    "processing_x_clip": ["XCLIPProcessor"],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	A  :     Optional[int]    					=    [
	    "XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST",
	    "XCLIPModel",
	    "XCLIPPreTrainedModel",
	    "XCLIPTextModel",
	    "XCLIPVisionModel",
	]

if TYPE_CHECKING:
	from .configuration_x_clip import (
	    XCLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    XCLIPConfig,
	    XCLIPTextConfig,
	    XCLIPVisionConfig,
	)
	from .processing_x_clip import XCLIPProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_x_clip import (
		    XCLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
		    XCLIPModel,
		    XCLIPPreTrainedModel,
		    XCLIPTextModel,
		    XCLIPVisionModel,
		)

else:
	import sys

	A  :     Union[str, Any]    					=    _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)




