


import unittest

import numpy as np

from transformers import is_tf_available
from transformers.testing_utils import require_tf


if is_tf_available():
   import tensorflow as tf

   from transformers.activations_tf import get_tf_activation


@require_tf
class       __lowerCAmelCase       (	unittest.TestCase   ):






  """simple docstring"""





  def    lowerCAmelCase__					(       self    :    Tuple					)				->	Any:




     """simple docstring"""
     snake_case_         =   tf.constant([-1_0_0, -1.0, -0.1, 0, 0.1, 1.0, 100.0]					)
     snake_case_         =   get_tf_activation("gelu"					)
     snake_case_         =   get_tf_activation("gelu_10"					)

     snake_case_         =   gelu(_lowerCAmelCase					)
     snake_case_         =   geluaa(_lowerCAmelCase					)

     snake_case_         =   tf.where(y_gelu_aa < 10.0      ,			1.0      ,			0.0					)

     self.assertEqual(tf.math.reduce_max(_lowerCAmelCase					).numpy().item()      ,			10.0					)
     self.assertTrue(np.allclose(y_gelu * clipped_mask      ,			y_gelu_aa * clipped_mask					)					)



  def    lowerCAmelCase__					(       self    :    str					)				->	Union[str, Any]:




     """simple docstring"""
     get_tf_activation("gelu"					)
     get_tf_activation("gelu_10"					)
     get_tf_activation("gelu_fast"					)
     get_tf_activation("gelu_new"					)
     get_tf_activation("glu"					)
     get_tf_activation("mish"					)
     get_tf_activation("quick_gelu"					)
     get_tf_activation("relu"					)
     get_tf_activation("sigmoid"					)
     get_tf_activation("silu"					)
     get_tf_activation("swish"					)
     get_tf_activation("tanh"					)
     with self.assertRaises(_lowerCAmelCase					):
        get_tf_activation("bogus"					)
     with self.assertRaises(_lowerCAmelCase					):
        get_tf_activation(_lowerCAmelCase					)








from __future__ import annotations



def      _lowerCAmelCase  (							lowerCAmelCase_							:int							)->list[int]:
   '''simple docstring'''






   assert (
       isinstance(lowerCAmelCase_						,  lowerCAmelCase_							) and mask > 0
   ), F'''mask needs to be positive integer, your input {mask}'''
   snake_case_         =   []
   snake_case_         =   mask

   while submask:
      all_submasks.append(lowerCAmelCase_							)
      snake_case_         =   (submask - 1) & mask

   return all_submasks


if __name__ == "__main__":
   import doctest

   doctest.testmod()




