


'''simple docstring'''






from ..utils import DummyObject, requires_backends






class   __snake_case			(  metaclass=_SCREAMING_SNAKE_CASE):







    """simple docstring"""



    lowercase  					=   ['torch', 'torchsde']

    def __init__(  self       :    Tuple       ,		*lowerCamelCase       :    int       ,		**lowerCamelCase       :    Optional[Any]						)  ->    List[Any]:
      requires_backends(self       ,		["""torch""", """torchsde"""]						)

    @classmethod
    def __lowercase  (  cls       :    Optional[int]       ,		*lowerCamelCase       :    Union[str, Any]       ,		**lowerCamelCase       :    int						)  ->    Dict:
      requires_backends(cls       ,		["""torch""", """torchsde"""]						)





    @classmethod
    def __lowercase  (  cls       :    List[str]       ,		*lowerCamelCase       :    List[str]       ,		**lowerCamelCase       :    Tuple						)  ->    Dict:
      requires_backends(cls       ,		["""torch""", """torchsde"""]						)







'''simple docstring'''






import math







def 							UpperCamelCase_     (       A__   :  float				,       A__   :  float   ):
  '''simple docstring'''





  if initial_intensity < 0:
    raise ValueError("""The value of intensity cannot be negative"""   )
    # handling of negative values of initial intensity
  if angle < 0 or angle > 3_60:
    raise ValueError("""In Malus Law, the angle is in the range 0-360 degrees"""   )
    # handling of values out of allowed range
  return initial_intensity * (math.cos(math.radians(A__   )   ) ** 2)


if __name__ == "__main__":
  import doctest

  doctest.testmod(name="malus_law")



