
    Mhg0              	          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KJr  \R                  R                  SS/ SQ4S/ SQ4/SS/S	9S
 5       rS rS r\R                  R                  S/ SQ5      S 5       rS rS rS rS rS rS r\R                  R                  SS S/5      S 5       rS rS r\R                  R                  SS\R8                  " S5      /5      S 5       rS r\R                  R                  SS/5      S  5       r\R                  R                  S!/ S"Q/ S#Q/ S"Q4/ S$Q/ S%Q/ S$Q4/ S&Q/ S'Q/ S(Q4/5      S) 5       r S* r!S+ r"g),    N)ops)FloatingArrayzopname, expadd)      NN	   mul)r      NN   )idsc                 F   [         R                  " / SQU S9n[         R                  " / SQU S9n[         R                  " X S9n[        [        U5      nU" X45      n[        R
                  " Xu5        [        [        SU-   5      nU" X45      n[        R
                  " Xu5        g )Nr   r   Nr      dtyper   r
   r   N   r)pdarraygetattroperatortmassert_extension_array_equalr   )r   opnameexpabexpectedopresults           ]/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/integer/test_arithmetic.pytest_add_mulr#      s     	#51A
#51A xx)H	6	"BXF##F5	cFl	#BXF##F5    c                     [         R                  " / SQU S9n[         R                  " / SQU S9nX-
  n[         R                  " / SQU S9n[        R                  " X45        g )Nr   r   r   )r   r   NNr   r   r   r   r   r   r   r   r!   r   s        r"   test_subr(   $   J    
#51A
#51AUFxx-U;H##F5r$   c                     [         R                  " / SQU S9n[         R                  " / SQU S9nX-  n[         R                  " [        R                  SS S S/SS9n[        R
                  " X45        g )Nr   r   r   r
   g      ?Float64)r   r   npinfr   r   r'   s        r"   test_divr.   -   sX    
#51A
#51AUFxxD$5YGH##F5r$   zzero, negative))r   F)g        F)g       Tc                 F   [         R                  " / SQSS9nX -  n[        [        R                  " [        R                  [        R
                  [        R
                  * S/SS9[        R                  " / SQ5      5      nU(       a  US-  n[        R                  " X45        g )N)r   r   NInt64r   r   float64)FFFTr0   )r   r   r   r,   nanr-   r   r   )zeronegativer   r!   r   s        r"   test_divide_by_zeror6   6   st     	!1AXF
"&&"&&266'1-Y?
,-H B##F5r$   c                     [         R                  " / SQU S9n[         R                  " / SQU S9nX-  n[         R                  " / SQU S9n[        R                  " X45        g )Nr   r   r   )r   r
   NNr   r&   r'   s        r"   test_floordivr8   D   sJ    
#51A
#51AVFxx-U;H##F5r$   c                 p   [         R                  " SS/U S9nSU-  n[         R                  " [        R                  S/SS9n[        R
                  " X#5        UR                  UR                  R                  5      nSU-  nUR                  [        R                  5      n[        R
                  " X#5        g )Nr   r   r         ?r+   )
