





"""simple docstring"""





from __future__ import annotations

from typing import Dict

from ...configuration_utils import PretrainedConfig


SCREAMING_SNAKE_CASE__   =  {
    "susnato/ernie-m-base_pytorch": "https://huggingface.co/susnato/ernie-m-base_pytorch/blob/main/config.json",
    "susnato/ernie-m-large_pytorch": "https://huggingface.co/susnato/ernie-m-large_pytorch/blob/main/config.json",
}

class 						lowercase   (   _UpperCAmelCase   ):
      _SCREAMING_SNAKE_CASE							      = 'ernie_m'
      _SCREAMING_SNAKE_CASE							      = {"dropout": "classifier_dropout", "num_classes": "num_labels"}





      def __init__(			self ,		lowercase = 250_002 ,		lowercase = 768 ,		lowercase = 12 ,		lowercase = 12 ,		lowercase = 3_072 ,		lowercase = "gelu" ,		lowercase = 0.1 ,		lowercase = 0.1 ,		lowercase = 514 ,		lowercase = 0.02 ,		lowercase = 1 ,		lowercase = 1e-05 ,		lowercase=None ,		lowercase=False ,		lowercase=0.0 ,		**lowercase ,		)						->	Tuple:
            super().__init__(pad_token_id=lowercase ,		**lowercase					)
            lowerCAmelCase    		=			vocab_size
            lowerCAmelCase    		=			hidden_size
            lowerCAmelCase    		=			num_hidden_layers
            lowerCAmelCase    		=			num_attention_heads
            lowerCAmelCase    		=			intermediate_size
            lowerCAmelCase    		=			hidden_act
            lowerCAmelCase    		=			hidden_dropout_prob
            lowerCAmelCase    		=			attention_probs_dropout_prob
            lowerCAmelCase    		=			max_position_embeddings
            lowerCAmelCase    		=			initializer_range
            lowerCAmelCase    		=			layer_norm_eps
            lowerCAmelCase    		=			classifier_dropout
            lowerCAmelCase    		=			is_decoder
            lowerCAmelCase    		=			act_dropout













"""simple docstring"""





from math import log

from scipy.constants import Boltzmann, physical_constants

SCREAMING_SNAKE_CASE__   =  300  # TEMPERATURE (unit = K)


def      UpperCAmelCase__				(    SCREAMING_SNAKE_CASE	:		float				,		SCREAMING_SNAKE_CASE	:		float				,		SCREAMING_SNAKE_CASE	:		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()






