
"""simple docstring"""


import unittest

from transformers import is_torch_available
from transformers.testing_utils import require_sentencepiece, require_tokenizers, require_torch, slow


if is_torch_available():
		import torch

		from transformers import XLMRobertaModel







@require_sentencepiece
@require_tokenizers
@require_torch
class 					lowerCAmelCase_					(   unittest.TestCase     ):



						'''simple docstring'''


						@slow
						def     _SCREAMING_SNAKE_CASE   (			self  :   Dict   )  -> str:
							A     = XLMRobertaModel.from_pretrained('xlm-roberta-base'   )
							A     = torch.tensor([[0, 581, 1_0269, 83, 9_9942, 136, 6_0742, 23, 70, 8_0583, 1_8276, 2]]   )
							# The dog is cute and lives in the garden house

							A     = torch.Size((1, 12, 768)   )  # batch_size, sequence_length, embedding_vector_dim
							A     = torch.tensor(
							    [[-0.01_01, 0.12_18, -0.08_03, 0.08_01, 0.13_27, 0.07_76, -0.12_15, 0.23_83, 0.33_38, 0.31_06, 0.03_00, 0.02_52]]   )
							#  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.base')
							#  xlmr.eval()
							#  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
							with torch.no_grad():
								A     = model(A_   )['last_hidden_state'].detach()
							self.assertEqual(output.shape	,A_   )
							# compare the actual values for a slice of last dim
							self.assertTrue(torch.allclose(output[:, :, -1]	,A_	,atol=1e-3   )   )




						@slow
						def     _SCREAMING_SNAKE_CASE   (			self  :   Dict   )  -> Dict:
							A     = XLMRobertaModel.from_pretrained('xlm-roberta-large'   )
							A     = torch.tensor([[0, 581, 1_0269, 83, 9_9942, 136, 6_0742, 23, 70, 8_0583, 1_8276, 2]]   )
							# The dog is cute and lives in the garden house

							A     = torch.Size((1, 12, 1024)   )  # batch_size, sequence_length, embedding_vector_dim
							A     = torch.tensor(
							    [[-0.06_99, -0.03_18, 0.07_05, -0.12_41, 0.09_99, -0.05_20, 0.10_04, -0.18_38, -0.47_04, 0.14_37, 0.08_21, 0.01_26]]   )
							#  xlmr = torch.hub.load('pytorch/fairseq', 'xlmr.large')
							#  xlmr.eval()
							#  expected_output_values_last_dim = xlmr.extract_features(input_ids[0])[:, :, -1]
							with torch.no_grad():
								A     = model(A_   )['last_hidden_state'].detach()
							self.assertEqual(output.shape	,A_   )
							# compare the actual values for a slice of last dim
							self.assertTrue(torch.allclose(output[:, :, -1]	,A_	,atol=1e-3   )   )






def      A__       (    SCREAMING_SNAKE_CASE_   :      int				,	SCREAMING_SNAKE_CASE_   :      int						)  ->  str:






   """simple docstring"""







   if a < 0 or b < 0:
      raise ValueError('''the value of both inputs must be positive'''						)

   _UpperCAmelCase           =   str(bin(SCREAMING_SNAKE_CASE_						)						)[2:]  # remove the leading "0b"
   _UpperCAmelCase           =   str(bin(SCREAMING_SNAKE_CASE_						)						)[2:]  # remove the leading "0b"

   _UpperCAmelCase           =   max(len(SCREAMING_SNAKE_CASE_						)				,	len(SCREAMING_SNAKE_CASE_						)						)

   return "0b" + "".join(
       str(int(char_a == '''1''' and char_b == '''1'''						)						)
       for char_a, char_b in zip(a_binary.zfill(SCREAMING_SNAKE_CASE_						)				,	b_binary.zfill(SCREAMING_SNAKE_CASE_						)						)						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()