





"""simple docstring"""






from __future__ import annotations

import unittest

from transformers import is_tf_available
from transformers.testing_utils import require_sentencepiece, require_tf, require_tokenizers, slow


if is_tf_available():
		import numpy as np
		import tensorflow as tf

		from transformers import TFXLMRobertaModel




@require_tf
@require_sentencepiece
@require_tokenizers
class 				__lowercase			(			unittest.TestCase							):







					'''simple docstring'''




					@slow
					def  _lowerCamelCase		(						self     ):
									__a :						str			       =  TFXLMRobertaModel.from_pretrained('''jplu/tf-xlm-roberta-base'''     )

									__a :						Tuple			       =  {
									    '''input_ids''': tf.convert_to_tensor([[0, 2646, 10269, 83, 99942, 2]]	,			dtype=tf.intaa     ),  # "My dog is cute"
									    '''attention_mask''': tf.convert_to_tensor([[1, 1, 1, 1, 1, 1]]	,			dtype=tf.intaa     ),
									}

									__a :						Tuple			       =  model(_UpperCAmelCase     )['''last_hidden_state''']
									__a :						int			       =  tf.TensorShape((1, 6, 768)     )
									self.assertEqual(output.shape	,			_UpperCAmelCase     )
									# compare the actual values for a slice.
									__a :						Tuple			       =  tf.convert_to_tensor(
									    [
									        [
									            [0.0_6_8_1_7_6_2, 0.1_0_8_9_4_4_5_1, 0.0_6_7_7_2_5_0_4],
									            [-0.0_6_4_2_3_6_6_8, 0.0_2_3_6_6_6_1_5, 0.0_4_3_2_9_3_4_4],
									            [-0.0_6_0_5_7_2_9_5, 0.0_9_9_7_4_1_3_5, -0.0_0_0_7_0_5_8_4],
									        ]
									    ]	,			dtype=tf.floataa	,			)

									self.assertTrue(np.allclose(output[:, :3, :3].numpy()	,			expected_slice.numpy()	,			atol=1e-4     )     )






"""simple docstring"""






from math import log

from scipy.constants import Boltzmann, physical_constants

A 			=  300  # TEMPERATURE (unit = K)

def     __A      (			a_						:float   ,       a_						:float   ,       a_						:float   ,       )		->		float:

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