r   Seriesr,   r-   r   assert_series_equalastyper   numpy_dtyper2   )any_int_ea_dtypeserr!   r   ser_non_nullables        r"   !test_floordiv_by_int_zero_no_maskrB   N   s     ))QF"2
3C#XFyy"&&#i8H6,zz#))"7"78""Frzz*H6,r$   c                     [         R                  " / SQU S9n[         R                  " / SQU S9nX-  n[         R                  " / SQU S9n[        R                  " X45        g )Nr   r   r   )r   r   NNr   r&   r'   s        r"   test_modrD   ]   r)   r$   c            	         [         R                  " / SQSS9n U S-  n[         R                  " / SQSS9n[        R                  " X5        U S-  n[         R                  " / SQSS9n[        R                  " X5        U [         R                  -  n[         R                  " / SQSS9n[        R                  " X5        U [
        R                  -  n[        [
        R                  " [
        R                  [
        R                  S[
        R                  [
        R                  /SS9[
        R                  " / S	Q5      5      n[        R                  " X5        U SS  n SU -  n[         R                  " / S
QSS9n[        R                  " X5        SU -  n[         R                  " / SQSS9n[        R                  " X5        [         R                  U -  n[         R                  " / SQSS9n[        R                  " X5        [
        R                  U -  n[        [
        R                  " S[
        R                  [
        R                  [
        R                  /SS9[
        R                  " / SQ5      5      n[        R                  " X5        g )N)r0   r   r   Nr
   r1   r   r   )r   r   r   r   r   r   )NNr   NNr2   )FFFTF)r   r   Nr   )r   r   r   r   )r   NNN)FFTF)r   r   r   r   NAr,   r3   r   )r   r!   r   s      r"   test_pow_scalarrG   f   s   
$G4ATFxxw7H##F5TFxx+7;H##F5XFxx37CH##F5YF
"&&"&&!RVVRVV4IF
34H ##F5 	
!"ATFxxw7H##F5TFxxG4H##F5UUAXFxx-W=H##F5VVQYF
!RVVRVVRVV,I>
,-H ##F5r$   c                      [         R                  " / SQ5      n [         R                  " / SQ5      nX-  n[         R                  " / SQ5      n[        R                  " X#5        g )N)	r   r   r   r   r   r   NNN)	r   r   Nr   r   Nr   r   N)	r   r   Nr   r   r   r   NNr&   )r   r   r!   r   s       r"   test_pow_arrayrI      sD    
56A
56ATFxx<=H##F5r$   c                     [         R                  " [        R                  [        R                  /SS9n [        R                  " SS/5      U -  n[         R                  " S[        R                  /SS9n[        R
                  " X5        g )Nr1   r   r:   g       @r+   )r   r   r,   r3   r   r   )arrr!   r   s      r"   test_rpow_one_to_narL      s^     ((BFFBFF#7
3CXXsCj!S(FxxbffY7H##F5r$   otherg      ?c                     [         R                  " / SQ5      nU[        R                  " U 5      -   nX-   n[        R                  " X#5        g )N)r   Nr
   )r   r   r,   r   assert_equal)rM   rK   r!   r   s       r"   test_numpy_zero_dim_ndarrayrP      s5    
((<
 C288E?"F{HOOF%r$   c                 |   Un[         R                  " U 5      n[        XC5      nU(       a&  SS Kn[        UR
                  R                  [        4nO[        nSR                  / SQ5      n[        R                  " XxS9   U" S5        S S S 5        [        R                  " XxS9   U" [         R                  " S5      5        S S S 5        [         R                  " SUR                  S9n	US;   ax  U(       dq  U" U	5      n
[         R                  " U  Vs/ s H  nSU-  PM
     snUR                  S9nUR                  [        R                  5      n[         R"                  " X5        O%[        R                  " XxS9   U" U	5        S S S 5        SR                  / S	Q5      n[        R                  " XxS9   U" [         R                  " [         R$                  " S['        U5      S
95      5        S S S 5        g ! , (       d  f       GNs= f! , (       d  f       GNL= fs  snf ! , (       d  f       N= f! , (       d  f       g = f)Nr   |)(can only perform ops with numeric valuesz-IntegerArray cannot perform the operation modunsupported operand type/can only concatenate str \(not \"int\"\) to str)not all arguments converted during stringzFufunc '.*' not supported for the input types, and the inputs could notz?ufunc '.*' did not contain a loop with signature matching typeszBAddition/subtraction of integers and integer-arrays with Timestamphas no kernelnot implementedzDThe 'out' kwarg is necessary. Use numpy.strings.multiply without it.matchfoo20180101index)__mul____rmul__)	rS   z5cannot perform .* with this index type: DatetimeArrayz`Addition/subtraction of integers and integer-arrays with DatetimeArray is no longer supported. *rT   rU   rV   z*cannot subtract DatetimeArray from ndarrayrW   rX   )periods)r   r;   r   pyarrow	TypeErrorlibArrowNotImplementedErrorNotImplementedErrorjoinpytestraises	Timestampr^   fillnar,   r3   r   r<   
date_rangelen)dataall_arithmetic_operatorsusing_infer_stringr    sr   paerrsmsgstr_serresxr   s                r"   test_error_invalid_valuesrx      s   	!B
		$A
!.C266::<OP ((	
C 
t	'E
 
(	t	'BLL$% 
( iiQWW-G 	!
	

 #'l996Aeai6aggF??266* 	s-]]4+L , ((	
C 
t	'BIIbmmJA?@A 
(	'S 
(	'	'	' 7 ,+" 
(	's6   >	G3#HH9	H19H-3
H
H
H*-
H;c                    [         R                  " U5      n[        R                  " U 5      nSnU" X45      nU" UR	                  [
        5      U5      nUR	                  S5      nUS:X  a@  US:H  R                  S5      R                  [        5      nSUR                  R                  U'   [         R                  " XV5        g )Ng{Gz?r+   __rmod__r   F)r   get_op_from_namer   r;   r=   floatrk   to_numpyboolr   _maskr<   )rn   ro   r    rq   rM   r!   r   masks           r"   test_arith_coerce_scalarr      s    			5	6B
		$AE\F!((5/5)Hy)H  :-Qu%..t4%*T"6,r$   r:   c                     [         R                  " U 5      n[        R                  " / SQSS9nU" X15      nUR                  S:X  d   eg )Nr   r
   r   r1   r   r+   )r   r{   r   r;   r   )ro   rM   r    rq   r!   s        r"   test_arithmetic_conversionr     s@     
		5	6B
		)7+A\F<<9$$$r$   c                     [         R                  " [         R                  " SS[        R                  /SS9[         R                  " S[        R                  S/SS9/ SQS.5      n U R
                  U R                  -   n[         R                  " SS	[        R                  /SS9n[        R                  " X5        U R
                  U R                  -   S-  S
:H  n[         R                  " / SQSS9n[        R                  " X5        U R
                  U R                  -   n[         R                  " S[        R                  [        R                  /SS9n[        R                  " X5        g )Nr   r
   r1   r   r   UInt8r   ABCr      )FTNboolean)
r   	DataFramer;   r,   r3   r   r   r   r<   r   )dfr!   r   s      r"   test_cross_type_arithmeticr     s    	Aq"&&>9Arvvq>9	

B TTBDD[Fyy!Qw7H6,ddRTTkQ"$Fyy,I>H6,TTBDD[Fyy!RVVRVV,G<H6,r$   r    meanc           	         [         R                  " / SQ/ SQ[         R                  " / SQSS9S.5      n[        UR                  U 5      " 5       n[        U[        5      (       d   e[        UR                  S5      U 5      " 5       n[         R                  " [        R                  " SS/5      [         R                  " S	S
/SS9S.[         R                  " SS/SS9S9n[        R                  " X#5        g )N)r   r   r   )r   Nr   r1   r   r   r   r:   g      @r   r   r+   )r   r   r   r   )namer]   )r   r   r   r   r   
isinstancer|   groupbyr,   Indexr   assert_frame_equal)r    r   r!   r   s       r"   test_reduce_to_floatr   1  s     
 ,g6	

B RTT2 Ffe$$$$ RZZ_b)+F||hhSz"1a&	)JKhhSz,H &+r$   zsource, neg_target, abs_targetr   )r0   )r   r
   N)r0   r   N)r0   r   r   )r   r   r0   )r   r   r   c                 ^   U n[         R                  " XS9nU* U7[        U5      pn[         R                  " X$S9n[         R                  " X4S9n[        R                  " Xb5        [        R                  " Xu5        [        R
                  " Xu5      (       a   e[        R                  " X5        g )Nr   )r   r   absr   r   shares_memory)	any_signed_int_ea_dtypesource
neg_target
abs_targetr   rK   
neg_result
pos_result
abs_results	            r"   test_unary_int_operatorsr   K  s     $E
((6
'C*-tSXJJ*2J*2J##J;##J4
0000##J;r$   c                      [         R                  [         R                  " [        R                  " S5      5      -  n [         R                  " [         R                  /S-  5      n[
        R                  " X5        g )Ni'  )r   rF   r;   r,   zerosr   r<   )r!   r   s     r"   *test_values_multiplying_large_series_by_NAr   `  sI     UURYYrxx//Fyy"%%5)H6,r$   c                    [         R                  " / SQU S9n[         R                  " / SQU S9nX-  n[         R                  " / SQU S9n[        R                  " X45        X-  n[         R                  " / SQU S9n[        R                  " X45        X-  n[         R                  " / SQU S9n[        R                  " X45        UR	                  S5      n[
        R                  " [        SS	9   X-    S S S 5        [
        R                  " [        SS	9   X-    S S S 5        [
        R                  " [        SS	9   X-    S S S 5        g ! , (       d  f       N[= f! , (       d  f       NF= f! , (       d  f       g = f)
N)r   Nr   r   r   )Nr   r   r   )NN   r   )NNr   r   )NN   r   r+   rT   rY   )r   r   r   r   r=   rh   ri   rc   )r   leftrightr!   r   floatss         r"   test_bitwiser   i  s   88O51DHH_E2E\Fxx2%@H##F5\Fxx2%@H##F5\Fxx2%@H##F5 \\)$F	y(B	C 
D	y(B	C 
D	y(B	C 
D	C	 
D	C	C	C	C	Cs$   ,EE8E(
E
E%(
E6)#r   numpyr,   rh   pandasr   pandas._testing_testingr   pandas.corer   pandas.core.arraysr   markparametrizer#   r(   r.   r6   r8   rB   rD   rG   rI   rL   rP   rx   r   r   r   r   r   r   r   r    r$   r"   <module>r      s         , "#e-C%DE	  
6
6 66 )+ST
6 U
66-6)6X66 1c(+& ,&FB`-" 3"67% 8%-, x(, ),2 $	L),	~|4	Z+
<
<-r$   