
    h                     f    S SK Jr  S SKJr  SSKJrJr  SSKJrJr  SSK	J
r
JrJrJr  S rS rS	 rg
)    )getfullargspec)assert_raises   )asarray_elementwise_functions)bitwise_left_shiftbitwise_right_shift)_dtype_categories_boolean_dtypes_floating_dtypes_integer_dtypesc                 >    [        [        U 5      R                  5      $ N)lenr   args)funcs    j/var/www/fran/franai/venv/lib/python3.13/site-packages/numpy/array_api/tests/test_elementwise_functions.pynargsr      s    ~d#(())    c            
        ^^^ 0 SS_SS_SS_SS_SS_SS_S	S_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_0 SS_SS_SS_SS_SS_SS_S S_S!S_S"S_S#S_S$S_S%S_S&S_S'S_S(S_S)S_S*S_E0 S+S_S,S_S-S_S.S_S/S0_S1S0_S2S0_S3S0_S4S_S5S_S6S_S7S_S8S_S9S_S:S_S;S_S<S_ESSSSSSSSS=.En S> nU" 5        H  mU R                  5        H  u  p#[        U   n[        [        U5      m[	        T5      S?:X  aH  U" 5        H;  mTR
                  U;  d  TR
                  U;  d  M%  [        [        UUU4S@ j5        M=     Mu  TR
                  U;  d  M  [        [        UU4SA j5        M     M     g )BNabsnumericacoszfloating-pointacoshaddasinasinhatanatan2zreal floating-pointatanhbitwise_andzinteger or booleanbitwise_invertr   integer
bitwise_orr	   bitwise_xorceilzreal numericconjzcomplex floating-pointcoscoshdivideequalallexpexpm1floorfloor_dividegreatergreater_equalimagisfiniteisinfisnanless
less_equallog	logaddexplog10log1plog2logical_andbooleanlogical_not
logical_orlogical_xormultiplynegative	not_equalpositivepowreal	remainderroundsign)sinsinhsqrtsquaresubtracttantanhtruncc               3      #    [          H  n [        SU S9v   M     [         H  n [        SU S9v   M     [         H  n [        SU S9v   M     g 7f)N   )dtypeFg      ?)r   r   r   r   )ds    r   _array_vals(test_function_types.<locals>._array_valsV   sJ      A!1%% ! A%q)) !!A#Q'' "s   AAr   c                     > T " TT5      $ r    )r   xys   r   <lambda>%test_function_types.<locals>.<lambda>e   s    ar   c                     > T " T5      $ r   r[   )r   r\   s   r   r^   r_   h   s	    T!Wr   )itemsr
   getattrr   r   rV   r   	TypeError) elementwise_function_input_typesrX   	func_nametypesdtypesr   r\   r]   s        @@@r   test_function_typesrh      s`   
<(y<( <( 	!<( 	y	<(
 	 <( 	!<( 	 <( 	&<( 	!<( 	+<( 	.<( 	i<( 	*<( 	y<( 	+<(  	!<(" 	(#<($ 	%<(& 	 '<(( 	")<(* 	+<(, 	-<(. 	!/<(0 	1<(2 	3<(4 	>5<(6 	7<(8 	(9<(: 	I;<(< 	=<(> 	?<(@ 	A<(B 	nC<(D 	E<(F 	*G<(H 	!I<(J 	!K<(L 	 M<(N 	yO<(P 	yQ<(R 	iS<(T 	yU<(V 	IW<(X 	IY<(Z 	U[<(\ 	I]<(^ 	y_<(` 	(a<(b 	^c<(d 	e<(f 		g<(h     w<($|( ] @ F F HI&u-F19=DT{a$Awwf,v0E%i1CD ' 77&(!)_= !I r   c                  H    [        [        S 5        [        [        S 5        g )Nc                  F    [        [        SS/5      [        SS/5      5      $ NrU   )r   r   r[   r   r   r^   *test_bitwise_shift_error.<locals>.<lambda>n   s    .w1vB@PQr   c                  F    [        [        SS/5      [        SS/5      5      $ rk   )r	   r   r[   r   r   r^   rm   q   s    /A!RAQRr   )r   
ValueErrorr[   r   r   test_bitwise_shift_errorrp   k   s     Q Rr   N)inspectr   numpy.testingr    r   r   r   r	   _dtypesr
   r   r   r   r   rh   rp   r[   r   r   <module>ru      s,    " ' . L *U>pr   