



"""simple docstring"""
from math import asin, atan, cos, radians, sin, sqrt, tan

A:   str								=		637_8137.0
A:   List[Any]								=		635_6752.31_4245
A:   Any								=		6_3_7_8_1_3_7

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


if __name__ == "__main__":
      import doctest

      doctest.testmod()





"""simple docstring"""
# Copyright 2021 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 argparse import ArgumentParser

from accelerate.commands.config import get_config_parser
from accelerate.commands.env import env_command_parser
from accelerate.commands.launch import launch_command_parser
from accelerate.commands.test import test_command_parser
from accelerate.commands.tpu import tpu_command_parser

def       _snake_case						(						):
 UpperCAmelCase	:					List[str]	=	ArgumentParser("""Accelerate CLI tool"""			,		usage="""accelerate <command> [<args>]"""			,		allow_abbrev=UpperCamelCase						)
 UpperCAmelCase	:					Dict	=	parser.add_subparsers(help="""accelerate command helpers"""						)

 # Register commands
 get_config_parser(subparsers=UpperCamelCase						)
 env_command_parser(subparsers=UpperCamelCase						)
 launch_command_parser(subparsers=UpperCamelCase						)
 tpu_command_parser(subparsers=UpperCamelCase						)
 test_command_parser(subparsers=UpperCamelCase						)

 # Let's go
 UpperCAmelCase	:					Optional[int]	=	parser.parse_args()

 if not hasattr(UpperCamelCase			,		"""func"""						):
  parser.print_help()
  exit(1						)

 # Run
 args.func(UpperCamelCase						)


if __name__ == "__main__":
      main()
