
    Owg:)                        d dl mZ d dlZd dlZd dlZd dlZd dlm	Z
 d dlmZ dddddgZej                  j                  de      d        Zej                  j                  de      d	        Zej                  j                  de      d
        Zej                  j                  dej&                  dg df eej&                  ddgddgg       ej(                  ddgddgg      g dfej*                   ej(                  ddgddgg      g dfej,                  dg df eej.                   ej(                  ddgddgg            dg dfg      d        Zej                  j                  de      ej                  j                  de      d               Zej                  j                  de      d        Zd Zd Zd Zd Zd Zd  Z y)!    )partialN)is_extension_array_dtypeint64Int64ABdtypec                    t        j                  ddgddggd      }t        j                  |ddgddg	      j	                  |       }t        j
                  |      }t        j                  t        j
                  |      |j                  |j                  
      j	                  |       }t        j                  ||       y 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        T/var/www/horilla/myenv/lib/python3.12/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                 n   t        |      st        |t              r/| j                  t        j
                  j                  d             t        j                  ddgddggd      }t        j                  |ddgd	d
g      j                  |      }t        j                  |      }t        |t              sJ t        |      dk(  sJ t        j                  |      }t        ||      D ]G  \  }}t        j                  ||j                   |j"                        }t%        j&                  ||       I y )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KKQ  	
 XXBx!Q(8F	fsCjc
	C	J	JQV	J	WBGGBKMmU+++}"""WWV_N7 0	<<2::F
fh/0r%   c                    t        j                  ddgddggd      }t        j                  |ddgddg	      j	                  |       }t        j
                  ||      }t        j                  t        j
                  ||      |j                  |j                  
      j	                  |       }t        j                  ||       y 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||
vvbhh

fUm  &(+r%   zfunc,arg,expectedr   )r)            FT)where)r   r;   r<   r   r)   )r   r)   	      )r   r   r   r)   )r   r   c                    t        j                  ddgddgg      }t        j                  |      }t        j                  |      }| | ||      }n | |||      }t        j                  |      j                  dd      }t        j                  ||       t        j                  |      }t        j                  ||       y )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
{bn-b#>2xx!))!Q/H9||H%H&(+r%   dtype_adtype_bc           	      D   t        |      s+t        |t              st        |      st        |t              r/| j                  t        j
                  j                  d             t        j                  ddgddgd      j                  |      }t        |t              r4t        |t              r$|j                         }|j                  d      |d	<   t        j                  ddgddgd
      j                  |      }t        j                  ||      }t        j                  t        j                  ddt        j                  gddt        j                  gg      t        j                  dt        j                  dgdt        j                  dgg            }t        j                  |ddgg d      }t!        j"                  ||       t        j                  ||j$                        }t        j                  ddgddggddg      }t!        j"                  ||       y )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\\#s#F||
1a.1a.12
1bffa.1bffa.12H ||HQFOLH&(+\\#szz*F||c3Z#s4sCjIH&(+r%   c           	         t        |      st        |t              r/| j                  t        j
                  j                  d             t        j                  ddgddgddd	g
      j                  |      }t        j                  ddgddgdddg
      j                  |      }t        j                  ||      }t        j                  t        j                  ddgddgt        j                  t        j                  gg      t        j                  ddgt        j                  t        j                  gddgg            }t        j                  |g dddg      }t        j                  ||       t        j                  ||j                         }t        j                  ddgddggddgdd	g      }t        j                  ||       y )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_      s{   &*UD*AKKP  	

 ,,aV1a&1#s
D
K
KE
RC
,,aV1a&1#s
D
K
KE
RC\\#s#F||
1a&1a&266266"234
1a&266266*QF34H
 ||HOc3ZPH&(+\\#szz*F||
sc3Z 3*S#JH &(+r%   c                  Z   t        j                  dddgi      } t        j                  t        d      5  t        j                  | | d          d d d        t        j                  t        d      5  t        j                  | d   |        d d d        y # 1 sw Y   GxY w# 1 sw Y   y xY w)Nr   r   r)   	logaddexpmatch)r   r   r-   raisesNotImplementedErrorr   ra   r    s    r#   test_binary_frame_series_raisesrg      s    	sQFm	$B	*+	> "
RC!" 
*+	> "
RWb!" "" "" "s   B2B!B!B*c                     t        j                  dg di      } t        j                  j	                  |       }t        j                  dg di      }t        j                  ||       t        j                  g dg dd      } t        j                  j	                  |       }t        j                  g dg dd      }t        j                  ||       t        j                  j	                  | d	      }t        j                  ||       t        j                  j	                  | d
	      }t        j                  g dg dd      }t        j                  ||       y )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                      t        j                  dddgi      } t        j                  t        d      5  t
        j                  j                  | |        d d d        y # 1 sw Y   y xY w)Nr   r   r)    rb   )r   r   r-   rd   re   r   subtractouterrf   s    r#   test_frame_outer_disallowedrv      sP    	sQFm	$B	*"	5 "
"b!" " "s   !AA(c                  d   t        j                  g dg dd      } t        j                  g dg dd      }t        j                  ddgddg	      }t        j                  ddgdd
g	      }t        j                  g dg dd      }t        j                  d       5  t        j                  | |       }d d d        t        j                  |       t        j                  | |j                        }t        j                  ||       t        j                  | |      }t        j                  t
        j                  gdz  g dt
        j                  gdz  d      }t        j                  ||       t        j                  | j                  |      }t        j                  g dg dd      }t        j                  ||       t        j                  g dg dd      }t        j                  d       5  t        j                  | |      }d d d        t        j                  ||       t        j                  | |j                        }t        j                  ||       t        j                  t
        j                  gdz  g dt
        j                  gdz  d      }t        j                  | |      }t        j                  ||       d}t        j                  t        |      5  t        j                  ||        d d d        y # 1 sw Y   WxY w# 1 sw Y   xY w# 1 sw Y   y xY w)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	) "S!" &(+VVC$F&(+VVCF||266(Q,YbffXPQ\RSH&(+VVCJJ$F||)+>?H&(+ ||))<=H		#	#D	) !R! &(+VVC#F&(+||vvhlx!|DH VVC_F&(+
RC	*#	6 
r3 E" "&! ! s$    L9L,L&LL#&L/c                     t        j                  d      } | j                  | j                  | j                  | j                  | j                        g      d        }t	        j
                  g dg dd      }t	        j
                  g dg dd      }t	        j
                  g dg dd      } ||||      }t	        j
                  t        j                  dt        j                        g d	
      }t        j                  ||       t        j                  d       5   ||||      }d d d        t	        j
                  ddgddgddggddg
      }t        j                  ||       d}t        j                  t        |      5   ||||j                         d d d        t        j                  d       5   |||j                  |j                        }d d d        t        j                  ||       d}t        j                  t        |      5   ||j                  ||       d d d        y # 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   y xY w)Nnumbac                     | |z   |z   S N xyzs      r#   my_ufunczAtest_alignment_deprecation_many_inputs_enforced.<locals>.my_ufunc   s    1uqy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c3$F||BGGFBFF3_MH&(+ 
	#	#D	) )#sC()||c4[3+T{CcSVZXH&(+ 	X  
z	- 'c3::&' 
	#	#D	) 7#szz3::67&(+ 	X  
z	- 'S#&' '+) )' '7 7' 's0   !H3	I ;II3H= I	II!c                     d } t        j                  | dd      }t        j                  ddgddgg      } |||d      }t        j                  ddgddggt        	      }t        j                  ||       t        j                  ddg      }d
}t        j                  t        t        j                  |            5   ||||       d d d        y # 1 sw Y   y xY w)Nc                     | |z   |z   S r   r   r   s      r#   add3z2test_array_ufuncs_for_many_arguments.<locals>.add3'  s    1uqy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2r1F||aVaV,F;H&(+
))QF
C	0  
*"))C.	A b"c  s   >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BHHq!fq!f%&	

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