

"""simple docstring"""






from ..utils import DummyObject, requires_backends






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				Dict     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			Tuple:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			Any:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			str:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				List[Any]     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			Optional[Any]:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			List[Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			Optional[int]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				Tuple     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			Optional[int]:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			Optional[int]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			List[Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				Tuple     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			int:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			Union[str, Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			str:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				Tuple     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			Tuple:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			Tuple:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			List[Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )






class 			_UpperCAmelCase	(						metaclass=__a):
			__a       :				int     =							["""torch""", """transformers""", """onnx"""]
			def __init__(						self					,						*_A					,						**_A   )			->			str:






				'''simple docstring'''







				requires_backends(self					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			List[Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )
			@classmethod
			def 							__snake_case       (						cls					,						*_A					,						**_A   )			->			List[Any]:






				'''simple docstring'''







				requires_backends(cls					,						["""torch""", """transformers""", """onnx"""]   )












"""simple docstring"""





from __future__ import annotations

__A											=		1.6_021e-19  # units = C
def  __A   (_SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE     ,   )					->tuple[str, float]:





  """simple docstring"""


  if (conductivity, electron_conc, mobility).count(0			) != 1:
    raise ValueError('You cannot supply more or less than 2 values'			)
  elif conductivity < 0:
    raise ValueError('Conductivity cannot be negative'			)
  elif electron_conc < 0:
    raise ValueError('Electron concentration cannot be negative'			)
  elif mobility < 0:
    raise ValueError('mobility cannot be negative'			)
  elif conductivity == 0:
    return (
        "conductivity",
        mobility * electron_conc * ELECTRON_CHARGE,
    )
  elif electron_conc == 0:
    return (
        "electron_conc",
        conductivity / (mobility * ELECTRON_CHARGE),
    )
  else:
    return (
        "mobility",
        conductivity / (electron_conc * ELECTRON_CHARGE),
    )


if __name__ == "__main__":
  import doctest

  doctest.testmod()
