
    .iZ              
         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
jD                  dd             e e
jD                  dd             e e
jD                  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'jS                  e&D  cg c]  }  eg d|        c}        e'jS                  e&D  cg c]  } | d k7  s	 eg d|        c}         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jh                  jk                  d3g d4g d5fg      ejh                  jk                  d6eeejl                  g      ejh                  jk                  d7eeejl                  e
j&                  e7g      d8                      Z8d9 Z9ejh                  jk                  d:g d;      ejh                  jk                  d<g d=      d>               Z:d? Z;yc c} w c c} w )@    )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      b/var/www/app/trading-bot/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   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                  |             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_zeror;   9   sT    
 
zz"((4.!%%' zz"((4.)--///BOr0   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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    CHHhll#;;266&>DCHHhll#;;BFF5MEuoO\\%$F% ););FLL)I||..t4?F3r0   )i1i2i4i8u1u2u4u8f2f4f8
   (   zlist[Index | Series]lefts)rZ         rW   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   rc   rd   )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	**
vx0	"RZZ]2)$s*
vx0)$Q'&*;;	**
vx0r0   c                    |}t        j                  t        d            }t        j                  ||      }t        |||       y Nr"   )r5   r   rangerF   box_expectedr   )rh   box_with_arrayfixed_now_tstsobjs        r    test_df_numeric_cmp_dt64_raisesz6TestNumericComparisons.test_df_numeric_cmp_dt64_raisesl   s5    hhuQx ooc>2!#r>:r0   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 )Nrd   r"   r   namez
2000-01-01rc   )
r	   r5   randomdefault_rngstandard_normalpd	Timestamprv   rF   rG   )rh   abs      r    test_compare_invalidz+TestNumericComparisons.test_compare_invalidt   sz     299((+;;A>QG299((+;;A>?l+
q1ua1q5k2r0   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)Nrd   3   F	transposer   2   r|   r$   z0Invalid comparison between dtype=float64 and strmatch)r   r5   ndarrayr	   rw   rx   ry   rF   rn   r   r   r   zerosboolassert_equalpytestraises	TypeError)
rh   ro   r   boxxboxrr   r   ri   r:   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)r,   
__module____qualname__rj   rs   r~   r    r0   r    r`   r`   _   s    
1;3r0   r`   c                  <   e Zd 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
      j                  d       ed
      j                  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
      j                  d       ed
      j                  d      j!                          ed
      j                  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j0                  d       ej0                  dd      ej4                  j7                  d      ej4                  j9                  d       ej:                  dd       ej:                  d       ej:                  d      j=                          ej:                  dd       j=                          ej:                  d      j?                          ej@                  dd      ejB                  ge"      d!        Z#y")#.TestNumericArraylikeArithmeticWithDatetimeLikec                l   |}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                  ||       y )Nre      rc   daysrd      )r5   r   rF   rn   r
   r   r   )rh   ro   r   rK   rL   ri   r:   result2s           r    test_mul_timedelta_listzFTestNumericArraylikeArithmeticWithDatetimeLike.test_mul_timedelta_list   s    xxAtS)"I1$56!9!#4iQ6G"HI??8S1
)$,
*r0   box_clsrK   c                X    t        |       j                  t        | j                        z   S r)   r+   r,   strr%   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       T!W%5%5AGG%D r0   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 )Nrb   m8[s]r$   )10s40s90s)r5   r   r   r%   rB   r	   rF   r   )rh   rK   r   rL   r:   ri   s         r    test_mul_td64arrz?TestNumericArraylikeArithmeticWithDatetimeLike.test_mul_td64arr   s     '2!"7u{{KdF#w&'8h'H~~,,,
)
)r0   c                X    t        |       j                  t        | j                        z   S r)   r   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>   r   r0   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)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   )rh   rK   r   rL   r:   ri   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_tdrc   r   nsztimedelta64[s]ztimedelta64[ms]c                ,    t        |       j                  S r)   r*   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>       d1g&& r0   c                   |}|}t        t        t        |            D cg c]  }t        |       c}d      }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   zm8[ns]r$   m8[us])r   rm   lenr
   rB   r5   timedelta64r%   astyper+   r   rF   rn   r   )rh   r   r2   ro   r   rC   nr:   r%   ri   commutes              r    test_numeric_arr_mul_tdscalarzLTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_mul_tdscalar   s     !(-c%j(9:1YA:(
 i0OOEu-H)_	)x0Hs+??8S1"
)e#
* ;s   C9c                ,    t        |       j                  S r)   r*   r-   s    r    r/   z7TestNumericArraylikeArithmeticWithDatetimeLike.<lambda>  r   r0   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])
r5   aranger   r&   rF   rn   viewr+   r   r   )
rh   r%   r   ro   r   arr_i8arrrr   r:   ri   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
)r0   c                0   |}|dd }t        ddg      }t        |t        j                        rK|j                  }|t        j                  d      k  rt        j                  d      }|j                  |      }nt        |      t        u st        |t              r!|j                  dk(  r|j                  d      }nt        |t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  f      r|j                  d      }t!        j"                  ||      }t!        j"                  ||      }t        |t        j                  j                        r,d}t%        j&                  t(        |	      5  ||z   d d d        n||z  }	t!        j*                  |	|       d
}t%        j&                  t(        |	      5  ||z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nrc   re   z3 Daysz36 Hoursr   usr   unsupported operand typer   $cannot use operands with types dtype)r   rB   r5   r   r%   r   r+   r   r
   unitrz   offsetsDayHourMinuteSecondrF   rn   r   r   r   r   )
rh   
three_daysr2   ro   r   rC   r:   r%   r   ri   s
             r    test_numeric_arr_rdiv_tdscalarzMTestNumericArraylikeArithmeticWithDatetimeLike.test_numeric_arr_rdiv_tdscalar   s   Aa !8Z"89j"..1$$Erxx(()u-H**z9-*//T2Ix0HZZ^^RZZ__bjj.?.?ARARS

  w/Hs+??8S1j"**..1,Cy4 #U"# #  %'FOOFH-8C]]9C0 	J	 	# #	 	s   *H 1H H	HrI      )hourszm8[h]NaTDre   r   z
2021-01-01z
Asia/Tokyo)tzUTCc                t    |}t        j                  ||      }dj                  g d      }t        |||       y )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   rn   joinr   )rh   r2   rI   ro   r   rK   r   s          r    &test_add_sub_datetimedeltalike_invalidzUTestNumericArraylikeArithmeticWithDatetimeLike.test_add_sub_datetimedeltalike_invalidG  s:    4 {C0hh
  	#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   rz   r   r   r   r{   to_pydatetimeto_datetime64
datetime64r   reprr   r   r0   r    r   r      sI   +" [[Y5&(AB[[D  * C*" [[Y5&(AB[[D   C6 [[1%%d+1%%d+::<1,,.1,,.556FG1,,.556GH	
 '  
+
+, [[1%%d+1%%d+::<1%%d+::<	

 '   [[Wrxx&<=* >*,%N [[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/.5r0   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$   rR   r   r5   naninfr#   r;   rF   assert_index_equalr	   r   r   rG   rh   r9   r2   idxr:   	expected2ri   
ser_compats           r    test_div_zeroz TestDivisionByZero.test_div_zero|  s    "&&"&&"&&"&&"&&AT )x8	t
fi0C[''-0E0Ed0KK

z6(+;<r0   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(+;<r0   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   r5   r   r#   rF   r   r	   r   r   rG   )rh   r9   r2   r   r:   ri   r   s          r    test_mod_zeroz TestDivisionByZero.test_mod_zero  s    "&&"&&"&&"&&"&&ATt
fh/C[''-0E0Ed0KK

z6&>:r0   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   rc   )	r   r5   r   r   r#   r;   divmodrF   r   )rh   r9   r2   r   exleftexrightri   s          r    test_divmod_zeroz#TestDivisionByZero.test_divmod_zero  s    ?rzzR@

S%dF3T"
fQi0
fQi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                  ||       y )Nz#Div by negative 0 not relevant for re   r$   )r%   r5   r'   r   skipr   r   r   r#   r;   rF   r   )rh   r9   r2   rJ   r   r:   ri   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/r0   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re   r   r"   r   firstru   r   r   r   re   secondignorer8   r#   r%   rv   r   re   r&   float32)r	   r   r5   errstatevaluesr#   r   ilocr%   r   USE_NUMEXPRrF   rG   rD   )	rh   r!   r   any_real_numpy_dtypedtype2r   r  r:   ri   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 )Nrc   r   rd   )
r	   r   listr5   r#   r   r   rF   rG   r  )rh   r   r  r  rK   rL   r:   ri   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+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          y )N      ?       @r   rc   )r	   r5   r   r   rF   rG   r  )rh   rK   rL   r:   ri   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+6r0   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"   rd   rf   )r5   r   rw   rx   ry   r	   rF   rG   )rh   
zero_arraydatar:   ri   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0r0   c                    t        g dd      }t        t        j                   t        j                  t        j                  gd      }|dz  }t	        j
                  ||       y Nr4   r   rc   r   ru   r   r	   r5   r   r   rF   rG   rh   serr:   ri   s       r    test_div_zero_inf_signsz*TestDivisionByZero.test_div_zero_inf_signs  sH    Zg.BFF7BFFBFF3'Bq
vx0r0   c                    t        g dd      }t        dt        j                  dgd      }d|z  }t        j                  ||       y )Nr  r   ru   rf   r   )r	   r5   r   rF   rG   r  s       r    test_rdiv_zeroz!TestDivisionByZero.test_rdiv_zero  s>    Zg.3,7;S
vx0r0   c                    t        g dd      }|dz  }t        t        j                   t        j                  t        j                  gd      }t	        j
                  ||       y r  r  )rh   r  ri   r:   s       r    test_floordiv_divz$TestDivisionByZero.test_floordiv_div  sH    Zg.BFF7BFFBFF3'B
vx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                  ||       y )Nr   r  r   r  r  r  r  r  rc   )rz   	DataFramer	   r5   r   rF   assert_frame_equal)rh   dfri   r   r  r:   s         r    test_df_div_zero_dfz&TestDivisionByZero.test_df_div_zero_df$  sk    \\LLIJb+,34<<%6 B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                  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&  rc   r  r  floatrC   columns)rz   r'  r	   r5   r   r  r  r   rC   r.  rF   r(  )rh   r)  r   r  r:   r   ri   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-  re   rc   r  r  r#   )rz   r'  r5   r   rC   r.  r   r	  rF   r(  r  r  r   rh   r)  ri   r:   r   r   s         r    test_df_div_zero_intz'TestDivisionByZero.test_df_div_zero_int;  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 Nrd   )rZ   r"   r   rz   r'  r5   rw   rx   ry   fillnarD   rh   r)  r  resres2s        r    (test_df_div_zero_series_does_not_commutez;TestDivisionByZero.test_df_div_zero_series_does_not_commuteJ  sl    \\"))//2BB7KLeBhCx::a=''A7777r0   c                   t        j                  g dg dd      }t        g d      }|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$   )rz   r'  r	   r   r5   r   rF   r(  )rh   r)  r   r  r:   ri   s         r    test_df_mod_zero_dfz&TestDivisionByZero.test_df_mod_zero_dfU  s    \\LLIJ|$Y'34<<%6 BCb
fh/ \\LLIPUV|7334<<%6 BCb
fh/r0   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  )rC   r.  r%   re   rc   )rz   r'  r	   r5   r   r  r  rC   r.  r	  rF   r(  )rh   r)  r   r  r:   r   r   s          r    test_df_mod_zero_arrayz)TestDivisionByZero.test_df_mod_zero_arrayi  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#   )rz   r'  r5   r   rC   r.  rF   r(  r  r  r   r1  s         r    test_df_mod_zero_intz'TestDivisionByZero.test_df_mod_zero_intz  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 r4  r5  r7  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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#  r*  r/  r2  r:  r=  r?  rA  rC  r   r0   r    r   r   {  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0(1"18r0   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"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 )NrZ   r"   rd   )r	   r   rF   rn   r   )rh   ro   r   r  r:   ri   s         r    test_divide_decimalz.TestMultiplicationDivision.test_divide_decimal  s    gbk]#71:,'ooc3'??8S1wqz!
)
"
)r0   c                    t        ddgd      }t        ddgd      }t        dt        j                   g      }|j                  |      }t	        j
                  ||d	       ||z  }t	        j
                  ||       y )
Nrc   r   r   ru   g{Gzg{Gzr  Fcheck_names)r	   r5   r   divrF   rG   )rh   r   r  r:   ri   s        r    test_div_equiv_binopz/TestMultiplicationDivision.test_div_equiv_binop  sr     1vG,X65266'*+E"
vxUC%
vx0r0   c                    |}|dz  }|j                  d      }t        j                  ||       |dz  }t        |j                  dz        }t        j                  ||       y )Nrc   r#   rd   )r   rF   r   r   r  )rh   r2   r   ri   r:   s        r    test_div_intz'TestMultiplicationDivision.test_div_int  sY    q::i(
fh/qa(
fh/r0   rJ   c                r    |}t        j                  ||      } ||d      }t        j                  ||       y Nrc   )rF   rn   r   )rh   rJ   r2   ro   r   ri   s         r    test_mul_int_identityz0TestMultiplicationDivision.test_mul_int_identity  s0    ooc>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                  ||       y )Nr"   r&   r$   r'   )r5   r   rF   r   r%   r'   r   )rh   r2   r   didxri   	arr_dtypes         r    test_mul_int_arrayz-TestMultiplicationDivision.test_mul_int_array  st    Syrxx11
fcAg. #		RYY 6HG	ryy)44
fd+r0   c                    |}||z  }|j                   t        j                  k(  rdnd}|t        t        j                  d|            z  }t        j                  |t        |             y )Nr'   r&   r"   r$   )r%   r5   r'   r	   r   rF   rG   )rh   r2   r   rU  rV  ri   s         r    test_mul_int_seriesz.TestMultiplicationDivision.test_mul_int_series  sT    Sy #		RYY 6HG	vbii;<<
vvd|4r0   c                    |}t        j                  dd      }|t        |dz         z  }t        ||dz   z        }t        j                  ||       y )Nr"   r#   r$   g?)r5   r   r	   rF   rG   )rh   r2   r   rng5ri   r:   s         r    test_mul_float_seriesz0TestMultiplicationDivision.test_mul_float_series  sM    yy),vdSj))$$*-.
vx0r0   c                D    |}||z  }t        j                  ||dz         y Nrd   rF   r   )rh   r2   r   ri   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        y # 1 sw Y   y xY w)Nz,cannot perform __rmul__ with this index typer   20130101r"   periods)r   r   r   r   rh   r2   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   re   rc   rd   )r   r   
ValueErrorr5   r   re  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  rF   rn   r   )rh   rJ   r2   ro   r   r   r:   ri   s           r    test_pow_floatz)TestMultiplicationDivision.test_pow_float  s\     CJJ,-ooc3'??8S1C
)r0   c                    |}|}t        |j                  dz        }t        j                  ||      }t        j                  ||      }|dz  }t        j                  ||       y r^  rk  )rh   r2   ro   r   r   r:   ri   s          r    test_moduloz&TestMultiplicationDivision.test_modulo  sU    a(ooc3'??8S1q
)r0   c                ,   |}t        |d      }t        j                  d      5  t        |j                  d      \  }}d d d        t	              t	              f}t        ||d      D ]  \  }}t        j                  ||        y # 1 sw Y   LxY w)Nrd   r  r  Tstrict)r   r5   r  r  r   ziprF   r   )	rh   r2   r   ri   rM  modr:   res	            r    test_divmod_scalarz-TestMultiplicationDivision.test_divmod_scalar  s    Q[[X& 	-cjj!,HC	- :uSz)6 	(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      D ]  \  }}	t        j                  ||	        y # 1 sw Y   LxY wNr$   rd   r  r  Trp  )r5   onesr  shaper%   r   r  r   rr  rF   r   
rh   r2   r   rI   ri   rM  rs  r:   rt  ru  s
             r    test_divmod_ndarrayz.TestMultiplicationDivision.test_divmod_ndarray  s    

((

0@0@AAEU#[[X& 	1cjj%0HC	1 :uSz)6 	(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      D ]  \  }}	t        j                  ||	        y # 1 sw Y   LxY wrx  )r5   ry  r  rz  r%   r   r	   r  rr  rF   rG   r{  s
             r    test_divmod_seriesz-TestMultiplicationDivision.test_divmod_series%  s    

((

0@0@AAEVE]+[[X& 	1cjj%0HC	1 #;s+6 	)DAq""1a(	)		1 	1s   0CCrI      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 )Nrd   )r"   re   c                H    t        j                  | t        d      g d      S )NABCDE)jimjoejolier-  )rz   r'  r  r-   s    r    r/   z?TestMultiplicationDivision.test_ops_np_scalar.<locals>.<lambda>4  s    bllT'],C
 r0   )r5   rw   rx   ry   rF   r(  r   )rh   rI   valsfr)  s        r    test_ops_np_scalarz-TestMultiplicationDivision.test_ops_np_scalar1  s    yy$$Q'77?
 tW
b288E?2AdUlOD
bhhuo2AdUlOD
b288E?2AdUlOD
bhhuo2AedlO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	       y )
NrZ   r$   
2020-01-01rc  rq   rC   rv   AFrK  )
r	   r5   r   r#   r   rv   rz   r'  rF   rG   )rh   rq   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%Hr0   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   re   r  )r5   r  rz   r'  r	   r  r   r	  rF   rG   rC   r   rD   )rh   pri   r:   r   s        r    test_modulo2z'TestMultiplicationDivision.test_modulo2R  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   rc   rf   )r5   r  r	   r   rF   rG   )rh   sri   r:   s       r    test_modulo_zero_intz/TestMultiplicationDivision.test_modulo_zero_inti  s    [[X& 		51vAUFrvvrvv./H""684UFrvvsm,H""684		5 		5 		5s   BB((B1c                   t        g dd      j                  dd      }t        j                   g dt        j                        j                  dd      }d}t	        j
                  t        |      5  ||z   d d d        t	        j
                  t        |      5  ||z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nrc   rd   re   r   r"   Int64r$   r"   rc   z(can only perform ops with 1-d structuresr   )r   reshaper5   r&   r   r   NotImplementedError)rh   ea_arraynp_arrayr   s       r    )test_non_1d_ea_raises_notimplementederrorzDTestMultiplicationDivision.test_non_1d_ea_raises_notimplementederrorv  s    8@@AF88O288<DDQJ8]].c: 	 x	  ]].c: 	 x	  	 	  	 	  	 s   4B,B8,B58CN)$r,   r   r   rI  rN  rP  r   r   r   r>   mulr   rmulrE  rS  rW  rY  r\  r`  rf  ri  r?   r=   rl  rn  rv  r|  r~  r5   r   r   r  r  r  r  r  r   r0   r    rG  rG    s   * 10 [[THLL#((H<M<M#NO% P%	,51.4# [[THLL#((#;<
* =
*
*	(
(
) [[Wrvvq#ueRVV&LME NEI$..5 r0   rG  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, expectedrb   ABCr.   r  )rd   rd   rd   ABD      @      @ABCD)rd   rd   rd   rd   re   r   r"   c                h    t        j                  ||z   |       t        j                  ||z   |       y r)   )rF   rG   rh   r   r  r:   s       r    test_add_seriesz'TestAdditionSubtraction.test_add_series  s,    " 	uv~x8
v~x8r0   rC   c                h    t        j                  ||z   |       t        j                  ||z   |       y r)   )rF   r(  r  s       r    test_add_framesz'TestAdditionSubtraction.test_add_frames  s,    " 	efnh7
funh7r0   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   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  rc  rq   r  r   r   zConcatenation operationr   )r	   rm   r   maprF   rG   rz   r'  r(  r5   r   r#   r   r   r   r   r   r   )
rh   rp   ir  ri   r:   framerq   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)Nrd   r"   rb  rc  r  z.cannot subtract PeriodArray from DatetimeArrayr   )r"   rd   20130102dater:   ri   FrK  )r	   r5   rw   rx   ry   rC   	to_seriesrF   rG   r   r   r   r   	to_periodrz   r'  r{   )rh   r  r:   ri   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 )Nrd   r   r  )r5   rw   rx   r	   r   r.  itemsisnan)rh   float_framer  garbage	colSeriesidSum	seriesSumcolrH   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,,,-	-r0   c                v    t        j                  |g d      }||z   }|dz  }t        j                  ||       y )N)r   CBr  )r.  rd   )rz   r'  rF   r(  )rh   r  frame2addedr:   s        r    test_frame_operators_col_alignz6TestAdditionSubtraction.test_frame_operators_col_align  s5    k3GHA:
eX.r0   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)rz   r'  rF   r(  r5   r   )rh   r)  s     r     test_frame_operators_none_to_nanz8TestAdditionSubtraction.test_frame_operators_none_to_nan  sC    \\3 012
b2gr||S4:N4O'PQr0   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   rC   r%   )rz   r'  rD   rF   r(  )rh   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.	/r0   funcc                    | dz  S r^  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$  
    1q5 r0   c                    | d d d   S r^  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$      AccF r0   c                     yrl   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>$      r0   )multiplysliceconstantr   c                    |}t        t        j                  dt        j                        t	        dd      d      } ||      }t        |||       y NrZ   r$   r  rc  rq   r  r	   r5   r   r#   r   rN   )rh   all_arithmetic_functionsr  rJ   rH   rI   s         r     test_series_operators_arithmeticz8TestAdditionSubtraction.test_series_operators_arithmetic"  sI     &IIb

