



'''simple docstring'''






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

lowerCAmelCase: Union[str, Any]							=						6_3_7_8_1_3_7.0
lowerCAmelCase: List[Any]							=						6_3_5_6_7_5_2.3_1_4_2_4_5
lowerCAmelCase: Dict							=						6_3_7_8_1_3_7
def 				lowerCamelCase__	(						_A			,      _A			,      _A			,      _A    ):
  a						: List[str]					       =					(AXIS_A - AXIS_B) / AXIS_A
  a						: str					       =					atan((1 - flattening) * tan(radians(SCREAMING_SNAKE_CASE_    )    )    )
  a						: int					       =					atan((1 - flattening) * tan(radians(SCREAMING_SNAKE_CASE_    )    )    )
  a						: int					       =					radians(SCREAMING_SNAKE_CASE_    )
  a						: Dict					       =					radians(SCREAMING_SNAKE_CASE_    )
  # Equation
  a						: Any					       =					sin((phi_a - phi_a) / 2    )
  a						: Optional[Any]					       =					sin((lambda_a - lambda_a) / 2    )
  # Square both values
  sin_sq_phi *= sin_sq_phi
  sin_sq_lambda *= sin_sq_lambda
  a						: int					       =					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_tokenizers_available, is_torch_available


lowerCAmelCase: Optional[int]							=						{
    'configuration_graphormer': ['GRAPHORMER_PRETRAINED_CONFIG_ARCHIVE_MAP', 'GraphormerConfig'],
}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     lowerCAmelCase: int							=						[
         'GRAPHORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
         'GraphormerForGraphClassification',
         'GraphormerModel',
         'GraphormerPreTrainedModel',
     ]


if TYPE_CHECKING:
     from .configuration_graphormer import GRAPHORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, GraphormerConfig

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_graphormer import (
              GRAPHORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
              GraphormerForGraphClassification,
              GraphormerModel,
              GraphormerPreTrainedModel,
          )


else:
     import sys

     lowerCAmelCase: str							=						_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)