
     f              
         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ejD                  g      d        Z# ej@                   e e
jH                  dd             e e
jH                  dd             e e
jH                  dd             ed      gd       d        Z% ej@                  eeejD                  e
j&                  e&gd       d        Z'd Z(d Z)g dZ* edd d      gZ+d!e,d"<   e+j[                  e*D  cg c]  }  eg d#|        c}        e+j[                  e*D  cg c]  } | d$k7  s	 eg d#|        c}         G d% d&      Z. G d' d(      Z/ G d) d*      Z0 G d+ d,      Z1 G d- d.      Z2 G d/ d0      Z3 G d1 d2      Z4 G d3 d4      Z5d5 Z6d6 Z7ejp                  js                  d7g d8g d9fg      d:        Z:d; Z;ejp                  js                  d<g d=      ejp                  js                  d>g d?      d@               Z<dA Z=yc c} w c c} w )B    )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   |j                         5 }|j                  t        d| j                         | j                   d d d        y # 1 sw Y   y xY ww)N_MIN_ELEMENTS)contextsetattrexprparam)requestmonkeypatchms      ^/var/www/html/py/new-venv/lib/python3.12/site-packages/pandas/tests/arithmetic/test_numeric.pyswitch_numexpr_min_elementsr!   !   sF     				 !			$7mm  s   A0A	AAA)r   c                    | j                   S )zL
    Fixture to test behavior for Index, Series and tm.to_array classes
    r   r   s    r    box_pandas_1d_arrayr%   (   s    
 ==       float64dtypeint64uint64c                ,    t        |       j                  S Ntype__name__xs    r    <lambda>r4   8   s    $q'"" r&   )r   r   c                    | j                   S )z7
    Several types of numeric-dtypes Index objects
    r#   r$   s    r    numeric_idxr6   0   s     ==r&   c                    | j                   S r.   )r1   r2   s    r    r4   r4   B   s
    qzz r&   c                    | j                   S )zc
    Fixture to test behavior for Index, Series, tm.to_array, numpy Array and list
    classes
    r#   r$   s    r    box_1d_arrayr9   A   s     ==r&   c                    t        j                  t        j                  |             j                         r=t        j                  t        j                  |             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_zerorB   L   sT    
 
zz"((4.!%%' zz"((4.)--///BOr&   c                   |t         j                  t        j                  fv rt	        j
                  |       n| }|t         j                  t        j                  fv rt	        j
                  |      n|} |||      }|j                  ||      }t        |t              rE|j                  j                  | j                        s |j                  j                  d       |_	        t        j                  ||       y r.   )r   rpowoperatorpowr<   abscombine
isinstancer	   indexequals
_with_freqtmassert_series_equal)seriesotheropleftrightcython_or_numpyr   s          r    
compare_oprU   [   s    CHHhll#;;266&>DCHHhll#;;BFF5MEuoO\\%$F% ););FLL)I||..t4?F3r&   )i1i2i4i8u1u2u4u8f2f4f8
   (   zlist[Index | Series]lefts)ra         r^   c                  $    e Zd Zd Zd Zd Zd Zy)TestNumericComparisonsc                   t        j                  d      t        g d      kD  }dt        g d      kD  }t        j                  ||       t        g d      t        j                  d      k  }t        g d      dk  }t        j                  ||       t        j
                  g d      d   t        g d      kD  }dt        g d      kD  }t        j                  ||       y )Nr                    r   rj   rk   )r<   r(   r	   rM   rN   r   )selfresultrA   s      r    (test_operator_series_comparison_zerorankz?TestNumericComparisons.test_operator_series_comparison_zeroranks   s    A	!22	**
vx0	"RZZ]2)$s*
vx0)$Q'&*;;	**
vx0r&   c                    |}t        j                  t        d            }t        j                  ||      }t        |||       y Nr'   )r<   r   rangerM   box_expectedr   )ro   box_with_arrayfixed_now_tstsobjs        r    test_df_numeric_cmp_dt64_raisesz6TestNumericComparisons.test_df_numeric_cmp_dt64_raises   s5    hhuQx ooc>2!#r>:r&   c                V   t        t        j                  j                  d      j	                  d      d      }t        t        j                  j                  d      j	                  d            }t        j                  d      |_        t        j                  ||z  d||z  z         y )Nrk   r'   r   namez
2000-01-01rj   )
r	   r<   randomdefault_rngstandard_normalpd	Timestampr}   rM   rN   )ro   abs      r    test_compare_invalidz+TestNumericComparisons.test_compare_invalid   sz     299((+;;A>QG299((+;;A>?l+
q1ua1q5k2r&   c                   |}|t         ur|nt        j                  }t        t        j                  j                  d      j                  d            }t        j                  ||d      }|j                         5 }|j                  t        dd       |dk(  }d d d        t        t        j                  dt                    }t        j                  ||d      }t        j                  |       |j                         5 }|j                  t        dd       |dk7  }d d d        t        j                  ||        d	}	t        j                   t"        |	
      5  |dk   d d d        y # 1 sw Y   xY w# 1 sw Y   XxY w# 1 sw Y   y xY w)Nrk   3   F	transposer   2   r   r)   z0Invalid comparison between dtype=float64 and strmatch)r   r<   ndarrayr	   r~   r   r   rM   ru   r   r   r   zerosboolassert_equalpytestraises	TypeError)
ro   rv   r   boxxboxry   r   rp   rA   msgs
             r    $test_numeric_cmp_string_numexpr_pathz;TestNumericComparisons.test_numeric_cmp_string_numexpr_path   sD   &sBJJRYY**1-==bABooc3%8  " 	 aIIdOR0CZF	  "((2T23??8TUC
)  " 	 aIIdOR0CZF	  		*@]]9C0 	#I	 		  	 	  	 	 	s$   <E+E7F+E47F FN)r1   
__module____qualname__rq   rz   r   r    r&   r    rg   rg   r   s    
1;3r&   rg   c                     e Zd Zej                  j                  dej                  ee	g      ej                  j                  de
d       d               Zej                  j                  dej                  ee	g      ej                  j                  de
d       d               Zej                  j                  d ed	
       ed	
      j                          ed	
      j                          ed	
      j                         j!                  d       ed	
      j                         j!                  d      gd       d        Zej                  j                  d ed	
       ed	
      j                          ed	
      j                         gd       ej                  j                  dej$                  ej&                  g      d               Zd Zej                  j                  d ed       ed      j                          ed      j                          ed      j                         j!                  d       ej,                  d       ej,                  dd      ej0                  j3                  d      ej0                  j5                  d       ej6                  dd       ej6                  d       ej6                  d      j9                          ej6                  dd      j9                          ej6                  d      j;                          ej<                  dd      ej>                  ge       d         Z!y!)".TestNumericArraylikeArithmeticWithDatetimeLikebox_clsrR   c                X    t        |       j                  t        | j                        z   S r.   r0   r1   strr*   r2   s    r    r4   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       T!W%5%5AGG%D r&   r   c                `   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                  ||       y )Nri   m8[s]r)   )10s40s90s)r<   r   r   r*   rI   r	   rM   r   )ro   rR   r   rS   rA   rp   s         r    test_mul_td64arrz?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arr   s     '2!"7u{{KdF#w&'8h'H~~,,,
)
)r&   c                X    t        |       j                  t        | j                        z   S r.   r   r2   s    r    r4   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>   r   r&   c                <   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        d}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   5xY w# 1 sw Y   y xY w)N)ra   rb   Z   r   r)   )1s2s3sz5ufunc '(true_)?divide' cannot use operands with typesr   z3ufunc 'floor_divide' cannot use operands with types)r<   r   r   r*   rI   r	   rM   r   r   r   r   )ro   rR   r   rS   rA   rp   r   s          r    test_div_td64arrz?TestNumericArraylikeArithmeticWithDatetimeLike.test_div_td64arr   s     W5!"4EKKHdF#w&'8h'H~~,,,
)$
) F]]9C0 	5L	 D]]9C0 	EM	 			 		 	s   D7DDD	scalar_tdrj   daysztimedelta64[s]ztimedelta64[ms]c                ,    t        |       j                  S r.   r/   r2   s    r    r4   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       d1g&& r&   c                   |}|}t        t        t        |            D cg c]  }t        |       c}      }t	        |t
        j                        r|j                  }|j                  |      }n"t        |      t        u r|j                  d      }t        j                  ||      }t        j                  ||      }||z  }	t        j                  |	|       ||z  }