+\26

 V65"%r0   c                    | dz   S rR  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>2  s
    1q5 r0   c                     yrl   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>2  r  r0   addr  c                    |}t        t        j                  dt        j                        t	        dd      d      } ||      }t        |||       y r  r  )rh   comparison_opr  rJ   rH   rI   s         r    test_series_operators_comparez5TestAdditionSubtraction.test_series_operators_compare1  sI     IIb

+\26

 V65"%r0   c                    | dz  S r^  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                    | d d d   S r^  r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                     yrl   r   r-   s    r    r/   z TestAdditionSubtraction.<lambda>@  r  r0   c                v   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	
      D ]  \  }}	t!        j"                  t        j                  |      |	       |j$                  |j$                  k(  sJ t!        j&                  |j(                  |j(                  j+                  d               y # 1 sw Y   xY w)NrZ   r$   r  rc  rq   r  r  r  Trp  )r	   r5   r   r#   r   r   rB   r   Iterabler   appendr   asarrayr  r  rr  rF   assert_almost_equalrv   r   rC   rE   )
rh   r  rH   rI   resultsother_npr   	expectedsri   r:   s
             r    test_divmodz#TestAdditionSubtraction.test_divmod>  sY    IIb

+\26

 V'eS\\*s6{c%j/H H ("'( H::h'[[X& 	Dv}}bjj.BCI	D !$GYt D 	OFH""2::f#5x@;;&++---!!&,,0G0G0MN	O	D 	Ds   )*F//F8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 )
Nrc      r$   r  rZ   rc  rq   r  r   )r	   r5   r   r#   r   r   r   r   rC   r   rF   rG   )rh   tserrI   ri   exp1exp2s         r    test_series_divmod_zeroz/TestAdditionSubtraction.test_series_divmod_zero_  s     IIa2::.\26

 qe$rvvhT*$**4HrvvhT*$**4H
