

'''simple docstring'''

from math import factorial, radians





def    A_  ( snake_case      ,       snake_case = 18      ,       snake_case = 10 ):
  SCREAMING_SNAKE_CASE:int						      =					angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

  # Converting from degrees to radians
  SCREAMING_SNAKE_CASE:Union[str, Any]						      =					radians(snake_case )

  SCREAMING_SNAKE_CASE:List[str]						      =					angle_in_radians
  SCREAMING_SNAKE_CASE:List[Any]						      =					3
  SCREAMING_SNAKE_CASE:Union[str, Any]						      =					-1

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

    SCREAMING_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 ..utils import DummyObject, requires_backends





class 							_snake_case (       metaclass=_a						):
   _A       :     Any       =					['''torch''', '''torchsde''']
   def __init__( self			:      Any     ,*SCREAMING_SNAKE_CASE__			:      int     ,**SCREAMING_SNAKE_CASE__			:      Tuple							):
     requires_backends(self     ,["torch", "torchsde"]							)
   @classmethod
   def     __UpperCamelCase						( cls			:      Dict     ,*SCREAMING_SNAKE_CASE__			:      Dict     ,**SCREAMING_SNAKE_CASE__			:      Optional[Any]							):
     requires_backends(cls     ,["torch", "torchsde"]							)







   @classmethod
   def     __UpperCamelCase						( cls			:      List[str]     ,*SCREAMING_SNAKE_CASE__			:      int     ,**SCREAMING_SNAKE_CASE__			:      Optional[Any]							):
     requires_backends(cls     ,["torch", "torchsde"]							)