t        j                  |
|       y c c}w )Nr   m8[us])r   rt   lenr
   rI   r<   timedelta64r*   astyper0   r   rM   ru   r   )ro   r   r6   rv   r   rJ   nrA   r*   rp   commutes              r    test_numeric_arr_mul_tdscalarzLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar   s     !eCJ>O"P9!#4"PQi0OOEu-H)_	)x0Hs+??8S1"
)e#
* #Qs   C7c                ,    t        |       j                  S r.   r/   r2   s    r    r4   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>  r   r&   r*   c                   |}t        j                  d      j                  t         j                  d      }|j                  |d      }t	        j
                  ||d      }|j                  d      j                  d      }t        |      t        u r|j                  d      }t	        j
                  ||d      }||z  }	t	        j                  |	|       ||z  }	t	        j                  |	|       y )Ni N  Fcopyr   ztimedelta64[D]ztimedelta64[ns]ztimedelta64[us])
r<   aranger   r+   rM   ru   viewr0   r   r   )
ro   r*   r   rv   r   arr_i8arrry   rA   rp   s
             r    *test_numeric_arr_mul_tdscalar_numexpr_pathzYTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar_numexpr_path   s     9%,,RXXE,BmmEm.ooc3%8;;/0778IJ	?i''89H??8SEBy
)S
)r&   c                :   |}|dd }t        ddg      }t        |t        j                        rK|j                  }|t        j                  d      k  rt        j                  d      }|j                  |      }nt        |      t        u r|j                  d      }nt        |t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  f      r|j                  d      }t        j                  ||      }t        j                  ||      }||z  }t        j                   ||       d}	t#        j$                  t&        |	      5  ||z   d d d        y # 1 sw Y   y xY w)	Nrj   rl   z3 Daysz36 Hoursr   r   $cannot use operands with types dtyper   )r   rI   r<   r   r*   r   r0   r   r   offsetsDayHourMinuteSecondrM   ru   r   r   r   r   )
ro   
three_daysr6   rv   r   rJ   rA   r*   rp   r   s
             r    test_numeric_arr_rdiv_tdscalarzMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalar   s6   Aa !8Z"89j"..1$$Erxx(()u-H**x0HZZ^^RZZ__bjj.?.?ARARS

  w/Hs+??8S1e#
)4]]9C0 	J	 	 	s   FFrP      )hourszm8[h]NaTDrl   r   z
2021-01-01z
Asia/Tokyo)tzUTCnsc                t    |}t        j                  ||      }dj                  g d      }t        |||       y )N|)
unsupported operand typez3Addition/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)rM   ru   joinr   )ro   r6   rP   rv   r   rR   r   s          r    &test_add_sub_datetimedeltalike_invalidzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalid?  s:    4 {C0hh
  	#44r&   N)"r1   r   r   r   markparametrizer<   r   r   r	   rc   r   r   r
   to_timedelta64to_pytimedeltar   r   r+   r(   r   r   r   r   r   r   r   r   to_pydatetimeto_datetime64
datetime64r   reprr   r   r&   r    r   r      s
   [[Y5&(AB[[D  * C*" [[Y5&(AB[[D   C6 [[11,,.1,,.1,,.556FG1,,.556GH	
 '  
+
+( [[11,,.1,,.	

 '   [[Wrxx&<=* >*,> [[BB..0B..0B..077@BNN5!BNN5#&JJa JJa  BLL,7BLL&BLL&446BLL%0>>@BLL&446BMM%&FF#	
& +  .5/.5r&   r   c                     e Zd Zd Zd Zd Zd Zej                  j                  de
j                  e
j                  g      d        Zej                  j                  dej                  ej                   ej"                  g      d        Zej                  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 y)TestDivisionByZeroc                   |}t        t        j                  t        j                  t        j                  t        j                  t        j                  gt        j                        }t        ||      }||z  }t        j                  ||       t        |      j                  d      t        j                  |      j                  d      z  }t        j                  |t        |             y Nr)   rY   r   r<   naninfr(   rB   rM   assert_index_equalr	   r   r   rN   ro   r@   r6   idxrA   	expected2rp   
ser_compats           r    test_div_zeroz TestDivisionByZero.test_div_zerot  s    "&&"&&"&&"&&"&&AT )x8	t
fi0C[''-0E0Ed0KK

z6(+;<r&   c                   |}t        t        j                  t        j                  t        j                  t        j                  t        j                  gt        j                        }t        ||      }||z  }t        j                  ||       t        |      j                  d      t        j                  |      j                  d      z  }t        j                  |t        |             y r   r   r   s           r    test_floordiv_zeroz%TestDivisionByZero.test_floordiv_zero  s    "&&"&&"&&"&&"&&AT )x8	
fi0C[''-$1F1Ft1LL

z6(+;<r&   c                   |}t        t        j                  t        j                  t        j                  t        j                  t        j                  gt        j                        }||z  }t	        j
                  ||       t        |      j                  d      t        j                  |      j                  d      z  }t	        j                  |t        |             y r   )
r   r<   r   r(   rM   r   r	   r   r   rN   )ro   r@   r6   r   rA   rp   r   s          r    test_mod_zeroz TestDivisionByZero.test_mod_zero  s    "&&"&&"&&"&&"&&ATt
fh/C[''-0E0Ed0KK

z6&>:r&   c                4   |}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   |       y )Nr)   r   rj   )	r   r<   r   r   r(   rB   divmodrM   r   )ro   r@   r6   r   exleftexrightrp   s          r    test_divmod_zeroz#TestDivisionByZero.test_divmod_zero  s    ?rzzR@

S%dF3T"
fQi0
fQi1r&   rQ   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                  ||       y )Nz#Div by negative 0 not relevant for rl   r)   )r*   r<   r,   r   skipr   r   r   r(   rB   rM   r   )ro   r@   r6   rQ   r   rA   rp   s          r    test_div_negative_zeroz)TestDivisionByZero.test_div_negative_zero  s     		)KK=k>O>O=PQRAo266'BFF7RVVGRVVRVVDBJJW'h7C
fh/r&   dtype1c                ~   |}t        g dd      j                  |      }t        g dd      j                  |      }t        j                  d      5  t        |j                  j                  t        j
                        |j                  z  dd 	      }d d d        t        j                  j                  d
