






from __future__ import annotations

__A      =				1.6021e-19  # units = C




def      __A					(     _lowercase					,			_lowercase					,			_lowercase					,			):

					'''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()











from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


__A      =				{
    'configuration_mega': ['MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MegaConfig', 'MegaOnnxConfig'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A      =				[
				    'MEGA_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'MegaForCausalLM',
				    'MegaForMaskedLM',
				    'MegaForMultipleChoice',
				    'MegaForQuestionAnswering',
				    'MegaForSequenceClassification',
				    'MegaForTokenClassification',
				    'MegaModel',
				    'MegaPreTrainedModel',
				]

if TYPE_CHECKING:
				from .configuration_mega import MEGA_PRETRAINED_CONFIG_ARCHIVE_MAP, MegaConfig, MegaOnnxConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_mega import (
								    MEGA_PRETRAINED_MODEL_ARCHIVE_LIST,
								    MegaForCausalLM,
								    MegaForMaskedLM,
								    MegaForMultipleChoice,
								    MegaForQuestionAnswering,
								    MegaForSequenceClassification,
								    MegaForTokenClassification,
								    MegaModel,
								    MegaPreTrainedModel,
								)

else:
				import sys

				__A      =				_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)



