
'''simple docstring'''
from math import log

from scipy.constants import Boltzmann, physical_constants

__lowerCAmelCase												=	300  # TEMPERATURE (unit = K)






def  __SCREAMING_SNAKE_CASE				(  _SCREAMING_SNAKE_CASE							, _SCREAMING_SNAKE_CASE							, _SCREAMING_SNAKE_CASE							, ):

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

'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_torch_available,
)


__lowerCAmelCase												=	{
    'configuration_encodec': [
        'ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'EncodecConfig',
    ],
    'feature_extraction_encodec': ['EncodecFeatureExtractor'],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__lowerCAmelCase												=	[
				    'ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'EncodecModel',
				    'EncodecPreTrainedModel',
				]

if TYPE_CHECKING:
				from .configuration_encodec import (
				    ENCODEC_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    EncodecConfig,
				)
				from .feature_extraction_encodec import EncodecFeatureExtractor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_encodec import (
								    ENCODEC_PRETRAINED_MODEL_ARCHIVE_LIST,
								    EncodecModel,
								    EncodecPreTrainedModel,
								)

else:
				import sys

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