





from math import cos, sin, sqrt, tau

from audio_filters.iir_filter import IIRFilter



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )   ):


							'''simple docstring'''







							__lowerCamelCase      :      int         =tau * frequency / samplerate
							__lowerCamelCase      :      Any         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      str         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      List[Any]         =_sin / (2 * q_factor)

							__lowerCamelCase      :      List[str]         =(1 - _cos) / 2
							__lowerCamelCase      :      str         =1 - _cos

							__lowerCamelCase      :      Union[str, Any]         =1 + alpha
							__lowerCamelCase      :      Tuple         =-2 * _cos
							__lowerCamelCase      :      int         =1 - alpha

							__lowerCamelCase      :      List[str]         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )   ):


							'''simple docstring'''







							__lowerCamelCase      :      Any         =tau * frequency / samplerate
							__lowerCamelCase      :      Union[str, Any]         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      Tuple         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      int         =_sin / (2 * q_factor)

							__lowerCamelCase      :      str         =(1 + _cos) / 2
							__lowerCamelCase      :      Union[str, Any]         =-1 - _cos

							__lowerCamelCase      :      List[Any]         =1 + alpha
							__lowerCamelCase      :      str         =-2 * _cos
							__lowerCamelCase      :      Optional[int]         =1 - alpha

							__lowerCamelCase      :      int         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )   ):


							'''simple docstring'''







							__lowerCamelCase      :      str         =tau * frequency / samplerate
							__lowerCamelCase      :      Union[str, Any]         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      Any         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      Optional[Any]         =_sin / (2 * q_factor)

							__lowerCamelCase      :      str         =_sin / 2
							__lowerCamelCase      :      List[Any]         =0
							__lowerCamelCase      :      Any         =-ba

							__lowerCamelCase      :      Optional[int]         =1 + alpha
							__lowerCamelCase      :      Union[str, Any]         =-2 * _cos
							__lowerCamelCase      :      Any         =1 - alpha

							__lowerCamelCase      :      str         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )   ):


							'''simple docstring'''







							__lowerCamelCase      :      int         =tau * frequency / samplerate
							__lowerCamelCase      :      str         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      Optional[int]         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      Any         =_sin / (2 * q_factor)

							__lowerCamelCase      :      List[str]         =1 - alpha
							__lowerCamelCase      :      Optional[Any]         =-2 * _cos
							__lowerCamelCase      :      List[Any]         =1 + alpha

							__lowerCamelCase      :      int         =IIRFilter(2   )
							filt.set_coefficients([ba, ba, ba]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )    ,						):


							'''simple docstring'''







							__lowerCamelCase      :      Union[str, Any]         =tau * frequency / samplerate
							__lowerCamelCase      :      Optional[Any]         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      Tuple         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      Any         =_sin / (2 * q_factor)
							__lowerCamelCase      :      Any         =10 ** (gain_db / 40)

							__lowerCamelCase      :      Optional[Any]         =1 + alpha * big_a
							__lowerCamelCase      :      Any         =-2 * _cos
							__lowerCamelCase      :      Any         =1 - alpha * big_a
							__lowerCamelCase      :      Union[str, Any]         =1 + alpha / big_a
							__lowerCamelCase      :      List[str]         =-2 * _cos
							__lowerCamelCase      :      int         =1 - alpha / big_a

							__lowerCamelCase      :      str         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )    ,						):


							'''simple docstring'''







							__lowerCamelCase      :      List[Any]         =tau * frequency / samplerate
							__lowerCamelCase      :      List[str]         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      Optional[int]         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      int         =_sin / (2 * q_factor)
							__lowerCamelCase      :      int         =10 ** (gain_db / 40)
							__lowerCamelCase      :      Tuple         =(big_a + 1) - (big_a - 1) * _cos
							__lowerCamelCase      :      int         =(big_a + 1) + (big_a - 1) * _cos
							__lowerCamelCase      :      Any         =(big_a - 1) - (big_a + 1) * _cos
							__lowerCamelCase      :      Union[str, Any]         =(big_a - 1) + (big_a + 1) * _cos
							__lowerCamelCase      :      List[str]         =2 * sqrt(__UpperCamelCase   ) * alpha

							__lowerCamelCase      :      Optional[int]         =big_a * (pmc + aaa)
							__lowerCamelCase      :      Optional[Any]         =2 * big_a * mpc
							__lowerCamelCase      :      Union[str, Any]         =big_a * (pmc - aaa)
							__lowerCamelCase      :      Dict         =ppmc + aaa
							__lowerCamelCase      :      str         =-2 * pmpc
							__lowerCamelCase      :      str         =ppmc - aaa

							__lowerCamelCase      :      List[str]         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							int    ,						SCREAMING_SNAKE_CASE       :							float    ,						SCREAMING_SNAKE_CASE       :							float = 1 / sqrt(2   )    ,						):


							'''simple docstring'''







							__lowerCamelCase      :      Dict         =tau * frequency / samplerate
							__lowerCamelCase      :      int         =sin(__UpperCamelCase   )
							__lowerCamelCase      :      List[Any]         =cos(__UpperCamelCase   )
							__lowerCamelCase      :      int         =_sin / (2 * q_factor)
							__lowerCamelCase      :      Dict         =10 ** (gain_db / 40)
							__lowerCamelCase      :      Dict         =(big_a + 1) - (big_a - 1) * _cos
							__lowerCamelCase      :      Any         =(big_a + 1) + (big_a - 1) * _cos
							__lowerCamelCase      :      Any         =(big_a - 1) - (big_a + 1) * _cos
							__lowerCamelCase      :      List[str]         =(big_a - 1) + (big_a + 1) * _cos
							__lowerCamelCase      :      int         =2 * sqrt(__UpperCamelCase   ) * alpha

							__lowerCamelCase      :      Optional[Any]         =big_a * (ppmc + aaa)
							__lowerCamelCase      :      List[str]         =-2 * big_a * pmpc
							__lowerCamelCase      :      Any         =big_a * (ppmc - aaa)
							__lowerCamelCase      :      Optional[Any]         =pmc + aaa
							__lowerCamelCase      :      Optional[Any]         =2 * mpc
							__lowerCamelCase      :      str         =pmc - aaa

							__lowerCamelCase      :      Any         =IIRFilter(2   )
							filt.set_coefficients([aa, aa, aa]    ,						[ba, ba, ba]   )
							return filt











