





from math import asin, atan, cos, radians, sin, sqrt, tan

lowerCAmelCase_    =    6_378_137.0
lowerCAmelCase_    =    6_356_752.314_245
lowerCAmelCase_    =    6_3_7_8_1_3_7






def 					lowerCamelCase_						(    _UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase			,    _UpperCamelCase			)		->						float:






				"""simple docstring"""


				snake_case_						:   int           =  (AXIS_A - AXIS_B) / AXIS_A
				snake_case_						:   Dict           =  atan((1 - flattening) * tan(radians(_UpperCamelCase			)			)			)
				snake_case_						:   Optional[Any]           =  atan((1 - flattening) * tan(radians(_UpperCamelCase			)			)			)
				snake_case_						:   Optional[int]           =  radians(_UpperCamelCase			)
				snake_case_						:   Any           =  radians(_UpperCamelCase			)
				# Equation
				snake_case_						:   str           =  sin((phi_a - phi_a) / 2			)
				snake_case_						:   List[Any]           =  sin((lambda_a - lambda_a) / 2			)
				# Square both values
				sin_sq_phi *= sin_sq_phi
				sin_sq_lambda *= sin_sq_lambda
				snake_case_						:   Dict           =  sqrt(sin_sq_phi + (cos(_UpperCamelCase			) * cos(_UpperCamelCase			) * sin_sq_lambda)			)
				return 2 * RADIUS * asin(_UpperCamelCase			)


if __name__ == "__main__":
	import doctest

	doctest.testmod()







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


lowerCAmelCase_    =    logging.get_logger(__name__)

lowerCAmelCase_    =    {
    '''microsoft/biogpt''': '''https://huggingface.co/microsoft/biogpt/resolve/main/config.json''',
    # See all BioGPT models at https://huggingface.co/models?filter=biogpt
}



class  __lowerCAmelCase	(      _a					):
			lowerCamelCase_					:					Any	      =				'''biogpt'''






			def __init__(self ,							__magic_name__=4_2384 ,							__magic_name__=1024 ,							__magic_name__=24 ,							__magic_name__=16 ,							__magic_name__=4096 ,							__magic_name__="gelu" ,							__magic_name__=0.1 ,							__magic_name__=0.1 ,							__magic_name__=1024 ,							__magic_name__=0.02 ,							__magic_name__=1e-12 ,							__magic_name__=True ,							__magic_name__=True ,							__magic_name__=0.0 ,							__magic_name__=0.0 ,							__magic_name__=1 ,							__magic_name__=0 ,							__magic_name__=2 ,							**__magic_name__ ,							)					->       List[str]:


							'''simple docstring'''



							snake_case_						:   List[str]           =  vocab_size
							snake_case_						:   Dict           =  max_position_embeddings
							snake_case_						:   Optional[int]           =  hidden_size
							snake_case_						:   List[Any]           =  num_hidden_layers
							snake_case_						:   List[str]           =  num_attention_heads
							snake_case_						:   int           =  intermediate_size
							snake_case_						:   List[Any]           =  hidden_act
							snake_case_						:   List[Any]           =  hidden_dropout_prob
							snake_case_						:   Optional[int]           =  attention_probs_dropout_prob
							snake_case_						:   Optional[int]           =  initializer_range
							snake_case_						:   Optional[int]           =  layer_norm_eps
							snake_case_						:   str           =  scale_embedding
							snake_case_						:   Optional[Any]           =  use_cache
							snake_case_						:   Optional[Any]           =  layerdrop
							snake_case_						:   Optional[Any]           =  activation_dropout
							super().__init__(pad_token_id=__magic_name__ ,							bos_token_id=__magic_name__ ,							eos_token_id=__magic_name__ ,							**__magic_name__   )
