



import datasets


UpperCAmelCase_		 =					"""\
@InProceedings{conneau2018xnli,
  author = \"Conneau, Alexis
                 and Rinott, Ruty
                 and Lample, Guillaume
                 and Williams, Adina
                 and Bowman, Samuel R.
                 and Schwenk, Holger
                 and Stoyanov, Veselin\",
  title = \"XNLI: Evaluating Cross-lingual Sentence Representations\",
  booktitle = \"Proceedings of the 2018 Conference on Empirical Methods
               in Natural Language Processing\",
  year = \"2018\",
  publisher = \"Association for Computational Linguistics\",
  location = \"Brussels, Belgium\",
}
"""

UpperCAmelCase_		 =					"""\
XNLI is a subset of a few thousand examples from MNLI which has been translated
into a 14 different languages (some low-ish resource). As with MNLI, the goal is
to predict textual entailment (does sentence A imply/contradict/neither sentence
B) and is a classification task (given two sentences, predict one of three
labels).
"""

UpperCAmelCase_		 =					"""
Computes XNLI score which is just simple accuracy.
Args:
    predictions: Predicted labels.
    references: Ground truth labels.
Returns:
    'accuracy': accuracy
Examples:

    >>> predictions = [0, 1]
    >>> references = [0, 1]
    >>> xnli_metric = datasets.load_metric(\"xnli\")
    >>> results = xnli_metric.compute(predictions=predictions, references=references)
    >>> print(results)
    {'accuracy': 1.0}
"""

def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:int	,   _snake_case	:List[Any]				)  ->     List[str]:
   return (preds == labels).mean()


@datasets.utils.file_utils.add_start_docstrings(_DESCRIPTION							,  _KWARGS_DESCRIPTION)
class 	lowerCamelCase__	(       datasets.Metric):



 """simple docstring"""

 def     snake_case_      (    self					:					Union[str, Any]      )   ->	Tuple:
    return datasets.MetricInfo(
        description=_DESCRIPTION			,						citation=_CITATION			,						inputs_description=_KWARGS_DESCRIPTION			,						features=datasets.Features(
            {
                '''predictions''': datasets.Value('''int64''' if self.config_name != '''sts-b''' else '''float32'''      ),
                '''references''': datasets.Value('''int64''' if self.config_name != '''sts-b''' else '''float32'''      ),
            }      )			,						codebase_urls=[]			,						reference_urls=[]			,						format='''numpy'''			,						)

 def     snake_case_      (    self					:					Any			,						__lowerCAmelCase					:					str			,						__lowerCAmelCase					:					Any      )   ->	Optional[int]:
    return {"accuracy": simple_accuracy(__lowerCAmelCase			,						__lowerCAmelCase      )}








def 	SCREAMING_SNAKE_CASE_							(	_snake_case	:int				)  ->     int:
   if not isinstance(_snake_case	,   _snake_case				):
      raise ValueError('''Input must be an integer'''				)
   if input_num <= 0:
      raise ValueError('''Input must be positive'''				)
   return sum(
       divisor for divisor in range(1	,   input_num // 2 + 1				) if input_num % divisor == 0				)


if __name__ == "__main__":
   import doctest

   doctest.testmod()



