



"""simple docstring"""


from __future__ import annotations

def  _lowerCAmelCase      (   lowercase_		,	lowercase_		,	lowercase_		,	):
						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()







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__A				={'''configuration_wavlm''': ['''WAVLM_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''WavLMConfig''']}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__A				=[
			    '''WAVLM_PRETRAINED_MODEL_ARCHIVE_LIST''',
			    '''WavLMForAudioFrameClassification''',
			    '''WavLMForCTC''',
			    '''WavLMForSequenceClassification''',
			    '''WavLMForXVector''',
			    '''WavLMModel''',
			    '''WavLMPreTrainedModel''',
			]

if TYPE_CHECKING:
			from .configuration_wavlm import WAVLM_PRETRAINED_CONFIG_ARCHIVE_MAP, WavLMConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_wavlm import (
						    WAVLM_PRETRAINED_MODEL_ARCHIVE_LIST,
						    WavLMForAudioFrameClassification,
						    WavLMForCTC,
						    WavLMForSequenceClassification,
						    WavLMForXVector,
						    WavLMModel,
						    WavLMPreTrainedModel,
						)

else:
			import sys

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


