





import unittest

import torch
from torch import nn

from diffusers.models.activations import get_activation






class  _SCREAMING_SNAKE_CASE(       unittest.TestCase  ):




       def    _UpperCamelCase					(						self							)      ->				Optional[int]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :Tuple		    =  get_activation('''swish'''							)

             self.assertIsInstance(lowerCAmelCase__		,nn.SiLU							)

             self.assertEqual(act(torch.tensor(-1_00		,dtype=torch.floataa							)							).item()		,0							)
             self.assertNotEqual(act(torch.tensor(-1		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(0		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(20		,dtype=torch.floataa							)							).item()		,20							)




       def    _UpperCamelCase					(						self							)      ->				List[Any]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :Dict		    =  get_activation('''silu'''							)

             self.assertIsInstance(lowerCAmelCase__		,nn.SiLU							)

             self.assertEqual(act(torch.tensor(-1_00		,dtype=torch.floataa							)							).item()		,0							)
             self.assertNotEqual(act(torch.tensor(-1		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(0		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(20		,dtype=torch.floataa							)							).item()		,20							)




       def    _UpperCamelCase					(						self							)      ->				List[str]:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :Tuple		    =  get_activation('''mish'''							)

             self.assertIsInstance(lowerCAmelCase__		,nn.Mish							)

             self.assertEqual(act(torch.tensor(-2_00		,dtype=torch.floataa							)							).item()		,0							)
             self.assertNotEqual(act(torch.tensor(-1		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(0		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(20		,dtype=torch.floataa							)							).item()		,20							)




       def    _UpperCamelCase					(						self							)      ->				Tuple:





             """simple docstring"""






             __SCREAMING_SNAKE_CASE       :str		    =  get_activation('''gelu'''							)

             self.assertIsInstance(lowerCAmelCase__		,nn.GELU							)

             self.assertEqual(act(torch.tensor(-1_00		,dtype=torch.floataa							)							).item()		,0							)
             self.assertNotEqual(act(torch.tensor(-1		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(0		,dtype=torch.floataa							)							).item()		,0							)
             self.assertEqual(act(torch.tensor(20		,dtype=torch.floataa							)							).item()		,20							)






"""simple docstring"""
import math
import unittest



def 					__lowerCamelCase       (							a_					:		int							)      ->				bool:
      assert isinstance(a_			,       a_							) and (
          number >= 0
      ), "'number' must been an int and positive"

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or number % 2 == 0 or number % 3 == 0:
            # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
            return False

      # All primes number are in format of 6k +/- 1
      for i in range(5			,       int(math.sqrt(a_							) + 1							)			,       6							):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True






class  _SCREAMING_SNAKE_CASE(       unittest.TestCase  ):




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





             """simple docstring"""






             self.assertTrue(is_prime(2							)							)
             self.assertTrue(is_prime(3							)							)
             self.assertTrue(is_prime(5							)							)
             self.assertTrue(is_prime(7							)							)
             self.assertTrue(is_prime(11							)							)
             self.assertTrue(is_prime(13							)							)
             self.assertTrue(is_prime(17							)							)
             self.assertTrue(is_prime(19							)							)
             self.assertTrue(is_prime(23							)							)
             self.assertTrue(is_prime(29							)							)




       def    _UpperCamelCase					(						self							)      ->				Tuple:





             """simple docstring"""






             with self.assertRaises(SCREAMING_SNAKE_CASE__							):
                   is_prime(-19							)
             self.assertFalse(
                 is_prime(0							)		,'''Zero doesn\'t have any positive factors, primes must have exactly two.'''		,)
             self.assertFalse(
                 is_prime(1							)		,'''One only has 1 positive factor, primes must have exactly two.'''		,)
             self.assertFalse(is_prime(2 * 2							)							)
             self.assertFalse(is_prime(2 * 3							)							)
             self.assertFalse(is_prime(3 * 3							)							)
             self.assertFalse(is_prime(3 * 5							)							)
             self.assertFalse(is_prime(3 * 5 * 7							)							)


if __name__ == "__main__":
  unittest.main()