
    PiZ              
         U d dl mZ d dlmZ d dlmZ 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mZmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ  ej         d
d dgddg          d             Z! ej          e e
j"        dd                     e e
j"        dd                     e e
j"        dd                     ed          gd           d             Z#d Z$d Z%g dZ& eddd          gZ'de(d<   e')                    d e&D                        e')                    d  e&D                         G d! d"          Z* G d# d$          Z+ G d% d&          Z, G d' d(          Z- G d) d*          Z. G d+ d,          Z/ G d- d.          Z0 G d/ d0          Z1d1 Z2d2 Z3ej4        5                    d3g d4g d5fg          ej4        5                    d6eeej6        g          ej4        5                    d7eeej6        e
j        e7g          d8                                     Z8d9 Z9ej4        5                    d:g d;          ej4        5                    d<g d=          d>                         Z:d? Z;dS )@    )annotations)abc)	timedelta)DecimalN)Index
RangeIndexSeries	TimedeltaTimedeltaIndexarray
date_range)ops)expressions)assert_invalid_addsub_typeassert_invalid_comparisonTi@B numexprpython)autouseparamsidsc              #     K   |                                 5 }|                    t          d| j                   | j        V  d d d            d S # 1 swxY w Y   d S )N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/arithmetic/test_numeric.pyswitch_numexpr_min_elementsr!   !   s      					 !			$777m                 s   +AAA   float64dtypeint64uint64c                *    t          |           j        S Ntype__name__xs    r    <lambda>r/   0   s    $q''"     )r   r   c                    | j         S )z7
    Several types of numeric-dtypes Index objects
    )r   )r   s    r    numeric_idxr2   (   s     =r0   c                    t          j        t          j        |                                                     r?t          j        t          j        |                                                     sJ |dz  }|S )z_
    Helper to adjust the expected result if we are dividing by -0.0
    as opposed to 0.0
    )npsignbitr   anyall)zeroexpecteds     r    adjust_negative_zeror;   9   sd    
 
z"(4..!!%%''  z"(4..))--/////BOr0   c                   |t           j        t          j        fv rt	          j        |           n| }|t           j        t          j        fv rt	          j        |          n|} |||          }|                    ||          }t          |t                    r>|j	        
                    | j	                  s|j	                            d           |_	        t          j        ||           d S r)   )r   rpowoperatorpowr5   abscombine
isinstancer	   indexequals
_with_freqtmassert_series_equal)seriesotheropleftrightcython_or_numpyr   s          r    
compare_oprN   H   s    CHhl#;;;26&>>>DCHhl#;;;BF5MMMEbuooO\\%$$F%   5););FL)I)I 5|..t44?F33333r0   )i1i2i4i8u1u2u4u8f2f4f8
   (   zlist[Index | Series]leftsc                4    g | ]}t          g d |          S )rZ         r$   )r	   .0r%   s     r    
<listcomp>rc   X   s)    FFFEf\\\///FFFr0   c                @    g | ]}|d k    t          g d|          S )rW   r^   r$   )r   ra   s     r    rc   rc   Y   s/    VVV5QUeLLL...r0   c                  &    e Zd Zd Zd Zd Zd ZdS )TestNumericComparisonsc                   t          j        d          t          g d          k    }dt          g d          k    }t          j        ||           t          g d          t          j        d          k     }t          g d          dk     }t          j        ||           t          j        g d          d         t          g d          k    }dt          g d          k    }t          j        ||           d S )Nr                    r   ri   rj   )r5   r#   r	   rF   rG   r   )selfresultr:   s      r    (test_operator_series_comparison_zerorankz?TestNumericComparisons.test_operator_series_comparison_zerorank`   s    A			!2!22			***
vx000			""RZ]]2)))$$s*
vx000)))$$Q'&*;*;;			***
vx00000r0   c                    |}t          j        t          d                    }t          j        ||          }t          |||           d S Nr"   )r5   r   rangerF   box_expectedr   )rn   box_with_arrayfixed_now_tstsobjs        r    test_df_numeric_cmp_dt64_raisesz6TestNumericComparisons.test_df_numeric_cmp_dt64_raisesl   sE    huQxx  oc>22!#r>:::::r0   c                t   t          t          j                            d                              d          d          }t          t          j                            d                              d                    }t          j        d          |_        t          j	        ||z  d||z  z             d S )Nrj   r"   r   namez
2000-01-01ri   )
r	   r5   randomdefault_rngstandard_normalpd	Timestampr|   rF   rG   )rn   abs      r    test_compare_invalidz+TestNumericComparisons.test_compare_invalidt   s     29((++;;A>>QGGG29((++;;A>>??l++
q1ua1q5k22222r0   c                h   |}|t           ur|nt          j        }t          t          j                            d                              d                    }t          j        ||d          }|	                                5 }|
                    t          dd           |dk    }d d d            n# 1 swxY w Y   t          t          j        dt                              }t          j        ||d          }t          j        ||           |	                                5 }|
                    t          dd           |dk    }d d d            n# 1 swxY w Y   t          j        ||            d	}	t          j        t"          |	
          5  |dk      d d d            d S # 1 swxY w Y   d S )Nrj   3   F	transposer   2   r   r$   z0Invalid comparison between dtype=float64 and strmatch)r   r5   ndarrayr	   r}   r~   r   rF   rt   r   r   r   zerosboolassert_equalpytestraises	TypeError)