vay$/
vay$/r0   N)r,   r   r   r   r   r   r	   r  r5   r   r  rz   r'  r  r  r  r  r  r  r  r  r  r  r  r   r0   r    r  r    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0r0   r  c                  *   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	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"   fooru   r$   )r	   r   r   r5   r&   r   r   r   sinrF   r   )rh   r  r%   r   r   ri   r:   s          r    test_ufunc_compatz!TestUFuncCompat.test_ufunc_compatw  s     &(feZ fUG+GHIQ.C1E2?Crvvbii78u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                  ||       y )Nr  r.   r  rY   r$   ru   r  )g      ?r  g      ?r  g      @)r  r        @g      @g      @)g      rf   r  r  r  r  )r  r  r  r  r  )r5   sqrtr%   rB   r   r   r#   rF   rn   r   divide)rh   index_or_seriesr%   r   r   ri   exps          r    test_ufunc_coercionsz$TestUFuncCompat.test_ufunc_coercions  s1   oUE||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'
$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                  ||             y )Nrb   r.   r  )rf   rf   rf   )r  r  r  r   rc   )
r	   r   r5   modfrB   tupler#   rF   r   rn   )rh   r  r%   rr   r   ri   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#=>r0   c                    t        g dg dd      }t        j                  j                  |ddgd       t        g dg dd      }t	        j
                  ||       y )	Nrg   rb   r.   r  r   rd   rZ   )rZ   rc      )r	   r5   r  atrF   rG   )rh   r  r:   s      r    test_ufunc_atzTestUFuncCompat.test_ufunc_at  sF    9IC8
		!aVR +YS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[[WrxxBJJ&GH* I D* [[WrxxBJJ&GH'% I'%T [[Xv7[[WrxxBJJ&GH	? I 8	?,r0   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 )Nrb   r$   )r	   r5   r   rF   rn   r   rh   r%   ro   r   r  r:   ri   s          r    test_numarr_with_dtype_add_nanz9TestObjectDtypeEquivalence.test_numarr_with_dtype_add_nan  s    Ye,2662662662%@ooc3'??8S1#
)rvv
)r0   c                   |}t        g d|      }t        g d|      }t        j                  ||      }t        j                  ||      }d|z   }t        j                  ||       |dz   }t        j                  ||       y )Nrb   r$   )rd   re   r   rc   )r	   rF   rn   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
)r0   rJ   c                B   t        t        j                  j                  d      j	                  d      t        j
                  d      t              } |d|      } |d|j                  t                    }t        j                  |j                  t              |       y )Nrd   rZ   r  r  )r	   r5   rw   rx   ry   r   objectr   r,  rF   rG   )rh   rJ   r   ri   r:   s        r    test_operators_reverse_objectz8TestObjectDtypeEquivalence.test_operators_reverse_object  st     II!!!$44R8))B-
 Cc3::e,-