d |j                  dk(  r5|j                  dk(  r&t        j                  r|d
k(  r|j                  d      }||z  }t        j                  ||       |j                  ||z        rJ y # 1 sw Y   xY w)Nrl      r'      firstr|   r   r   r   rl   secondignorer?   r(   r*   r}   r   rl   r+   float32)r	   r   r<   errstatevaluesr(   r   ilocr*   r   USE_NUMEXPRrM   rN   rK   )	ro   r!   r   any_real_numpy_dtypedtype2r  r  rA   rp   s	            r    test_ser_div_serz#TestDivisionByZero.test_ser_div_ser  s    &|'299&A84;;FC[[X& 	##BJJ/&--?H	  VVa;;'!flli&? $?1$D#??95
vx0==%0000	 	s   AD33D<c                <   |}t        ddg      j                  |      }t        ddg      j                  |      }||z  ||z  f}t        |      }|d   j                  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          y )Nrj   r   rk   )
r	   r   listr<   r(   r   r   rM   rN   r	  )ro   r   r  r  rR   rS   rA   rp   s           r    test_ser_divmod_zeroz'TestDivisionByZero.test_ser_divmod_zero  s    &q!f~$$V,1v%%f- 5=$,.>qk((4Ae$
vay(1+6
vay(1+6 U+
vay(1+6
vay(1+6r&   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          y )N      ?       @r   rj   )r	   r<   r   r   rM   rN   r	  )ro   rR   rS   rA   rp   s        r    test_ser_divmod_infz&TestDivisionByZero.test_ser_divmod_inf  s    rvvsm$}%5=$,.e$
vay(1+6
vay(1+6 U+
vay(1+6
vay(1+6r&   c                   t        j                  dgdz        }t         j                  j                  d      j	                  d      }t        dgdz        }|t        |      z  }t        j                  ||       t        |      |z  }t        j                  ||       t        |      t        |      z  }t        j                  ||       y )Nr   r'   rk   rm   )r<   r   r~   r   r   r	   rM   rN   )ro   
zero_arraydatarA   rp   s        r    test_rdiv_zero_compatz(TestDivisionByZero.test_rdiv_zero_compat  s    XXqcAg&
yy$$Q'77:3%!)$fTl*
vx0
#d*
vx0
#fTl2
vx0r&   c                    t        g dd      }t        t        j                   t        j                  t        j                  gd      }|dz  }t	        j
                  ||       y Nr;   r   rj   r  r|   r   r	   r<   r   r   rM   rN   ro   serrA   rp   s       r    test_div_zero_inf_signsz*TestDivisionByZero.test_div_zero_inf_signs  sH    Zg.BFF7BFFBFF3'Bq
vx0r&   c                    t        g dd      }t        dt        j                  dgd      }d|z  }t        j                  ||       y )Nr  r  r|   rm   r   )r	   r<   r   rM   rN   r  s       r    test_rdiv_zeroz!TestDivisionByZero.test_rdiv_zero  s>    Zg.3,7;S
vx0r&   c                    t        g dd      }|dz  }t        t        j                   t        j                  t        j                  gd      }t	        j
                  ||       y r  r  )ro   r  rp   rA   s       r    test_floordiv_divz$TestDivisionByZero.test_floordiv_div  sH    Zg.BFF7BFFBFF3'B
vx0r&   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                  ||       y )Nr   r  r  r  r  r  r  r  rj   )r   	DataFramer	   r<   r   rM   assert_frame_equal)ro   dfrp   r  r  rA   s         r    test_df_div_zero_dfz&TestDivisionByZero.test_df_div_zero_df  sk    \\LLIJb+,34<<%6 BC
fh/r&   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                  j                  d      |j                  z  }d d d        t        j                  |j                  |j                  	      }t        j                  ||       y # 1 sw Y   LxY w)
Nr   r  r&  r'  rj   r  r  floatrJ   columns)r   r(  r	   r<   r   r  r	  r   rJ   r/  rM   r)  )ro   r*  r  r  rA   r   rp   s          r    test_df_div_zero_arrayz)TestDivisionByZero.test_df_div_zero_array&  s    \\LLIJ+,34<<%6 BC[[X& 	8))""7+bii7C	8c2::F
fh/	8 	8s   )DD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                  j                  d
      dz  }d d d        t        j                  |j                  |j
                        }t        j                  ||       y # 1 sw Y   LxY w)Nr   r  r&  r   r.  rl   rj   r  r  r(   )r   r(  r<   r   rJ   r/  r   r
  rM   r)  r  r	  r   ro   r*  rp   rA   r   result2s         r    test_df_div_zero_intz'TestDivisionByZero.test_df_div_zero_int3  s    \\LLIJa<<bhh

K "ac1f
fh/ [[X& 	2))""9-1C	2,,s"((BJJG
gx0	2 	2s   )DDc                   t        j                  t        j                  j	                  d      j                  d            }|d   }||z  }||z  }|j                  d      j                  |j                  d            rJ y Nrk   )ra   r'   r   r   r(  r<   r~   r   r   fillnarK   ro   r*  r  resres2s        r    (test_df_div_zero_series_does_not_commutez;TestDivisionByZero.test_df_div_zero_series_does_not_commuteB  sl    \\"))//2BB7KLeBhCx::a=''A7777r&   c                   t        j                  g dg dd      }t        g d      }|s|j                  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                  ||       y )Nr   r  r&  r   r   r   r   r(   r   Fr   r+   r)   )r   r(  r	   r   r<   r   rM   r)  )ro   using_array_managerr*  r  r  rA   rp   s          r    test_df_mod_zero_dfz&TestDivisionByZero.test_df_mod_zero_dfM  s    \\LLIJ|$" LL+E34<<%6 BCb
fh/ \\LLIPUV|7334<<%6 BCb
fh/r&   c                L   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        t        j                  |j                  |j                  d
      }t        j                  |j                  dddf<   t        j                  ||       y # 1 sw Y   nxY w)Nr   r  r&  r>  r(   r)   r   r  r  )rJ   r/  r*   rl   rj   )r   r(  r	   r<   r   r  r	  rJ   r/  r
  rM   r)  )ro   r*  r  r  rA   r   r3  s          r    test_df_mod_zero_arrayz)TestDivisionByZero.test_df_mod_zero_arraye  s    \\LLIJ |9534<<%6 BC [[X& 	())bii'C	(,,s"((BJJiX!vvQqS!V
gx0		( 	(s   DD#c                   t        j                  g dg dd      }|dz  }t        j                  t        j                  |j                  |j
                        }t        j                  ||       t        j                  d      5  |j                  j                  d      dz  }d d d        t        j                  |j                  |j
                        }t        j                  ||       y # 1 sw Y   LxY w)	Nr   r  r&  r   r.  r  r  r(   )r   r(  r<   r   rJ   r/  rM   r)  r  r	  r   r2  s         r    test_df_mod_zero_intz'TestDivisionByZero.test_df_mod_zero_intv  s    \\LLIJa<<bhh

