
    PhJ                     f    d dl mZ d dlmZ ddlmZmZ ddlmZmZ ddl	m
Z
mZmZmZ d Zd Zd	 Zy
)    )getfullargspec)assert_raises   )asarray_elementwise_functions)bitwise_left_shiftbitwise_right_shift)_dtype_categories_boolean_dtypes_floating_dtypes_integer_dtypesc                 >    t        t        |       j                        S N)lenr   args)funcs    {C:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/array_api/tests/test_elementwise_functions.pynargsr      s    ~d#(())    c            
         i ddddddddddddd	dd
dddddddddddddddddddi ddddddddddddd dd!dd"dd#dd$dd%dd&dd'dd(dd)dd*di d+dd,dd-dd.dd/d0d1d0d2d0d3d0d4dd5dd6dd7dd8dd9dd:dd;dd<dddddddddd=} d> } |       D ]  | j                         D ]  \  }}t        |   }t        t        |      t	              d?k(  r? |       D ]4  j
                  |vsj
                  |vs t        t        fd@       6 lj
                  |vs{t        t        fdA         y )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      K   t         D ]  } t        d|         t        D ]  } t        d|         t        D ]  } t        d|         y w)N   )dtypeFg      ?)r   r   r   r   )ds    r   _array_valsz(test_function_types.<locals>._array_valsV   sK      A!1%% ! A%q)) !!A#Q'' "s   AAr   c                              S r    )r   xys   r   <lambda>z%test_function_types.<locals>.<lambda>e   s    ar   c                              S r   rZ   )r   r[   s   r   r]   z%test_function_types.<locals>.<lambda>h   s	    T!Wr   )itemsr
   getattrr   r   rV   r   	TypeError) elementwise_function_input_typesrX   	func_nametypesdtypesr   r[   r\   s        @@@r   test_function_typesrf      sb   
<(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Iu&u-F19=DT{a$Awwf,v0E%i1CD ' 77&(!)_= !I r   c                  H    t        t        d        t        t        d        y )Nc                  F    t        t        ddg      t        ddg            S NrU   )r   r   rZ   r   r   r]   z*test_bitwise_shift_error.<locals>.<lambda>n   s    .w1vB@PQr   c                  F    t        t        ddg      t        ddg            S ri   )r	   r   rZ   r   r   r]   z*test_bitwise_shift_error.<locals>.<lambda>q   s    /A!RAQRr   )r   
ValueErrorrZ   r   r   test_bitwise_shift_errorrm   k   s     Q Rr   N)inspectr   numpy.testingr    r   r   r   r	   _dtypesr
   r   r   r   r   rf   rm   rZ   r   r   <module>rr      s,    " ' . L *U>pr   