
    Mh:)                        S SK Jr  S SKrS SKrS SKrS SKrS SKJ	r
  S SKJr  SSSSS./r\R                  R                  S\5      S 5       r\R                  R                  S\5      S	 5       r\R                  R                  S\5      S
 5       r\R                  R                  S\R&                  S/ SQ4\" \R&                  SS/SS//S9\R(                  " SS/SS//5      / SQ4\R*                  \R(                  " SS/SS//5      / SQ4\R,                  S/ SQ4\" \R.                  \R(                  " SS/SS//5      S9S/ SQ4/5      S 5       r\R                  R                  S\5      \R                  R                  S\5      S 5       5       r\R                  R                  S\5      S 5       rS rS rS rS rS rS  r g)!    )partialN)is_extension_array_dtypeint64Int64ABdtypec                 z   [         R                  " SS/SS//SS9n[        R                  " USS/SS/S	9R	                  U S9n[         R
                  " U5      n[        R                  " [         R
                  " U5      UR                  UR                  S
9R	                  U 5      n[        R                  " X45        g N   r   r
   r   r	   abcolumnsindexr   r   )
nparraypd	DataFrameastypepositiver   r   tmassert_frame_equalr
   valuesdfresultexpecteds        O/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/test_ufunc.pytest_unary_unaryr$      s     XXBx!Q(8F	fsCjc
	C	J	JQV	J	WB[[_F||
F288RZZfUm  &+    c                 x   [        U5      (       d  [        U[        5      (       a,  U R                  [        R
                  R                  SS95        [        R                  " SS/SS//SS9n[        R                  " USS/S	S
/S9R                  US9n[        R                  " U5      n[        U[        5      (       d   e[        U5      S:X  d   e[        R                  " U5      n[        XE5       HD  u  pg[        R                  " XsR                   UR"                  S9n[$        R&                  " Xh5        MF     g )Nz8Extension / mixed with multiple outputs not implemented.reasonr   r   r   r   r   r	   r   r   r      r   )r   
isinstancedictapplymarkerpytestmarkxfailr   r   r   r   r   modftuplelenzipr   r   r   r   )	requestr
   r   r    result_pandasexpected_numpyr!   r   r"   s	            r#   test_unary_binaryr7      s     &&*UD*A*AKKQ  	
 XXBx!Q(8F	fsCjc
	C	J	JQV	J	WBGGBKMmU++++}"""WWV_N7	<<2::F
f/ 8r%   c                 z   [         R                  " SS/SS//SS9n[        R                  " USS/SS/S	9R	                  U S9n[         R
                  " X"5      n[        R                  " [         R
                  " X5      UR                  UR                  S
9R	                  U 5      n[        R                  " X45        g r   )
r   r   r   r   r   addr   r   r   r   r   s        r#    test_binary_input_dispatch_binopr:   4   s     XXBx!Q(8F	fsCjc
	C	J	JQV	J	WBVVB^F||
vbhh

fUm  &+r%   zfunc,arg,expectedr   )r)            FT)where)r   r;   r<   r   r)   )r   r)   	      )r   r   r   r)   )r   r   c                    [         R                  " SS/SS//5      n[        R                  " U5      n[         R                  " U5      nUc  U " XES9nOU " XAUS9n[         R                  " U5      R                  SS5      n[        R                  " XR5        [        R                  " U5      n[        R                  " Xb5        g )Nr   r)   r;   r<   )out)	r   r   r   r   
zeros_likereshaper   assert_numpy_array_equalr   )funcargr"   arrr    result_inplacer!   s          r#   test_ufunc_passes_argsrL   @   s    ( ((QFQF#
$C	c	B]]3'N
{b-b>2xx!))!Q/H9||H%H&+r%   dtype_adtype_bc           	      |   [        U5      (       d:  [        U[        5      (       d%  [        U5      (       d  [        U[        5      (       a,  U R                  [        R
                  R                  SS95        [        R                  " SS/SS/S.5      R                  U5      n[        U[        5      (       a9  [        U[        5      (       a$  UR                  5       nUR                  S5      US	'   [        R                  " SS/SS/S
.5      R                  U5      n[        R                  " X45      n[        R                  " [        R                  " SS[        R                  /SS[        R                  //5      [        R                  " S[        R                  S/S[        R                  S//5      5      n[        R                  " USS// SQS9n[         R"                  " XV5        [        R                  " X4R$                  5      n[        R                  " SS/SS//SS/S9n[         R"                  " XV5        g )N7Extension / mixed with multiple inputs not implemented.r'   r   r)   r;   r<   r   r	   C)r   rQ   r   )r   r	   rQ   r         ?r   r   )r   r*   r+   r,   r-   r.   r/   r   r   r   copypopr   	heavisider   nanr   r   r   )r4   rM   rN   df1df2r!   r"   s          r#    test_binary_input_aligns_columnsrZ   d   s    	!))gt$$#G,,gt$$KKP  	
 ,,aV1a&1
2
9
9'
BC'4  Z%>%>,,.{{3'
,,aV1a&1
2
9
9'
BC\\##F||
1a.1a.12
1bffa.1bffa.12H ||HQFOLH&+\\#zz*F||c3Z#s4sCjIH&+r%   c           	         [        U5      (       d  [        U[        5      (       a,  U R                  [        R
                  R                  SS95        [        R                  " SS/SS/S.SS	/S
9R                  U5      n[        R                  " SS/SS/S.SS/S
9R                  U5      n[        R                  " X#5      n[        R                  " [        R                  " SS/SS/[        R                  [        R                  //5      [        R                  " SS/[        R                  [        R                  /SS//5      5      n[        R                  " U/ SQSS/S9n[        R                  " XE5        [        R                  " X#R                   5      n[        R                  " SS/SS//SS/SS	/S9n[        R                  " XE5        g )NrP   r'   r   r)   r;   r<   r   r   r   r   cr   r   r]   r   r	   r   rR   r   )r   r*   r+   r,   r-   r.   r/   r   r   r   r   rV   r   rW   r   r   r   )r4   r
   rX   rY   r!   r"   s         r#   test_binary_input_aligns_indexr_      sy   &&*UD*A*AKKP  	

 ,,aV1a&1#s
D
K
KE
RC
,,aV1a&1#s
D
K
KE
RC\\##F||
1a&1a&266266"234
1a&266266*QF34H
 ||HOc3ZPH&+\\#zz*F||
sc3Z 3*S#JH &+r%   c                  j   [         R                  " SSS/05      n [        R                  " [        SS9   [
        R                  " X S   5        S S S 5        [        R                  " [        SS9   [
        R                  " U S   U 5        S S S 5        g ! , (       d  f       NK= f! , (       d  f       g = f)Nr   r   r)   	logaddexpmatch)r   r   r-   raisesNotImplementedErrorr   ra   r    s    r#   test_binary_frame_series_raisesrg      sy    	sQFm	$B	*+	>
RC! 
? 
*+	>
RWb! 
?	> 
?	> 
?	>s   B/B$
B!$
B2c                     [         R                  " S/ SQ05      n [        R                  R	                  U 5      n[         R                  " S/ SQ05      n[
        R                  " X5        [         R                  " / SQ/ SQS.5      n [        R                  R	                  U 5      n[         R                  " / SQ/ SQS.5      n[
        R                  " X5        [        R                  R	                  U SS	9n[
        R                  " X5        [        R                  R	                  U S
S	9n[         R                  " / SQ/ SQS.5      n[
        R                  " X5        g )Nr   )r   r;   r)   r<   )r   r;   r;   r<   )皙?      @      @       @r   r   )rR   rk   rk   rj   )ri   rj   rj   rj   r   )axisr   )rR   rk   rl   rj   )rR   rj   rk   rj   )r   r   r   maximum
accumulater   r   )r    r!   r"   s      r#   test_unary_accumulate_axisrq      s    	sL)	*BZZ""2&F||S,/0H&+	L/CD	EBZZ""2&F||"6=QRSH&+ZZ""2A".F&+ZZ""2A".F||"6=QRSH&+r%   c                      [         R                  " SSS/05      n [        R                  " [        SS9   [
        R                  R                  X 5        S S S 5        g ! , (       d  f       g = f)Nr   r   r)    rb   )r   r   r-   rd   re   r   subtractouterrf   s    r#   test_frame_outer_disallowedrv      sE    	sQFm	$B	*"	5
"! 
6	5	5s    A
A+c                     [         R                  " / SQ/ SQS.5      n [         R                  " / SQ/ SQS.5      n[         R                  " SS/SS/S	9n[         R                  " SS/SS
/S	9n[         R                  " / SQ/ SQS.5      n[        R                  " S 5         [
        R                  " X 5      nS S S 5        [        R                  " WU5        [
        R                  " XR                  5      n[        R                  " XT5        [
        R                  " X5      n[         R                  " [
        R                  /S-  / SQ[
        R                  /S-  S.5      n[        R                  " XT5        [
        R                  " U R                  U5      n[         R                  " / SQ/ SQS.5      n[        R                  " XT5        [         R                  " / SQ/ SQS.5      n[        R                  " S 5         [
        R                  " X5      nS S S 5        [        R                  " XT5        [
        R                  " XR                  5      n[        R                  " XT5        [         R                  " [
        R                  /S-  / SQ[
        R                  /S-  S.5      n[
        R                  " X5      n[        R                  " XT5        Sn[        R                  " [        US9   [
        R                  " X05        S S S 5        g ! , (       d  f       GNa= f! , (       d  f       GN= f! , (       d  f       g = f)Nr   r)   r;   r<   r=      rm   r   r]   r   r)   r   r   r\   r]   )r)   r<   rz   )   
      r;   )r=      r?   r^   )r)   r;   r<   )rz   r   r|   )g      @      @g      @zFCannot apply ufunc <ufunc 'add'> to mixed DataFrame and Series inputs.rb   )r   r   Seriesr   assert_produces_warningr   r9   r   r   rW   r-   rd   re   )rX   rY   s1s2r"   r!   msgs          r#   #test_alignment_deprecation_enforcedr      s.    ,,YY7
8C
,,YY7
8C	Aq6#s	,B	Aq6#s	,B ||)+>?H		#	#D	)! 
* &(+VVC$F&+VVCF||266(Q,YbffXPQ\RSH&+VVCJJ$F||)+>?H&+ ||))<=H		#	#D	) 
* &+VVC#F&+||vvhlx!|DH VVC_F&+
RC	*#	6
r 
7	6E 
*	)& 
*	) 
7	6s$    L?L#1L5
L #
L25
Mc                     [         R                  " S5      n U R                  U R                  U R                  U R                  U R                  5      /5      S 5       n[        R
                  " / SQ/ SQS.5      n[        R
                  " / SQ/ SQS.5      n[        R
                  " / SQ/ SQS.5      nU" X#U5      n[        R
                  " [        R                  " S[        R                  5      / S	QS
9n[        R                  " XV5        [        R                  " S 5         U" X"U5      nS S S 5        [        R
                  " SS/SS/SS//SS/S
9n[        R                  " XV5        Sn[         R                  " [        US9   U" X#UR                  5        S S S 5        [        R                  " S 5         U" X#R                  UR                  5      nS S S 5        [        R                  " XV5        Sn[         R                  " [        US9   U" UR                  X45        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nnumbac                     X-   U-   $ N xyzs      r#   my_ufuncAtest_alignment_deprecation_many_inputs_enforced.<locals>.my_ufunc   s    uqyr%   rx   ry   rm   r{   )r   r]   )r;   r;   r^   rS   rk   g      (@r   g      .@g      "@g      2@r   r   zLoperands could not be broadcast together with shapes \(3,3\) \(3,3\) \(3,2\)rb   zLoperands could not be broadcast together with shapes \(3,2\) \(3,3\) \(3,3\))r-   importorskip	vectorizefloat64r   r   r   fullrW   r   r   r   rd   
ValueErrorr   )r   r   rX   rY   df3r!   r"   r   s           r#   /test_alignment_deprecation_many_inputs_enforcedr      s   
 (E
__emmEMM5==%--PQR S ,,YY7
8C
,,YY7
8C
,,YY7
8Cc$F||BGGFBFF3_MH&+ 
	#	#D	)#C( 
*||c4[3+T{CcSVZXH&+ 	X  
z	-3::& 
. 
	#	#D	)#zz3::6 
*&+ 	X  
z	-S& 
.	-+ 
*	) 
.	- 
*	) 
.	-s0   $
H-H?9II!-
H<?
I
I!
I/c                     S n [         R                  " U SS5      n[        R                  " SS/SS//5      nU" X"S5      n[        R                  " SS/SS//[        S	9n[
        R                  " X45        [        R                  " SS/5      nS
n[        R                  " [        [        R                  " U5      S9   U" X"U5        S S S 5        g ! , (       d  f       g = f)Nc                     X-   U-   $ r   r   r   s      r#   add32test_array_ufuncs_for_many_arguments.<locals>.add3'  s    uqyr%   r;   r   r)   r<   r=   r   r?   r   zTCannot apply ufunc <ufunc 'add3 (vectorized)'> to mixed DataFrame and Series inputs.rb   )r   
frompyfuncr   r   objectr   r   r   r-   rd   re   reescape)r   ufuncr    r!   r"   serr   s          r#   $test_array_ufuncs_for_many_argumentsr   %  s     MM$1%E	1v1v&	'B21F||aVaV,F;H&+
))QF
C	0  
*"))C.	Abc 
B	A	As   =
C
C)!	functoolsr   r   numpyr   r-   pandasr   pandas._testing_testingr   pandas.api.typesr   dtypesr.   parametrizer$   r7   r:   r9   r   powerrt   negativerL   rZ   r_   rg   rq   rv   r   r   r   r   r%   r#   <module>r      s    	     5 
 
 &), *, &)0 *0* &), *, 	L!BFFE4=4-"@AHHq!fq!f%&	

 
288aVaV,-}=	a'BKKrxx%u0N'OP	
$,%$,$ F+F+, , ,,B &), *,2",*".b*'Zr%   