



"""simple docstring"""







from ...utils import is_note_seq_available, is_transformers_available, is_torch_available
from ...utils import OptionalDependencyNotAvailable


try:
			if not (is_transformers_available() and is_torch_available()):
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
			from .notes_encoder import SpectrogramNotesEncoder
			from .continous_encoder import SpectrogramContEncoder
			from .pipeline_spectrogram_diffusion import (
			    SpectrogramContEncoder,
			    SpectrogramDiffusionPipeline,
			    TaFilmDecoder,
			)

try:
			if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			from ...utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
			from .midi_utils import MidiProcessor









"""simple docstring"""







from __future__ import annotations

def       _lowerCamelCase				(							UpperCAmelCase_ :       float,	UpperCAmelCase_ :       float,	UpperCAmelCase_ :       float,	)	-> tuple:






	"""simple docstring"""





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




