
'''simple docstring'''







from __future__ import annotations







def        SCREAMING_SNAKE_CASE__			(     __A    ,       __A    ,       __A    ,       ) ->			tuple:
	if (electron_conc, hole_conc, intrinsic_conc).count(0			) != 1:
		raise ValueError('You cannot supply more or less than 2 values'			)
	elif electron_conc < 0:
		raise ValueError('Electron concentration cannot be negative in a semiconductor'			)
	elif hole_conc < 0:
		raise ValueError('Hole concentration cannot be negative in a semiconductor'			)
	elif intrinsic_conc < 0:
		raise ValueError(
		    'Intrinsic concentration cannot be negative in a semiconductor'			)
	elif electron_conc == 0:
		return (
		    "electron_conc",
		    intrinsic_conc**2 / hole_conc,
		)
	elif hole_conc == 0:
		return (
		    "hole_conc",
		    intrinsic_conc**2 / electron_conc,
		)
	elif intrinsic_conc == 0:
		return (
		    "intrinsic_conc",
		    (electron_conc * hole_conc) ** 0.5,
		)
	else:
		return (-1, -1)


if __name__ == "__main__":
					import doctest

					doctest.testmod()



'''simple docstring'''







from typing import TYPE_CHECKING

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


lowercase					:							str   =      {
    "configuration_nezha": ["NEZHA_PRETRAINED_CONFIG_ARCHIVE_MAP", "NezhaConfig"],
}

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowercase					:							Any   =      [
					    "NEZHA_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "NezhaForNextSentencePrediction",
					    "NezhaForMaskedLM",
					    "NezhaForPreTraining",
					    "NezhaForMultipleChoice",
					    "NezhaForQuestionAnswering",
					    "NezhaForSequenceClassification",
					    "NezhaForTokenClassification",
					    "NezhaModel",
					    "NezhaPreTrainedModel",
					]


if TYPE_CHECKING:
					from .configuration_nezha import NEZHA_PRETRAINED_CONFIG_ARCHIVE_MAP, NezhaConfig

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_nezha import (
										    NEZHA_PRETRAINED_MODEL_ARCHIVE_LIST,
										    NezhaForMaskedLM,
										    NezhaForMultipleChoice,
										    NezhaForNextSentencePrediction,
										    NezhaForPreTraining,
										    NezhaForQuestionAnswering,
										    NezhaForSequenceClassification,
										    NezhaForTokenClassification,
										    NezhaModel,
										    NezhaPreTrainedModel,
										)


else:
					import sys

					lowercase					:							Union[str, Any]   =      _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)