rn   ru   r   boxxboxrx   r   ro   r:   msgs
             r    $test_numeric_cmp_string_numexpr_pathz;TestNumericComparisons.test_numeric_cmp_string_numexpr_path|   sF   &&ssBJRY**1--==bAABBoc3%888  "" 	 aIIdOR000CZF	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  "(2T22233?8TUCCC
)))  "" 	 aIIdOR000CZF	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  		***@]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s6   #B33B7:B7&#EEEF''F+.F+N)r,   
__module____qualname__rp   ry   r   r    r0   r    rf   rf   _   sP        
1 
1 
1; ; ;3 3 3    r0   rf   c                     e Zd Zd Zej                            dej        e	e
g          ej                            ded           d                         Zej                            dej        e	e
g          ej                            ded           d                         Zej                            d	 ed
                              d           ed
                              d                                           ed
                                           ed
                                                              d           ed
                                                              d          gd           d             Zej                            d	 ed
                              d           ed
                              d                                           ed
                              d                                          gd           ej                            dej        ej        g          d                         Zd Zej                            d ed           ed                                           ed                                           ed                                                              d           ej        d           ej        dd          ej                            d          ej                            d           ej        dd           ej        d           ej        d                                           ej        dd                                            ej        d                                           ej         dd          ej!        ge"          d!             Z#d"S )#.TestNumericArraylikeArithmeticWithDatetimeLikec                   |}t          j        ddg          }t          j        ||          }t	          d          t	          d          g}||z  }t          t	          d          t	          d          g          }t          j        ||          }t          j        ||           ||z  }t          j        ||           d S )Nrk      ri   daysrj      )r5   r   rF   rt   r
   r   r   )rn   ru   r   rK   rL   ro   r:   result2s           r    test_mul_timedelta_listzFTestNumericArraylikeArithmeticWithDatetimeLike.test_mul_timedelta_list   s    xAtS))"""I1$5$5$56!9!#4#4#4iQ6G6G6G"HII?8S11
)))$,
*****r0   box_clsrK   c                T    t          |           j        t          | j                  z   S r)   r+   r,   strr%   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       T!WW%5AG%D r0   r   c                b   t          j        g dd          } ||          }t          g d|j                  }t	          |t
                    s	|t
          u rt          |          }|j        |j        k    sJ ||z  }t          j        ||           ||z  }t          j        ||           d S )Nrh   m8[s]r$   )10s40s90s)r5   r   r   r%   rB   r	   rF   r   )rn   rK   r   rL   r:   ro   s         r    test_mul_td64arrz?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arr   s     '222!"7"7"7u{KKKdF## 	(w&'8'8h''H~,,,,
)))
)))))r0   c                T    t          |           j        t          | j                  z   S r)   r   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>   r   r0   c                L   t          j        g dd          } ||          }t          g d|j                  }t	          |t
                    s	|t
          u rt          |          }|j        |j        k    sJ ||z  }t          j        ||           ||z  }t          j        ||           d}t          j	        t          |          5  ||z   d d d            n# 1 swxY w Y   d}t          j	        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )N)rZ   r[   Z   r   r$   )1s2s3sz5ufunc '(true_)?divide' cannot use operands with typesr   z3ufunc 'floor_divide' cannot use operands with types)r5   r   r   r%   rB   r	   rF   r   r   r   r   )rn   rK   r   rL   r:   ro   r   s          r    test_div_td64arrz?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arr   s    W555!"4"4"4EKHHHdF## 	(w&'8'8h''H~,,,,
)))$
))) F]9C000 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 D]9C000 	 	EMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   CC"%C"DD D	scalar_tdri   r   nsztimedelta64[s]ztimedelta64[ms]c                *    t          |           j        S r)   r*   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       d1gg& r0   c                   |}|}t          d t          t          |                    D             d          }t          |t          j                  r|j        }|                    |          }n+t          |          t          u r|                    d          }t          j        ||          }t          j        ||          }||z  }t          j        ||           ||z  }	t          j        |	|           d S )Nc                .    g | ]}t          |           S )r   )r
   )rb   ns     r    rc   z`TestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar.<locals>.<listcomp>   s#    :::1YA:::r0   zm8[ns]r$   m8[us])r   rs   lenrB   r5   timedelta64r%   astyper+   r   rF   rt   r   )
rn   r   r2   ru   r   rC   r:   r%   ro   commutes
             r    test_numeric_arr_mul_tdscalarzLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar   s     !::c%jj(9(9:::(
 
 
 i00 	1OEu--HH)__	))x00Hs++?8S11"
)))e#
*****r0   c                *    t          |           j        S r)   r*   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>  r   r0   r%   c                   |}t          j        d                              t           j        d          }|                    |d          }t	          j        ||d          }|                    d                              d          }t          |          t          u r|                    d          }t	          j        ||d          }||z  }	t	          j	        |	|           ||z  }	t	          j	        |	|           d S )Ni N  Fcopyr   ztimedelta64[D]ztimedelta64[ns]ztimedelta64[us])
r5   aranger   r&   rF   rt   viewr+   r   r   )
rn   r%   r   ru   r   arr_i8arrrx   r:   ro   s
             r    *test_numeric_arr_mul_tdscalar_numexpr_pathzYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_path   s     9%%,,RXE,BBmmEm..oc3%888;;/00778IJJ	??i'''899H?8SEBBBy
)))S
)))))r0   c                   |}|dd         }t          ddg          }t          |t          j                  rI|j        }|t          j        d          k     rt          j        d          }|                    |          }nt          |          t          u s t          |t                    r!|j	        dk    r|                    d          }net          |t          j        j        t          j        j        t          j        j        t          j        j        f          r|                    d          }t!          j        ||          }t!          j        ||          }t          |t          j        j                  r;d}t%          j        t(          |	          5  ||z   d d d            n# 1 swxY w Y   n||z  }	t!          j        |	|           d
}t%          j        t(          |	          5  ||z   d d d            d S # 1 swxY w Y   d S )Nri   rk   z3 Daysz36 Hoursr   usr   unsupported operand typer   $cannot use operands with types dtype)r   rB   r5   r   r%   r   r+   r   r
   unitr   offsetsDayHourMinuteSecondrF   rt   r   r   r   r   )
rn   
three_daysr2   ru   r   rC   r:   r%   r   ro   s
             r    test_numeric_arr_rdiv_tdscalarzMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalar   s_   AaC !8Z"899j".11 	0$Erx(((())u--HH***z9-- +2</T2I2Ix00HHZ^RZ_bj.?ARS
 
 	0
  w//Hs++?8S11j"*.11 	9,Cy444 # #U""# # # # # # # # # # # # # # #  %'FOFH---8C]9C000 	 	J	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   F**F.1F.-H  HHrI      )hourszm8[h]NaTDrk   r   z
2021-01-01z
Asia/Tokyo)tzUTCc                    |}t          j        ||          }d                    g d          }t          |||           d S )N|)
r   z3Addition/subtraction of integers and integer-arrayszInstead of adding/subtractingr   z;Concatenation operation is not implemented for NumPy arraysz+Cannot (add|subtract) NaT (to|from) ndarrayzBoperand type\(s\) all returned NotImplemented from __array_ufunc__z(can only perform ops with numeric valuesz*cannot subtract DatetimeArray from ndarrayz.Cannot add or subtract Timedelta from integers)rF   rt   joinr   )rn   r2   rI   ru   r   rK   r   s          r    &test_add_sub_datetimedeltalike_invalidzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidG  sV    4 {C00hh  
 
  	#444444r0   N)$r,   r   r   r   r   markparametrizer5   r   r   r	   r\   r   r   r
   as_unitto_timedelta64to_pytimedeltar   r   r&   r#   r   r   r   r   r   r   r   r   to_pydatetimeto_datetime64
datetime64r   reprr   r   r0   r    r   r      sj       + + +" [Y5&(ABB[DD   * *  CB*" [Y5&(ABB[DD      CB6 [I1%%d++I1%%d++::<<I1,,..I1,,..556FGGI1,,..556GHH	
 '&  
 
+ +
 
+, [I1%%d++I1%%d++::<<I1%%d++::<<	

 '&    [Wrx&<==* * >= *,% % %N [IBIB..00IB..00IB..0077@@BN5!!BN5#&&Ja  Ja   BL,777BL&&BL&&4466BL%000>>@@BL&&4466BM%&&F#	
& +   .5 5/ .5 5 5r0   r   c                     e Zd Zd Zd Zd Zd Zej        	                    de
j        e
j        g          d             Zej        	                    dej        ej        ej        g          d             Zej        	                    dej        ej        ej        g          d	             Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z dS )TestDivisionByZeroc                   |}t          t          j        t          j        t          j        t          j        t          j        gt          j                  }t          ||          }||z  }t          j        ||           t          |          	                    d          t          j
        |          	                    d          z  }t          j        |t          |                     d S Nr$   rR   r   r5   naninfr#   r;   rF   assert_index_equalr	   r   r   rG   rn   r9   r2   idxr:   	expected2ro   
ser_compats           r    test_div_zeroz TestDivisionByZero.test_div_zero|  s    "&"&"&"&"&ATTT )x88	t
fi000C[[''--0E0Ed0K0KK

z6(+;+;<<<<<r0   c                   |}t          t          j        t          j        t          j        t          j        t          j        gt          j                  }t          ||          }||z  }t          j        ||           t          |          	                    d          t          j
        |          	                    d          z  }t          j        |t          |                     d S r   r   r   s           r    test_floordiv_zeroz%TestDivisionByZero.test_floordiv_zero  s    "&"&"&"&"&ATTT )x88	
fi000C[[''--$1F1Ft1L1LL

z6(+;+;<<<<<r0   c                   |}t          t          j        t          j        t          j        t          j        t          j        gt          j                  }||z  }t	          j        ||           t          |                              d          t          j        |                              d          z  }t	          j	        |t          |                     d S r   )
r   r5   r   r#   rF   r   r	   r   r   rG   )rn   r9   r2   r   r:   ro   r   s          r    test_mod_zeroz TestDivisionByZero.test_mod_zero  s    "&"&"&"&"&ATTTt
fh///C[[''--0E0Ed0K0KK

z6&>>:::::r0   c                   |}t          t          j        t          j        t          j        t          j        t          j        gt          j                  }t          t          j        t          j        t          j        t          j        t          j        gt          j                  }t          ||          }t          ||          }t          j        |d         |           t          j        |d         |           d S )Nr$   r   ri   )	r   r5   r   r   r#   r;   divmodrF   r   )rn   r9   r2   r   exleftexrightro   s          r    test_divmod_zeroz#TestDivisionByZero.test_divmod_zero  s    ?rzRRR@
SSS%dF33T""
fQi000
fQi11111r0   rJ   c                ~   |j         t          j        k    rt          j        d|j                     |dz
  }t          t          j         t          j         t          j         t          j        t          j        gt          j                  }t          ||          } |||          }t          j        ||           d S )Nz#Div by negative 0 not relevant for rk   r$   )r%   r5   r'   r   skipr   r   r   r#   r;   rF   r   )rn   r9   r2   rJ   r   r:   ro   s          r    test_div_negative_zeroz)TestDivisionByZero.test_div_negative_zero  s     	))KQk>OQQRRRAo26'BF7RVGRVRVDBJWWW'h77C
fh/////r0   dtype1c                   |}t          g dd                              |          }t          g dd                              |          }t          j        d          5  t          |j                            t          j                  |j        z  dd 	          }d d d            n# 1 swxY w Y   t          j        |j        d
d<   |j        dk    r2|j        dk    r't          j
        r|d
k    r|                    d          }||z  }t          j        ||           |                    ||z            rJ d S )Nrk   r   r"   r   firstr{   r   r   r   rk   secondignorer8   r#   r%   r|   r   rk   r&   float32)r	   r   r5   errstatevaluesr#   r   ilocr%   r   USE_NUMEXPRrF   rG   rD   )	rn   r!   r  any_real_numpy_dtypedtype2r  r	  r:   ro   s	            r    test_ser_div_serz#TestDivisionByZero.test_ser_div_ser  s    &|||'22299&AA8444;;FCC[X&&& 	 	##BJ//&-?  H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	  Vac;'!!fli&?&?  6$?1$D$D#??955
vx000==%0000000s   $=B--B14B1c                   |}t          ddg                              |          }t          ddg                              |          }||z  ||z  f}t          |          }|d                             t          j                  |d<   t          j        |d         d<   t          ||          }t          j        |d         |d                    t          j        |d         |d                    t          |j	        |          }t          j        |d         |d                    t          j        |d         |d                    d S )Nri   r   rj   )
r	   r   listr5   r#   r   r   rF   rG   r  )rn   r  r  r  rK   rL   r:   ro   s           r    test_ser_divmod_zeroz'TestDivisionByZero.test_ser_divmod_zero  s"    &q!f~~$$V,,1v%%f-- 5=$,.>>qk((44Ae$$
vay(1+666
vay(1+666 U++
vay(1+666
vay(1+66666r0   c                   t          t          j        dg          }t          t          j        dg          }||z  ||z  f}t          ||          }t	          j        |d         |d                    t	          j        |d         |d                    t          |j        |          }t	          j        |d         |d                    t	          j        |d         |d                    d S )N      ?       @r   ri   )r	   r5   r   r   rF   rG   r  )rn   rK   rL   r:   ro   s        r    test_ser_divmod_infz&TestDivisionByZero.test_ser_divmod_inf  s    rvsm$$}%%5=$,.e$$
vay(1+666
vay(1+666 U++
vay(1+666
vay(1+66666r0   c                   t          j        dgdz            }t           j                            d                              d          }t          dgdz            }|t          |          z  }t          j        ||           t          |          |z  }t          j        ||           t          |          t          |          z  }t          j        ||           d S )Nr   r"   rj   rl   )r5   r   r}   r~   r   r	   rF   rG   )rn   
zero_arraydatar:   ro   s        r    test_rdiv_zero_compatz(TestDivisionByZero.test_rdiv_zero_compat  s    XqcAg&&
y$$Q''77::3%!)$$fTll*
vx000
##d*
vx000
##fTll2
vx00000r0   c                    t          g dd          }t          t          j         t          j        t          j        gd          }|dz  }t	          j        ||           d S Nr4   r   ri   r  r{   r   r	   r5   r   r   rF   rG   rn   serr:   ro   s       r    test_div_zero_inf_signsz*TestDivisionByZero.test_div_zero_inf_signs  s[    ZZZg...BF7BFBF3'BBBq
vx00000r0   c                    t          g dd          }t          dt          j        dgd          }d|z  }t          j        ||           d S )Nr"  r  r{   rl   r   )r	   r5   r   rF   rG   r$  s       r    test_rdiv_zeroz!TestDivisionByZero.test_rdiv_zero  sU    ZZZg...3,7;;;S
vx00000r0   c                    t          g dd          }|dz  }t          t          j         t          j        t          j        gd          }t	          j        ||           d S r!  r#  )rn   r%  ro   r:   s       r    test_floordiv_divz$TestDivisionByZero.test_floordiv_div  s[    ZZZg...BF7BFBF3'BBB
vx00000r0   c                "   t          j        g dg dd          }||z  }t          g d          }t          t          j        t          j        t          j        dg          }t          j        ||d          }t          j        ||           d S )Nr  r  r  r	  r  r  r  r  ri   )r   	DataFramer	   r5   r   rF   assert_frame_equal)rn   dfro   r  r	  r:   s         r    test_df_div_zero_dfz&TestDivisionByZero.test_df_div_zero_df$  s    \LLLLLLIIJJb+++,,344<%6 B BCC
fh/////r0   c                   t          j        g dg dd          }t          g d          }t          t          j        t          j        t          j        dg          }t          j        ||d          }t          j        d          5  |j                            d          |j        z  }d d d            n# 1 swxY w Y   t          j        ||j        |j	        	          }t          j        ||           d S )
Nr  r  r,  r-  ri   r
  r  floatrC   columns)r   r.  r	   r5   r   r  r  r   rC   r5  rF   r/  )rn   r0  r  r	  r:   r   ro   s          r    test_df_div_zero_arrayz)TestDivisionByZero.test_df_div_zero_array.  s   \LLLLLLIIJJ+++,,344<%6 B BCC[X&&& 	8 	8)""7++bi7C	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8c2:FFF
fh/////s   
#B99B= B=c                   t          j        g dg dd          }|dz  }t          j        t          j        |j        |j                  }t          j        |j        dddf<   t          j	        ||           t          j
        d	          5  |j                            d
          dz  }d d d            n# 1 swxY w Y   t          j        ||j        |j                  }t          j	        ||           d S )Nr  r  r,  r   r4  rk   ri   r
  r  r#   )r   r.  r5   r   rC   r5  r   r  rF   r/  r  r  r   rn   r0  ro   r:   r   r   s         r    test_df_div_zero_intz'TestDivisionByZero.test_df_div_zero_int;  s&   \LLLLLLIIJJa<bh
KKK "ac1f
fh/// [X&&& 	2 	2)""9--1C	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2,s"(BJGGG
gx00000s   B88B<?B<c                ,   t          j        t          j                            d                              d                    }|d         }||z  }||z  }|                    d                              |                    d                    rJ d S Nrj   )rZ   r"   r   r   r.  r5   r}   r~   r   fillnarD   rn   r0  r%  resres2s        r    (test_df_div_zero_series_does_not_commutez;TestDivisionByZero.test_df_div_zero_series_does_not_commuteJ  s~    \")//22BB7KKLLeBhCx::a==''A7777777r0   c                p   t          j        g dg dd          }t          g d          }|                    d          }t          t          j        t          j        t          j        dg          }t          j        ||d          }||z  }t          j        ||           t          j        g dg ddd          }t          g dd	
          }t          t          j        t          j        t          j        dg          }t          j        ||d          }||z  }t          j        ||           d S )Nr  r  r,  r   r   r   r   r#   r   Fr   r&   r$   )r   r.  r	   r   r5   r   rF   r/  )rn   r0  r  r	  r:   ro   s         r    test_df_mod_zero_dfz&TestDivisionByZero.test_df_mod_zero_dfU  s$   \LLLLLLIIJJ|||$$Y''344<%6 B BCCb
fh/// \LLLLLLIIPUVVV|||7333344<%6 B BCCb
fh/////r0   c                   t          j        g dg dd          }t          g dd          }t          t          j        t          j        t          j        dg          }t          j        ||d          }t          j        d	          5  |j        |j        z  }d d d            n# 1 swxY w Y   t          j        ||j        |j        d
          }t          j        |j	        dddf<   t          j        ||           d S )Nr  r  r,  rC  r#   r$   r   r
  r  )rC   r5  r%   rk   ri   )r   r.  r	   r5   r   r  r  rC   r5  r  rF   r/  )rn   r0  r  r	  r:   r   r   s          r    test_df_mod_zero_arrayz)TestDivisionByZero.test_df_mod_zero_arrayi  s/   \LLLLLLIIJJ |||9555344<%6 B BCC [X&&& 	( 	()bi'C	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(,s"(BJiXXX!vQqS!V
gx00000s   B((B,/B,c                   t          j        g dg dd          }|dz  }t          j        t          j        |j        |j                  }t          j        ||           t          j        d          5  |j	        
                    d          dz  }d d d            n# 1 swxY w Y   t          j        ||j        |j                  }t          j        ||           d S )	Nr  r  r,  r   r4  r
  r  r#   )r   r.  r5   r   rC   r5  rF   r/  r  r  r   r8  s         r    test_df_mod_zero_intz'TestDivisionByZero.test_df_mod_zero_intz  s   \LLLLLLIIJJa<bh
KKK
fh/// [X&&& 	2 	2)""9--1C	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2,s"(BJGGG
gx00000s   6B  B$'B$c                ,   t          j        t          j                            d                              d                    }|d         }||z  }||z  }|                    d                              |                    d                    rJ d S r;  r<  r>  s        r    (test_df_mod_zero_series_does_not_commutez;TestDivisionByZero.test_df_mod_zero_series_does_not_commute  s     \")//22BB7KKLLeBhCx::a==''A7777777r0   N)!r,   r   r   r   r   r   r   r   r   r   r>   truedivfloordivr  r5   r&   r#   r'   r  r  r  r  r&  r(  r*  r1  r6  r9  rA  rD  rF  rH  rJ  r   r0   r    r   r   {  s       = = == = =; ; ;	2 	2 	2 [TH$4h6G#HII
0 
0 JI
0 [X"*bi'HII1 1 JI1: [X"*bi'HII7 7 JI7,7 7 71 1 11 1 11 1 11 1 10 0 00 0 01 1 18 8 80 0 0(1 1 1"1 1 18 8 8 8 8r0   r   c            	         e Zd Zd Zd Zd Zej                            de	j
        ej        e	j        g          d             Zd Zd Zd Zd	 Zd
 Zd Zej                            de	j        ej        g          d             Zd Zd Zd Zd Zej                            dej        ddddej        g          d             Zd Z d Z!d Z"d Z#dS )TestMultiplicationDivisionc                n   |}t          t          d          g          }t          t          d          g          }t          j        ||          }t          j        ||          }|t          d          z  }t          j        ||           |t          d          z  }t          j        ||           d S )NrZ   r"   rj   )r	   r   rF   rt   r   )rn   ru   r   r%  r:   ro   s         r    test_divide_decimalz.TestMultiplicationDivision.test_divide_decimal  s    gbkk]##71::,''oc3''?8S11wqzz!
)))

"
)))))r0   c                   t          ddgd          }t          ddgd          }t          dt          j         g          }|                    |          }t	          j        ||d	           ||z  }t	          j        ||           d S )
Nri   r   r  r{   g{Gzg{Gzr	  Fcheck_names)r	   r5   r   divrF   rG   )rn   r  r	  r:   ro   s        r    test_div_equiv_binopz/TestMultiplicationDivision.test_div_equiv_binop  s     1vG,,,X666526'*++E""
vxUCCCC%
vx00000r0   c                    |}|dz  }|                     d          }t          j        ||           |dz  }t          |j        dz            }t          j        ||           d S )Nri   r#   rj   )r   rF   r   r   r  )rn   r2   r   ro   r:   s        r    test_div_intz'TestMultiplicationDivision.test_div_int  si    q::i((
fh///qa((
fh/////r0   rJ   c                v    |}t          j        ||          } ||d          }t          j        ||           d S Nri   )rF   rt   r   )rn   rJ   r2   ru   r   ro   s         r    test_mul_int_identityz0TestMultiplicationDivision.test_mul_int_identity  s?    oc>22C
$$$$$r0   c                   |}||z  }|t          j        dd          z  }t          j        ||dz             |j        t           j        k    rdnd}|t          j        d|          z  }t          j        ||           d S )Nr"   r&   r$   r'   )r5   r   rF   r   r%   r'   r   )rn   r2   r   didxro   	arr_dtypes         r    test_mul_int_arrayz-TestMultiplicationDivision.test_mul_int_array  s    Syrx1111
fcAg... #	RY 6 6HHG	ry)4444
fd+++++r0   c                    |}||z  }|j         t          j        k    rdnd}|t          t          j        d|                    z  }t          j        |t          |                     d S )Nr'   r&   r"   r$   )r%   r5   r'   r	   r   rF   rG   )rn   r2   r   r\  r]  ro   s         r    test_mul_int_seriesz.TestMultiplicationDivision.test_mul_int_series  sg    Sy #	RY 6 6HHG	vbi;;;<<<
vvd||44444r0   c                    |}t          j        dd          }|t          |dz             z  }t          ||dz   z            }t          j        ||           d S )Nr"   r#   r$   g?)r5   r   r	   rF   rG   )rn   r2   r   rng5ro   r:   s         r    test_mul_float_seriesz0TestMultiplicationDivision.test_mul_float_series  s`    y),,,vdSj)))$$*-..
vx00000r0   c                D    |}||z  }t          j        ||dz             d S Nrj   rF   r   )rn   r2   r   ro   s       r    test_mul_indexz)TestMultiplicationDivision.test_mul_index  s-    s
fc1f-----r0   c                    |}d}t          j        t          |          5  |t          dd          z   d d d            d S # 1 swxY w Y   d S )Nz,cannot perform __rmul__ with this index typer   20130101r"   periods)r   r   r   r   rn   r2   r   r   s       r    test_mul_datelike_raisesz3TestMultiplicationDivision.test_mul_datelike_raises  s    <]9C000 	4 	4*Z33333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   AA	Ac                (   |}d}t          j        t          |          5  ||dd         z   d d d            n# 1 swxY w Y   t          j        t          |          5  |t          j        ddg          z   d d d            d S # 1 swxY w Y   d S )Nz(operands could not be broadcast togetherr   r   rk   ri   rj   )r   r   
ValueErrorr5   r   rl  s       r    test_mul_size_mismatch_raisesz8TestMultiplicationDivision.test_mul_size_mismatch_raises  s   8]:S111 	 	#ac(NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	# 	#"(Aq6""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   :>> BBBc                    |}|}t           ||j        d                    }t          j        ||          }t          j        ||          } ||d          }t          j        ||           d S )Nr  r   r  rF   rt   r   )rn   rJ   r2   ru   r   r   r:   ro   s           r    test_pow_floatz)TestMultiplicationDivision.test_pow_float  sr     CJ,,--oc3''?8S11C
)))))r0   c                    |}|}t          |j        dz            }t          j        ||          }t          j        ||          }|dz  }t          j        ||           d S re  rr  )rn   r2   ru   r   r   r:   ro   s          r    test_moduloz&TestMultiplicationDivision.test_modulo  sb    a((oc3''?8S11q
)))))r0   c                J   |}t          |d          }t          j        d          5  t          |j        d          \  }}d d d            n# 1 swxY w Y   t	          |          t	          |          f}t          ||d          D ]\  }}t          j        ||           d S )Nrj   r
  r  Tstrict)r   r5   r  r  r   ziprF   r   )	rn   r2   r   ro   rT  modr:   res	            r    test_divmod_scalarz-TestMultiplicationDivision.test_divmod_scalar  s    Q[X&&& 	- 	-cj!,,HC	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- ::uSzz)666 	( 	(DAq!!Q''''	( 	(s   AAAc                   |}t          j        |j        j        |j        j                  dz  }t          ||          }t          j        d          5  t          |j        |          \  }}d d d            n# 1 swxY w Y   t          |          t          |          f}t          ||d          D ]\  }}	t          j
        ||	           d S Nr$   rj   r
  r  Trw  )r5   onesr  shaper%   r   r  r   ry  rF   r   
rn   r2   r   rI   ro   rT  rz  r:   r{  r|  s
             r    test_divmod_ndarrayz.TestMultiplicationDivision.test_divmod_ndarray  s   
(
0@AAAAEU##[X&&& 	1 	1cj%00HC	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 ::uSzz)666 	( 	(DAq!!Q''''	( 	(s   A::A>A>c                   |}t          j        |j        j        |j        j                  dz  }t          |t          |                    }t          j        d          5  t          |j        |          \  }}d d d            n# 1 swxY w Y   t          |          t          |          f}t          ||d          D ]\  }}	t          j
        ||	           d S r  )r5   r  r  r  r%   r   r	   r  ry  rF   rG   r  s
             r    test_divmod_seriesz-TestMultiplicationDivision.test_divmod_series%  s   
(
0@AAAAEVE]]++[X&&& 	1 	1cj%00HC	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 #;;s+666 	) 	)DAq"1a((((	) 	)s   "BBBrI      igX9v@gQ	c                6   t           j                            d                              d          }d } ||          }t	          j        |t          j        |          z   |||z                       t	          j        t          j        |          |z   |||z                       t	          j        |t          j        |          z    |||z                        t	          j        t          j        |          |z
   |||z
                       d S )Nrj   )r"   rk   c                N    t          j        | t          d          g d          S )NABCDE)jimjoejolier4  )r   r.  r  r-   s    r    r/   z?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>4  s+    blT']],C,C,C
 
 
 r0   )r5   r}   r~   r   rF   r/  r   )rn   rI   valsfr0  s        r    test_ops_np_scalarz-TestMultiplicationDivision.test_ops_np_scalar1  s    y$$Q''77??
 
 QtWW
b28E??2AAdUlOODDD
bhuoo2AAdUlOODDD
b28E??2AAdUlOODDD
bhuoo2AAedlOODDDDDr0   c                   t          t          j        dt          j                  t	          dd          d          }d|_        t          j        d|i          }t          j	        ||z   ||d         z   d	           t          j	        ||z  ||d         z  d	           t          j	        ||k     ||d         k     d	           t          j	        ||z  ||d         z  d	           d S )
NrZ   r$   
2020-01-01rj  rw   rC   r|   AFrR  )
r	   r5   r   r#   r   r|   r   r.  rF   rG   )rn   rw   r0  s      r    test_operators_framez/TestMultiplicationDivision.test_operators_frame@  s    Ib
+++\2666
 
 

 \3)$$
rBwRW%HHHH
r2vrRW}%HHHH
rBwRW%HHHH
rBwRW%HHHHHHr0   c                J   t          j        d          5  t          j        g dg dd          }|d         |d         z  }t	          |d         j        |d         j        z  d	          }t           j        |j        d
d<   t          j	        ||           |d         d
z  }t	          t           j        |j
        d          }t          j	        ||           |                    d          }|d         |d         z  }t	          |d         j        |d         j        z            }t          j	        ||           |                    d          }|d         |d         z  }|d         |d         z  }|                    |          rJ 	 d d d            d S # 1 swxY w Y   d S )Nr
  r  r  r  r,  r  r	  r#   r$   r   rk   r  )r5   r  r   r.  r	   r  r   r  rF   rG   rC   r   rD   )rn   pro   r:   r   s        r    test_modulo2z'TestMultiplicationDivision.test_modulo2R  s   [X&&& 	. 	.||||||LLMMAwZ!H+-Faj/!H+2DDIVVVH!#HM!A#"68444wZ!^FbfAG'BBBH"68444##AwZ!H+-Faj/!H+2DDEEH"68444##AwZ!H+-FkAgJ.G}}W------)	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   E4FFFc                l   t          j        d          5  t          ddg          }|dz  }t          t           j        t           j        g          }t	          j        ||           d|z  }t          t           j        dg          }t	          j        ||           d d d            d S # 1 swxY w Y   d S )Nr
  r  r   ri   rl   )r5   r  r	   r   rF   rG   )rn   sro   r:   s       r    test_modulo_zero_intz/TestMultiplicationDivision.test_modulo_zero_inti  s    [X&&& 		5 		51vAUFrvrv.//H"68444UFrvsm,,H"68444		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5 		5s   BB))B-0B-c                   t          g dd                              dd          }t          j         g dt          j                                      dd          }d}t	          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )Nri   rj   rk   r   r"   Int64r$   r"   ri   z(can only perform ops with 1-d structuresr   )r   reshaper5   r&   r   r   NotImplementedError)rn   ea_arraynp_arrayr   s       r    )test_non_1d_ea_raises_notimplementederrorzDTestMultiplicationDivision.test_non_1d_ea_raises_notimplementederrorv  sT   888@@AFF8OOO28<<<DDQJJ8].c::: 	  	 x	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  ].c::: 	  	 x	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s$   ;BBB3CC
C
N)$r,   r   r   rP  rU  rW  r   r   r   r>   mulr   rmulrL  rZ  r^  r`  rc  rg  rm  rp  r?   r=   rs  ru  r}  r  r  r5   r   r   r  r  r  r  r  r   r0   r    rN  rN    s       * * * 1 1 10 0 0 [THL#(H<M#NOO% % PO%	, 	, 	,5 5 51 1 1. . .4 4 4# # # [THL#(#;<<
* 
* =<
*
* 
* 
*	( 	( 	(
( 
( 
(
) 
) 
) [Wrvq#ueRV&LMME E NMEI I I$. . ..5 5 5         r0   rN  c                     e Zd Zej                            d eg d ed          d           eg d ed          d           edd	ej	        ej	        g ed
          d          f eg d ed          d           eg d ed
          d           edddej	        g ed
          d          fg          d             Z
ej                            d ej        dg di ed                     ej        dg di ed                     ej        ddd	ej	        ej	        gi ed
                    f ej        dg di ed                     ej        dg di ed
                     ej        ddddej	        gi ed
                    fg          d             Zd Zd Zd Zd Zd Zej                            dd          d             Zej                            dd d d gg d          d              Zej                            dd! d" gd#d$g          d%             Zej                            dd& d' d( gg d          d)             Zd* Zd+S ),TestAdditionSubtractionzfirst, second, expectedrh   ABCr.   r  )rj   rj   rj   ABD      @      @ABCD)rj   rj   rj   rj   rk   r   r"   c                f    t          j        ||z   |           t          j        ||z   |           d S r)   )rF   rG   rn   r  r	  r:   s       r    test_add_seriesz'TestAdditionSubtraction.test_add_series  s8    " 	uv~x888
v~x88888r0   rC   c                f    t          j        ||z   |           t          j        ||z   |           d S r)   )rF   r/  r  s       r    test_add_framesz'TestAdditionSubtraction.test_add_frames  s8    " 	efnh777
funh77777r0   c                   t          d t          d          D                       }d|z   }|                    d           }t          j        ||           t          j        d|i          }d|z   }t          j        d|                    d           i          }t          j        ||           t          t          j	        dt          j
                  t          d	d
          d          }|                                }d                    ddg          }t          j        t           |          5  ||z    d d d            n# 1 swxY w Y   t          j        t           |          5  ||z    d d d            d S # 1 swxY w Y   d S )Nc                ,    g | ]}t          |          S r   )r   )rb   is     r    rc   zFTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<listcomp>  s    000!s1vv000r0   r"   foo_c                    d| z   S Nr  r   r-   s    r    r/   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>  s
    fqj r0   r  c                    d| z   S r  r   r-   s    r    r/   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>  s
    FQJ r0   rZ   r$   r  rj  rw   r  r   r   zConcatenation operationr   )r	   rs   maprF   rG   r   r.  r/  r5   r   r#   r   r   r   r   r   r   )	rn   rv   r  ro   r:   framerw   fix_nowr   s	            r    test_series_frame_radd_bugz2TestAdditionSubtraction.test_series_frame_radd_bug  s   00uQxx00011$880011
vx000fd^,,%<2F2F)G)G HII
fh///Ib
+++\2666
 
 
 ,,..hh*)
 
 ]9C000 	 	bLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   6EEE.FFFc                   t          t          j                            d                              d                    }||j                                        z
  }||j        z
  }t          j        ||           t          t          dd          t          dd                    }||j                                        z
  }||j        z
  }t          j        ||           d}t          j        t          |          5  ||j                                        z
  }d d d            n# 1 swxY w Y   t          j        t          j                            d                              d          t          dd                    }t          j        d	          |d
<   |d
         |j                                        z
  |d<   |d
         |j        z
  |d<   t          j        |d         |d         d           d S )Nrj   r"   ri  rj  r  z.cannot subtract PeriodArray from DatetimeArrayr   )r"   rj   20130102dater:   ro   FrR  )r	   r5   r}   r~   r   rC   	to_seriesrF   rG   r   r   r   r   	to_periodr   r.  r   )rn   r%  r:   ro   r   r0  s         r    test_datetime64_with_indexz2TestAdditionSubtraction.test_datetime64_with_index  s   RY**1--==a@@AA,,...sy
vx000 z1---Z333
 
 
 ,,...sy
vx000>]9C000 	1 	139..000F	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 \I!!!$$44V<<Z333
 
 
 \*--6
Fbh&8&8&:&:::&zBH,8
r(|R
^OOOOOOs   D++D/2D/c                   |}t           j                            d                              d          }t          |t          j        |j                            }||z   }||z   }|                                D ]c\  }}|                                D ]I\  }	}
||         |	         dz  }t          j        |
          s	|
|k    sJ 3t          j        |          sJ Jd|                                D ]i\  }}|                                D ]O\  }	}
||         |	         ||         z   }t          j        |
          s	|
|k    sJ 9t          j        |          sJ Pjd S )Nrj   r   r  )r5   r}   r~   r	   r   r5  itemsisnan)rn   float_framer  garbage	colSeriesidSum	seriesSumcolrH   r   valorigVals               r    test_frame_operatorsz,TestAdditionSubtraction.test_frame_operators  sw   )''**11!447"(5=*A*ABBB	I%	 ;;== 	- 	-KC"LLNN - -S*S/A-x}} -'>>>>>8G,,,,,,- %??,, 	- 	-KC"LLNN - -S*S/IcN:x}} -'>>>>>8G,,,,,,-	- 	-r0   c                t    t          j        |g d          }||z   }|dz  }t          j        ||           d S )N)r   CBr  )r5  rj   )r   r.  rF   r/  )rn   r  frame2addedr:   s        r    test_frame_operators_col_alignz6TestAdditionSubtraction.test_frame_operators_col_align  sH    k3G3G3GHHHA:
eX.....r0   c           	         t          j        dg di          }t          j        ||z   t          j        ddt          j        dgi                     d S )Nr   )r   Nr   aabb)r   r.  rF   r/  r5   r   )rn   r0  s     r     test_frame_operators_none_to_nanz8TestAdditionSubtraction.test_frame_operators_none_to_nan  sR    \3 0 0 0122
b2gr|S4:N4O'P'PQQQQQr0   r%   )r3  r&   c                    t          j        |          t          j        dg|          t          j        dg|          g}|D ]4}||z                       |          sJ t          j        ||z   |           5d S )Nr$   r  )r5  r%   r   rC   r%   )r   r.  rD   rF   r/  )rn   r%   framesr0  s       r    test_frame_operators_empty_likez7TestAdditionSubtraction.test_frame_operators_empty_like  s     Lu%%%L#e444Ls%000

  	/ 	/BG##B'''''!"r'2....	/ 	/r0   funcc                    | dz  S re  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$  
    1q5 r0   c                    | d d d         S re  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$      AcccF r0   c                    dS rr   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$      a r0   )multiplysliceconstantr   c                    |}t          t          j        dt          j                  t	          dd          d          } ||          }t          |||           d S NrZ   r$   r  rj  rw   r  r	   r5   r   r#   r   rN   )rn   all_arithmetic_functionsr  rJ   rH   rI   s         r     test_series_operators_arithmeticz8TestAdditionSubtraction.test_series_operators_arithmetic"  sk     &Ib
+++\2666
 
 

 V65"%%%%%r0   c                    | dz   S rY  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>2  s
    1q5 r0   c                    dS rr   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>2  s    A r0   addr  c                    |}t          t          j        dt          j                  t	          dd          d          } ||          }t          |||           d S r  r  )rn   comparison_opr  rJ   rH   rI   s         r    test_series_operators_comparez5TestAdditionSubtraction.test_series_operators_compare1  sk     Ib
+++\2666
 
 

 V65"%%%%%r0   c                    | dz  S re  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                    | d d d         S re  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                    dS rr   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                   t          t          j        dt          j                  t	          dd          d          } ||          }t          ||          }t          |t          j                  r\t          |          t          |          k    r<g }|D ]6}|
                    |           |
                    t          j                   7n|}t          j        |          }t          j        d          5  t          |j        t          j        |                    }d d d            n# 1 swxY w Y   t          ||d	
          D ]p\  }}	t!          j        t          j        |          |	           |j        |j        k    sJ t!          j        |j        |j                            d                      qd S )NrZ   r$   r  rj  rw   r  r
  r  Trw  )r	   r5   r   r#   r   r   rB   r   Iterabler   appendr   asarrayr  r  ry  rF   assert_almost_equalr|   r   rC   rE   )
rn   r  rH   rI   resultsother_npr   	expectedsro   r:   s
             r    test_divmodz#TestAdditionSubtraction.test_divmod>  s    Ib
+++\2666
 
 

 V''eS\** 	s6{{c%jj/H/H H ( ("""''''( H:h''[X&&& 	D 	Dv}bj.B.BCCI	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D !$GYt D D D 	O 	OFH"2:f#5#5x@@@;&+----!&,0G0G0M0MNNNN	O 	Os   <(D00D47D4c                   t          t          j        ddt          j                  t	          dd          d          }|d	z  }t          ||          }t          t          j        gt          |          z  |j        d          }t          t          j	        gt          |          z  |j        d          }t          j        |d	         |           t          j        |d         |           d S )
Nri      r$   r  rZ   rj  rw   r  r   )r	   r5   r   r#   r   r   r   r   rC   r   rF   rG   )rn   tserrI   ro   exp1exp2s         r    test_series_divmod_zeroz/TestAdditionSubtraction.test_series_divmod_zero_  s     Ia2:...\2666
 
 

 qe$$rvhT*$*4HHHrvhT*$*4HHH
vay$///
vay$/////r0   N)r,   r   r   r   r   r   r	   r  r5   r   r  r   r.  r  r  r  r  r  r  r  r  r  r  r  r   r0   r    r  r    s        [! yyyU#>>>yyyU#>>>S"&"&1fCPPP yyyU#>>>|||44<<cBBB1a(V3GGG	
 9 9 9
 [! c999-TT%[[AAAc999-TT%[[AAAcCbfbf#=>dd6llSSS c999-TT%[[AAAc<<<0VEEEcAq!RV#45TT&\\JJJ	
 8 8 8  DP P P@- - -2/ / /R R R [W&899	/ 	/ :9	/ [	**KK8---   
& & 
& [++.UJ4G   & & & [	**KK8---   
O O 
O80 0 0 0 0r0   r  c                     e Zd Zej                            deeeg          ej                            de	j
        e	j        e	j        g          d                         Zej                            de	j
        e	j        e	j        g          d             Zej                            deeg          ej                            de	j
        e	j        e	j        g          d                         Zd ZdS )TestUFuncCompatholderr%   c                   |t           u rt           nt          }|t          u r;|t          j        k    rt          j        d| d           t          ddd          }n! |t          j        d|          d          }t          j        |          } |t          j        t          j        d|                    d          }t          j
        ||           d S )Nzdtype z not relevant for RangeIndexr   r"   foor{   r$   )r	   r   r   r5   r&   r   r  r   sinrF   r   )rn   r  r%   r   r   ro   r:   s          r    test_ufunc_compatz!TestUFuncCompat.test_ufunc_compatw  s     &((ffeZ  HUHHHIIIQ...CC&1E222???C3rvbi77788uEEE
)))))r0   c                    |g d|d          }|}t          j        |          }|j        dk    rt          ||          sJ t	          t          j        t          j        g dt           j                            d          }t          j        ||          }t          j	        ||           t          j
        |d          }|j        dk    rt          ||          sJ t	          g dt           j        d          }t          j        ||          }t          j	        ||           |dz   }|j        dk    rt          ||          sJ t	          g d	t           j        d          }t          j        ||          }t          j	        ||           |dz
  }|j        dk    rt          ||          sJ t	          g d
t           j        d          }t          j        ||          }t          j	        ||           |dz  }|j        dk    rt          ||          sJ t	          g dt           j        d          }t          j        ||          }t          j	        ||           |dz  }|j        dk    rt          ||          sJ t	          g dt           j        d          }t          j        ||          }t          j	        ||           d S )Nr  r.   r  rY   r$   r{   r  )g      ?r  g      ?r  g      @)r  r        @g      @g      @)g      rl   r  r  r  r  )r  r  r  r  r  )r5   sqrtr%   rB   r   r   r#   rF   rt   r   divide)rn   index_or_seriesr%   r   r   ro   exps          r    test_ufunc_coercionsz$TestUFuncCompat.test_ufunc_coercions  s   ooooUEEE|t##
63(?(?##?BGBH___BJGGGHHsSSSoc3''
$$$3$$|t##
63(?(?##?---RZcJJJoc3''
$$$ s|t##
63(?(?##?---RZcJJJoc3''
$$$s|t##
63(?(?##?...bjsKKKoc3''
$$$s|t##
63(?(?##?---RZcJJJoc3''
$$$s|t##
63(?(?##?---RZcJJJoc3''
$$$$$r0   c                    |g d|d          }|t           u rt           nt          }t          j        |          }t	          |t
                    sJ t          g dt          j        d          }t          g dt          j        d          }t          j        |d         t          j	        ||                     t          j        |d         t          j	        ||                     d S )Nrh   r.   r  )rl   rl   rl   )r  r  r  r   ri   )
r	   r   r5   modfrB   tupler#   rF   r   rt   )rn   r  r%   rx   r   ro   r  r  s           r    !test_ufunc_multiple_return_valuesz1TestUFuncCompat.test_ufunc_multiple_return_values  s     fYYYe#666&((ffe&%(((((___BJSAAA___BJSAAA
q	2?4#=#=>>>
q	2?4#=#=>>>>>r0   c                    t          g dg dd          }t          j                            |ddgd           t          g dg dd          }t	          j        ||           d S )	Nrm   rh   r.   r  r   rj   rZ   )rZ   ri      )r	   r5   r  atrF   rG   )rn   r  r:   s      r    test_ufunc_atzTestUFuncCompat.test_ufunc_at  so    999IIIC888
		!aVR   +++YYYSAAA
q(+++++r0   N)r,   r   r   r   r   r   r   r   r	   r5   r&   r'   r#   r
  r  r  r  r   r0   r    r  r  u  s       [Xz6'BCC[WrxBJ&GHH* * IH DC* [WrxBJ&GHH'% '% IH'%T [Xv77[WrxBJ&GHH	? 	? IH 87	?, , , , ,r0   r  c                  *   e Zd Zej                            ddeg          d             Zej                            ddeg          d             Zej                            de	j
        e	j        e	j        e	j        e	j        g          d             ZdS )TestObjectDtypeEquivalencer%   Nc                x   |}t          g d|          }t          t          j        t          j        t          j        g|          }t          j        ||          }t          j        ||          }t          j        |z   }t          j        ||           |t          j        z   }t          j        ||           d S )Nrh   r$   )r	   r5   r   rF   rt   r   rn   r%   ru   r   r%  r:   ro   s          r    test_numarr_with_dtype_add_nanz9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nan  s    YYYe,,,2626262%@@@oc3''?8S11#
)))rv
)))))r0   c                   |}t          g d|          }t          g d|          }t          j        ||          }t          j        ||          }d|z   }t          j        ||           |dz   }t          j        ||           d S )Nrh   r$   )rj   rk   r   ri   )r	   rF   rt   r   r  s          r    test_numarr_with_dtype_add_intz9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_int  s    YYYe,,,)))5111oc3''?8S11S
)))q
)))))r0   rJ   c                r   t          t          j                            d                              d          t          j        d          t                    } |d|          } |d|                    t                              }t          j
        |                    t                    |           d S )Nrj   rZ   r  r  )r	   r5   r}   r~   r   r   objectr   r3  rF   rG   )rn   rJ   r   ro   r:   s        r    test_operators_reverse_objectz8TestObjectDtypeEquivalence.test_operators_reverse_object  s     I!!!$$44R88)B--
 
 
 C2c3::e,,--
v}}U33X>>>>>r0   )r,   r   r   r   r   r   r"  r  r   r>   r  subr  rK  rL  r#  r   r0   r    r  r    s         [WtVn55* * 65* [WtVn55* * 65* [	x|X\83CXEVW 
? 
?	 
? 
? 
?r0   r  c                  X   e Zd Zej                            dej        ej        ej	        ej
        ej        g          ej                            d eddd           eddd           eddd           ed	d
d          g          ej                            d eddd           eddd           eddd           ed	d
d          g          d                                     Zej                            dej        ej        ej	        ej
        ej        g          ej                            d eddd           eddd           eddd           ed	d
d          g          ej                            dg d          d                                     Zej                            d eddd           eddd          g          ej                            d eddd           eddd          g          d                         Zej                            d eddd           eddd          g          ej                            dddg          d                         Zej                            dej        ej        ej	        ej
        ej        ej        ej        g          d             Zd Zej                            d eddd          d eddd          f eddd          d eddd          f eddd          d e eddd          j                  dz  f eddd          d e eddd          j                  dz  f ed          d  ed          f edd!d          d" eddd          f ed
dd#          d! ed$dd          f ed%d&d"          d ed          fg          d'             Zej                            d(ej        ej        g          ej                            d)g d*          d+                         Zd, Zd-S ).TestNumericArithmeticUnsortedrJ   idx1r   rZ   ri   r_   rj   ir"   r4   idx2c                4   |                     d          }|                     d          } |||          } |t          |                                          t          |                                                    }t          j        ||d           d S Nr  barequivexact)_renamer   to_numpyrF   r   )rn   rJ   r'  r)  ro   r:   s         r    test_binops_indexz/TestNumericArithmeticUnsorted.test_binops_index  s    : ||E""||E""D$2eDMMOO,,eDMMOO.D.DEE
fhg>>>>>>r0   r   scalar)r4   ri   rj   c                     |||          } |t          |                                          |          }t          j        ||d           d S Nr-  r.  )r   r1  rF   r   )rn   rJ   r   r3  ro   r:   s         r    test_binops_index_scalarz6TestNumericArithmeticUnsorted.test_binops_index_scalar  sR    * C2eCLLNN++V44
fhg>>>>>>r0   c                D   |                     d          }|                     d          }t          ||          }t          t          |                                          t          |                                                    }t	          j        ||d           d S r+  )r0  r?   r   r1  rF   r   )rn   r'  r)  ro   r:   s        r    test_binops_index_powz3TestNumericArithmeticUnsorted.test_binops_index_pow8  s    
 ||E""||E""T4uT]]__--uT]]__/E/EFF
fhg>>>>>>r0   c                    t          ||          }t          t          |                                          |          }t          j        ||d           d S r5  )r?   r   r1  rF   r   )rn   r   r3  ro   r:   s        r    test_binops_index_scalar_powz:TestNumericArithmeticUnsorted.test_binops_index_scalar_powC  sP    
 S&!!uS\\^^,,f55
fhg>>>>>>r0   c                    t          d          }t          t          j                            d                              d                    } |t          |          |          } |||          }t          j        ||           t          j	        t          j                            d                              d                    } |t          j	        ||g          |          } |||          }t          j
        ||           d S )Nr"   rj   )rj   r"   )r   r	   r5   r}   r~   r   rF   rG   r   r.  r/  )rn   rJ   rC   rI   r:   ro   s         r    $test_arithmetic_with_frame_or_serieszBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriesM  s     1ry,,Q//??BBCC2fUmmU++E5!!
vx000RY22155EEfMMNN2blE5>22E::E5!!
fh/////r0   c                n   t          ddd          }|dz  }t          ddd          }t          j        ||d           |dz   }t          ddd          }t          j        ||d           |dz
  }t          d	d
d          }t          j        ||d           |dz  }t          ddd                              d          }t          j        ||d           |dz  }t          ddd          dz  }t          j        ||d           |dz  }|}t          j        ||d           ||z  }t	          |j        |j        z            }t          j        ||d           t          ddd          }|dz  }t	          |j                  dz  }t          j        t	          |j                  |d           d S )Nr   rZ   rj   r_   r   Tr.  r  r   r"   ri   r#     )r   rF   r   r   r   r  _values)rn   r   ro   r:   s       r    test_numeric_compat2z2TestNumericArithmeticUnsorted.test_numeric_compat2h  s    B""qaQ''
fhd;;;;qaQ''
fhd;;;;qb!Q''
fhd;;;;qaA&&--i88
fhd;;;;qaQ''!+
fhd;;;;
fhd;;;; scj011
fhd;;;; D!$$a%%*
eFM22HDIIIIIIr0   zidx, div, expectedr?  i  ii7!   C   d   r  r   r   rk   ir>  ii8c                :    t          j        ||z  |d           d S )NTr.  rf  )rn   r   rT  r:   s       r    test_numeric_compat2_floordivz;TestNumericArithmeticUnsorted.test_numeric_compat2_floordiv  s&    0 	cSj($??????r0   r%   delta)ri   r   r4   c                    ||          }t          g d|          }||z   }t          |j        |z   |          }t          j        ||           ||z
  }t          |j        |z
  |          }t          j        ||           t          j        ||z   d|z             t          j        ||z
  d|z             ||z
  j        rJ d S )N)rZ   r  r  r$   rj   r   )r   r  rF   r   empty)rn   r%   rH  rC   ro   r:   s         r    test_addsub_arithmeticz4TestNumericArithmeticUnsorted.test_addsub_arithmetic  s     elll%000-U;;;
fh/// -U;;;
fh///
eemQY777
eemQY777EM((((((r0   c                \   t          t          j        t          j        t          j        g          }t          g d          }t          g d          }t          j        ||          }t          j        ||          }t          j        ||          }||z  }t          j        ||           d S )N)r   r   r   )r  r  r  )r   r5   r   rF   rt   r   )rn   ru   rK   rL   r:   ro   s         r    test_pow_nan_with_zeroz4TestNumericArithmeticUnsorted.test_pow_nan_with_zero  s    bfbfbf-..iii  ))t^44~66?8^<<u
)))))r0   N)r,   r   r   r   r   r   r>   r  r$  r  rL  rK  r   r2  r6  r8  r:  r?   rz  r<  rA  r   r@  rG  r5   r&   r#   rK  rM  r   r0   r    r&  r&    s        [LLL	
	 	 [Jq"a  Jq"a  JsB""Jq"b!!		
  [Jq"a  Jq"a  JsB""Jq"b!!		
 ? ?  	 	8? [LLL	
	 	 [Jq"a  Jq"a  JsB""Jq"b!!		
  [Xzzz22? ? 32 	 	(?
 [VjjB&:&:JJq"a<P<P%QRR[VjjB&:&:JJq"a<P<P%QRR? ? SR SR? [UZZ2q%9%9::aQ;O;O$PQQ[X1v..? ? /. RQ? [LLLLL	
 0 0 0'J 'J 'JR [ Z4##Q

1c1(=(=>ZT2&&JJr2q,A,AB
1dA&&jjD!,,455: 
1c1%%jjC++344;
 Z]]B

1.Z1a  !ZZ1a%8%89ZC$$aBA)>)>?ZdA&&::a==9#	
 ,@ @- ,@ [Wrx&<==[Wjjj11) ) 21 >=)"
* 
* 
* 
* 
*r0   r&  c                 J   t          j        g dg dd          } t          j        dg dig d          }|                     |d	          }t          j        t          j        d
dd
gdt          j        dt          j        gd          }t          j        ||d           d S )Nrm   )皙?NrO  )r  r  r  )rO  g333333?g?)r   rj   rk   r  ri   
fill_valuer  rl   F)check_index_type)r   r.  	rfloordivr5   r   r   rF   r/  )r0  rI   ro   r:   s       r    test_fill_value_inf_maskingrT    s    	III,<,<,<==	>	>BL#/yyyAAAE\\%A\..F|vsC%S"&#rv,FGG H &(UCCCCCCr0   c                 D   t          j        t          j        d          t          j        ddddgdz  t          j        gdz  t          j        d          dt          d          t          d          	          } t          j        t          j                            d                              d
          t          d          t          d          	          }t          j
        d           5  |                     |d           d d d            d S # 1 swxY w Y   d S )NrZ   ri   rj   rk   r   )r  r  r  r   
abcdefghijr  r4  )rZ   r   
abcdefghjkABCXr   rP  )r   r.  r5   r   r   r  r}   r~   r   rF   assert_produces_warningrT  )pdf1pdf2s     r    test_dataframe_div_silencedr\    sH   <2&!Q1%)&B2		
 	
 <  V	 	 	D <
	a  0099<  V  D
 
	#D	)	) % %!$$$% % % % % % % % % % % % % % % % % %s   0DDDzdata, expected_datarm   )r   rj   r   box_pandas_1d_arraybox_1d_arrayc                >   t          |d          } | |          }| ||          z   } ||          |z   }t          || fv rt          }nt          || fv rt          }nt           } ||d          }	t          j        ||	           t          j        ||	           d S )Nr  r$   )r   r	   r   rF   r   )
r]  r^  r  expected_datar   	containerrK   rL   clsr:   s
             r     test_integer_array_add_list_likerc    s     G
$
$
$C##C((I||D)))DL*E, 3444	<!45	5	5s=000HOD(###OE8$$$$$r0   c                    t          j        dt          j                            d                              d          it           j                            ddgg dgddg          	          } |                                 }|j	        
                    d
d          |_	        | |z
  }t          j        dgdz  dg| j	                  }t          j        ||           d S )Nr   rj      r   rm   levAlevB)namesr  r   ri   rl   )r5  rC   )r   r.  r5   r}   r~   r   
MultiIndexfrom_productr   rC   	swaplevelrF   r/  )r0  df2ro   r:   s       r    "test_sub_multiindex_swapped_levelsrm  
  s    		bi##A&&66q99:m((3Z#FF+; ) 
 

 
 
B ''))C	##Aq))CI#XF|SEAIuBHEEEH&(+++++r0   power)ri   rj   r"   string_size)r   ri   rj   r"   c                2   t          j        t          d| z                      }t          j        |t           j                  }d|z  }||k    }t          j        t          j        |j        t                              }t          j
        ||           d S )NrZ   r$    )r5   r   rs   r   r.  r&   r   r  r   rF   r/  )rn  ro  r   rL   rK   ro   r:   s          r    test_empty_str_comparisonrr    s     	r5y!!""AL"(+++EDd]F|BHU[===>>H&(+++++r0   c                    t          g d          } t          g dd          }| |z   }t          g dd          }t          j        ||           | |z
  }t          g dd          }t          j        ||           d S )Nrh   )rj   ri   rk   UInt64r$   )rk   rk   re  Float64)r4   ri   r   )r	   rF   rG   )series1series2ro   r:   s       r    test_series_add_sub_with_UInt64rx  &  s    YYYGYYYh///GwFiiiy111H68,,,wFjjj	222H68,,,,,r0   )<
__future__r   collectionsr   datetimer   decimalr   r>   numpyr5   r   pandasr   r   r   r	   r
   r   r   r   pandas._testing_testingrF   pandas.corer   pandas.core.computationr   r   pandas.tests.arithmetic.commonr   r   fixturer!   r   r2   r;   rN   _ldtypesr\   __annotations__extendrf   r   r   rN  r  r  r  r&  rT  r\  r   r   to_arrayr  rc  rm  rr  rx  r   r0   r    <module>r     sV   # " " " " " "                                                          7 7 7 7 7 7        a\	87LMMM  NM  	ibi+++,,ibi)))**ibi***++
1 	#"	 	 	 	 	  4 4 4 NMM)z"b"556 6 6 6 6 FFXFFF G G G VVHVVV W W W3 3 3 3 3 3 3 3t[5 [5 [5 [5 [5 [5 [5 [5DT8 T8 T8 T8 T8 T8 T8 T8no  o  o  o  o  o  o  o dn0 n0 n0 n0 n0 n0 n0 n0bN, N, N, N, N, N, N, N,b0? 0? 0? 0? 0? 0? 0? 0?fO* O* O* O* O* O* O* O*dD D D% % %* ii  .0LMM%bhPT)UVV% % WV NM	 %,, , , ))),,55, , 65 -,,- - - - -r0   