





"""simple docstring"""






from typing import TYPE_CHECKING

from ...utils import _LazyModule


A 			=   {'''processing_wav2vec2_with_lm''': ['''Wav2Vec2ProcessorWithLM''']}


if TYPE_CHECKING:
		from .processing_wavaveca_with_lm import WavaVecaProcessorWithLM
else:
		import sys

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






"""simple docstring"""






from math import log

from scipy.constants import Boltzmann, physical_constants

A 			=  300  # TEMPERATURE (unit = K)

def     __A      (			a_						:float   ,       a_						:float   ,       a_						:float   ,       )		->		float:

				if donor_conc <= 0:
								raise ValueError('''Donor concentration should be positive''')
				elif acceptor_conc <= 0:
								raise ValueError('''Acceptor concentration should be positive''')
				elif intrinsic_conc <= 0:
								raise ValueError('''Intrinsic concentration should be positive''')
				elif donor_conc <= intrinsic_conc:
								raise ValueError(
								    '''Donor concentration should be greater than intrinsic concentration''')
				elif acceptor_conc <= intrinsic_conc:
								raise ValueError(
								    '''Acceptor concentration should be greater than intrinsic concentration''')
				else:
								return (
								    Boltzmann
								    * T
								    * log((donor_conc * acceptor_conc) / intrinsic_conc**2)
								    / physical_constants["electron volt"][0]
								)


if __name__ == "__main__":
		import doctest

		doctest.testmod()