


from ...configuration_utils import PretrainedConfig
from ...utils import logging


__a       =					logging.get_logger(__name__)

__a       =					{
    'caidas/swin2sr-classicalsr-x2-64': (
        'https://huggingface.co/caidas/swin2sr-classicalsr-x2-64/resolve/main/config.json'
    ),
}







class  __SCREAMING_SNAKE_CASE      (	UpperCamelCase__      ):
      A :							int										=   """swin2sr"""

      A :							Optional[int]										=   {
          """hidden_size""": """embed_dim""",
          """num_attention_heads""": """num_heads""",
          """num_hidden_layers""": """num_layers""",
      }


      def __init__(							self							,  SCREAMING_SNAKE_CASE__=64							,  SCREAMING_SNAKE_CASE__=1							,  SCREAMING_SNAKE_CASE__=3							,  SCREAMING_SNAKE_CASE__=180							,  SCREAMING_SNAKE_CASE__=[6, 6, 6, 6, 6, 6]							,  SCREAMING_SNAKE_CASE__=[6, 6, 6, 6, 6, 6]							,  SCREAMING_SNAKE_CASE__=8							,  SCREAMING_SNAKE_CASE__=2.0							,  SCREAMING_SNAKE_CASE__=True							,  SCREAMING_SNAKE_CASE__=0.0							,  SCREAMING_SNAKE_CASE__=0.0							,  SCREAMING_SNAKE_CASE__=0.1							,  SCREAMING_SNAKE_CASE__="gelu"							,  SCREAMING_SNAKE_CASE__=False							,  SCREAMING_SNAKE_CASE__=0.02							,  SCREAMING_SNAKE_CASE__=1E-5							,  SCREAMING_SNAKE_CASE__=2							,  SCREAMING_SNAKE_CASE__=1.0							,  SCREAMING_SNAKE_CASE__="1conv"							,  SCREAMING_SNAKE_CASE__="pixelshuffle"							,  **SCREAMING_SNAKE_CASE__							,  ):
            super().__init__(**__a						)

            lowercase	:      List[str]          =						image_size
            lowercase	:      Dict          =						patch_size
            lowercase	:      Optional[int]          =						num_channels
            lowercase	:      str          =						embed_dim
            lowercase	:      Dict          =						depths
            lowercase	:      Dict          =						len(__a						)
            lowercase	:      str          =						num_heads
            lowercase	:      Dict          =						window_size
            lowercase	:      Any          =						mlp_ratio
            lowercase	:      Dict          =						qkv_bias
            lowercase	:      Optional[Any]          =						hidden_dropout_prob
            lowercase	:      List[Any]          =						attention_probs_dropout_prob
            lowercase	:      Union[str, Any]          =						drop_path_rate
            lowercase	:      str          =						hidden_act
            lowercase	:      Tuple          =						use_absolute_embeddings
            lowercase	:      Optional[Any]          =						layer_norm_eps
            lowercase	:      Dict          =						initializer_range
            lowercase	:      Union[str, Any]          =						upscale
            lowercase	:      Optional[int]          =						img_range
            lowercase	:      Union[str, Any]          =						resi_connection
            lowercase	:      Union[str, Any]          =						upsampler


'''simple docstring'''





from math import log

from scipy.constants import Boltzmann, physical_constants

SCREAMING_SNAKE_CASE_:     Optional[int]  =3_00  # TEMPERATURE (unit = K)





def 	lowerCAmelCase_				(					snake_case_       : float					,    snake_case_       : float					,    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()




