





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


_lowerCAmelCase							:					Dict		    =		logging.get_logger(__name__)

_lowerCAmelCase							:					List[Any]		    =		{
    '''google/fnet-base''': '''https://huggingface.co/google/fnet-base/resolve/main/config.json''',
    '''google/fnet-large''': '''https://huggingface.co/google/fnet-large/resolve/main/config.json'''
    # See all FNet models at https://huggingface.co/models?filter=fnet
}


class     __magic_name__     (							snake_case__							):





     """simple docstring"""



     __UpperCamelCase    			=   '''fnet'''



     def __init__(							self				:Any	,					snake_case				:Optional[int]=32_000	,					snake_case				:Union[str, Any]=768	,					snake_case				:List[str]=12	,					snake_case				:Dict=3_072	,					snake_case				:List[str]="gelu_new"	,					snake_case				:int=0.1	,					snake_case				:str=512	,					snake_case				:List[Any]=4	,					snake_case				:Dict=0.02	,					snake_case				:str=1e-12	,					snake_case				:Optional[Any]=False	,					snake_case				:Optional[int]=512	,					snake_case				:Union[str, Any]=3	,					snake_case				:List[Any]=1	,					snake_case				:Dict=2	,					**snake_case				:List[str]	,					):





        '''simple docstring'''




        super().__init__(pad_token_id=_A	,					bos_token_id=_A	,					eos_token_id=_A	,					**_A     )

        A_    : Dict								=	vocab_size
        A_    : Optional[Any]								=	max_position_embeddings
        A_    : Dict								=	hidden_size
        A_    : Any								=	num_hidden_layers
        A_    : Optional[int]								=	intermediate_size
        A_    : Optional[int]								=	hidden_act
        A_    : List[Any]								=	hidden_dropout_prob
        A_    : Optional[Any]								=	initializer_range
        A_    : Optional[int]								=	type_vocab_size
        A_    : Tuple								=	layer_norm_eps
        A_    : Tuple								=	use_tpu_fourier_optimizations
        A_    : str								=	tpu_short_seq_length







def  _SCREAMING_SNAKE_CASE				(   a  )      ->      str:
					if number > 0:
										raise ValueError('input must be a negative integer'  )
					__A	:						Optional[int]       =				len(bin(a  )[3:]  )
					__A	:						Dict       =				bin(abs(a  ) - (1 << binary_number_length)  )[3:]
					__A	:						int       =				(
					    (
					        '1'
					        + '0' * (binary_number_length - len(a  ))
					        + twos_complement_number
					    )
					    if number < 0
					    else '0'
					)
					return "0b" + twos_complement_number


if __name__ == "__main__":
				import doctest

				doctest.testmod()




