'''simple docstring'''





from __future__ import annotations

SCREAMING_SNAKE_CASE_:     Tuple  =1.6_0_2_1E-1_9  # units = C





def 	lowerCAmelCase_				(					snake_case_       : float					,    snake_case_       : float					,    snake_case_       : float					,    )    ->      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()







"""simple docstring"""





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


__UpperCamelCase  :      str							      =		{
    '''configuration_longt5''': ['''LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''LongT5Config''', '''LongT5OnnxConfig'''],
}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__UpperCamelCase  :      str							      =		[
							    '''LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''LongT5EncoderModel''',
							    '''LongT5ForConditionalGeneration''',
							    '''LongT5Model''',
							    '''LongT5PreTrainedModel''',
							]

try:
							if not is_flax_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							__UpperCamelCase  :      int							      =		[
							    '''FlaxLongT5ForConditionalGeneration''',
							    '''FlaxLongT5Model''',
							    '''FlaxLongT5PreTrainedModel''',
							]


if TYPE_CHECKING:
							from .configuration_longta import LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP, LongTaConfig, LongTaOnnxConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_longta import (
														    LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST,
														    LongTaEncoderModel,
														    LongTaForConditionalGeneration,
														    LongTaModel,
														    LongTaPreTrainedModel,
														)

							try:
														if not is_flax_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_flax_longta import (
														    FlaxLongTaForConditionalGeneration,
														    FlaxLongTaModel,
														    FlaxLongTaPreTrainedModel,
														)


else:
							import sys

							__UpperCamelCase  :      int							      =		_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)




