


'''simple docstring'''






from abc import ABC, abstractmethod
from argparse import ArgumentParser






class   __snake_case			(  _SCREAMING_SNAKE_CASE):







    """simple docstring"""



    @staticmethod
    @abstractmethod
    def __lowercase  (  lowerCamelCase       :    ArgumentParser						)  ->    Tuple:
      raise NotImplementedError()





    @abstractmethod
    def __lowercase  (  self       :    Dict						)  ->    Any:
      raise NotImplementedError()







'''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")