v}}U3X>r0   )r,   r   r   r   r   r   r  r  r  r>   r  subr  rD  rE  r  r   r0   r    r  r    s     [[WtVn5* 6* [[WtVn5* 6* [[	x||X\\83C3CXEVEVW
?	
?r0   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-).TestNumericArithmeticUnsortedrJ   idx1r   rZ   rc   r]   rd   ir"   r4   idx2c                    |j                  d      }|j                  d      } |||      } |t        |j                               t        |j                                     }t        j                  ||d       y Nr   barequivexact)_renamer   to_numpyrF   r   )rh   rJ   r  r!  ri   r:   s         r    test_binops_indexz/TestNumericArithmeticUnsorted.test_binops_index  s_    : ||E"||E"D$eDMMO,eDMMO.DE
fhg>r0   r   scalar)r4   rc   rd   c                     |||      } |t        |j                               |      }t        j                  ||d       y Nr%  r&  )r   r)  rF   r   )rh   rJ   r   r+  ri   r:   s         r    test_binops_index_scalarz6TestNumericArithmeticUnsorted.test_binops_index_scalar  s8    * CeCLLN+V4
fhg>r0   c                   |j                  d      }|j                  d      }t        ||      }t        t        |j                               t        |j                                     }t	        j
                  ||d       y r#  )r(  r?   r   r)  rF   r   )rh   r  r!  ri   r:   s        r    test_binops_index_powz3TestNumericArithmeticUnsorted.test_binops_index_pow8  s_    
 ||E"||E"T4uT]]_-uT]]_/EF
