
'''simple docstring'''





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

UpperCAmelCase    					=   637_8137.0
UpperCAmelCase    					=   635_6752.31_4245
UpperCAmelCase    					=   6_378_137

def      A (       A_							:					float    ,							A_							:					float    ,							A_							:					float    ,							A_							:					float       ):
						snake_case       :     Union[str, Any] =    (AXIS_A - AXIS_B) / AXIS_A
						snake_case       :     Optional[int] =    atan((1 - flattening) * tan(radians(A_       )       )       )
						snake_case       :     Tuple =    atan((1 - flattening) * tan(radians(A_       )       )       )
						snake_case       :     List[Any] =    radians(A_       )
						snake_case       :     Union[str, Any] =    radians(A_       )
						# Equation
						snake_case       :     Optional[int] =    sin((phi_a - phi_a) / 2       )
						snake_case       :     int =    sin((lambda_a - lambda_a) / 2       )
						# Square both values
						sin_sq_phi *= sin_sq_phi
						sin_sq_lambda *= sin_sq_lambda
						snake_case       :     List[str] =    sqrt(sin_sq_phi + (cos(A_       ) * cos(A_       ) * sin_sq_lambda)       )
						return 2 * RADIUS * asin(A_       )


if __name__ == "__main__":
						import doctest

						doctest.testmod()



'''simple docstring'''





import os
import sys

UpperCAmelCase    					=   os.path.join(os.path.dirname(__file__), "src")
sys.path.append(SRC_DIR)


from transformers import (
    AutoConfig,
    AutoModel,
    AutoModelForCausalLM,
    AutoModelForMaskedLM,
    AutoModelForQuestionAnswering,
    AutoModelForSequenceClassification,
    AutoTokenizer,
    add_start_docstrings,
)


UpperCAmelCase    					=   [
    "torch",
    "numpy",
    "tokenizers",
    "filelock",
    "requests",
    "tqdm",
    "regex",
    "sentencepiece",
    "sacremoses",
    "importlib_metadata",
    "huggingface_hub",
]

@add_start_docstrings(AutoConfig.__doc__       )
def      A (       *A_							:					Optional[Any]    ,							**A_							:					List[str]       ):
						return AutoConfig.from_pretrained(*A_    ,							**A_       )

@add_start_docstrings(AutoTokenizer.__doc__       )
def      A (       *A_							:					Dict    ,							**A_							:					str       ):
						return AutoTokenizer.from_pretrained(*A_    ,							**A_       )

@add_start_docstrings(AutoModel.__doc__       )
def      A (       *A_							:					Union[str, Any]    ,							**A_							:					Optional[Any]       ):
						return AutoModel.from_pretrained(*A_    ,							**A_       )

@add_start_docstrings(AutoModelForCausalLM.__doc__       )
def      A (       *A_							:					str    ,							**A_							:					Optional[Any]       ):
						return AutoModelForCausalLM.from_pretrained(*A_    ,							**A_       )

@add_start_docstrings(AutoModelForMaskedLM.__doc__       )
def      A (       *A_							:					List[str]    ,							**A_							:					Optional[Any]       ):
						return AutoModelForMaskedLM.from_pretrained(*A_    ,							**A_       )

@add_start_docstrings(AutoModelForSequenceClassification.__doc__       )
def      A (       *A_							:					Tuple    ,							**A_							:					List[str]       ):
						return AutoModelForSequenceClassification.from_pretrained(*A_    ,							**A_       )





@add_start_docstrings(AutoModelForQuestionAnswering.__doc__       )
def      A (       *A_							:					Tuple    ,							**A_							:					Any       ):
						return AutoModelForQuestionAnswering.from_pretrained(*A_    ,							**A_       )

