






"""simple docstring"""



from math import factorial, radians

def  _snake_case				(     lowerCamelCase__	:    float				,						lowerCamelCase__	:    int = 18				,						lowerCamelCase__	:    int = 10  )				->	Optional[int]:
							lowerCamelCase_       :							str									=angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

							# Converting from degrees to radians
							lowerCamelCase_       :							List[Any]									=radians(UpperCamelCase__  )

							lowerCamelCase_       :							str									=angle_in_radians
							lowerCamelCase_       :							List[str]									=3
							lowerCamelCase_       :							Tuple									=-1

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

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

							return round(UpperCamelCase__				,						UpperCamelCase__  )


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







from typing import TYPE_CHECKING

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


lowerCAmelCase__      		= {'configuration_speech_encoder_decoder': ['SpeechEncoderDecoderConfig']}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__      		= ['SpeechEncoderDecoderModel']

try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    lowerCAmelCase__      		= ['FlaxSpeechEncoderDecoderModel']

if TYPE_CHECKING:
    from .configuration_speech_encoder_decoder import SpeechEncoderDecoderConfig

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_speech_encoder_decoder import SpeechEncoderDecoderModel

    try:
        if not is_flax_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_flax_speech_encoder_decoder import FlaxSpeechEncoderDecoderModel

else:
    import sys

    lowerCAmelCase__      		= _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