K
fh/ [[X& 	2))""9-1C	2,,s"((BJJG
gx0	2 	2s   C22C;c                   t        j                  t        j                  j	                  d      j                  d            }|d   }||z  }||z  }|j                  d      j                  |j                  d            rJ y r6  r7  r9  s        r    (test_df_mod_zero_series_does_not_commutez;TestDivisionByZero.test_df_mod_zero_series_does_not_commute  sn     \\"))//2BB7KLeBhCx::a=''A7777r&   N)!r1   r   r   r   r   r   r   r   r   r   rE   truedivfloordivr   r<   r+   r(   r,   r  r  r  r  r   r"  r$  r+  r0  r4  r<  r@  rB  rD  rF  r   r&   r    r   r   s  s    ==;	2 [[TH$4$4h6G6G#HI
0 J
0 [[X"**bii'HI1 J1: [[X"**bii'HI7 J7,711110018001"18r&   r   c            	         e Zd Zd Zd Zd Zej                  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                  j                  de	j*                  ej,                  g      d        Zd Zd Zd Zd Zej                  j                  dej:                  ddddej<                  g      d        Zd Z d Z!d Z"y)TestMultiplicationDivisionc                D   |}t        t        d      g      }t        t        d      g      }t        j                  ||      }t        j                  ||      }|t        d      z  }t        j                  ||       |t        d      z  }t        j                  ||       y )Nra   r'   rk   )r	   r   rM   ru   r   )ro   rv   r   r  rA   rp   s         r    test_divide_decimalz.TestMultiplicationDivision.test_divide_decimal  s    gbk]#71:,'ooc3'??8S1wqz!
)
"
)r&   c                    t        ddgd      }t        ddgd      }t        dt        j                   g      }|j                  |      }t	        j
                  ||d	       ||z  }t	        j
                  ||       y )
Nrj   r   r  r|   g{Gzg{Gzr  Fcheck_names)r	   r<   r   divrM   rN   )ro   r  r  rA   rp   s        r    test_div_equiv_binopz/TestMultiplicationDivision.test_div_equiv_binop  sr     1vG,X65266'*+E"
vxUC%
vx0r&   c                    |}|dz  }|j                  d      }t        j                  ||       |dz  }t        |j                  dz        }t        j                  ||       y )Nrj   r(   rk   )r   rM   r   r   r	  )ro   r6   r   rp   rA   s        r    test_div_intz'TestMultiplicationDivision.test_div_int  sY    q::i(
fh/qa(
fh/r&   rQ   c                r    |}t        j                  ||      } ||d      }t        j                  ||       y Nrj   )rM   ru   r   )ro   rQ   r6   rv   r   rp   s         r    test_mul_int_identityz0TestMultiplicationDivision.test_mul_int_identity  s0    ooc>2C
$r&   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                  ||       y )Nr'   r+   r)   r,   )r<   r   rM   r   r*   r,   r   )ro   r6   r   didxrp   	arr_dtypes         r    test_mul_int_arrayz-TestMultiplicationDivision.test_mul_int_array  st    Syrxx11
fcAg. #		RYY 6HG	ryy)44
fd+r&   c                    |}||z  }|j                   t        j                  k(  rdnd}|t        t        j                  d|            z  }t        j                  |t        |             y )Nr,   r+   r'   r)   )r*   r<   r,   r	   r   rM   rN   )ro   r6   r   rX  rY  rp   s         r    test_mul_int_seriesz.TestMultiplicationDivision.test_mul_int_series  sT    Sy #		RYY 6HG	vbii;<<
vvd|4r&   c                    |}t        j                  dd      }|t        |dz         z  }t        ||dz   z        }t        j                  ||       y )Nr'   r(   r)   g?)r<   r   r	   rM   rN   )ro   r6   r   rng5rp   rA   s         r    test_mul_float_seriesz0TestMultiplicationDivision.test_mul_float_series  sM    yy),vdSj))$$*-.
vx0r&   c                D    |}||z  }t        j                  ||dz         y Nrk   rM   r   )ro   r6   r   rp   s       r    test_mul_indexz)TestMultiplicationDivision.test_mul_index  s$    s
fc1f-r&   c                    |}d}t        j                  t        |      5  |t        dd      z   d d d        y # 1 sw Y   y xY w)Nz,cannot perform __rmul__ with this index typer   20130101r'   periods)r   r   r   r   ro   r6   r   r   s       r    test_mul_datelike_raisesz3TestMultiplicationDivision.test_mul_datelike_raises  s>    <]]9C0 	4*Z33	4 	4 	4s	   :Ac                   |}d}t        j                  t        |      5  ||dd z   d d d        t        j                  t        |      5  |t        j                  ddg      z   d d d        y # 1 sw Y   HxY w# 1 sw Y   y xY w)Nz(operands could not be broadcast togetherr   r   rl   rj   rk   )r   r   
ValueErrorr<   r   rh  s       r    test_mul_size_mismatch_raisesz8TestMultiplicationDivision.test_mul_size_mismatch_raises  sy    8]]:S1 	#a(N	]]:S1 	#"((Aq6""	# 	#	 		# 	#s   	A0A<0A9<Bc                    |}|}t         ||j                  d            }t        j                  ||      }t        j                  ||      } ||d      }t        j                  ||       y )Nr  r   r	  rM   ru   r   )ro   rQ   r6   rv   r   r   rA   rp   s           r    test_pow_floatz)TestMultiplicationDivision.test_pow_float  s\     CJJ,-ooc3'??8S1C
)r&   c                    |}|}t        |j                  dz        }t        j                  ||      }t        j                  ||      }|dz  }t        j                  ||       y ra  rn  )ro   r6   rv   r   r   rA   rp   s          r    test_moduloz&TestMultiplicationDivision.test_modulo  sU    a(ooc3'??8S1q
)r&   c                (   |}t        |d      }t        j                  d      5  t        |j                  d      \  }}d d d        t	              t	              f}t        ||      D ]  \  }}t        j                  ||        y # 1 sw Y   JxY w)Nrk   r  r  )r   r<   r  r	  r   ziprM   r   )	ro   r6   r   rp   rP  modrA   res	            r    test_divmod_scalarz-TestMultiplicationDivision.test_divmod_scalar
  s    Q[[X& 	-cjj!,HC	- :uSz)) 	(DAq!!!Q'	(		- 	-s   BBc                   |}t        j                  |j                  j                  |j                  j                        dz  }t        ||      }t        j                  d      5  t        |j                  |      \  }}d d d        t              t              f}t        ||      D ]  \  }}	t        j                  ||	        y # 1 sw Y   JxY wNr)   rk   r  r  )r<   onesr	  shaper*   r   r  r   rs  rM   r   
ro   r6   r   rP   rp   rP  rt  rA   ru  rv  s
             r    test_divmod_ndarrayz.TestMultiplicationDivision.test_divmod_ndarray  s    

((

0@0@AAEU#[[X& 	1cjj%0HC	1 :uSz)) 	(DAq!!!Q'	(		1 	1s   'C

Cc                   |}t        j                  |j                  j                  |j                  j                        dz  }t        |t        |            }t        j                  d      5  t        |j                  |      \  }}d d d        t              t              f}t        ||      D ]  \  }}	t        j                  ||	        y # 1 sw Y   JxY wry  )r<   rz  r	  r{  r*   r   r	   r  rs  rM   rN   r|  s
             r    test_divmod_seriesz-TestMultiplicationDivision.test_divmod_series!  s    