fhg>r0   c                    t        ||      }t        t        |j                               |      }t        j                  ||d       y r-  )r?   r   r)  rF   r   )rh   r   r+  ri   r:   s        r    test_binops_index_scalar_powz:TestNumericArithmeticUnsorted.test_binops_index_scalar_powC  s9    
 S&!uS\\^,f5
fhg>r0   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"   rd   )rd   r"   )r   r	   r5   rw   rx   ry   rF   rG   rz   r'  r(  )rh   rJ   rC   rI   r:   ri   s         r    $test_arithmetic_with_frame_or_serieszBTestNumericArithmeticUnsorted.test_arithmetic_with_frame_or_seriesM  s     1ryy,,Q/??BCfUmU+E5!
vx0RYY2215EEfMNbllE5>2E:E5!
fh/r0   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   rZ   rd   r]   r   Tr&  r  r   r"   rc   r#     )r   rF   r   r   r   r  _values)rh   r   ri   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
fhd;qaQ'!+
fhd;
fhd; scjj01
fhd; D!$a%*
eFMM2HDIr0   zidx, div, expectedr7  i  ii7!   C   d   r  r   r   re   ir6  ii8c                :    t        j                  ||z  |d       y )NTr&  r_  )rh   r   rM  r:   s       r    test_numeric_compat2_floordivz;TestNumericArithmeticUnsorted.test_numeric_compat2_floordiv  s    0 	cSj($?r0   r%   delta)rc   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 y )N)rZ   r  r  r$   rd   r   )r   r  rF   r   empty)rh   r%   r@  rC   ri   r:   s         r    test_addsub_arithmeticz4TestNumericArithmeticUnsorted.test_addsub_arithmetic  s     el%0-U;
fh/ -U;
fh/
eemQY7
eemQY7EM(((((r0   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   r5   r   rF   rn   r   )rh   ro   rK   rL   r:   ri   s         r    test_pow_nan_with_zeroz4TestNumericArithmeticUnsorted.test_pow_nan_with_zero  sz    bffbffbff-.i )t^4~6??8^<u
)r0   N)r,   r   r   r   r   r   r>   r  r  r  rE  rD  r   r*  r.  r0  r2  r?   rs  r4  r9  r   r8  r?  r5   r&   r#   rC  rE  r   r0   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 >)"
*r0   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                  ||d       y )Nrg   )皙?NrG  )r  r  r  )rG  g333333?g?)r   rd   re   r  rc   
fill_valuer  rf   F)check_index_type)rz   r'  	rfloordivr5   r   r   rF   r(  )r)  rI   ri   r:   s       r    test_fill_value_inf_maskingrL    s    	I,<=	>BLL#/yAE\\%A\.F||vvsC%S"&&#rvv,FGH &(UCr0   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)NrZ   rc   rd   re   r   )r  r  r  r   
abcdefghijr  r-  )rZ   r   
abcdefghjkABCXr   rH  )rz   r'  r5   r   r   r  rw   rx   ry   rF   assert_produces_warningrM  )pdf1pdf2s     r    test_dataframe_div_silencedrT    s    <<2&&!Q1%)&&B2		
 < V	D <<
		a 009< VD
 
	#	#D	) %!$% % %s   )DDzdata, expected_datarg   )r   rd   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                  ||	       y )Nr  r$   )r   r	   r   rF   r   )
