


from ...configuration_utils import PretrainedConfig
from ...utils import logging


__UpperCamelCase       :       Union[str, Any]						       =				logging.get_logger(__name__)

__UpperCamelCase       :       List[str]						       =				{
    "MIT/ast-finetuned-audioset-10-10-0.4593": (
        "https://huggingface.co/MIT/ast-finetuned-audioset-10-10-0.4593/resolve/main/config.json"
    ),
}

class       __magic_name__	(     __lowerCAmelCase):
     A:		str			=      "audio-spectrogram-transformer"


     def __init__(      self							:     Any							,	lowerCamelCase__							:     str=768							,	lowerCamelCase__							:     int=12							,	lowerCamelCase__							:     Optional[Any]=12							,	lowerCamelCase__							:     str=3072							,	lowerCamelCase__							:     Any="gelu"							,	lowerCamelCase__							:     List[Any]=0.0							,	lowerCamelCase__							:     Union[str, Any]=0.0							,	lowerCamelCase__							:     List[str]=0.02							,	lowerCamelCase__							:     Dict=1E-1_2							,	lowerCamelCase__							:     int=16							,	lowerCamelCase__							:     Optional[Any]=True							,	lowerCamelCase__							:     List[Any]=10							,	lowerCamelCase__							:     Any=10							,	lowerCamelCase__							:     Dict=1024							,	lowerCamelCase__							:     Union[str, Any]=128							,	**lowerCamelCase__							:     str							,	)  ->      Optional[int]:





      '''simple docstring'''






      super().__init__(**lowerCamelCase__			)

      UpperCamelCase__					:    Any          =   hidden_size
      UpperCamelCase__					:    str          =   num_hidden_layers
      UpperCamelCase__					:    int          =   num_attention_heads
      UpperCamelCase__					:    int          =   intermediate_size
      UpperCamelCase__					:    Optional[int]          =   hidden_act
      UpperCamelCase__					:    Union[str, Any]          =   hidden_dropout_prob
      UpperCamelCase__					:    int          =   attention_probs_dropout_prob
      UpperCamelCase__					:    Tuple          =   initializer_range
      UpperCamelCase__					:    Tuple          =   layer_norm_eps
      UpperCamelCase__					:    List[Any]          =   patch_size
      UpperCamelCase__					:    Dict          =   qkv_bias
      UpperCamelCase__					:    Optional[int]          =   frequency_stride
      UpperCamelCase__					:    str          =   time_stride
      UpperCamelCase__					:    Any          =   max_length
      UpperCamelCase__					:    str          =   num_mel_bins






from math import factorial, radians

def 			_a  (				SCREAMING_SNAKE_CASE	:				float    , SCREAMING_SNAKE_CASE	:				int = 18    , SCREAMING_SNAKE_CASE	:				int = 10     ):







 """simple docstring"""



 UpperCamelCase__					:    Dict          =   angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

 # Converting from degrees to radians
 UpperCamelCase__					:    int          =   radians(SCREAMING_SNAKE_CASE     )

 UpperCamelCase__					:    Tuple          =   angle_in_radians
 UpperCamelCase__					:    str          =   3
 UpperCamelCase__					:    int          =   -1

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

  UpperCamelCase__					:    List[Any]          =   -b  # One positive term and the next will be negative and so on...
  a += 2  # Increased by 2 for every term.

 return round(SCREAMING_SNAKE_CASE    , SCREAMING_SNAKE_CASE     )


if __name__ == "__main__":
       __import__("doctest").testmod()