"""simple docstring"""





import math
from datetime import datetime, timedelta



def 				lowerCAmelCase_			(      SCREAMING_SNAKE_CASE       :							int   ):


							'''simple docstring'''







							__lowerCamelCase      :      Any         =year % 19
							__lowerCamelCase      :      Optional[Any]         =year % 4
							__lowerCamelCase      :      Tuple         =year % 7
							__lowerCamelCase      :      Optional[int]         =math.floor(year / 100   )
							__lowerCamelCase      :      List[str]         =math.floor((13 + 8 * leap_day_inhibits) / 25   )
							__lowerCamelCase      :      Any         =leap_day_inhibits / 4
							__lowerCamelCase      :      Optional[Any]         =(
							    15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
							) % 30
							__lowerCamelCase      :      Optional[Any]         =(4 + leap_day_inhibits - leap_day_reinstall_number) % 7

							# days to be added to March 21
							__lowerCamelCase      :      Any         =(19 * metonic_cycle + secular_moon_shift) % 30

							# PHM -> Paschal Full Moon
							__lowerCamelCase      :      str         =(
							    2 * julian_leap_year
							    + 4 * non_leap_year
							    + 6 * days_to_add
							    + century_starting_point
							) % 7

							if days_to_add == 29 and days_from_phm_to_sunday == 6:
														return datetime(SCREAMING_SNAKE_CASE    ,						4    ,						19   )
							elif days_to_add == 28 and days_from_phm_to_sunday == 6:
														return datetime(SCREAMING_SNAKE_CASE    ,						4    ,						18   )
							else:
														return datetime(SCREAMING_SNAKE_CASE    ,						3    ,						22   ) + timedelta(
														    days=int(days_to_add + days_from_phm_to_sunday   )   )


if __name__ == "__main__":
							for year in (1994, 2000, 2010, 2021, 2023):
														_UpperCamelCase							=      'will be' if year > datetime.now().year else 'was'
														print(f'''Easter in {year} {tense} {gauss_easter(year)}''')