rU  rV  r  expected_datar   	containerrK   rL   clsr:   s
             r     test_integer_array_add_list_liker[    s     G
$C#C(I|D))D*E, 344	<!45	5=0HOOD(#OOE8$r0   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|   rd      r}   rg   levAlevB)namesr  r   rc   rf   )r.  rC   )rz   r'  r5   rw   rx   ry   
MultiIndexfrom_productr   rC   	swaplevelrF   r(  )r)  df2ri   r:   s       r    "test_sub_multiindex_swapped_levelsre  
  s    		bii##A&66q9:mm((3Z#FF+; ) 

B '')C		##Aq)CI#XF||SEAIuBHHEH&(+r0   power)rc   rd   r"   string_size)r   rc   rd   r"   c                @   t        j                  t        d| z              }t        j                  |t         j
                        }d|z  }||k(  }t        j                  t        j                  |j                  t                    }t        j                  ||       y )NrZ   r$    )r5   r   rm   rz   r'  r&   r   rz  r   rF   r(  )rf  rg  r|   rL   rK   ri   r:   s          r    test_empty_str_comparisonrj    so     	r5y!"ALL"((+EDd]F||BHHU[[=>H&(+r0   c                     t        g d      } t        g dd      }| |z   }t        g dd      }t        j                  ||       | |z
  }t        g dd      }t        j                  ||       y )Nrb   )rd   rc   re   UInt64r$   )re   re   r]  Float64)r4   rc   r   )r	   rF   rG   )series1series2ri   r:   s       r    test_series_add_sub_with_UInt64rp  &  sd    YGYh/GwFiy1H68,wFj	2H68,r0   )<
__future__r   collectionsr   datetimer   decimalr   r>   numpyr5   r   pandasrz   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__extendr`   r   r   rG  r  r  r  r  rL  rT  r   r   to_arrayr  r[  re  rj  rp  r$   s   0r    <module>r     s   #            7 a\	87LM N  	ibii+,ibii)*ibii*+1 	#		4 N)"b"56 6 XFEf\/F G HV5QUeL.V W3 3t[5 [5DT8 T8no  o dn0 n0bN, N,b0? 0?fO* O*dD%*  .0LM%bhhPT)UV% W N	%,, ),5, 6 -,-]. GVs   J4
J?J