




from math import log

from scipy.constants import Boltzmann, physical_constants

lowerCamelCase							:						Union[str, Any]					       =  300  # TEMPERATURE (unit = K)

def      _SCREAMING_SNAKE_CASE     (				lowercase      :			float      ,				lowercase      :			float      ,				lowercase      :			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 			lowerCAmelCase(      SCREAMING_SNAKE_CASE_			)->						str:



    """simple docstring"""






    if isinstance(SCREAMING_SNAKE_CASE_			,						SCREAMING_SNAKE_CASE_			):
        raise TypeError("'float' object cannot be interpreted as an integer"			)
    if isinstance(SCREAMING_SNAKE_CASE_			,						SCREAMING_SNAKE_CASE_			):
        raise TypeError("'str' object cannot be interpreted as an integer"			)

    if num == 0:
        return "0b0"

    UpperCamelCase_			  =						False

    if num < 0:
        UpperCamelCase_			  =						True
        UpperCamelCase_			  =						-num

    UpperCamelCase_			  =						[]
    while num > 0:
        binary.insert(0			,						num % 2			)
        num >>= 1

    if negative:
        return "-0b" + "".join(str(SCREAMING_SNAKE_CASE_			) for e in binary			)

    return "0b" + "".join(str(SCREAMING_SNAKE_CASE_			) for e in binary			)


if __name__ == "__main__":
 import doctest

 doctest.testmod()
