






'''simple docstring'''






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

__A    	=   637_8137.0
__A    	=   635_6752.31_4245
__A    	=   6_3_7_8_1_3_7




def        _SCREAMING_SNAKE_CASE  (				A  :       float  ,		A  :       float  ,		A  :       float  ,		A  :       float  )    -> float:







   """simple docstring"""
   __snake_case				:      List[Any]     							= (AXIS_A - AXIS_B) / AXIS_A
   __snake_case				:      Dict     							= atan((1 - flattening) * tan(radians(A  )  )  )
   __snake_case				:      str     							= atan((1 - flattening) * tan(radians(A  )  )  )
   __snake_case				:      List[Any]     							= radians(A  )
   __snake_case				:      str     							= radians(A  )
   # Equation
   __snake_case				:      str     							= sin((phi_a - phi_a) / 2  )
   __snake_case				:      Union[str, Any]     							= sin((lambda_a - lambda_a) / 2  )
   # Square both values
   sin_sq_phi *= sin_sq_phi
   sin_sq_lambda *= sin_sq_lambda
   __snake_case				:      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'''






# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__A    	=   {'''configuration_timm_backbone''': ['''TimmBackboneConfig''']}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __A    	=   ['''TimmBackbone''']


if TYPE_CHECKING:
      from .configuration_timm_backbone import TimmBackboneConfig

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_timm_backbone import TimmBackbone

else:
      import sys

      __A    	=   _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)