((

0@0@AAEVE]+[[X& 	1cjj%0HC	1 #;s+) 	)DAq""1a(	)		1 	1s   0CCrP      igX9v@gQ	c                   t         j                  j                  d      j                  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
               y )Nrk   )r'   rl   c                H    t        j                  | t        d      g d      S )NABCDE)jimjoejolier.  )r   r(  r  r2   s    r    r4   z?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>0  s    bllT'],C
 r&   )r<   r~   r   r   rM   r)  r   )ro   rP   valsfr*  s        r    test_ops_np_scalarz-TestMultiplicationDivision.test_ops_np_scalar-  s    yy$$Q'77?
 tW
b288E?2AdUlOD
bhhuo2AdUlOD
b288E?2AdUlOD
bhhuo2AedlODr&   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	       y )
Nra   r)   
2020-01-01rf  rx   rJ   r}   AFrN  )
r	   r<   r   r(   r   r}   r   r(  rM   rN   )ro   rx   r*  s      r    test_operators_framez/TestMultiplicationDivision.test_operators_frame<  s    IIb

+\26

 \\3)$
rBwRW%H
r2vrRW}%H
rBwRW%H
rBwRW%Hr&   c                   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                  ||       |j                  d      }|d   |d   z  }t	        |d   j
                  |d   j
                  z        }t        j                  ||       |j                  d      }|d   |d   z  }|d   |d   z  }|j                  |      rJ 	 d d d        y # 1 sw Y   y xY w)Nr  r  r   r  r&  r  r  r(   r)   r   rl   r  )r<   r  r   r(  r	   r	  r   r
  rM   rN   rJ   r   rK   )ro   prp   rA   r3  s        r    test_modulo2z'TestMultiplicationDivision.test_modulo2N  s^   [[X& 	.||LMAwZ!H+-Faj//!H+2D2DDIVH!#HMM!A""684wZ!^FbffAGG'BH""684#AwZ!H+-Faj//!H+2D2DDEH""684#AwZ!H+-FkAgJ.G}}W----)	. 	. 	.s   EE>>Fc                h   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        y # 1 sw Y   y xY w)Nr  r  r   rj   rm   )r<   r  r	   r   rM   rN   )ro   srp   rA   s       r    test_modulo_zero_intz/TestMultiplicationDivision.test_modulo_zero_inte  s    [[X& 		51vAUFrvvrvv./H""684UFrvvsm,H""684		5 		5 		5s   BB((B1N)#r1   r   r   rL  rQ  rS  r   r   r   rE   mulr   rmulrH  rV  rZ  r\  r_  rc  ri  rl  rF   rD   ro  rq  rw  r}  r  r<   r   r   r  r  r  r  r   r&   r    rJ  rJ    s    * 10 [[THLL#((H<M<M#NO% P%	,51.4# [[THLL#((#;<
* =
*
*	(
(
) [[Wrvvq#ueRVV&LME NEI$..5r&   rJ  c                     e Zd Zej                  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                  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                  j                  dd      d        Zej                  j                  dd d d gg d      d         Zej                  j                  dd! d" gd#d$g      d%        Zej                  j                  dd& d' d( gg d      d)        Zd* Zy+),TestAdditionSubtractionzfirst, second, expectedri   ABCr3   r  )rk   rk   rk   ABD      @      @ABCD)rk   rk   rk   rk   rl   r   r'   c                h    t        j                  ||z   |       t        j                  ||z   |       y r.   )rM   rN   ro   r  r  rA   s       r    test_add_seriesz'TestAdditionSubtraction.test_add_seriesw  s,    " 	uv~x8
v~x8r&   rJ   c                h    t        j                  ||z   |       t        j                  ||z   |       y r.   )rM   r)  r  s       r    test_add_framesz'TestAdditionSubtraction.test_add_frames  s,    " 	efnh7
funh7r&   c                   t        t        d      D cg c]  }t        |       c}      }d|z   }|j                  d       }t	        j
                  ||       t        j                  d|i      }d|z   }t        j                  d|j                  d       i      }t	        j                  ||       t        t        j                  dt        j                        t        dd	      d
      }|j                         }dj                  ddg      }	t        j                   t"        |	      5  ||z    d d d        t        j                   t"        |	      5  ||z    d d d        y c c}w # 1 sw Y   8xY w# 1 sw Y   y xY w)Nr'   foo_c                    d| z   S Nr  r   r2   s    r    r4   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>  s
    fqj r&   r  c                    d| z   S r  r   r2   s    r    r4   zDTestAdditionSubtraction.test_series_frame_radd_bug.<locals>.<lambda>  s
    FQJ r&   ra   r)   r  rf  rx   r  r   r   zConcatenation operationr   )r	   rt   r   maprM   rN   r   r(  r)  r<   r   r(   r   r   r   r   r   r   )
ro   rw   ir  rp   rA   framerx   fix_nowr   s
             r    test_series_frame_radd_bugz2TestAdditionSubtraction.test_series_frame_radd_bug  sC   uQx0!s1v01$8801
vx0fd^,%<<2F)G HI
fh/IIb

+\26
 ,,.hh*)
 ]]9C0 	bL	 ]]9C0 	L	 	9 12	 		 	s   E$,E)E5)E25E>c                   t        t        j                  j                  d      j	                  d            }||j
                  j                         z
  }||j
                  z
  }t        j                  ||       t        t        dd      t        dd            }||j
                  j                         z
  }||j
                  z
  }t        j                  ||       d}t        j                  t        |      5  ||j
                  j                         z
  }d d d        t        j                  t        j                  j                  d      j	                  d      t        dd            }t        j                   d	      |d
