





from math import log

from scipy.constants import Boltzmann, physical_constants

_lowerCamelCase :    int  							= 3_0_0  # TEMPERATURE (unit = K)




def _a (  SCREAMING_SNAKE_CASE__      :  float			,				SCREAMING_SNAKE_CASE__      :  float			,				SCREAMING_SNAKE_CASE__      :  float			,				)	->    float:

							'''simple docstring'''






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













def _a (  SCREAMING_SNAKE_CASE__      :  str       )	->    str:

							'''simple docstring'''






							if not all(char in "01" for char in bin_string       ):
														raise ValueError("Non-binary value was passed to the function"       )
							if not bin_string:
														raise ValueError("Empty string was passed to the function"       )
							SCREAMING_SNAKE_CASE__       :      List[Any]     =						""
							while len(SCREAMING_SNAKE_CASE__       ) % 3 != 0:
														SCREAMING_SNAKE_CASE__       :      str     =						"0" + bin_string
							SCREAMING_SNAKE_CASE__       :      List[Any]     =						[
							    bin_string[index : index + 3]
							    for index in range(len(SCREAMING_SNAKE_CASE__       )       )
							    if index % 3 == 0
							]
							for bin_group in bin_string_in_3_list:
														SCREAMING_SNAKE_CASE__       :      List[Any]     =						0
														for index, val in enumerate(SCREAMING_SNAKE_CASE__       ):
																					oct_val += int(2 ** (2 - index) * int(SCREAMING_SNAKE_CASE__       )       )
														oct_string += str(SCREAMING_SNAKE_CASE__       )
							return oct_string


if __name__ == "__main__":
		from doctest import testmod

		testmod()






