
    A>iv+              	          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           j/var/www/html/land-tabula/venv/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                 b   [         R                  " / SQSS9nX0-  n[        R                  " / SQ5      nU(       a  SUS'   [        [        R                  " [        R                  [        R
                  [        R
                  * S/SS9U5      nU(       a  US	-  n[        R                  " XF5        g )
N)r   r   NInt64r   )FFFTTr   r   float64r0   )r   r   r,   r   nanr-   r   r   )zeronegativeusing_nan_is_nar   r!   exp_maskr   s          r"   test_divide_by_zeror8   6   s     	!1AXFxx34H
"&&"&&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_floordivr:   G   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_maskrD   Q   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_modrF   `   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U (       a  UR                  S5      nOr[        [
        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U (       a  UR                  S5      nOc[        [
        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   NNr+   r2   )FFFTF)r   r   Nr   )r   r   r   r   )r   NNN)FFTF)	r   r   r   r   NAr,   r3   r?   r   )r6   r   r!   r   s       r"   test_pow_scalarrI   i   s   
$G4ATFxxw7H##F5TFxx+7;H##F5XFxx37CH##F5YF??9- HHbffbffa8	JHH78
 ##F5 	
!"ATFxxw7H##F5TFxxG4H##F5UUAXFxx-W=H##F5VVQYF??9- HHa0	BHH01
 ##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_arrayrK      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   rH   r,   r   r   )arrr!   r   s      r"   test_rpow_one_to_narN      s]     ((BEE255>
1CXXsCj!S(FxxbeeI6H##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)rO   rM   r!   r   s       r"   test_numpy_zero_dim_ndarrayrR      s5    
((<
 C288E?"F{HOOF%r$   c                    Un[         R                  " U 5      n[        X25      n[        R                  " [
        5         U" S5        S S S 5        [        R                  " [
        5         U" [         R                  " S5      5        S S S 5        [         R                  " SUR                  S9nUS;   aR  U" U5      n[         R                  " U  Vs/ s H  nSU-  PM
     snUR                  S9n[        R                  " Xh5        O+[        R                  " [
        5         U" U5        S S S 5        [        R                  " [
        5         U" [         R                  " [         R                  " S[        U5      S95      5        S S S 5        g ! , (       d  f       GNL= f! , (       d  f       GN= fs  snf ! , (       d  f       N= f! , (       d  f       g = f)Nfoo20180101index)__mul____rmul__)periods)r   r=   r   r   external_error_raised	TypeError	TimestamprW   r>   
date_rangelen)	dataall_arithmetic_operatorsr    sr   str_serresxr   s	            r"   test_error_invalid_valuesrf      s8   	!B
		$A
!.C 
	!	!)	,E
 
-		!	!)	,BLL$% 
- iiQWW-G $  'l996Aeai6aggF
s-%%i0L 1 
	!	!)	,BIIbmmJA?@A 
-	,' 
-	,	,	, 7 10 
-	,s5   	F)FF0	F5
9G
F
F-5
G
Gc                    [         R                  " U5      n[        R                  " U 5      nSnU" XE5      nU" UR	                  [
        5      U5      nUR	                  S5      nU(       d   [        R                  XtR                  5       '   US:X  aG  U(       d@  US:H  R                  S5      R                  [        5      nSUR                  R                  U'   [         R                  " Xg5        g )Ng{Gz?r+   __rmod__r   F)r   get_op_from_namer   r=   r?   floatrH   isnafillnato_numpyboolr   _maskr>   )	r`   ra   r6   r    rb   rO   r!   r   masks	            r"   test_arith_coerce_scalarrq      s    			5	6B
		$AE\F!((5/5)Hy)HUU  :-o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   ri   r   r=   r   )ra   rO   r    rb   r!   s        r"   test_arithmetic_conversionrt      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   UInt8rs   ABCr      )FTNboolean)	r   	DataFramer=   rH   rx   rz   r   r>   ry   )dfr!   r   s      r"   test_cross_type_arithmeticr      s    	Aq"%%=8Aruua=8	

B TTBDD[Fyy!Qg6H6,ddRTTkQ"$Fyy,I>H6,TTBDD[Fyy!RUUBEE*':H6,r$   r    meanc           	      8   [         R                  " / SQ/ SQ[         R                  " / SQSS9S.5      n[        UR                  U 5      " 5       nU(       a  [        U5      [        :X  d   eO![        U[        R                  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                  " X45        g )N)r   r   r   )r   Nr   r1   r   rw   rx   r<   g      @r   r   r+   )ry   rz   r   r   )namerV   )r   r}   r   r   rz   typerj   
isinstancer,   r2   groupbyIndexr   assert_frame_equal)r    using_python_scalarsr~   r!   r   s        r"   test_reduce_to_floatr     s     
 ,g6	

B RTT2 FF|u$$$&"**---- RZZ_b)+F||hhSz"1a&	)JKhhSz,H &+r$   zsource, neg_target, abs_targetrs   )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   rM   
neg_result
pos_result
abs_results	            r"   test_unary_int_operatorsr   -  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   rH   r=   r,   zerosr   r>   )r!   r   s     r"   *test_values_multiplying_large_series_by_NAr   B  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+   zunsupported operand type)match)r   r   r   r   r?   pytestraisesr\   )r   leftrightr!   r   floatss         r"   test_bitwiser   K  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,   r   pandasr   pandas._testing_testingr   pandas.corer   pandas.core.arraysr   markparametrizer#   r(   r.   r8   r:   rD   rF   rI   rK   rN   rR   rf   rq   r   rt   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/6d66 1c(+& ,&BH-& 3"67% 8%-, x(, ),8 $	L),	~|4	Z+
<
<-r$   