





'''simple docstring'''


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

_SCREAMING_SNAKE_CASE	 =							637_8137.0
_SCREAMING_SNAKE_CASE	 =							635_6752.31_4245
_SCREAMING_SNAKE_CASE	 =							6_37_81_37


def 	__a(SCREAMING_SNAKE_CASE_  :					float		,       SCREAMING_SNAKE_CASE_  :					float		,       SCREAMING_SNAKE_CASE_  :					float		,       SCREAMING_SNAKE_CASE_  :					float    ):



    '''simple docstring'''





    _lowerCAmelCase				=      (AXIS_A - AXIS_B) / AXIS_A
    _lowerCAmelCase				=      atan((1 - flattening) * tan(radians(SCREAMING_SNAKE_CASE_    )    )    )
    _lowerCAmelCase				=      atan((1 - flattening) * tan(radians(SCREAMING_SNAKE_CASE_    )    )    )
    _lowerCAmelCase				=      radians(SCREAMING_SNAKE_CASE_    )
    _lowerCAmelCase				=      radians(SCREAMING_SNAKE_CASE_    )
    # Equation
    _lowerCAmelCase				=      sin((phi_a - phi_a) / 2    )
    _lowerCAmelCase				=      sin((lambda_a - lambda_a) / 2    )
    # Square both values
    sin_sq_phi *= sin_sq_phi
    sin_sq_lambda *= sin_sq_lambda
    _lowerCAmelCase				=      sqrt(sin_sq_phi + (cos(SCREAMING_SNAKE_CASE_    ) * cos(SCREAMING_SNAKE_CASE_    ) * sin_sq_lambda)    )
    return 2 * RADIUS * asin(SCREAMING_SNAKE_CASE_    )


if __name__ == "__main__":
       import doctest

       doctest.testmod()









'''simple docstring'''


from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_SCREAMING_SNAKE_CASE	 =							{
    "configuration_bigbird_pegasus": [
        "BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "BigBirdPegasusConfig",
        "BigBirdPegasusOnnxConfig",
    ],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _SCREAMING_SNAKE_CASE	 =							[
           "BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST",
           "BigBirdPegasusForCausalLM",
           "BigBirdPegasusForConditionalGeneration",
           "BigBirdPegasusForQuestionAnswering",
           "BigBirdPegasusForSequenceClassification",
           "BigBirdPegasusModel",
           "BigBirdPegasusPreTrainedModel",
       ]


if TYPE_CHECKING:
       from .configuration_bigbird_pegasus import (
           BIGBIRD_PEGASUS_PRETRAINED_CONFIG_ARCHIVE_MAP,
           BigBirdPegasusConfig,
           BigBirdPegasusOnnxConfig,
       )

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_bigbird_pegasus import (
                  BIGBIRD_PEGASUS_PRETRAINED_MODEL_ARCHIVE_LIST,
                  BigBirdPegasusForCausalLM,
                  BigBirdPegasusForConditionalGeneration,
                  BigBirdPegasusForQuestionAnswering,
                  BigBirdPegasusForSequenceClassification,
                  BigBirdPegasusModel,
                  BigBirdPegasusPreTrainedModel,
              )


else:
       import sys

       _SCREAMING_SNAKE_CASE	 =							_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)


