

import argparse
import datetime



def 				snake_case_(_UpperCamelCase					)							->     List[str]:



  """simple docstring"""






  _snake_case						=							{
      '''0''': '''Sunday''',
      '''1''': '''Monday''',
      '''2''': '''Tuesday''',
      '''3''': '''Wednesday''',
      '''4''': '''Thursday''',
      '''5''': '''Friday''',
      '''6''': '''Saturday''',
  }

  _snake_case						=							{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

  # Validate
  if not 0 < len(_UpperCamelCase					) < 11:
    raise ValueError('''Must be 10 characters long'''					)

  # Get month
  _snake_case						=							int(date_input[0] + date_input[1]					)
  # Validate
  if not 0 < m < 13:
    raise ValueError('''Month must be between 1 - 12'''					)

  _snake_case						=							date_input[2]
  # Validate
  if sep_a not in ["-", "/"]:
    raise ValueError('''Date separator must be \'-\' or \'/\''''					)

  # Get day
  _snake_case						=							int(date_input[3] + date_input[4]					)
  # Validate
  if not 0 < d < 32:
    raise ValueError('''Date must be between 1 - 31'''					)

  # Get second separator
  _snake_case						=							date_input[5]
  # Validate
  if sep_a not in ["-", "/"]:
    raise ValueError('''Date separator must be \'-\' or \'/\''''					)

  # Get year
  _snake_case						=							int(date_input[6] + date_input[7] + date_input[8] + date_input[9]					)
  # Arbitrary year range
  if not 45 < y < 8_500:
    raise ValueError(
        '''Year out of range. There has to be some sort of limit...right?'''					)

  # Get datetime obj for validation
  _snake_case						=							datetime.date(int(_UpperCamelCase					)			,	int(_UpperCamelCase					)			,	int(_UpperCamelCase					)					)

  # Start math
  if m <= 2:
    _snake_case						=							y - 1
    _snake_case						=							m + 12
  # maths var
  _snake_case						=							int(str(_UpperCamelCase					)[:2]					)
  _snake_case						=							int(str(_UpperCamelCase					)[2:]					)
  _snake_case						=							int(2.6 * m - 5.39					)
  _snake_case						=							int(c / 4					)
  _snake_case						=							int(k / 4					)
  _snake_case						=							int(d + k					)
  _snake_case						=							int(t + u + v + x					)
  _snake_case						=							int(z - (2 * c)					)
  _snake_case						=							round(w % 7					)
  # End math

  # Validate math
  if f != convert_datetime_days[dt_ck.weekday()]:
    raise AssertionError('''The date was evaluated incorrectly. Contact developer.'''					)

  # Response
  _snake_case						=							F"""Your date {date_input}, is a {days[str(_UpperCamelCase					)]}!"""
  return response


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 __A      		=     argparse.ArgumentParser(
     description=(
         '''Find out what day of the week nearly any date is or was. Enter '''
         '''date as a string in the mm-dd-yyyy or mm/dd/yyyy format'''
     )
 )
 parser.add_argument(
     '''date_input''', type=str, help='''Date as a string (mm-dd-yyyy or mm/dd/yyyy)'''
 )
 __A      		=     parser.parse_args()
 zeller(args.date_input)





from math import cos, sin, sqrt, tau

from audio_filters.iir_filter import IIRFilter



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)					)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)

  _snake_case						=							(1 - _cos) / 2
  _snake_case						=							1 - _cos

  _snake_case						=							1 + alpha
  _snake_case						=							-2 * _cos
  _snake_case						=							1 - alpha

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)					)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)

  _snake_case						=							(1 + _cos) / 2
  _snake_case						=							-1 - _cos

  _snake_case						=							1 + alpha
  _snake_case						=							-2 * _cos
  _snake_case						=							1 - alpha

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)					)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)

  _snake_case						=							_sin / 2
  _snake_case						=							0
  _snake_case						=							-ba

  _snake_case						=							1 + alpha
  _snake_case						=							-2 * _cos
  _snake_case						=							1 - alpha

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)					)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)

  _snake_case						=							1 - alpha
  _snake_case						=							-2 * _cos
  _snake_case						=							1 + alpha

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([ba, ba, ba]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)			,	)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)
  _snake_case						=							10 ** (gain_db / 40)

  _snake_case						=							1 + alpha * big_a
  _snake_case						=							-2 * _cos
  _snake_case						=							1 - alpha * big_a
  _snake_case						=							1 + alpha / big_a
  _snake_case						=							-2 * _cos
  _snake_case						=							1 - alpha / big_a

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)			,	)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)
  _snake_case						=							10 ** (gain_db / 40)
  _snake_case						=							(big_a + 1) - (big_a - 1) * _cos
  _snake_case						=							(big_a + 1) + (big_a - 1) * _cos
  _snake_case						=							(big_a - 1) - (big_a + 1) * _cos
  _snake_case						=							(big_a - 1) + (big_a + 1) * _cos
  _snake_case						=							2 * sqrt(_UpperCamelCase					) * alpha

  _snake_case						=							big_a * (pmc + aaa)
  _snake_case						=							2 * big_a * mpc
  _snake_case						=							big_a * (pmc - aaa)
  _snake_case						=							ppmc + aaa
  _snake_case						=							-2 * pmpc
  _snake_case						=							ppmc - aaa

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt



def 				snake_case_(_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase			,	_UpperCamelCase = 1 / sqrt(2					)			,	)							->     IIRFilter:



  """simple docstring"""






  _snake_case						=							tau * frequency / samplerate
  _snake_case						=							sin(_UpperCamelCase					)
  _snake_case						=							cos(_UpperCamelCase					)
  _snake_case						=							_sin / (2 * q_factor)
  _snake_case						=							10 ** (gain_db / 40)
  _snake_case						=							(big_a + 1) - (big_a - 1) * _cos
  _snake_case						=							(big_a + 1) + (big_a - 1) * _cos
  _snake_case						=							(big_a - 1) - (big_a + 1) * _cos
  _snake_case						=							(big_a - 1) + (big_a + 1) * _cos
  _snake_case						=							2 * sqrt(_UpperCamelCase					) * alpha

  _snake_case						=							big_a * (ppmc + aaa)
  _snake_case						=							-2 * big_a * pmpc
  _snake_case						=							big_a * (ppmc - aaa)
  _snake_case						=							pmc + aaa
  _snake_case						=							2 * mpc
  _snake_case						=							pmc - aaa

  _snake_case						=							IIRFilter(2					)
  filt.set_coefficients([aa, aa, aa]			,	[ba, ba, ba]					)
  return filt

