'''simple docstring'''

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 	SCREAMING_SNAKE_CASE      (    unittest.TestCase):







		"""simple docstring"""






		def 		UpperCamelCase__							( self					)			->  Dict:
								_lowerCAmelCase					    =tf.constant([-100, -1.0, -0.1, 0, 0.1, 1.0, 100.0]					)
								_lowerCAmelCase					    =get_tf_activation('gelu'					)
								_lowerCAmelCase					    =get_tf_activation('gelu_10'					)

								_lowerCAmelCase					    =gelu(__A					)
								_lowerCAmelCase					    =geluaa(__A					)

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

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






		def 		UpperCamelCase__							( self					)			->  List[str]:
								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(__A					):
														get_tf_activation('bogus'					)
								with self.assertRaises(__A					):
														get_tf_activation(__A					)






'''simple docstring'''

from itertools import compress, repeat
from math import ceil, sqrt



def 				UpperCamelCase__      (      a__   ):


						'''simple docstring'''






						if num <= 2:
												return []
						if num == 3:
												return [2]

						# Odd sieve for numbers in range [3, num - 1]
						_lowerCAmelCase					    =bytearray(B'\x01'   ) * ((num >> 1) - 1)

						for i in range(3      ,   int(sqrt(a__   )   ) + 1      ,   2   ):
												if sieve[(i >> 1) - 1]:
																		_lowerCAmelCase					    =i**2
																		_lowerCAmelCase					    =repeat(
																		    0      ,   ceil((num - i_squared) / (i << 1)   )   )

						return [2] + list(compress(range(3      ,   a__      ,   2   )      ,   a__   )   )


if __name__ == "__main__":
							import doctest

							doctest.testmod()





