
    A>i!                        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
  \R                  R                  SS/ SQ4S/ SQ4S/ S	Q4S
/ SQ4S/ SQ4S/ SQ4// SQS9S 5       r\R                  R                  S/ SQ5      S 5       rS rS rS r\R                  R                  SS S/5      S 5       rS rS 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g)(    N)FloatingArrayzopname, expadd)皙?皙@NNg      @mul)皙?g?NNg      @sub)g?g?NNg      @truediv)      $@r   NNr   floordiv)      "@r   NNr   mod)r   皙?NN        )r   r   r	   divr   r   )idsc                     [         R                  " / SQU S9n[         R                  " / SQU S9n[        [        U5      nU" X45      n[         R                  " X S9n[        R
                  " Xg5        g )N)      ?       @Ng      @g      @dtype)r   r   g333333?N      ?)pdarraygetattroperatortmassert_extension_array_equal)r   opnameexpabopresultexpecteds           k/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/arrays/floating/test_arithmetic.pytest_array_opr'      sW     	+59A
+59A	6	"BXFxx)H##F5    zzero, negative))r   F)r   F)g       Tc                    [         R                  " / SQU S9nXA-  n[        R                  " / SQ5      nU(       a  SUSS/'   [        [        R                  " [        R                  [        R
                  [        R
                  * [        R                  /U R                  S9U5      nU(       a  US-  n[        R                  " XW5        g )N)r      Nr   )FFFTTr   r+   )	r   r   npr   naninfnumpy_dtyper   r   )r   zeronegativeusing_nan_is_nar!   r$   exp_maskr%   s           r&   test_divide_by_zeror4   %   s     	!/AXFxx34H !R
"&&"&&266'2662%:K:KLH B##F5r(   c           	      V   [         R                  " / SQU S9nUS-  n[         R                  " / SQU S9n[        R                  " X45        US-  n[         R                  " / SQU S9n[        R                  " X45        U[         R                  -  n[         R                  " / SQU S9n[        R                  " X45        U[
        R                  -  nU(       a  [         R                  " / SQU S9nOn[        [
        R                  " [
        R                  [
        R                  S[
        R                  [
        R                  /U R                  S9UR                  S9n[        R                  " X45        USS  nSU-  n[         R                  " / SQU S9n[        R                  " X45        SU-  n[         R                  " / S	QU S9n[        R                  " X45        [         R                  U-  n[         R                  " / S
QU S9n[        R                  " X45        [
        R                  U-  nU(       d_  [        [
        R                  " S[
        R                  [
        R                  [
        R                  /U R                  S9UR                  S9n[        R                  " X45        g )N)r+   r   r*   N   r   r   )r*   r*   r*   r*   r*   r*   )NNr*   NN)mask)r*   r   Nr   )r*   r*   r*   r*   )r*   NNN)
r   r   r   r   NAr,   r-   r   r/   _mask)r   r2   r!   r$   r%   s        r&   test_pow_scalarr:   7   s   
$E2ATFxxu5H##F5TFxx+59H##F5XFxx35AH##F5YF887uE !HHbffbffa8@Q@QR
 ##F5 	
!"ATFxxu5H##F5TFxxE2H##F5UUAXFxx-U;H##F5VVQYF HHa08I8IJQRQXQX
 ##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 )N)	r   r   r   r*   r*   r*   NNNr   )	r   r*   Nr   r*   Nr   r*   N)	r*   r   Nr*   r*   r*   r*   NN)r   r   r   r   )r   r!   r"   r$   r%   s        r&   test_pow_arrayr<   h   sJ    
5UCA
5UCATFxx<EJH##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 )NFloat64r   r   r   )r   r   r8   r,   r   r   )arrr$   r%   s      r&   test_rpow_one_to_nar@   p   s]     ((BEE255>
3CXXsCj!S(FxxbeeI6H##F5r(   otherr   c                     [         R                  " / SQSS9nU[        R                  " U 5      -   nX-   n[        R                  " X#5        g )N)r*   Nr6   r>   r   )r   r   r,   r   assert_equal)rA   r?   r$   r%   s       r&   test_arith_zero_dim_ndarrayrD   y   s7    
((<y
1C288E?"F{HOOF%r(   c                 n   Un[         R                  " U 5      n[        X25      nSR                  / SQ5      n[        R
                  " [        US9   U" S5        S S S 5        [        R
                  " [        US9   U" [         R                  " S5      5        S S S 5        [        R
                  " [        US9   U" [         R                  " SUR                  S95        S S S 5        SR                  SSS	S
SSSS[        R                   S3SSSSS/5      n[        R
                  " [        US9   U" [         R                  " [         R                  " S[        U5      SS95      5        S S S 5        g ! , (       d  f       GN = f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)N|)(can only perform ops with numeric valuesz.FloatingArray cannot perform the operation modunsupported operand type4not all arguments converted during string formatting2can't multiply sequence by non-int of type 'float'5ufunc 'subtract' cannot use operands with types dtypez1can only concatenate str \(not \"float\"\) to strzFufunc '.*' not supported for the input types, and the inputs could notz?ufunc '.*' did not contain a loop with signature matching typesz;Concatenation operation is not implemented for NumPy arrayshas no kernelnot implementednot supported for dtypez&Can only string multiply by an integermatchfoo20180101)indexrG   z5cannot perform .* with this index type: DatetimeArrayz`Addition/subtraction of integers and integer-arrays with DatetimeArray is no longer supported. *rH   rI   rJ   rK   z3ufunc 'add' cannot use operands with types dtype\('zM8\[ns\]'\)z@ufunc 'add' cannot use operands with types dtype\('float\d{2}'\)z*cannot subtract DatetimeArray from ndarrayrL   rM   rN   ns)periodsunit)r   Seriesr   joinpytestraises	TypeError	TimestamprS   r   ENDIAN
date_rangelen)dataall_arithmetic_operatorsr#   sopsmsgs         r&   test_error_invalid_valuesre      sM   	!B
		$A
!.C ((	
C$ 
y	,E
 
-	y	,BLL$% 
- 
y	,BIIe177+, 
- ((6C;&B@CII;k3 P8%#	
C* 
y	,BIIbmmJATJKL 
-	,= 
-	,	,	, 
-	,0 
-	,s0   	E2:F8&F/:F&2
F
F
F#&
F4c            	         [         R                  " [         R                  " SS[         R                  /SS9[         R                  " S[         R                  S/SS9[        R                  " / SQSS9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*   r6   r>   r      Float32)r*   r6   rg   float64)ABC      )FTNboolean)r   	DataFramer   r8   r,   rj   rl   rW   r   assert_series_equalrk   )dfr$   r%   s      r&   test_cross_type_arithmeticrs      s   	1a-y91beeQ-y9)95	

B TTBDD[Fyy!Qi8H6,ddRTTkQ"$Fyy,I>H6,TTBDD[Fyy!RUUBEE*)<H6,r(   zsource, neg_target, abs_target)r   r   gffffff
@)皙皙gffffff
)r   r   N)rt   ru   N)rt   r   r   )r   r   rt   )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)	float_ea_dtypesource
neg_target
abs_targetr   r?   
neg_result
pos_result
abs_results	            r&   test_unary_float_operatorsr      s     E
((6
'C*-tSXJJ*2J*2J##J;##J4
0000##J;r(   c                    [         R                  " / SQU S9n[         R                  " / SQU S9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*   Nrg   rm   r   )Nrg      rm   rH   rO   )r   r   rY   rZ   r[   )r   leftrights      r&   test_bitwiser      s    88O51DHH_E2E	y(B	C 
D	y(B	C 
D	y(B	C 
D	C	 
D	C	C	C	C	Cs$   B".B3C"
B03
C
C)r   numpyr,   rY   pandasr   pandas._testing_testingr   pandas.core.arraysr   markparametrizer'   r4   r:   r<   r@   rD   re   rs   r   r    r(   r&   <module>r      sA        , 	+,	+,	+,	23	12	+, 	8  66 )+ST6 U6".6b66 1c(+& ,&7M|-, $	,o>	-/?@	+_=<<	r(   