
'''simple docstring'''





from ...configuration_utils import PretrainedConfig
from ...utils import logging


UpperCAmelCase            = logging.get_logger(__name__)

UpperCAmelCase            = {
    "openbmb/cpm-ant-10b": "https://huggingface.co/openbmb/cpm-ant-10b/blob/main/config.json"
    # See all CPMAnt models at https://huggingface.co/models?filter=cpmant
}

class     a (					__magic_name__     ):
				_snake_case		     =			'''cpmant'''




				def __init__(				self						:					Dict,     SCREAMING_SNAKE_CASE_						:					int = 3_07_20,     SCREAMING_SNAKE_CASE_						:					int = 40_96,     SCREAMING_SNAKE_CASE_						:					int = 32,     SCREAMING_SNAKE_CASE_						:					int = 1_28,     SCREAMING_SNAKE_CASE_						:					int = 1_02_40,     SCREAMING_SNAKE_CASE_						:					int = 48,     SCREAMING_SNAKE_CASE_						:					int = 0.0,     SCREAMING_SNAKE_CASE_						:					int = 5_12,     SCREAMING_SNAKE_CASE_						:					int = 20_48,     SCREAMING_SNAKE_CASE_						:					int = 1e-6,     SCREAMING_SNAKE_CASE_						:					float = 1.0,     SCREAMING_SNAKE_CASE_						:					int = 32,     SCREAMING_SNAKE_CASE_						:					int = 32,     SCREAMING_SNAKE_CASE_						:					int = 32,     SCREAMING_SNAKE_CASE_						:					bool = True,     **SCREAMING_SNAKE_CASE_						:					Optional[int],     ):
										super().__init__(**SCREAMING_SNAKE_CASE_   )
										snake_case							:  Optional[Any]			=     prompt_types
										snake_case							:  List[str]			=     prompt_length
										snake_case							:  Dict			=     segment_types
										snake_case							:  str			=     hidden_size
										snake_case							:  int			=     num_attention_heads
										snake_case							:  List[str]			=     dim_head
										snake_case							:  str			=     dim_ff
										snake_case							:  Union[str, Any]			=     num_hidden_layers
										snake_case							:  Any			=     position_bias_num_buckets
										snake_case							:  Any			=     position_bias_max_distance
										snake_case							:  List[Any]			=     dropout_p
										snake_case							:  Optional[Any]			=     eps
										snake_case							:  int			=     use_cache
										snake_case							:  Any			=     vocab_size
										snake_case							:  List[str]			=     init_std









from __future__ import annotations

# Define the Gravitational Constant G and the function
UpperCAmelCase_					:		Union[str, Any]           = 6.6_743E-11  # unit of G : m^3 * kg^-1 * s^-2

def   SCREAMING_SNAKE_CASE_				(				__magic_name__   :    float      ,     __magic_name__   :    float      ,     __magic_name__   :    float      ,     __magic_name__   :    float   )						->     dict[str, float]:






	"""simple docstring"""



	UpperCamelCase	:List[str]		=      mass_a * mass_a

	if (force, mass_a, mass_a, distance).count(0   ) != 1:
		raise ValueError("""One and only one argument must be 0"""   )
	if force < 0:
		raise ValueError("""Gravitational force can not be negative"""   )
	if distance < 0:
		raise ValueError("""Distance can not be negative"""   )
	if mass_a < 0 or mass_a < 0:
		raise ValueError("""Mass can not be negative"""   )
	if force == 0:
		UpperCamelCase	:Optional[int]		=      GRAVITATIONAL_CONSTANT * product_of_mass / (distance**2)
		return {"force": force}
	elif mass_a == 0:
		UpperCamelCase	:Any		=      (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
		return {"mass_1": mass_a}
	elif mass_a == 0:
		UpperCamelCase	:Optional[int]		=      (force) * (distance**2) / (GRAVITATIONAL_CONSTANT * mass_a)
		return {"mass_2": mass_a}
	elif distance == 0:
		UpperCamelCase	:str		=      (GRAVITATIONAL_CONSTANT * product_of_mass / (force)) ** 0.5
		return {"distance": distance}
	raise ValueError("""One and only one argument must be 0"""   )


# Run doctest
if __name__ == "__main__":
	import doctest

	doctest.testmod()