<   |d
   |j
                  j                         z
  |d<   |d
   |j
                  z
  |d<   t        j                  |d   |d   d       y # 1 sw Y   xY w)Nrk   r'   re  rf  r  z.cannot subtract PeriodArray from DatetimeArrayr   )r'   rk   20130102daterA   rp   FrN  )r	   r<   r~   r   r   rJ   	to_seriesrM   rN   r   r   r   r   	to_periodr   r(  r   )ro   r  rA   rp   r   r*  s         r    test_datetime64_with_indexz2TestAdditionSubtraction.test_datetime64_with_index  s   RYY**1-==a@A,,..syy
vx0 z1-Z3
 ,,..syy
vx0>]]9C0 	1399..00F	1 \\II!!!$44V<Z3
 \\*-6
Fbhh&8&8&:::&zBHH,8
r(|R
^O	1 	1s   <GG(c                   |}t         j                  j                  d      j                  d      }t        |t        j                  |j
                              }||z   }||z   }|j                         D ]\  \  }}|j                         D ]D  \  }	}
||   |	   dz  }t        j                  |
      s|
|k(  r,J t        j                  |      rDJ  ^ |j                         D ]_  \  }}|j                         D ]G  \  }	}
||   |	   ||   z   }t        j                  |
      s|
|k(  r/J t        j                  |      rGJ  a y )Nrk   r   r  )r<   r~   r   r	   r   r/  itemsisnan)ro   float_framer  garbage	colSeriesidSum	seriesSumcolrO   r   valorigVals               r    test_frame_operatorsz,TestAdditionSubtraction.test_frame_operators  s3   ))''*11!47"((5==*AB	I%	 ;;= 	-KC"LLN -S*S/A-xx}'>)>88G,,,-	- %??, 	-KC"LLN -S*S/IcN:xx}'>)>88G,,,-	-r&   c                v    t        j                  |g d      }||z   }|dz  }t        j                  ||       y )N)r   CBr  )r/  rk   )r   r(  rM   r)  )ro   r  frame2addedrA   s        r    test_frame_operators_col_alignz6TestAdditionSubtraction.test_frame_operators_col_align  s5    k3GHA:
eX.r&   c           	         t        j                  dg di      }t        j                  ||z   t        j                  ddt        j
                  dgi             y )Nr   )r   Nr   aabb)r   r(  rM   r)  r<   r   )ro   r*  s     r     test_frame_operators_none_to_nanz8TestAdditionSubtraction.test_frame_operators_none_to_nan  sC    \\3 012
b2gr||S4:N4O'PQr&   r*   )r-  r+   c                    t        j                  |      t        j                  dg|      t        j                  dg|      g}|D ]1  }||z   j                  |      sJ t        j                  ||z   |       3 y )Nr)   r  )r/  r*   r   rJ   r*   )r   r(  rK   rM   r)  )ro   r*   framesr*  s       r    test_frame_operators_empty_likez7TestAdditionSubtraction.test_frame_operators_empty_like  st     LLu%LL#e4LLs%0

  	/BG##B'''!!"r'2.	/r&   funcc                    | dz  S ra  r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>  
    1q5 r&   c                    | d d d   S ra  r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>      AccF r&   c                     yrs   r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>      r&   )multiplysliceconstantr   c                    |}t        t        j                  dt        j                        t	        dd      d      } ||      }t        |||       y Nra   r)   r  rf  rx   r  r	   r<   r   r(   r   rU   )ro   all_arithmetic_functionsr  rQ   rO   rP   s         r     test_series_operators_arithmeticz8TestAdditionSubtraction.test_series_operators_arithmetic  sI     &IIb

+\26

 V65"%r&   c                    | dz   S rU  r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>!  s
    1q5 r&   c                     yrs   r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>!  r  r&   addr  c                    |}t        t        j                  dt        j                        t	        dd      d      } ||      }t        |||       y r  r  )ro   comparison_opr  rQ   rO   rP   s         r    test_series_operators_comparez5TestAdditionSubtraction.test_series_operators_compare   sI     IIb

