





"""simple docstring"""






from __future__ import annotations

def      __A   (      a_    :float ,							a_    :float ,							a_    :float ,							)		->		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()






from typing import TYPE_CHECKING

from ...utils import _LazyModule


__lowerCamelCase			:	str					    =	{"""tokenization_byt5""": ["""ByT5Tokenizer"""]}


if TYPE_CHECKING:
    from .tokenization_byta import ByTaTokenizer
else:
    import sys

    __lowerCamelCase			:	List[str]					    =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)
