
from ..utils import DummyObject, requires_backends





class    __A(					metaclass=UpperCAmelCase							):
					SCREAMING_SNAKE_CASE           =     ['''torch''', '''torchsde''']

					def __init__(						self       :  Optional[int] ,       *__UpperCamelCase       :  List[Any] ,       **__UpperCamelCase       :  Optional[Any] ):
												requires_backends(self ,       ["""torch""", """torchsde"""] )

					@classmethod
					def  lowercase__   (						cls       :  Union[str, Any] ,       *__UpperCamelCase       :  Dict ,       **__UpperCamelCase       :  Union[str, Any] ):
												requires_backends(cls ,       ["""torch""", """torchsde"""] )



					@classmethod
					def  lowercase__   (						cls       :  int ,       *__UpperCamelCase       :  Any ,       **__UpperCamelCase       :  str ):
												requires_backends(cls ,       ["""torch""", """torchsde"""] )







lowercase   =	8.314_4598



def   __lowerCAmelCase    (				UpperCAmelCase__					:   float      ,					UpperCAmelCase__					:   float							)	->     float:
							if temperature < 0:
														raise Exception("""Temperature cannot be less than 0 K"""							)
							if molar_mass <= 0:
														raise Exception("""Molar mass cannot be less than or equal to 0 kg/mol"""							)
							else:
														return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
		import doctest

		# run doctest
		doctest.testmod()

		# example
		lowercase   =	3_0_0
		lowercase   =	2_8
		lowercase   =	rms_speed_of_molecule(temperature, molar_mass)
		print(F"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")





