lowerCAmelCase__     						=			{
    0: '0',
    1: '1',
    2: '2',
    3: '3',
    4: '4',
    5: '5',
    6: '6',
    7: '7',
    8: '8',
    9: '9',
    10: 'a',
    11: 'b',
    12: 'c',
    13: 'd',
    14: 'e',
    15: 'f',
}






def 				__lowerCamelCase		(						lowerCAmelCase__     ):
       assert type(lowerCAmelCase__     ) in (int, float) and decimal == int(lowerCAmelCase__     )
       lowerCAmelCase__					     = int(lowerCAmelCase__     )
       lowerCAmelCase__					     = ''
       lowerCAmelCase__					     = False
       if decimal < 0:
              lowerCAmelCase__					     = True
              decimal *= -1
       while decimal > 0:
              lowerCAmelCase__     , lowerCAmelCase__					     = divmod(lowerCAmelCase__     ,  1_6     )
              lowerCAmelCase__					     = values[remainder] + hexadecimal
       lowerCAmelCase__					     = '0x' + hexadecimal
       if negative:
              lowerCAmelCase__					     = '-' + hexadecimal
       return hexadecimal


if __name__ == "__main__":
    import doctest

    doctest.testmod()

from math import log

from scipy.constants import Boltzmann, physical_constants

lowerCAmelCase__     						=			300  # TEMPERATURE (unit = K)






def 				__lowerCamelCase		(						lowerCAmelCase__     ,  lowerCAmelCase__     ,  lowerCAmelCase__     ,  ):

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