+\26

 V65"%r&   c                    | dz  S ra  r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>/  r  r&   c                    | d d d   S ra  r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>/  r  r&   c                     yrs   r   r2   s    r    r4   z TestAdditionSubtraction.<lambda>/  r  r&   c                r   t        t        j                  dt        j                        t	        dd      d      } ||      }t        ||      }t        |t        j                        rQt        |      t        |      k7  r:g }|D ]2  }|j                  |       |j                  t        j                         4 n|}t        j                  |      }t        j                  d      5  t        |j                  t        j                  |            }d d d        t        |      D ]  \  }}	t!        j"                  t        j                  |      |	       |j$                  |j$                  k(  sJ t!        j&                  |j(                  |j(                  j+                  d               y # 1 sw Y   xY w)	Nra   r)   r  rf  rx   r  r  r  )r	   r<   r   r(   r   r   rI   r   Iterabler   appendr   asarrayr  r	  rs  rM   assert_almost_equalr}   r   rJ   rL   )
ro   r  rO   rP   resultsother_npr   	expectedsrp   rA   s
             r    test_divmodz#TestAdditionSubtraction.test_divmod-  sW    IIb

+\26

 V'eS\\*s6{c%j/H H ("'( H::h'[[X& 	Dv}}bjj.BCI	D !$GY 7 	OFH""2::f#5x@;;&++---!!&,,0G0G0MN	O	D 	Ds   )*F--F6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   |       y )
Nrj      r)   r  ra   rf  rx   r  r   )r	   r<   r   r(   r   r   r   r   rJ   r   rM   rN   )ro   tserrP   rp   exp1exp2s         r    test_series_divmod_zeroz/TestAdditionSubtraction.test_series_divmod_zeroN  s     IIa2::.\26

 qe$rvvhT*$**4HrvvhT*$**4H
vay$/
vay$/r&   N)r1   r   r   r   r   r   r	   r  r<   r   r  r   r(  r  r  r  r  r  r  r  r  r  r  r  r   r&   r    r  r  s  s    [[! yU#>yU#>S"&&"&&1fCP yU#>|4<cB1a(V3G	
99
 [[! c9-T%[Ac9-T%[AcCbffbff#=>d6lS c9-T%[Ac<0VEcAq!RVV#45T&\J	
88DP@-2/R [[W&89	/ :	/ [[	*K8-  
&
& [[+.UJ4G  && [[	*K8-  
O
O80r&   r  c                  l   e Zd Zej                  j                  deeeg      ej                  j                  de	j                  e	j                  e	j                  g      d               Zej                  j                  deeg      ej                  j                  de	j                  e	j                  e	j                  g      d               Zej                  j                  deeg      ej                  j                  de	j                  e	j                  e	j                  g      d               Zd Zy)TestUFuncCompatholderr*   c                   |t         u rt         nt        }|t        u r;|t        j                  k7  rt        j                  d| d       t        ddd      }n |t        j                  d|      d      }t        j                  |      } |t        j                  t        j                  d|            d      }t        j                  ||       y )Nzdtype z not relevant for RangeIndexr   r'   foor|   r)   )r	   r   r   r<   r+   r   r   r   sinrM   r   )ro   r  r*   r   r   rp   rA   s          r    test_ufunc_compatz!TestUFuncCompat.test_ufunc_compatf  s     &(feZ fUG+GHIQ.C1E2?Crvvbii78uE
)r&   c                    |g d|d      }|t         u rt         nt        }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                  ||       y )N)rj   rk   rl   r   r'   r3   r  r`   r)   r|   r  )g      ?r  g      ?r  g      @)r  r        @g      @g      @)g      rm   r  r  r  r  )r  r  r  r  r  )r	   r   r<   sqrtr*   rI   r   r(   rM   ru   r   divide)ro   r  r*   r   r   rp   exps          r    test_ufunc_coercionsz$TestUFuncCompat.test_ufunc_coercionsv  s<    _E<&(fe||t#
63(???BGGBHH_BJJGHsSooc3'
$3$||t#
63(???-RZZcJooc3'
$ s||t#
63(???-RZZcJooc3'
$s||t#
63(???.bjjsKooc3'
$s||t#
63(???-RZZcJooc3'
$s||t#
63(???-RZZcJooc3'
$r&   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                  ||             y )Nri   r3   r  )rm   rm   rm   )r  r  r  r   rj   )
r	   r   r<   modfrI   tupler(   rM   r   ru   )ro   r  r*   ry   r   rp   r  r  s           r    !test_ufunc_multiple_return_valuesz1TestUFuncCompat.test_ufunc_multiple_return_values  s     Ye#6&(fe&%(((_BJJSA_BJJSA
q	2??4#=>
q	2??4#=>r&   c                    t        g dg dd      }t        j                  j                  |ddgd       t        g dg dd      }t	        j
                  ||       y )	Nrn   ri   r3   r  r   rk   ra   )ra   rj      )r	   r<   r  atrM   rN   )ro   r  rA   s      r    test_ufunc_atzTestUFuncCompat.test_ufunc_at  sF    9IC8
		!aVR +YSA
q(+r&   N)r1   r   r   r   r   r   r   r   r	   r<   r+   r,   r(   r  r  r  r	  r   r&   r    r  r  d  s   [[Xz6'BC[[WrxxBJJ&GH* I D* [[Xv7[[WrxxBJJ&GH'% I 8'%T [[Xv7[[WrxxBJJ&GH	? I 8	?,r&   r  c                  N   e Zd Zej                  j                  ddeg      d        Zej                  j                  ddeg      d        Zej                  j                  de	j                  e	j                  e	j                  e	j                  e	j                  g      d        Zy)TestObjectDtypeEquivalencer*   Nc                   |}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
                  ||       y )Nri   r)   )r	   r<   r   rM   ru   r   ro   r*   rv   r   r  rA   rp   s          r    test_numarr_with_dtype_add_nanz9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nan  s    Ye,2662662662%@ooc3'??8S1#
)rvv
)r&   c                   |}t        g d|      }t        g d|      }t        j                  ||      }t        j                  ||      }d|z   }t        j                  ||       |dz   }t        j                  ||       y )Nri   r)   )rk   rl   r   rj   )r	   rM   ru   r   r  s          r    test_numarr_with_dtype_add_intz9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_int  sm    Ye,)51ooc3'??8S1S
)q
)r&   rQ   c                B   t        t        j                  j                  d      j	                  d      t        j
                  d      t              } |d|      } |d|j                  t                    }t        j                  |j                  t              |       y )Nrk   ra   r  r  )r	   r<   r~   r   r   r   objectr   r-  rM   rN   )ro   rQ   r   rp   rA   s        r    test_operators_reverse_objectz8TestObjectDtypeEquivalence.test_operators_reverse_object  st     II!!!$44R8))B-
 Cc3::e,-
v}}U3X>r&   )r1   r   r   r   r   r   r  r  r  rE   r  subr  rG  rH  r  r   r&   r    r  r    s     [[WtVn5* 6* [[WtVn5* 6* [[	x||X\\83C3CXEVEVW
?	
?r&   r  c                     e Zd Zej                  j                  dej                  ej                  ej                  ej                  ej                  g      ej                  j                  d eddd       eddd       eddd       ed	d
d      g      ej                  j                  d eddd       eddd       eddd       ed	d
d      g      d                      Zej                  j                  dej                  ej                  ej                  ej                  ej                  g      ej                  j                  d eddd       eddd       eddd       ed	d
d      g      ej                  j                  dg d      d                      Zej                  j                  d eddd       eddd      g      ej                  j                  d eddd       eddd      g      d               Zej                  j                  d eddd       eddd      g      ej                  j                  dddg      d               Zej                  j                  dej                  ej                  ej                  ej                  ej                  ej"                  ej$                  g      d        Zd Zej                  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                  j                  d(ej2                  ej4                  g      ej                  j                  d)g d*      d+               Zd, Zy-).TestNumericArithmeticUnsortedrQ   idx1r   ra   rj   rd   rk   ir'   r;   idx2c                    |j                  d      }|j                  d      } |||      } |t        |j                               t        |j                                     }t        j                  ||d       y Nr  barequivexact)_renamer   to_numpyrM   r   )ro   rQ   r  r  rp   rA   s         r    test_binops_indexz/TestNumericArithmeticUnsorted.test_binops_index  s_    : ||E"||E"D$eDMMO,eDMMO.DE
fhg>r&   r   scalar)r;   rj   rk   c                     |||      } |t        |j                               |      }t        j                  ||d       y Nr  r  )r   r!  rM   r   )ro   rQ   r   r#  rp   rA   s         r    test_binops_index_scalarz6TestNumericArithmeticUnsorted.test_binops_index_scalar  s8    * CeCLLN+V4
fhg>r&   c                   |j                  d      }|j                  d      }t        ||      }t        t        |j                               t        |j                                     }t	        j
                  ||d       y r  )r   rF   r   r!  rM   r   )ro   r  r  rp   rA   s        r    test_binops_index_powz3TestNumericArithmeticUnsorted.test_binops_index_pow(  s_    
 ||E"||E"T4uT]]_-uT]]_/EF
fhg>r&   c                    t        ||      }t        t        |j                               |      }t        j                  ||d       y r%  )rF   r   r!  rM   r   )ro   r   r#  rp   rA   s        r    test_binops_index_scalar_powz:TestNumericArithmeticUnsorted.test_binops_index_scalar_pow3  s9    
 S&!uS\\^,f5
fhg>r&   c                   t        d      }t        t        j                  j	                  d      j                  d            } |t        |      |      } |||      }t        j                  ||       t        j                  t        j                  j	                  d      j                  d            } |t        j                  ||g      |      } |||      }t        j                  ||       y )Nr'   rk   )rk   r'   )r   r	   r<   r~   r   r   rM   rN   r   r(  r)  )ro   rQ   rJ   rP   rA   rp   s         r    $test_arithmetic_with_frame_or_serieszBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_series=  s     1ryy,,Q/??BCfUmU+E5!
vx0RYY2215EEfMNbllE5>2E:E5!
fh/r&   c                L   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      j                  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       y )Nr   ra   rk   rd   r   Tr  r  r   r'   rj   r(     )r   rM   r   r   r   r	  _values)ro   r   rp   rA   s       r    test_numeric_compat2z2TestNumericArithmeticUnsorted.test_numeric_compat2X  s    B"qaQ'
fhd;qaQ'
fhd;qb!Q'
fhd;qaA&--i8
fhd;qaQ'!+
fhd;
fhd; scjj01
fhd; D!$a%*
eFMM2HDIr&   zidx, div, expectedr/  i  ii7!   C   d   r  r   r   rl   ir.  ii8c                :    t        j                  ||z  |d       y )NTr  rb  )ro   r   rP  rA   s       r    test_numeric_compat2_floordivz;TestNumericArithmeticUnsorted.test_numeric_compat2_floordiv  s    0 	cSj($?r&   r*   delta)rj   r   r;   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 y )N)ra   r  r  r)   rk   r   )r   r	  rM   r   empty)ro   r*   r8  rJ   rp   rA   s         r    test_addsub_arithmeticz4TestNumericArithmeticUnsorted.test_addsub_arithmetic  s     el%0-U;
fh/ -U;
fh/
eemQY7
eemQY7EM(((((r&   c                b   t        t        j                  t        j                  t        j                  g      }t        g d      }t        g d      }t        j                  ||      }t        j                  ||      }t        j                  ||      }||z  }t        j
                  ||       y )N)r   r   r   )r  r  r  )r   r<   r   rM   ru   r   )ro   rv   rR   rS   rA   rp   s         r    test_pow_nan_with_zeroz4TestNumericArithmeticUnsorted.test_pow_nan_with_zero  sz    bffbffbff-.i )t^4~6??8^<u
)r&   N)r1   r   r   r   r   r   rE   r  r  r  rH  rG  r   r"  r&  r(  r*  rF   rt  r,  r1  r   r0  r7  r<   r+   r(   r;  r=  r   r&   r    r  r    s_    [[LLLLLL	
	 [[q"a q"a sB"q"b!		
 [[q"a q"a sB"q"b!		
?	8? [[LLLLLL	
	 [[q"a q"a sB"q"b!		
 [[Xz2? 3	(?
 [[VjB&:Jq"a<P%QR[[VjB&:Jq"a<P%QR? S S? [[UZ2q%9:aQ;O$PQ[[X1v.? / R? [[LLLLLLLLLL	
00'JR [[ 4#Q
1c1(=>T2&Jr2q,AB1dA&jD!,445: 1c1%jC+334;
 ]B
1.1a !Z1a%89C$aBA)>?dA&:a=9#	
,@-,@ [[Wrxx&<=[[Wj1) 2 >)"
*r&   r  c                 \   t        j                  g dg dd      } t        j                  dg dig d      }| j                  |d	      }t        j                  t        j                  d
dd
gdt        j
                  dt        j
                  gd      }t        j                  ||       y )Nrn   )皙?Nr?  )r  r  r  )r?  g333333?g?)r   rk   rl   r  rj   
fill_valuer  rm   )r   r(  	rfloordivr<   r   r   rM   r)  )r*  rP   rp   rA   s       r    test_fill_value_inf_maskingrC    s    	I,<=	>BLL#/yAE\\%A\.F||vvsC%S"&&#rvv,FGH &(+r&   c                 $   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                  j                  d      j                  d
      t        d      t        d      	      }t        j                  d       5  | j                  |d       d d d        y # 1 sw Y   y xY w)Nra   rj   rk   rl   r   )r  r  r  r   
abcdefghijr  r.  )ra   r   
abcdefghjkABCXr   r@  )r   r(  r<   r   r   r  r~   r   r   rM   assert_produces_warningrP  )pdf1pdf2s     r    test_dataframe_div_silencedrK    s    <<2&&!Q1%)&&B2		
 < V	D <<
		a 009< VD
 
	#	#D	) %!$% % %s   )DDzdata, expected_datarn   )r   rk   r   c                   t        |d      } | |      }| ||      z   } ||      |z   }t        || fv rt        }nt        || fv rt        }nt         } ||d      }	t        j                  ||	       t        j                  ||	       y )NInt64r)   )r   r	   r   rM   r   )
r%   r9   r  expected_datar   	containerrR   rS   clsrA   s
             r     test_integer_array_add_list_likerQ    s     G
$C#C(I|D))D*E, 344	<!45	5=0HOOD(#OOE8$r&   c                    t        j                  dt        j                  j	                  d      j                  d      it         j                  j                  ddgg dgddg      	      } | j                         }|j                  j                  d
d      |_	        | |z
  }t        j                  dgdz  dg| j                        }t        j                  ||       y )Nr   rk      r   rn   levAlevB)namesr  r   rj   rm   )r/  rJ   )r   r(  r<   r~   r   r   
MultiIndexfrom_productr   rJ   	swaplevelrM   r)  )r*  df2rp   rA   s       r    "test_sub_multiindex_swapped_levelsr[    s    		bii##A&66q9:mm((3Z#FF+; ) 

B '')C		##Aq)CI#XF||SEAIuBHHEH&(+r&   power)rj   rk   r'   string_size)r   rj   rk   r'   c                @   t        j                  t        d| z              }t        j                  |t         j
                        }d|z  }||k(  }t        j                  t        j                  |j                  t                    }t        j                  ||       y )Nra   r)    )r<   r   rt   r   r(  r+   r   r{  r   rM   r)  )r\  r]  r   rS   rR   rp   rA   s          r    test_empty_str_comparisonr`    so     	r5y!"ALL"((+EDd]F||BHHU[[=>H&(+r&   c                     t        g d      } t        g dd      }| |z   }t        g dd      }t        j                  ||       | |z
  }t        g dd      }t        j                  ||       y )Nri   )rk   rj   rl   UInt64r)   )rl   rl   rS  Float64)r;   rj   r   )r	   rM   rN   )series1series2rp   rA   s       r    test_series_add_sub_with_UInt64rf    sd    YGYh/GwFiy1H68,wFj	2H68,r&   )>
__future__r   collectionsr   datetimer   decimalr   rE   numpyr<   r   pandasr   r   r   r	   r
   r   r   r   pandas._testing_testingrM   pandas.corer   pandas.core.computationr   r   pandas.tests.arithmetic.commonr   r   fixturer!   to_arrayr%   r   r6   r  r9   rB   rU   _ldtypesrc   __annotations__extendrg   r   r   rJ  r  r  r  r  rC  rK  r   r   rQ  r[  r`  rf  r)   s   0r    <module>rw     s   #            7 a\	87LM N vr{{34 5  	ibii+,ibii)*ibii*+1 	#		 62;;$7=Q4 N)"b"56 6 XFEf\/F G HV5QUeL.V W3 3t@5 @5NX8 X8vb5 b5Jn0 n0bO, O,d0? 0?fO* O*d,%* %	%,, ),5, 6 -,-S- GVs   %I9
I>I>