
    4iwI                    \   S SK J r Jr  S SKrS SKrS SKJr  S SKJr  S SK	J
r
  S SKJs  Jr  S SKrS SKJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  S SK J!r!J"r"J#r#  S	 r$S
 r% " S S5      r& " S S5      r' " S S5      r( " S S5      r) " S S5      r* " S S5      r+ " S S5      r,S r-g)    )datetime	timedeltaN)	timezones)WASM)OutOfBoundsDatetime)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 >    [         R                  " U 5      nX!:X  d   eg)zL
Helper to check the dtype for a Series, Index, or single-column DataFrame.
N)tm	get_dtype)objexpected_dtypedtypes      j/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/pandas/tests/arithmetic/test_timedelta64.pyassert_dtyper   &   s     LLE"""    c                     U [         L a  US   nU$ U [        R                  [        R                  4;   a  US   nU$ US   nU$ )Nr         )r   r   to_arraypdarray)boxnamesexnames      r   get_expected_namer(   /   sS    
i q
 M	 
bhh'	'q M qMr   c                      \ rS rSrS r\R                  R                  S\" SS9\	" SS9\	" SS9R                  5       \R                  " S5      /5      S 5       r\R                  R                  SS	S
\" S5      \" S5      R                  S5      \" S5      R                  5       R!                  5       \" S5      R                  5       R#                  5       \" S5      R%                  5       \R(                  " S5      /5      S 5       r\R                  R                  S\" \" S5      5      \R0                  " S5      \R0                  " S5      R3                  \R4                  5      \R0                  " S5      R3                  \5      \R:                  " SSSS9R(                  \R(                  " \R:                  " SSS95      \" \R:                  " SSS95      \R:                  " SSS9R3                  \5      \R<                  " SSSS9R(                  \R<                  " SSSS9R3                  \5      /
5      S 5       rS r Sr!g)#TestTimedelta64ArrayLikeComparisons?   c                 ~   UnU[         [        R                  4;  a  UO[        R                  n[        SSS9n[        R                  " UR                  5       S   5      n[        R                  " XB5      nXE:*  n[        R                  " / SQ5      n[        R                  " Xs5      n[        R                  " Xg5        g )N2h   periodsr   )TFFF)
r
   r#   r$   npndarrayr   to_numpyr   box_expectedassert_equal)selfbox_with_arrayr%   xboxtdiotherresexpecteds           r    test_compare_timedelta64_zerodimDTestTimedelta64ArrayLikeComparisons.test_compare_timedelta64_zerodimD   s    !/rxx7H!H~bjjdA.*+ooc'l8878??82
&r   	td_scalarr    days   c                 <   UnU[         [        R                  4;  a  UO[        R                  n[        [        SS9[        SS9/5      n[        R                  " XS5      nXR:  n[        SS/5      n[        R                  " Xt5      n[        R                  " Xg5        g )Nr    r@   r!   FT)
r
   r#   r$   r1   r2   r   r   r   r4   r5   )r6   r7   r?   r%   r8   seractualr<   s           r   !test_compare_timedeltalike_scalarETestTimedelta64ArrayLikeComparisons.test_compare_timedeltalike_scalarR   sz     %!22s

iQ'):;<ooc'5$-(??82
)r   invalidl     x
Ii	 a
2021-01-01UTCr.   c                 `    Un[        SSS9n[        R                  " XC5      n[        XRU5        g N1 days
   r/   )r   r   r4   r   )r6   r7   rH   r%   rngr   s         r   test_td64_comparisons_invalidATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidg   s-     h3ooc'!#4r   r:   rO   z
1970-01-01r0   tzr/   z
1971-01-01Dfreqr0   c                 p    [        SSS9R                  n[        R                  " X25      n[	        X1U5        g rM   )r   _datar   r4   r   )r6   r:   r7   rP   s       r   "test_td64arr_cmp_arraylike_invalidFTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_arraylike_invalid}   s.    & h399ooc2!#n=r   c           	         [        SSS9R                  n[        R                  " SSSUS   [	        S5      /5      nX:H  n[        R                  " / S	Q5      n[
        R                  " X45        X:g  n[
        R                  " X4) 5        S
n[        R                  " [        US9   X:    S S S 5        [        R                  " [        US9   X:    S S S 5        [        R                  " [        US9   X:*    S S S 5        [        R                  " [        US9   X:    S S S 5        g ! , (       d  f       N= f! , (       d  f       Nl= f! , (       d  f       NW= f! , (       d  f       g = f)NrN      r/   r   r    r!      rJ   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rY   r1   r$   r   r   assert_numpy_array_equalpytestraises	TypeError)r6   rP   r:   resultr<   msgs         r   test_td64arr_cmp_mixed_invalidBTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_mixed_invalid   s    h288!Q3q69\+BCD88>?
##F5
##FI6T]]9C0K 1]]9C0K 1]]9C0L 1]]9C0L 10 10000000s0   $D$
D50EE$
D25
E
E
E% N)"__name__
__module____qualname____firstlineno__r=   rb   markparametrizer   r   to_timedelta64r   HourrF   r   nowto_datetime64to_pydatetimedater1   r$   rQ   listrangearangeastypefloat32objectr#   
date_rangeperiod_rangerZ   rg   __static_attributes__ri   r   r   r*   r*   ?   s   
' [[111,,.LL		

*
* [[l#l#''.l#'')779l#'')779l#((*HHQK		
55 [[rOIIbMIIbM  ,IIbM  (MM,u=CCHHR]]<<=|R89MM,3::6BOOLsB?EEOOLsB?FFvN	
>>r   r*   c                      \ rS rSr\R
                  R                  SS\/5      S 5       r\R
                  R                  S\	" SS\
\
SS/5      \R                  " \R                  " S	S
5      \R                  " S	S
5      \R                  " S5      \R                  " S5      \R                  " SS
5      \R                  " S	S5      -   \R                  " SS
5      \R                  " SS5      -   /5      /5      S 5       rS rSrg)TestTimedelta64ArrayComparisons   r   Nc                    [        [        S5      [        [        S5      /5      n[        [        [        [        S5      /5      nX#pTU[        L a)  UR	                  [        5      UR	                  [        5      pTXT:H  n[
        R                  " / SQ5      n[        R                  " Xg5        XT:g  n[
        R                  " / SQ5      n[        R                  " Xg5        [
        R                  " / SQ5      n[        R                  " U[        :H  U5        [        R                  " [        U:H  U5        [
        R                  " / SQ5      n[        R                  " U[        :g  U5        [        R                  " [        U:g  U5        [
        R                  " / SQ5      n[        R                  " U[        :  U5        [        R                  " [        U:  U5        g )NrN   3 days)FFT)TTF)FFFTTT)	r   r   r   r{   ry   r1   r$   r   ra   )r6   r   leftrightlhsrhsre   r<   s           r   test_comp_nat-TestTimedelta64ArrayComparisons.test_comp_nat   sE   y2C89LMNS)H*=>?SF?{{6*ELL,@8801
##F588/0
##F58812
##C3J9
##C3J988./
##C3J9
##C3J98812
##C#Ix8
##C#Ix8r   idx2z2 dayz1 day 00:00:02z5 days 00:00:03r!   rU   natr    sr]   r^   c                    [        S[        S[        SS/5      nX!:  n[        R                  " / SQ5      n[        R
                  " X45        X:  n[        R                  " / SQ5      n[        R
                  " X45        X!:*  n[        R                  " / SQ5      n[        R
                  " X45        X:  n[        R                  " / SQ5      n[        R
                  " X45        X!:H  n[        R                  " / SQ5      n[        R
                  " X45        X!:g  n[        R                  " / SQ5      n[        R
                  " X45        g )N1 dayz1 day 00:00:01z5 day 00:00:03)TFFFTF)TFFFTT)FFFFFT)TTTTTF)r   r   r1   r$   r   ra   )r6   r   idx1re   r<   s        r   test_comparisons_nat4TestTimedelta64ArrayComparisons.test_comparisons_nat   s    &    	
 88DE
##F588DE
##F588CD
##F588CD
##F588EF
##F588AB
##F5r   c                     [        SSS9nXS   :  n[        R                  " / SQS/S-  -   5      n[        R                  " X#5        U[        U5      :H  nX:H  n[        R                  " X$5        g )NrN   rO   r/   r^   r   F   )r   r1   r$   r   ra   rv   )r6   rP   re   r<   exps        r   test_comparisons_coverage9TestTimedelta64ArrayComparisons.test_comparisons_coverage  sd    h31v88.%1<=
##F5S	!j
##F0r   ri   )rj   rk   rl   rm   rb   rn   ro   r{   r   r   r   r1   r$   timedelta64r   r   r~   ri   r   r   r   r      s     [[WtVn59 698 [['3-=?PQ HHNN1c*NN1c*NN5)NN5)NN1c*R^^As-CCNN1c*R^^As-CC			
$"6%$"6J	1r   r   c                       \ rS rSrS rS rS rS rS rS r	\
R                  R                  SS	S
/5      S 5       rS rS rS rS rS rS rSrg)!TestTimedelta64ArithmeticUnsortedi  c                 &   Un[        SS/5      n[        R                  " X25      n[        S5      [        S5      /nX4-   n[	        SS/SS9n[        R                  " Xb5      n[        R
                  " XV5        XC-   n[        R
                  " Xv5        g )	N2D4D
2016-01-01z
2016-02-01z
2016-01-03z
2016-02-05M8[us]r   )r   r   r4   r   r	   r5   )r6   r7   r%   r   r   re   r<   result2s           r   test_td64_op_with_list8TestTimedelta64ArithmeticUnsorted.test_td64_op_with_list  s|    tTl+t)<()L*AB ,!=XN??81
),
*r   c                    [        / SQSSS9nUS-  [        R                  " US5      4 HO  n[        U[         5      (       d   e[        / SQSSS9n[        R
                  " X#5        UR                  S:X  a  MO   e   US-  [        R                  " US5      4 HO  n[        U[         5      (       d   e[        / SQS	SS9n[        R
                  " X#5        UR                  S	:X  a  MO   e   U* [        R                  " U5      4 HO  n[        U[         5      (       d   e[        / S
QSSS9n[        R
                  " X#5        UR                  S:X  a  MO   e   [        / SQS	SS9n[        U5      [        R                  " U5      4 HL  n[        U[         5      (       d   e[        / SQS SS9n[        R
                  " X#5        UR                  c  ML   e   g )N)r-   4h6h8h10hr-   xrW   namer!   )r   r   12h16h20hr   )1hr-   3hr   5hh)-2hz-4hz-6hz-8hz-10hr   )r   z-1h0hr   r-   )r-   r   r   r   r-   )r   r1   multiply
isinstancer   assert_index_equalrW   dividenegativeabsabsolute)r6   idxre   r   s       r   test_ufunc_coercions6TestTimedelta64ArithmeticUnsorted.test_ufunc_coercions&  s   <4cRQwC 34Ffn5555 !BTWXC!!&.;;$&&&	 5 Qw		#q 12Ffn5555 !?cPSTC!!&.;;#%%%	 3 tR[[-.Ffn5555 45sC !!&.;;%''' / =CcR3xS!12Ffn5555 !?dQTUC!!&.;;&&&	 3r   c                 6   [        S[        S/SS9n[        R                  " SSSS9n[	        S5      n[        S5      nS	n[        R                  " [        US
9   X-
    S S S 5        [        R                  " [        US
9   X-
    S S S 5        Sn[        R                  " [        US
9   X4-
    S S S 5        Sn[        R                  " [        US
9   X2-
    S S S 5        XB-
  n[        / SQSS9n[        R                  " Xg5        X$-
  n[        / SQSS9n[        R                  " Xg5        X-
  n[        S[        S/SS9n[        R                  " Xg5        X1-
  n[        S[        S/SS9n[        R                  " Xg5        X#-
  n[        / SQSSSS9n[        R                  " Xg5        XA-
  n[        S[        S/SSS9n[        R                  " Xg5        g ! , (       d  f       GN|= f! , (       d  f       GNh= f! , (       d  f       GNR= f! , (       d  f       GN<= f)NrN   2 daysfoor   20130101r^   barr0   r   z0cannot subtract a datelike from a TimedeltaArrayr_   z#unsupported operand type\(s\) for -z,cannot subtract DatetimeArray from Timedelta0 days-1 days-2 daysr   rN   r   r   r   20121231r   20130102r   rU   )r   rW   r   r   20121230r   r   )r   r   r#   r|   r   r   rb   rc   rd   r   r   r	   )r6   r9   dtitddtrf   re   r<   s           r   test_subtraction_ops6TestTimedelta64ArithmeticUnsorted.test_subtraction_opsE  s   hX6UCmmJ>x z"@]]9C0H 1]]9C0I 1 5]]9C0G 1 =]]9C0H 1 !"BO
f/!"@uM
f/!8S(";%H
f/!8S)"<5I
f/ 0sQV
 	f/ j)
 	f/O 1000 10 10s0   G?G%'G7H	
G"%
G47
H	
Hc                 T   [         R                  " SSS9n[        R                  " X!5      n[	        S5      nUR                  5       n[         R                  " SSS9R                  S5      n[        R                  " XQ5      n[	        S5      R                  S5      n[	        S5      R                  S5      nUR                  5       n[        S5      n	S n
X3-
  n[        S5      nU
" X5        X-
  n[        S5      nU
" X5        Xh-
  n[        S5      nU
" X5        S	n[        R                  " [        US
9   X-
    S S S 5        Sn[        R                  " [        US
9   X-
    S S S 5        Sn[        R                  " [        US
9   XH-
    S S S 5        S	n[        R                  " [        US
9   X8-
    S S S 5        [        R                  " [        US
9   Xs-
    S S S 5        [        R                  " [        US
9   Xt-
    S S S 5        Sn[        R                  " [        US
9   X&-
    S S S 5        [        R                  " [        US
9   XS-
    S S S 5        XX-
  n[        / SQ5      n[        R                  " X5      n[        R                  " X5        X-
  n[        / SQ5      n[        R                  " X5      n[        R                  " X5        XV-
  n[        / SQ5      n[        R                  " X5      n[        R                  " X5        Xe-
  n[        / SQ5      n[        R                  " X5      n[        R                  " X5        X-
  n[        S5      nU
" X5        XY-
  n[        / SQSS9n[        R                  " X5      n[        R                  " X5        g ! , (       d  f       GNi= f! , (       d  f       GNS= f! , (       d  f       GN== f! , (       d  f       GN'= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)Nr   r^   r/   z
US/EasternCETrN   c                 @    X:X  d   e[        U [        5      (       d   eg N)r   r   )re   r<   s     r   _checkNTestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tz.<locals>._check  s!    %%%fi0000r   r   z<Cannot subtract tz-naive and tz-aware datetime-like objects.r_   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rT   )r#   r|   r   r4   r   rt   tz_localizer   rb   rc   rd   r   r5   r	   )r6   r7   r   tsr   dti_tzts_tzts_tz2dt_tzr   r   re   r<   rf   s                 r   test_subtraction_ops_with_tz>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tzv  s   mmJ2ooc2z"z15AA,O8*%11,?:&2259##%x 	1
 X&v X&v X&v  M]]9C0J 1F]]9C0J 1F]]9C0J 1L]]9C0J 1]]9C0K 1]]9C0K 1 6]]9C0K 1]]9C0K 1 !"@A??8<
)!"BC??8<
)!"@A??8<
)!"BC??8<
)X&v  !E,W??8<
)e 10 10 10 100000
 1000s`   3NN,N>+OO"7O4PP
N),
N;>
O
O"
O14
P
P
P'c                 T   [        S[        S/SS9n[        R                  " SSSS9nX-
  n[        S	[        S	/SS9n[        R
                  " X45        X-   n[        S[        S
/SS9n[        R
                  " X45        X!-
  n[        S[        S/SS9n[        R
                  " X45        g )NrN   r   r   r   r   r^   r   r   r   4 daysr   r   r   )r   r   r#   r|   r   r   r	   )r6   r9   r   re   r<   s        r   test_dti_tdi_numeric_ops:TestTimedelta64ArithmeticUnsorted.test_dti_tdi_numeric_ops  s    hX6UCmmJ>!8S(";%H
f/!8S(";%H
f/ *c:!>hO
f/r   c                 p   [        S[        S/SS9n[        R                  " SSSS9n[	        S5      n[        S5      nX-   n[        S	[        S
/SSS9n[        R                  " XV5        XA-   n[        S	[        S
/SSS9n[        R                  " XV5        X1-   n[        S[        S/SS9n[        R                  " XV5        X-   n[        S[        S/SS9n[        R                  " XV5        Sn[        R                  " [        US9   XSS -     S S S 5        [        R                  " [        US9   USS U-     S S S 5        Sn[        R                  " [        US9   U[        / SQ[        R                  S9-     S S S 5        X-   n[        S	[        S/SS9n[        R                  " XV5        X!-   n[        S	[        S/SS9n[        R                  " XV5        XC-   n[        S	5      nXV:X  d   eX4-   n[        S	5      nXV:X  d   eg ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)NrN   r   r   r   r   r^   r   r   r   20130103r   r   r   z$cannot add indices of unequal lengthr_   r   r    3Addition/subtraction of integers and integer-arraysr    r!   r^   r   20130105)r   r   r#   r|   r   r   r	   r   r   rb   rc   
ValueErrorrd   r
   r1   int64)r6   r9   r   r   r   re   r<   rf   s           r   test_addition_ops3TestTimedelta64ArithmeticUnsorted.test_addition_ops  s   hX6UCmmJ>x z" j)
 	f/ j)
 	f/!8S(";%H
f/!8S(";%H
f/ 5]]:S1a(N 2]]:S1!HsN 2 D]]9C0%	22 1  *c:!>hO
f/ *c:!>hO
f/Z(!!!Z(!!!9 2111
 10s$   H0	HH'
H
H$'
H5rW   rU   Bc                    [         R                  " SSUSS9nU[        S5      -   nU[        S5      -   nUR                  S5      n[        R
                  " X$5        US:X  a`  [         R                  R                  R                  S5      nUR                  U:X  d   eUR                  U:X  d   eUR                  U:X  d   eOUR                  [         R                  R                  R                  S5      :X  d   eUR                  b   eUR                  [         R                  R                  R                  S5      :X  d   eU[        S5      -
  nU[        S5      -   n[        R
                  " Xe5        g )	Nz1/1/20002   nsr0   rW   unitr    inferrU   )r#   r|   r   
_with_freqr   r   tseriesr   DayrW   BusinessDay)r6   rW   indexshiftedbackr<   re   s          r   test_timedelta0TestTimedelta64ArithmeticUnsorted.test_timedelta  s-   j"4dK)A,&2&w'
e*3;zz))--a0H::)))<<8+++99(((::!3!3!?!?!BBBB<<'''99

 2 2 > >q AAAA1%9R=(
f/r   c                 @   [         R                  " SS5      n[        U5      nU[        R                  " S5      -
  n[        U[        R                  " S5      -
  5      nU[        R                  " S5      -
  n[        U[        R                  " S5      -
  5      nUR                  UR                  :X  d   eUR                  S 5      n[        R                  " X65        UR                  UR                  :X  d   eUR                  S 5      n[        R                  " XE5        g )N20132014r    i )r#   r|   r   r   rq   r	   r1   r   rW   r   r   r   )r6   rP   r   result1r   result3result4s          r   test_timedelta_tick_arithmetic@TestTimedelta64ArithmeticUnsorted.test_timedelta_tick_arithmetic/  s    mmFF+3KQ'BNN9$= =>y11GLLO 34||sxx'''$$T*
g/||sxx'''$$T*
g/r   c                     [        S[        S/5      nUR                  n[        R                  " SSSS9nX#-   nX-   n[
        R                  " XE5        X!-   nX-   n[
        R                  " XE5        X!-
  nX-
  n[
        R                  " XE5        g )NrN   r   z
1999-12-31r^   rU   r0   rW   )r   r   r$   r#   r|   r   r   )r6   r9   tdar   re   r<   s         r   test_tda_add_sub_index8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_index@  s    hX67iimmL!#>9
f/9
f/9
f/r   c                    Un[         R                  " SSUS9nUR                  S 5      nXU-
  n[        R                  " Xd5      n[        R                  " XT5      n[        R
                  " U5         XxR                  [        5      -   n	S S S 5        [        R                  " W	UR                  [        5      5        g ! , (       d  f       N9= f)Nr   r^   rS   )	r#   r|   r   r   r4   assert_produces_warningry   r{   r5   )
r6   performance_warningr7   tz_naive_fixturer%   r   r9   r   r:   re   s
             r   test_tda_add_dt64_object_array@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayS  s     mmL!8HInnT"iooc')''(;<<<//F =
V 45 =<s   0B;;
C	c                    [        SS5      n[        SSSS9n[        U[        5      (       a4  UR                  S:X  a$  U[        R
                  La  UR                  S5      n[        R                  " X25      n[        R                  " XB5      nUnX1-  n[        R                  " X45        U[        La  [        R                  " XT5        g g NrN   10 daysz1 days 02:00:00z10 days 02:00:00rU   rW   r   r   r   r   r   r#   r$   as_unitr   r4   r5   r
   r6   	two_hoursr7   rP   r<   orig_rngs         r   test_tdi_iadd_timedeltalike=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikeg  s    h	2"#46HsSy),,$&bhh.
  ''-Hooc2??8<
&&OOH/ 'r   c                    [        SS5      n[        SS5      n[        U[        5      (       a4  UR                  S:X  a$  U[        R
                  La  UR                  S5      n[        R                  " X25      n[        R                  " XB5      nUnX1-  n[        R                  " X45        U[        La  [        R                  " XT5        g g NrN   r  z0 days 22:00:00z9 days 22:00:00r   r  r  s         r   test_tdi_isub_timedeltalike=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalike  s    h	2"#46GHy),,$&bhh.
  ''-Hooc2??8<
&&OOH/ 'r   c                    [        SSSSS9nUSUR                  -  -   n[        SSSSS9n[        R                  " X#5        UR                  S:X  d   eUSUR                  -  -
  n[        S	SSSS9n[        R                  " X#5        UR                  S:X  d   eUS-  n[        SSS
SS9n[        R                  " X#5        UR                  S
:X  d   eUS-  n[        SSSSS9n[        R                  " X#5        UR                  S:X  d   eU* n[        S	SSSS9n[        R                  " X#5        UR                  S:X  d   e[        S	SSSS9n[	        U5      n[        / SQSS9n[        R                  " X#5        UR                  b   eg )Nr   r]   r   r   )r0   rW   r   r    r   r!   r   r   rN   rU   z-2D)r   rN   r   rN   r   r   )r   rW   r   r   r   r   )r6   rP   re   r   s       r   test_tdi_ops_attributes9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributes  s   h3Gq388|#h3G
f*{{d"""q388|#iCH
f*{{d"""qh3G
f*{{d"""qh#F
f*{{c!!!iSI
f*{{e###i3GS>S
 	f*{{"""r   ri   N)rj   rk   rl   rm   r   r   r   r   r   r   rb   rn   ro   r   r  r  r  r  r"  r%  r~   ri   r   r   r   r     sk    +"'>/0bR*h0"9"z [[Vc3Z00 10,0"0&6(0004##r   r   c                   b    \ rS rSr\R
                  R                  SSS/5      S 5       rS rSr	g)	TestAddSubNaTMaskingi  str_tsz
1950-01-01z
1980-01-01c                    [         R                  " SS/5      n[        R                  " X15      n[	        U5      nUUR                  5       UR                  5       R                  S5      UR                  5       R                  S5      /nU H8  nXG-   nU[        L a  UR                  S   [        L d   eM*  US   [        L a  M8   e   g )Nz24658 days 11:15:00r   zdatetime64[ns]zdatetime64[D])r    r    r    )r#   to_timedeltar   r4   r   rt   rs   ry   r   ilocr   )	r6   r7   r)  tdinattdobjr   ts_variantsvariantr;   s	            r   $test_tdarr_add_timestamp_nat_masking9TestAddSubNaTMasking.test_tdarr_add_timestamp_nat_masking  s     "7!?@7v%%&67%%o6	
 #G/C*xx~,,,1v}$} #r   c                     [        S5      R                  S5      n[        R                  " [        SS9   [
        R                  " SS5      U-     S S S 5        [        R                  " [        SS9   U[
        R                  " SS5      -     S S S 5        [        R                  S-   n[
        R                  " S/S5      R                  S5      nSn[        R                  " [        US9   U[        S5      -     S S S 5        [        R                  " [        US9   [        S5      U-     S S S 5        [        R                  " [        US9   [
        R                  " U/5      [        S	5      -
    S S S 5        [        R                  " [        US9   [
        R                  " S
U/5      [        S	5      -
    S S S 5        [        R                  " [        US9   [
        R                  " US
S/5      [
        R                  " SUS/5      -
    S S S 5        [        [        /SS9n[
        R                  " [        /5      [        S	5      -
  n[        R                  " Xe5        [        S[        /5      n[
        R                  " S
[        /5      [        S	5      -
  n[        R                  " Xe5        [        [        [        S/5      n[
        R                  " [        S
S/5      [
        R                  " S[        S/5      -   n[        R                  " Xe5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNF= f! , (       d  f       GN(= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN~= f)N2000r   10155196800000000000r_   iT rU   r    zOverflow in int64 additionrN   z5 days1 hoursz	7 secondsz4 hoursm8[us]r   r   z5 hours)r   r  rb   rc   r   r#   r+  r   _valueOverflowErrorr   r   r   r   )r6   r   _NaTr   rf   r   re   s          r   test_tdi_add_overflow*TestAddSubNaTMasking.test_tdi_add_overflow  sl    v&&t,]].6LMOOFC(2- N]].6LM-- N zzA~__fXs+33D9*]]=46"" 5]]=4f" 5]]=4OOTF#i&99 5]]=4OOXt,-	(0CC 5]]=4x ;<//;i"@AB 5 cU(3#')H*==
f*h_-(C1Ih4GG
f*c3	23#x!;<r#y)@
 
 	f*G NMMM 5444444444sS   L0L$(L6M$M%M,4M>
L!$
L36
M
M
M),
M;>
Nri   N)
rj   rk   rl   rm   rb   rn   ro   r1  r;  r~   ri   r   r   r(  r(    s2     [[Xl'CD% E%((+r   r(  c            
       <   \ rS rSrS rS rS rS r\R                  R                  S\\\R                  /5      S 5       rS rS	 rS
 r\R                  R                  S/ SQ5      \R                  R                  SSS/5      S 5       5       r\R                  R                  SSSS\R(                  " S5      /5      S 5       r\R                  R                  S\R(                  " / SQ5      \" / SQ5      \" / SQ5      \" / SQ/5      /S S9S 5       rS rS rS rS rS  r\R                  R                  S!\R>                  " S"5      \ /5      S# 5       r!S$ r"S% r#S& r$S' r%S( r&\R                  R                  S)\R(                  \\/5      S* 5       r'S+ r(S,r)g)-TestTimedeltaArraylikeAddSubOpsi  c                     [         R                  " [        S/5      5      R                  S5      nU[        -
  n[        [        /SS9n[
        R                  " X#5        g )N00:00:01zm8[s]r   )r#   r+  r   ry   r   r   assert_series_equal)r6   rD   re   r<   s       r   test_sub_nat_retain_unit8TestTimedeltaArraylikeAddSubOps.test_sub_nat_retain_unit  sG    oofj\23::7Cs3%w/
v0r   c                    [         R                  " [        S/5      5      n[         R                  " [        S/5      5      n[         R                  " [        [        /SS95      n[	        S/5      R                  [         R                  5      n[	        S/5      R                  [         R                  5      n[	        [        R                  /5      R                  [         R                  5      R                  S5      n[         R                  " S5      n[         R                  " S5      n[         R                  " S5      n	Xw-   n
X:X  d   eX-
  n
X:X  d   eX-   n
[        R                  " X5        X!-
  n
[        R                  " X5        X-   n
[        R                  " X5        Xq-   n
[        R                  " X5        X'-
  n
[        R                  " X5        U* U-   n
[        R                  " X5        X-   n
[        R                  " X5        X-   n
[        R                  " X5        X-
  n
[        R                  " X5        U	* U-   n
[        R                  " X5        Sn[        R                  " [        US9   U[        R                  -     S S S 5        [        R                  " [        US9   [        R                  U-     S S S 5        [        R                  " [        US9   U[        R                  -
    S S S 5        [        R                  " [        US9   [        R                  * U-     S S S 5        U[        -   n
[        R                  " X5        U[        -
  n
[        R                  " X5        X-   n
[        R                  " X5        X$-
  n
[        R                  " X5        XA-   n
[        R                  " X5        XQ-
  n
[        R                  " X5        XD-   n
[        R                  " X5        XT-
  n
[        R                  " X5        XG-   n
[        R                  " X5        XW-
  n
[        R                  " X5        XI-   n
[        R                  " X5        XI-
  n
[        R                  " X5        Sn[        R                  " [        US9   U[        R                  -     S S S 5        [        R                  " [        US9   U[        R                  -
    S S S 5        U[        -   n
[        R                  " X5        U[        -
  n
[        R                  " X5        g ! , (       d  f       GN= f! , (       d  f       GNy= f! , (       d  f       GNV= f! , (       d  f       GN2= f! , (       d  f       N= f! , (       d  f       N= f)	Nr@  z00:00:02r7  r   r   unsupported operand typer_   z8cannot subtract a datelike from|unsupported operand type)r#   r+  r   r   r   applyr8  ry   r   rA  rb   rc   rd   r1   nanassert_frame_equal)r6   s1s2sndf1df2dfnscalar1scalar2timedelta_NaTrE   rf   s               r   &test_timedelta_ops_with_missing_valuesFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_values  s   __VZL12__VZL12__VSE:;%++BOO<%++BOO<%++BOO<CCHM//*-//*-."   "   
v*
v*
v*
v*
v*B
v*#
v*#
v*#
v*"$
v*(]]9C0K 1]]9C0FFRK 1]]9C0K 1]]9C0VVGbL 1 c
v*c
v*
f*
f*
f*
f*
f*
f*
f*
f*$
f*$
f*H]]9C0"&&L 1]]9C0"&&L 1 s
f*s
f*_ 10000000B 1000sH   7T ,T2!UUU(U9 
T/2
U
U
U%(
U69
Vc           
         [         R                  " SSSSS9n[         R                  " SSSSS9n[        U5      [        U5      -
  n[        SUR                  5      R	                  S5      R	                  S	5      n[
        R                  " X45        UR                  S	:X  d   e[        S
U05      n[        [        S5       Vs/ s H  n[        US9PM     snSS9nUR                  S	:X  d   eUS
   US
   R                  5       -
  nUR                  S	:X  d   eUS
   U-   nUR                  S:X  d   eUS
   R                  5       n	[        U	[        5      (       d   eUS
   US
   R                  5       -
  n
U
R                  S	:X  d   eXS
   -   n[        S5      [        S5      [        S5      /n[        USS
S9n[
        R                  " X5        US
   [        SSS5      -
  n[        [        S5       Vs/ s H  n[        SU-   S9PM     snS
SS9n[
        R                  " X5        UR                  S:X  d   e[        SSSSS5      nUS
   U-
  nUR                  S:X  d   eX-   n
[
        R                  " US
   U
5        [        SS9nUS
   U-   nX-
  n
[
        R                  " XS
   5        U
R                  S:X  d   e[        SSS9nUS
   U-   nX-
  n
[
        R                  " US
   U
5        U
R                  S:X  d   eUS   [         R"                  " [        SSS95      -   nUS==   [         R"                  " [        SSS95      -  ss'   US   U:X  d   eg s  snf s  snf )Nz2012-1-1r^   rU   r   r   z2012-1-2g  S$Br   timedelta64[ns]Ar@   m8[ns]r   zM8[ns]201112302012010120120103r   i  r    i  r   r   r.   r]   minutessecondsr!   )r#   r|   r   r   ry   r   rA  r   r   rw   r   shiftmaxr   r   r   r1   r   )r6   v1v2rsxpdfir   re   maxaresultbvaluesr<   dresultavalues                   r   test_operators_timedelta64:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64n  sD   ]]:qsF]]:qsFBZ&*$ORXX.55g>EEFWX
r&xx,,,,Ry!a91YA&9Jxx,,,, C2c7==?*||0000C2||x''' #w{{}$	****S'BsGKKM)}} 1111 c7"J':)>	*@UV&s;
v0 C8D!Q///4Qx8x!YD1H%x8s(
 	v0||x'''T1aA&S'A+}}((( +
r#w0 AS'B,,
w30}}((( q!,S'B,,
r#w0}}((( 1yA'FGG
1	!Q ?@@!u~~q :4 9s   M3Mc           	      D   [        [        [        S5      /5      n[        [        [        /SS9n[        [        /SS9n[        R                  " U[        -
  U5        [        R                  " [        * U-   U5        [        R                  " X-
  U5        [        R                  " U* U-   U5        [        R                  " U[        -   U5        [        R                  " [        U-   U5        [        R                  " X#-   U5        [        R                  " X2-   U5        [        R                  " U[        -   U5        [        R                  " [        U-   U5        [        R                  " X-   U5        [        R                  " X1-   U5        [        R                  " U[        -   U5        [        R                  " [        U-   U5        [        R                  " X#-   U5        [        R                  " X2-   U5        [        R                  " US-  U5        [        R                  " SU-  U5        [        R                  " US-  U5        [        R                  " SU-  U5        [        R                  " US-  [        [        [        S5      /5      5        [        R                  " SU-  [        [        [        S5      /5      5        [        R                  " U[
        R                  -  U5        [        R                  " [
        R                  U-  U5        [        R                  " US-  [        [        [        S	5      /5      5        [        R                  " US
-  [        [        [        S	5      /5      5        [        R                  " U[
        R                  -  U5        g )N1stimedelta64[us]r         ?r          ?z1.5sr!   z0.5s       @)r   r   r   r   rA  r1   rG  )r6   timedelta_seriesnat_series_dtype_timedeltasingle_nat_dtype_timedeltas       r   test_timedelta64_ops_nat8TestTimedeltaArraylikeAddSubOps.test_timedelta64_ops_nat  s    !3	$"89%+S#J>O%P"%+SE9J%K" 	/#57QR
t&668RS
9;U	
 	''*::<V	

 	&,.H	
 	,,.H	
 	&C&	
 	&C&	

 	/#57QR
s%557QR
9;U	
 	&9;U	
 	&,.H	
 	,,.H	
 	&C&	
 	&C&	
 	&,.H	
 	,,.H	
 	/!35EF
q#335EF
/#5vsIfDU>V7WX
s%55vsIfDU>V7WX
/"&&8:TU
rvv(88:TU 	/!3VS)FBS<T5UV
/#5vsIfDU>V7WX
/"&&8:TUr   clsc                    Un[        SUS9nU[        L a  UR                  5       nODU[        R                  L a/  Ub  [
        R                  " U SU 35        UR                  5       nOUn[        SSS9n[        R                  " SSUS9nUb6  [        R                  " UR                  5      (       d  UR                  S 5      n[        R                   " Xr5      n	[        R                   " X5      n[        R"                  " Xi-   U5        [        R"                  " X-   U5        [        R                  " S	SS
US9n
Ub6  [        R                  " U
R                  5      (       d  U
R                  S 5      n
[        R                   " X5      n
[        R"                  " Xi-
  U
5        [        R"                  " Xi* -   U
5        Sn[
        R$                  " [&        US9   X-
    S S S 5        g ! , (       d  f       g = f)Nz
2012-01-01r   z doesn't support r   r^   r/   z
2012-01-02rS   z
2011-12-31z-1D)r0   rW   rT   zcannot subtract a dateliker_   )r   r   rt   r1   
datetime64rb   skiprs   r   r#   r|   r   is_utcrT   r   r   r4   r5   rc   rd   )r6   rz  r7   r  rT   	dt_scalarr   r9   r<   tdarr	expected2rf   s               r   (test_td64arr_add_sub_datetimelike_scalarHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalar  s   
 lr2	(?((*BBMM!+se#45E4FGH((*BBgq1==qR@>)"2"28;;"?"?  **40H4??8<

H-

H-MM,"M	>)"2"29<<"@"@ ",,T2IOOI>	

I.
fy1*]]9C0J 100s   G$$
G2c                    [         R                  " S5      n[        SSS9n[        / SQSS9n[        R
                  " X15      n[        R
                  " XA5      n[        R                  " XR-   U5        [        R                  " X%-   U5        g )Nr   r   r^   r/   )r   r   r   r   r   )r1   r|  r   r	   r   r4   r5   )r6   r7   r:   r9   r<   tdsers         r   test_td64arr_add_datetime64_nat?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_nat3  se    e$gq1 !6hG4??8<
x0
x0r   c                 ~   [         R                  " SSS9n[        S/S-  5      nUR                  n[	        U5      U-
  n[
        R                  " X15      n[
        R                  " XQ5      nSn[        R                  " [        US9   X4-
    S S S 5        XC-
  n[
        R                  " Xu5        g ! , (       d  f       N)= f)Nr   r^   r/   -1 Dayzcannot subtract a datelike fromr_   )r#   r|   r   ri  r	   r   r4   rb   rc   rd   r5   )r6   r7   r   r9   dtarrr<   rf   re   s           r   test_td64arr_sub_dt64_array;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_dt64_array@  s    mmL!4hZ!^,

 '#-ooc2??8</]]9C0K 1 
) 10s   B..
B<c                 @   [         R                  " SSS9n[        S/S-  5      nUR                  n[	        U5      U-   n[
        R                  " X15      n[
        R                  " XQ5      nX4-   n[
        R                  " Xe5        XC-   n[
        R                  " Xe5        g )Nr   r^   r/   r  )r#   r|   r   ri  r	   r   r4   r5   )r6   r7   r   r9   r  r<   re   s          r   test_td64arr_add_dt64_array;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_arrayQ  s|    mmL!4hZ!^,

 '#-ooc2??8<
)
)r   pi_freq)rU   WQr   tdi_freqNr   c                    [        SS/US9n[        S5      U-   nUR                  U5      nUS   n[        R                  " XQ5      n[        R                  " Xr5      nSR                  / SQ5      n	[        R                  " [        U	S9   XW-
    S S S 5        [        R                  " [        U	S9   XX-
    S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)	Nr6  z2 hoursr  z2018-03-07 17:16:40r   |)zcannot subtractrE  z,bad operand type for unary \-: 'PeriodArray'z3Input has different freq=-1h from PeriodArray\(.*\)z3Cannot add/subtract timedelta-like from PeriodArrayr_   )	r   r   	to_periodr   r4   joinrb   rc   rd   )
r6   r7   box_with_array2r  r  r9   r   piperrf   s
             r   test_td64arr_sub_periodlike;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodlikeb  s     i3(C-.4]]7#eooc2__R1hh
 ]]9C0H 1 ]]9C0I 10	 10 10s   	B=/C=
C
Cr:   rI   r    rs  r!   c                 ^    [        / SQSS9n[        R                  " X15      n[        XB5        g N59 Daysr  r   rW  r   )r   r   r4   r   )r6   r7   r:   r  r  s        r   *test_td64arr_addsub_numeric_scalar_invalidJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalid  s'     4HE6"50r   vecr   c                 ,    [        U 5      R                  $ r   typerj   r   s    r   <lambda>(TestTimedeltaArraylikeAddSubOps.<lambda>      d1g&&r   idsc                     [        / SQSS9n[        R                  " XA5      nUR                  U5      n[	        XV5        g r  )r   r   r4   ry   r   )r6   r7   r  any_real_numpy_dtyper  r  vectors          r   'test_td64arr_addsub_numeric_arr_invalidGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalid  s6     4HE601"51r   c                 >   [        SSSS9n[        R                  " X15      nSn[        XBU5        [        R
                  " [        US9   XB-  nS S S 5        [        R
                  " [        US9   XB-  nS S S 5        g ! , (       d  f       N5= f! , (       d  f       g = f)N1 days 09:00:00r   rO   rV    Addition/subtraction of integersr_   )r   r   r4   r   rb   rc   rd   )r6   r7   onerP   r  rf   s         r   test_td64arr_add_sub_int8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_int  sw    /c2F40"5s3 ]]9C0LE 1]]9C0LE 10 1000s   	A=/B=
B
Bc                     UnU[         R                  L a  [        R                  OUn[	        SSSS9n[
        R                  " XB5      n[
        R                  " / SQU5      nSn[        XVU5        g )Nr  r   r^   rV   )r.   r^   r!   r   )r#   r$   r1   r2   r   r   r4   r   )r6   r7   r%   r8   rP   r  r:   rf   s           r   "test_td64arr_add_sub_integer_arrayBTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_integer_array  sZ      BHH_rzz#/c1E)	40C"55r   c                     UnU[         R                  L a  [        R                  OUn[	        / SQ5      n[
        R                  " XB5      n[
        R                  " / SQU5      nSn[        XVU5        g )N)1 Dayr   z3 Hours)   r      r  )r#   r$   r1   r2   r   r   r4   r   )r6   r7   r%   r8   r9   r  r:   rf   s           r   )test_td64arr_addsub_integer_array_no_freqITestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_integer_array_no_freq  sT     BHH_rzz#89)d30"55r   c                    Un[         R                  " SSS9nX3R                  S5      -
  nUR                  nSU-  n[        R
                  " XB5      n[        R
                  " Xb5      nXE-   n[        R                  " Xv5        XT-   n[        R                  " Xv5        SU-  nXE-
  n[        R                  " Xx5        XT-
  n[        R                  " Xx5        g )Nr   r^   r/   r    r!   r   )r#   r|   r_  ri  r   r4   r5   )	r6   r7   r%   r   r9   r  r<   re   expected_subs	            r   test_td64arr_add_sub_td64_array?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_array  s    mmL!4IIaL 

s7ooc'??81
)
)3w
-
-r   c                    Un[        X25      n[        SS/US   S9nU[        R                  [        R
                  4;   a  [        R
                  " U5      OUn[        [        SS9[        SS9/US   S	S
9n[        [        SS9[        SSS9/US	S
9n[        R                  " Xc5      n[        R                  " Xs5      nXV-   n[        R                  " X5        [        US5        Xe-   n[        R                  " X5        [        US5        [        [        SS9[        SSS9/US	S
9n[        R                  " Xs5      nXV-
  n[        R                  " X5        [        US5        Xe-
  n[        R                  " X* 5        [        US5        g )Nr   r   r    r   r^   hoursr.   r   rW  r[  )rA   r  rU  )r(   r   r   r"   r#   r$   r1   r   r   r4   r5   r   )	r6   r7   r&   r%   r'   r9   rD   r<   re   s	            r   test_td64arr_add_sub_tdi8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tdi  sa    "3.h0uQx@"r{{BHH&==bhhsm3Q!34588
 Q!;<
 ooc'??81
)V./
)V./R )""=>

 ??81
)V./
	*V./r   tdnatr   c                    Un[        [        [        S5      /5      n[        S/S-  5      R                  S5      n[        R
                  " XC5      n[        R
                  " XS5      nXb-   n[        R                  " Xu5        X&-   n[        R                  " Xu5        Xb-
  n[        R                  " Xu5        X&-
  n[        R                  " Xu5        g )Nrp  r   r!   us)r   r   r   r  r   r4   r5   )r6   r7   r  r%   r9   r<   r   re   s           r   test_td64arr_add_sub_td64_nat=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_nat  s     c9T?34!5'A+.66t<ooc'??81
)
)
)
)r   c                 b   Un[        SS5      n[        SSSS9n[        U[        5      (       a!  UR                  S:X  a  UR	                  S5      n[
        R                  " XC5      n[
        R                  " XS5      nXA-   n[
        R                  " Xe5        X-   n[
        R                  " Xe5        g r  r   r   r   r   r  r   r4   r5   r6   r  r7   r%   rP   r<   re   s          r   test_td64arr_add_timedeltalike>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalike"  s     h	2"#46HsSi++	$0F''-Hooc'??81
)
)r   c                 f   Un[        SS5      n[        SS5      n[        U[        5      (       a!  UR                  S:X  a  UR	                  S5      n[
        R                  " XC5      n[
        R                  " XS5      nXA-
  n[
        R                  " Xe5        X-
  n[
        R                  " Xe* 5        g r!  r  r  s          r   test_td64arr_sub_timedeltalike>TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_timedeltalike4  s     h	2"#46GHi++	$0F''-Hooc'??81
)
	*r   c                    Un[        XB5      n[        SS/US   S9n[        [        R                  " SS9[        R
                  " SS9/US   S9nU[        R                  [        R                  4;   a  [        R                  " U5      OUn[        [        [        U5      5       Vs/ s H  oU   Xx   -   PM     snSUS	9n	[        [        [        U5      5       Vs/ s H  oU   Xx   -
  PM     snSUS	9n
[        R                  " Xd5      n[        R                  " X5      R                  [        5      n	[        R                  " X5      R                  [        5      n
[        R                   " U5         Xg-   nS S S 5        [        R"                  " WU	5        [        R                   " U5         Xv-   nS S S 5        [        R"                  " WU	5        [        R                   " U5         Xg-
  nS S S 5        [        R"                  " WU
5        g s  snf s  snf ! , (       d  f       N= f! , (       d  f       N{= f! , (       d  f       NR= f)
N1 days 00:00:003 days 04:00:00r   r   r    nr   r   )r(   r   r
   r   rq   Minuter   r"   r#   r$   r1   rw   lenr4   ry   r{   r  r5   )r6   r  r&   r7   r%   r'   r9   r:   r  r<   r  r;   res2res_subs                 r   !test_td64arr_add_sub_offset_indexATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_indexI  s    "3./1BC%PQ(Sw||a('..2*>?eAhO#&2;;*A#Au!(-c#h81Veh8wV
 &(-c#h81Veh8wV
 ooc'??8188@|9@@H''(;<+C =
X&''(;<;D =
h'''(;<kG =
.) 9 9 =< =< =<s0   'HH4H.H((H9
H%(
H69
Ic                    Un[        SS/5      n[        R                  " [        R                  " SS9[        R
                  " SS9/5      n[        [        [        U5      5       Vs/ s H  odU   XV   -   PM     snSS9n[        [        [        U5      5       Vs/ s H  odU   XV   -
  PM     snSS9n[        R                  " XC5      n[        R                  " Xs5      R                  [        5      n[        R                  " U5         XE-   n	S S S 5        [        R                  " W	U5        [        R                  " U5         XT-   n
S S S 5        [        R                  " W
U5        [        R                  " X5      R                  [        5      n[        R                  " U5         XE-
  nS S S 5        [        R                  " WU5        g s  snf s  snf ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NR= f)Nr  r  r    r  r  r   r  )r   r1   r$   r   rq   r  rw   r  r   r4   ry   r{   r  r5   )r6   r  r7   r%   r9   r:   r  r<   r  r;   r  r  s               r   !test_td64arr_add_sub_offset_arrayATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_arrayk  s   /1BCD',,+W^^b-ABC!(-c#h81Veh8w
 &(-c#h81Veh8w
 ooc'??8188@''(;<+C =
X&''(;<;D =
h'|DKKFS''(;<kG =
.) 9 9 =< =<
 =<s0   'GG	GG&&G7
G#&
G47
Hc                    UnU[         [        R                  [        R                  4;   a  [
        OUn[        XB5      n[        SS/US   S9n[        [        R                  " SS9[        R                  " SS9/US   S9n[        [        [        U5      5       V	s/ s H  oU	   X   -   PM     sn	U[        S9n
[        R                  " Xt5      n[        R                  " X5      R                  [        5      n
[        R                   " U5         X-   nS S S 5        [        R"                  " WU
5        [        R                   " U5         X-   nS S S 5        [        R"                  " WU
5        [        [        [        U5      5       V	s/ s H  oU	   X   -
  PM     sn	U[        S9n[        R                  " X5      R                  [        5      n[        R                   " U5         X-
  nS S S 5        [        R"                  " WU5        g s  sn	f ! , (       d  f       GN= f! , (       d  f       N= fs  sn	f ! , (       d  f       NS= f)	Nr  r  r   r   r    r  r  r[  )r
   r   r"   r#   r$   r   r(   r   r   rq   r  rw   r  r{   r4   ry   r  r5   )r6   r  r&   r7   r%   box2r'   r9   r:   r  expected_addr   r;   r  r  res3s                   r   test_td64arr_with_offset_series?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series  s    RXX >>vC"3./1BC%PQ(Sq)7>>B+?@uQxP(-c#h81Veh8vV
 ooc'|:AA&I''(;<+C =
\*''(;<;D =
l+(-c#h81Veh8vV
 |:AA&I''(;<;D =
l+) 9
 =< =<
 9 =<s0   H
H	H!H2%H7
H!
H/7
Ioboxc                    [        SS/5      n[        R                  " XC5      nU" [        R                  " 5       [        R
                  " SS9/5      nSn[        R                  " [        US9   [        R                  " U5         XE-     S S S 5        S S S 5        [        R                  " [        US9   [        R                  " U5         XT-     S S S 5        S S S 5        [        R                  " [        US9   [        R                  " U5         XE-
    S S S 5        S S S 5        [        R                  " [        US9   [        R                  " U5         XT-
    S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       g = f)Nr  r  r!   r  z/has incorrect type|cannot add the type MonthEndr_   )
r   r   r4   r   MonthEndr   rb   rc   rd   r  )r6   r  r  r7   r9   anchoredrf   s          r   -test_td64arr_addsub_anchored_offset_arraylikeMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylike  sU   
 /1BCDooc2))+W[[1-=>? @]]9C0++,?@ A 1 ]]9C0++,?@ A 1 ]]9C0++,?@ A 1 ]]9C0++,?@ A 10 A@ 10 A@ 10 A@ 10 A@ 10s   .E;E*
E;3F
FF8F?F.F?=G!GG!*
E8	4E;;
F	
F	F
F+.
F<	8F??
G
G	G!!
G/c                 L   UnU[         R                  L a  [        R                  OUn[	        SSSS9n[
        R                  " XS5      n[        R                  " [        SS9[        R                  " S5      [        S5      /5      n[
        R                  " U5         Xg-   nS S S 5        [        [        SS9[        S	S9[        S
5      /5      n	[
        R                  " X5      R                  [        5      n	[
        R                  " WU	5        Sn
[         R"                  " [$        U
S9   [
        R                  " U5         Xg-
    S S S 5        S S S 5        [
        R                  " U5         Xv-
  nS S S 5        [        [        S5      [        S5      [        S5      /5      n	[
        R                  " X5      R                  [        5      n	[
        R                  " X5        g ! , (       d  f       GNG= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Nr   r^   rU   r  r    r@   r!   z
2000-01-04r.   z
2000-01-07z3unsupported operand type|cannot subtract a dateliker_   r   z
2000-01-01)r#   r$   r1   r2   r   r   r4   r   r   r   r   r  r
   ry   r{   r5   rb   rc   rd   )r6   r  r7   r%   r8   r9   r  r:   re   r<   rf   s              r   !test_td64arr_add_sub_object_arrayATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_object_array  s    BHH_rzz#gqs;))+W[[^Y|=TUV''(;<]F = A	q 19\3JK
 ??8299&A
)C]]9C0++,?@ A 1 ''(;<]F = )A,	!i6MNO??8299&A
)' =< A@ 10 =<s<   G!)H G3H+H!
G03
H	=H
H
H#ri   )*rj   rk   rl   rm   rB  rR  rm  rx  rb   rn   ro   r   r   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~   ri   r   r   r>  r>    s   1\+@BHPVj [[UY"--$HI) J)V1*"*" [[Y(<=[[Z$5 6 >6 [[ HHQK	

1
1 [[HHY)9yk"		
 '  	2	26
6.*)0V [[Wr~~e'<c&BC* D*$*$+* /D/: ,D [[Vbhhv%>? @8*r   r>  c                      \ rS rSrS rS rS rS rS rS r	\
R                  R                  S\R                  " S	S
5      \" \R                  " S	S
5      \R                   5      \" \" S	S
5      \R$                  5      \" \" S	S
5      \R&                  5      \R*                  " S	S
5      /S S9S 5       rS r\
R                  R                  S\S\
R2                  " S\R6                  " S5      S9/5      S 5       r\
R                  R                  SSS\
R2                  " S\R6                  " S5      S9/5      S 5       rS rS rS r S r!\
R                  R                  S/ SQ5      \
R                  R                  S/ S Q5      S! 5       5       r"S" r#S# r$S$ r%S% r&\
R                  RO                  \(S&S'9S( 5       r)\
R                  RU                  S)5      S* 5       r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3\
R                  R                  S3S4S5\Rh                  " S45      \Rh                  " S55      /5      S6 5       r5\
R                  R                  S3S4S5\Rh                  " S45      \Rh                  " S55      /5      S7 5       r6\
R                  R                  S8\Rh                  \\7/S9 S9S: 5       r8\
R                  R                  S8\Rh                  \\7/S; S9S< 5       r9S= r:S> r;S? r<S@r=gA)BTestTimedeltaArraylikeMulDivOpsi  c                     [        [        R                  " SSS95      n[        R                  " X!5      nUS-  n[        R
                  " X25        SU-  n[        R
                  " X25        g )Nr]   r   r   r    )r   r1   rx   r   r4   r5   r6   r7   r   re   s       r   test_td64arr_mul_int4TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int  sO    RYYq89ooc2q
$S
$r   c                     [        SSSS9n[        R                  " X25      nSR                  / SQ5      n[        R
                  " [        US9   X1-    S S S 5        g ! , (       d  f       g = f)NrN   r  r   r   r  )zargument must be an integer$cannot use operands with types dtypezCannot multiply withz$unsupported operand type\(s\) for \*r_   )r   r   r4   r  rb   rc   rd   )r6   r  r7   rP   rf   s        r   %test_td64arr_mul_tdlike_scalar_raisesETestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdlike_scalar_raises  sR    h	>ooc2hh
 ]]9C0O 100s   A
A*c                    [         R                  " SSS9n[        U5      n[        US-  5      n[        R                  " X15      n[        R                  " XA5      nU[         R
                  " SSS9-  n[        R                  " XT5        g )Nr]   r   r   )r1   rx   r   r   r4   r$   r5   r6   r7   rng5r   r<   re   s         r   test_tdi_mul_int_array_zerodim>TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array_zerodim  sg    yy'*T"!$(+ooc2??8<rxx11
)r   c                     [         R                  " SSS9n[        U5      n[        US-  5      n[        R                  " X15      n[        R                  " XA5      nX2-  n[        R
                  " XT5        g Nr]   r   r   r!   )r1   rx   r   r   r4   r5   r  s         r   test_tdi_mul_int_array6TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array  sY    yy'*T"!$'*ooc2??8<
)r   c                    UnU[         [        R                  [        R                  4;   a  [
        OUn[        [        R                  " SSS95      n[        [        R                  " SSS9S-  5      n[        R                  " XB5      n[        R                  " XS5      nU[        [        R                  " SSS95      -  n[        R                  " Xe5        g r  r
   r   r"   r#   r$   r   r   r1   rx   r4   r5   )r6   r7   r%   r8   r   r<   re   s          r   test_tdi_mul_int_series7TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_series  s    RXX >>vCRYYq89!"))AW"="BCooc'??82vbii9::
)r   c                    UnU[         [        R                  [        R                  4;   a  [
        OUn[        [        R                  " SSS95      n[        R                  " XB5      n[        R                  " SSS9n[        XUS-   -  5      n[        R                  " Xc5      nU[        US-   5      -  n[        R                  " Xv5        g )Nr]   r   r   float64rr  r  )r6   r7   r%   r8   r   rng5fr<   re   s           r   test_tdi_mul_float_series9TestTimedeltaArraylikeMulDivOps.test_tdi_mul_float_series)  s    RXX >>vCRYYq89ooc'		!9-!%3;"78??82veck**
)r   r:   r       c                 ,    [        U 5      R                  $ r   r  r  s    r   r  (TestTimedeltaArraylikeMulDivOps.<lambda>A  r  r   r  c                 2   Un[        S/S-  5      n[        SS5      R                  S 5      n[        R                  " XC5      n[        XA5      n[        R                  " XV5      nX-  n[        R                  " Xu5        XA-  n[        R                  " X5        g )Nr  rO   rN   r  )r   r   r   r   r4   r   r5   )	r6   r:   r7   r%   r9   r<   r8   re   commutes	            r   test_tdi_rmul_arraylike7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylike8  s|     gY^,"8Y7BB4Hooc'c)??82
)+
*r   c                 |   [        [        R                  " S5      [        SS9-  SS9n[        R
                  " X!5      nSn[        R                  " [        US9   SU-    S S S 5        [        R                  " [        US9   US-    S S S 5        [        R                  " [        US9   [        R                  U-    S S S 5        [        R                  " [        US9   U[        R                  -    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nf= f! , (       d  f       g = f)	Nr]   r    r  rW  r   +Cannot multiply 'timedelta64\[ns\]' by boolr_   T)
r   r1   rx   r   r   r4   rb   rc   rd   True_)r6   r7   rD   r   rf   s        r   #test_td64arr_mul_bool_scalar_raisesCTestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_scalar_raisesS  s    RYYq\IA$66hGooc2<]]9C03J 1]]9C0$J 1]]9C0HHsN 1]]9C0"((N 10 10000000s0   C:D(DD-:
D
D
D*-
D;r   booleanbool[pyarrow]pyarrow)marksc                    [        [        R                  " S5      [        SS9-  SS9n[        R
                  " X25      n[        [        R                  " S5      S:  US9n[        R
                  " XR5      nSn[        R                  " [        US9   XE-    S S S 5        UR                  S	S
5      nUS:X  a  Sn[        R                  " [        US9   XT-    S S S 5        g ! , (       d  f       NO= f! , (       d  f       g = f)Nr]   r    r  rW  r   g      ?r  r_   rmulmulr   zXoperation 'mul' not supported for dtype 'bool\[pyarrow\]' with dtype 'timedelta64\[ns\]')
r   r1   rx   r   r   r4   rb   rc   rd   replace)r6   r   r7   rD   r   r:   rf   msg2s           r   test_td64arr_mul_bool_raises<TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_raisesb  s     RYYq\IA$66hGooc2ryy|c)76<]]9C0K 1 {{65)O#2  ]]9D1K 21 10 21s   CC0
C-0
C>Int64Float64int64[pyarrow]c           	         [        [        R                  " S5      [        SS9-  SS9n[        R
                  " X25      n[        [        R                  " S5      US9n[        R
                  " XR5      n[        [        S5       Vs/ s H  n[        US-  S9PM     snSS9n[        R
                  " Xr5      nUS:X  a  UR                  S5      nXE-  n[        R                  " X5        XT-  n[        R                  " X5        g s  snf )	Nr]   r    r  rW  r   r!   r,  zduration[ns][pyarrow])
r   r1   rx   r   r   r4   rw   r   ry   r5   )	r6   r   r7   rD   r   r:   r  r<   re   s	            r   test_td64arr_mul_masked7TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_masked  s     RYYq\IA$66hGooc2ryy|516%(C(Q91a40(C8T??8<$$'>?H
)
) Ds   Dc                 f   [        SSSS9n[        R                  " X!5      n[        R                  " [
        SS9   U[        -    S S S 5        [        R                  " [
        SS9   [        U-    S S S 5        [        R                  " SS	5      nS
R                  / SQ5      n[        R                  " [
        US9   X#-    S S S 5        [        R                  " [
        US9   X2-    S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NW= f! , (       d  f       g = f)NrN   r  r   r   rE  r_   zCannot divide NaTType byr   r   r  )z0ufunc '(true_divide|divide)' cannot use operandszcannot perform __r?truediv__z*Cannot divide datetime64 by TimedeltaArray)
r   r   r4   rb   rc   rd   r   r1   r|  r  )r6   r7   rP   dt64natrf   s        r   test_td64arr_div_nat_invalid<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_nat_invalid  s    h	>ooc2]]9,FG#I H]]9,FG#I H --t,hh
 ]]9C0M 1]]9C0M 10! HGGG 1000s/   
C/&
D ;D!D"/
C= 
D
D"
D0c                    UnU[         R                  L a  [        R                  OUn[	        SS5      n[
        R                  " XB5      n[        R                  " S5      n[        R                  " [        R                  /S-  5      n[
        R                  " Xc5      nXE-  n[
        R                  " Xv5        XT-  n[
        R                  " Xv5        g )NrN   r  r   rO   )
r#   r$   r1   r2   r   r   r4   r   rG  r5   )r6   r7   r%   r8   rP   r:   r<   re   s           r   test_td64arr_div_td64nat8TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64nat  s     BHH_rzz#h	2ooc'u%88RVVHrM*??82
)
)r   c                    [        [        R                  " SSS95      n[        R                  " X!5      nUS-  n[        R
                  " X25        [        R                  " [        SS9   SU-    S S S 5        g ! , (       d  f       g = f)Nr]   r   r   r    Cannot divider_   	r   r1   rx   r   r4   r5   rb   rc   rd   r  s       r   test_td64arr_div_int4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_int  s[    RYYq89ooc2q
$]]9O<G =<<s   )A88
Bc                    UnU[         R                  L a  [        R                  OUn[	        SSSS9n[        [        R                  " S5      S-   S-  [        R                  SS9n[        R                  " XS5      n[        R                  " Xd5      nXQ-  n[        R                  " Xv5        X-  nSU-  n[        R                  " Xv5        g )	NrN   r  r   r   rO   r       r   )r#   r$   r1   r2   r   r
   rx   r  r   r4   r5   r6   r  r7   r%   r8   rP   r<   re   s           r   test_td64arr_div_tdlike_scalar>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar  s     BHH_rzz#h	>"))B-!+r1%Pooc'??82
)x<
)r   m)r    r^   rO   r   )rU   r   rA  r   msr  r   c                    UnU[         R                  L a  [        R                  OUn[	        [        SS9/S-  5      n[        R                  US'   Un[        R                  " Xd5      n[	        U Vs/ s H  o[        R                  " X5      -  PM     sn5      n	[        R                  " X5      n	U[        R                  " X5      -  n
[        R                  " X5        [	        U Vs/ s H%  n[        [        R                  " X5      5      U-  PM'     sn5      n	[        R                  " X5      n	[        R                  " X5      U-  n
[        R                  " X5        g s  snf s  snf )N;   r@   r^   r!   )r#   r$   r1   r2   r   r   rG  r   r4   r   r5   )r6   rA  r   r7   r%   r8   rD   flatr   r<   re   s              r   test_td64arr_div_td64_scalar<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar  s     BHH_rzz#iR()A-.Aooc' E1r~~a66EF??82r~~a..
) 4P4a9R^^A%<=A4PQ??82(3.
) F Qs   2"E"),E'c                    UnU[         R                  L a  [        R                  OUn[	        S[
        S/SS9n[        S[        R                  S/[        R                  SS9n[        R                  " XS5      n[        R                  " Xd5      nXQ-  n[        R                  " Xv5        X-  nSU-  n[        R                  " Xv5        g )	NrN   r   r   r   r=  rB   r   r    )r#   r$   r1   r2   r   r   r
   rG  r  r   r4   r5   r>  s           r   'test_td64arr_div_tdlike_scalar_with_natGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_nat  s     BHH_rzz#hX6UC"bffb)%Hooc'??82
)x<
)r   c                    UnU[         R                  L a  [        R                  OUn[	        S[
        S/5      n[        S[        R                  S/[        R                  S9n[        R                  " XB5      n[        R                  " XS5      n[        R                  " / SQSS9nXF-  n[        R                  " Xu5        U[        R                  " Xb5      -  n[        R                  " Xu5        XFR                  [        5      -  n[        R                  " XuR                  [        5      5        U[        U5      -  n[        R                  " Xu5        SU-  nXd-  n[        R                  " Xu5        [        R                  " Xb5      U-  n[        R                  " Xu5        UR                  [        5      U-  n[        R                  " Xu5        [        U5      U-  n[        R                  " Xu5        g )	NrN   r   r=  rB   r   )r!   r.   r!   zm8[h]r    )r#   r$   r1   r2   r   r   r
   rG  r  r   r4   r5   ry   r{   rv   )r6   r7   r%   r8   rP   r<   r:   re   s           r   test_td64arr_div_td64_ndarray=TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_ndarray  s\    BHH_rzz#hX67"bffb)<ooc'??82'2
)ru22
)||F++
 78tE{"
) x<
),s2
)f%+
)es"
)r   c                    [        S[        S/5      n/ SQn[        R                  " X!5      nSnX3S S 4 Hx  nU[        R
                  " U5      [        U5      4 HO  n[        R                  " [        US9   X&-    S S S 5        [        R                  " [        US9   Xb-    S S S 5        MQ     Mz     g ! , (       d  f       N== f! , (       d  f       Mx  = f)NrN   r   )r    r!   r^   r.   z0Cannot divide vectors|Unable to coerce to Seriesr!   r_   )
r   r   r   r4   r1   r$   r
   rb   rc   r   )r6   r7   rP   
mismatchedrf   r   r:   s          r   test_tdarr_div_length_mismatch>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatch2  s    hX67!
ooc2@2A/Crxx}eCj9]]:S9K :]]:S9K :9 : 0 :999s   6B2C2
C 
Cc                    [        SSS9R                  S[        5      n[        R                  " X!SS9n[
        R                  " US   SS	US
   /[        S9n[        R                  " XASS9nX4-  n[        S[
        R                  " SS5      US   S/[        S9n[        R                  " XaSS9n[        U[        5      (       a  UR                  5       n[        R                  " XV5        U[        L a.  [        UR                  S   [
        R                  5      (       d   eX4-  n[        S[
        R                  " SS5      US   S/[        S9n[        R                  " XaSS9n[        U[        5      (       a  UR                  5       n[        R                  " XV5        U[        L a/  [        UR                  S   [
        R                  5      (       d   eg g )Nr  r^   r/   r    F	transposer   rs  rt  r!   r   rr  r   r  )r    r   )r   insertr   r   r4   r1   r$   r{   r
   r   r   r   r3   r5   r   r,  )r6   r7   origr9   r:   r;   r<   s          r   !test_td64_div_object_mixed_resultATestTimedeltaArraylikeMulDivOps.test_td64_div_object_mixed_result@  sx    w299!SAoodeD$q'3T!W5VDGk#r~~eT:DGSIQWX??8uMh 344((*H
&Y&chhtnbnn====l!R^^E48$q'1EVT??8uMh 344((*H
&Y&chhtnbnn==== 'r   zno fp exception support in wasm)reasonc                    UnU[         R                  L a  [        R                  OUn[	        / SQSS9n[	        / SQSS9n[
        R                  " XB5      n[
        R                  " XR5      n[        R                  " SS[        R                  /[        R                  S9n[
        R                  " Xc5      n[
        R                  " [        U[         R                  L SS9   XE-  nS S S 5        [
        R                  " WU5        [
        R                  " [        U[         R                  L SS9   [        R                  " U5      U-  nS S S 5        [
        R                  " Xv5        g ! , (       d  f       N= f! , (       d  f       N6= f)N)  zd    rU  r   )r[  r\  Nrr  F)check_stacklevel)r#   r$   r1   r2   r   r   r4   rG  r  maybe_produces_warningRuntimeWarningr5   asarray)r6   r7   r%   r8   r   r   r<   re   s           r   &test_td64arr_floordiv_td64arr_with_natFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_natb  s     BHH_rzz#(0AB+3DEt)+88S#rvv.bjjA??82&&C288Oe
 ]F

 	) &&C288Oe
 ZZ%.F
 	)
 

 
s    E'.E8'
E58
Fz/ignore:invalid value encountered:RuntimeWarningc                 ,   UnU[         R                  L a  [        R                  OUn[	        S5      n[        XU[        /SS9n[        R                  " XcSS9n[        SS[        R                  /5      n[        R                  " XtSS9nXb-  n[        R                  " X5        [        SS[        R                  /5      n[        R                  " XtSS9nX&-  n[        R                  " X5        UR                  U5      n[        R                  " X5        g )N5m3srW  r   FrS  r   r!   )r#   r$   r1   r2   r   r   r   r   r4   rG  r5   __rfloordiv__)	r6   r7   	scalar_tdr%   r8   r   td1r<   re   s	            r   test_td64arr_floordiv_tdscalar>TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_tdscalar  s      BHH_rzz#vbc](3ooc%81a.)??8UC!
) 1a.)??8UC!
) ""9-
)r   c                    [        [        R                  " SSS95      n[        R                  " X!5      nUS-  n[        R
                  " X25        Sn[        R                  " [        US9   SU-    S S S 5        g ! , (       d  f       g = f)Nr]   r   r   r    z@floor_divide cannot use operands|Cannot divide int by Timedelta*r_   r9  )r6   r7   r   re   patterns        r   test_td64arr_floordiv_int9TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_int  s`    RYYq89ooc2
$T]]9G4H 544s   +A::
Bc                    [        SS5      n[        R                  " XB5      n[        / SQS-  5      n[        R                  " Xb5      n[	        U[
        R                  5      (       a|  Sn[        R                  " [        US9   XS-    S S S 5        [        R                  " [        US9   [        XS5        S S S 5        [        R                  " [        US9   XS-    S S S 5        g XS-  n[        R                  " X5        U[        L a5  [	        U[        R                  5      (       a  UR                  [         5      nOSn[        R"                  " U5         [        XS5      nS S S 5        [        R                  " US   U5        [        R                  " US	   XS-  5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f! , (       d  f       Nz= f)
Nr  9 days)r  z2 Days0 Daysr^   rE  r_   Fr    r   )r   r   r4   r   r   r   r   rb   rc   rd   divmodr5   r   r#   
DateOffsetry   r{   r  )	r6   r  r7   
three_daysr9   r  r<   rf   re   s	            r   test_td64arr_mod_tdscalar9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalar  sN    gx04!"?!"CD??8<j'++..,Cy4" 5y4u) 5y4# 5#
)Y&:j"--+P+P  v.H"'''(;<E.F = 	q	8,
q	5#67/ 544444 =<s0   F)F1GG
F.1
G 
G
G"c                    [        SSSS9n[        R                  " X!5      n[        SS/S-  5      n[        R                  " XA5      nUS-  n[        R                  " XT5        Sn[
        R                  " [        US	9   SU-    S S S 5        [        US5      n[        R                  " US
   U5        [        R                  " US   US-  5        g ! , (       d  f       NR= f)Nz1 nsz10 nsrO   r/   z0 nsr]   r!   zCannot divide int byr_   r    r   )	r   r   r4   r   r5   rb   rc   rd   rr  )r6   r7   r9   r  r<   re   rf   s          r   test_td64arr_mod_int4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_int  s    fgr:4!66"2Q"67??8<
)$]]9C0I 1 q!
q	8,
q	5A:. 10s   >C
Cc                    [        SS5      n[        R                  " X15      n/ SQS/S-  -   n[        U5      n[        R                  " XQ5      n[	        U[
        R                  5      (       a)  Sn[        R                  " [        US9   X$-    S S S 5        g X$-  n[        R                  " Xu5        [        X$5      n[        R                  " US   U5        [        R                  " US	   X$-  5        g ! , (       d  f       g = f)
Nr  rp  )rq  r  rq  z3 Days   z#Cannot divide Day by TimedeltaArrayr_   r    r   )r   r   r4   r   r   r   r   rb   rc   rd   r5   rr  )r6   r7   rt  r9   r  r<   rf   re   s           r   test_td64arr_rmod_tdscalar:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalar  s    gx040H:>A!(+??8<j'++..7Cy4" 5#
)
*
q	8,
q	:#67 54s   	C33
Dc                 x   [        [        SSS9/S-  5      n[        R                  UR                  S'   [
        R                  " X15      nSn[        R                  " [        US9   X2-    S S S 5        [        R                  " [        US9   X#-    S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = fNr]   r^   r\  r!   z(operate|unsupported|cannot|not supportedr_   
r   r   r1   rG  r,  r   r4   rb   rc   rd   )r6   r7   rg  rh  rl  s        r   !test_td64arr_mul_tdscalar_invalidATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalid  s    i156:;ffooc2
 =]]9G4O 5]]9G4O 54 5444   &BB+
B(+
B9c                    [        [        R                  " SSS95      n[        R                  " X!5      nSR                  / SQ5      n[        R                  " [        US9   X"S S -    S S S 5        [        R                  " [        US9   U[        R                  " SS	/5      -    S S S 5        g ! , (       d  f       NL= f! , (       d  f       g = f)
Nr]   r   r   r  )r  z$Cannot multiply with unequal lengthszUnable to coerce to Seriesr_   r^   r    r!   )r   r1   rx   r   r4   r  rb   rc   rd   r   r$   r6   r7   r   rf   s       r   !test_td64arr_mul_too_short_raisesATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raises  s    RYYq89ooc2hh
 ]]9C0bq'M 1 ]]:S1"((Aq6"" 21 10 21s   !B/
C /
B= 
Cc                     [        [        R                  " SSS95      n[        R                  " X!5      nSn[
        R                  " [        US9   X"-    S S S 5        g ! , (       d  f       g = f)Nr]   r   r   r  r_   )r   r1   rx   r   r4   rb   rc   rd   r  s       r   test_td64arr_mul_td64arr_raises?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raises  sI    RYYq89ooc24]]9C0I 100s   A
A,c                    [        / SQSS9n[        / SQSS9n[        R                  " X15      n[        R                  " XA5      nX2* -  n[        R                  " XT5        U* U-  n[        R                  " XT5        [        / SQSS9n[        R                  " XA5      nUSU-  -  n[        R                  " XT5        SU-  U-  n[        R                  " XT5        g )Nr  rW  r   )-59 Daysr  r   rU  )118 Daysr  r   r!   )r   r   r4   r5   )r6   r7   r  r  r<   re   s         r   test_td64arr_mul_numeric_scalar?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_numeric_scalar   s     4HE9ARS6??8<$
)$%
)9ARS??8<!c'"
)c'U"
)r   twor!   rt  c                 .   [        / SQSS9n[        / SQSS9n[        R                  " X15      n[        R                  " XA5      nX2-  n[        R                  " XT5        [        R
                  " [        SS9   X#-    S S S 5        g ! , (       d  f       g = fNr  rW  r   )29.5Dr  r   rU  r8  r_   r   r   r4   r5   rb   rc   rd   r6   r7   r  r  r<   re   s         r   test_td64arr_div_numeric_scalar?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalar6  sm     4HE3;LM6??8<
)]]9O<K =<<   8B
Bc                 .   [        / SQSS9n[        / SQSS9n[        R                  " X15      n[        R                  " XA5      nX2-  n[        R                  " XT5        [        R
                  " [        SS9   X#-    S S S 5        g ! , (       d  f       g = fr  r  r  s         r   $test_td64arr_floordiv_numeric_scalarDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalarF  sk    4HE3;LM6??8<
)]]9O<L =<<r  klassc                     U R                   $ r   rj   r  s    r   r  r  W      ajjr   c                 @   U" / SQ5      n[        / SQSS9nUR                  U5      n[        / SQSS9n[        R                  " XQ5      n[	        XT5      n[        R                  " Xg5      nXT-  n[        R
                  " X5        XE-  n[        R
                  " X5        g )N   r]  (   r  rW  r   )z	1180 Daysz	1770 Daysr   rU  )r   ry   r   r4   r   r5   )	r6   r7   r  r  r  r  r<   r8   re   s	            r   test_td64arr_rmul_numeric_array?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_arrayT  s     |$4HE34;CTU6e,??82
)
)r   c                     U R                   $ r   r  r  s    r   r  r  v  r  r   c                 $   U" / SQ5      n[        / SQSS9nUR                  U5      n[        / SQSS9n[        R                  " XQ5      n[	        XT5      n[        R                  " Xg5      nXT-  n[        R
                  " X5        SR                  / SQ5      n	[        R                  " [        U	S	9   XE-    S S S 5        XTR                  [        5      -  nU[        L a  [        [        U5      5       V
s/ s H  oR                  S
U
4   XJ   -  PM     nn
[        R                  " Xg5      R                  [        5      nUS   R                  [         R"                  " SS5      5      US'   O[        [        U5      5       V
s/ s H  oU
   XJ   -  PM     nn
U Vs/ s H$  o[$        La  UO[         R"                  " SS5      PM&     nnU[        R&                  L a*  [        R&                  " U5      R                  [        5      nOU" U[        S9n[        R
                  " X5        [        R                  " [        U	S	9   UR                  [        5      U-    S S S 5        g ! , (       d  f       GN= fs  sn
f s  sn
f s  snf ! , (       d  f       g = f)Nr  r  rW  r   )z2.95Dz
1D 23h 12mr   rU  r  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandr8  z-ufunc 'divide' cannot use operands with typesr_   r   r!   r   r   )r   ry   r   r4   r   r5   r  rb   rc   rd   r{   r   rw   r  r,  fillnar1   r   r   r"   )r6   r7   r  r  r  r  r<   r8   re   rl  r  r   s               r   test_td64arr_div_numeric_array>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_arrays  s    |$4HE348@QR6e,??82
)((	
 ]]9G4N 5 v..Y&>CCK>PQ>P

1a4(694>PHQx6==fEH"1+,,R^^E4-HIHQK6;CJ6GH6Ga69,6GHHLTLTqc\r~~eT'BBH   r{{";;x077?7
)]]9G4MM&!E) 54) 54
 R I 54s*   1I 4I2I7+I<>J 
I/
Jc                 h   Un[        X25      n[        / SQUS   S9n[        / SQ[        R                  US   S9n[        / SQSUS9n[
        R                  " XS5      n[        XV5      n[
        R                  " Xx5      nXe-  n	[
        R                  " X5        XV-  n	[
        R                  " X5        g )	N0days1day2days3days4daysr   r   )r   r    r!   r^   r.   r    r   )r  r  r  9days16daysrq  )	r(   r   r   r1   r   r   r4   r   r5   )
r6   r7   r&   r%   r'   r9   rD   r<   r8   re   s
             r   test_td64arr_mul_int_series;TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int_series  s    "3.8uQx
 _BHH58D9#
 ooc'c'??82
)
)r   c                    Un[        / SQUS   S9n[        / SQ[        R                  US   S9nU[        R
                  [        R                  4;  a  US   OUS   n[        [        [        U5      5       Vs/ s H  otU   XW   -  PM     snSUS9n[        R                  " XC5      n[        XE5      n	[        R                  " X5      nUR                  U5      n
U[        L a  U
[        L d   eg [        R                  " X5        g s  snf )	Nr  r   r   )rs  r^   g      @r{  g      @r    r   r!   rq  )r   r   r1   r  r   r"   r#   r$   rw   r  r4   r   __rtruediv__r   NotImplementedr5   )r6   r7   r&   r%   r9   rD   xnamer  r<   r8   re   s              r   test_float_series_rdiv_td64arr>TestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr  s    8uQx
 *"**58LRXX'>>aE!H&+CHo6oVcf_o6#
 ooc'c'??82!!#&)^+++OOF- 7s   9Dc                    [        [        [        /SS9n[        R                  " X!5      n[        R
                  " SS/[        S9n[        R                  " SS5      n[        U/S-  [        S9nU[        LaJ  [        R                  " Xa5      R                  [        5      nU[        [        4;   a  UR                  U5      nX4-  n[        R                  " Xv5        X4-  n[        R                  " Xv5        g )NrW  r   r!   rt  r   r   )r   r   r   r4   r1   r$   r{   r   r
   ry   r   r   r  r5   )r6   r7   r9   r   r   r  r<   re   s           r   -test_td64arr_all_nat_div_object_dtype_numericMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numeric  s    c3Zx8s3!S0ud+%1F3&x@GGOH&)!44#??51
)
)r   ri   N)>rj   rk   rl   rm   r  r  r  r  r  r  rb   rn   ro   r1   rx   r
   r   rw   uint64r  r#   
RangeIndexr  r  boolparamr   
skip_if_nor(  r.  r2  r5  r:  r?  rF  rI  rL  rP  rW  skipifr   rb  filterwarningsri  rm  ru  rx  r|  r  r  r  r  r$   r  r  r   r  r  r  r  r  r~   ri   r   r   r  r    s0   %	*	*** [[IIa"))Ar"BHH-%2,		*%2,

+MM!R 	
 '  
+
+  [[LLi0HI	
, [[LL)y1IJ	
**(0*&	*$ [[S*-[[V%KL* M .***"$*L >D [[%FG* H*8 [[ QR* S*4"8H/$80# *, [[UQRXXa["((3-$HI J [[UQRXXa["((3-$HI J [[	5&!   
*
*4 [[	5&!   
2*
2*h*:.2*r   r  c                       \ rS rSrS rSrg)"TestTimedelta64ArrayLikeArithmetici  c                 x   [        [        SSS9/S-  5      n[        R                  UR                  S'   [
        R                  " X25      nSn[        R                  " [        US9   X-    S S S 5        [        R                  " [        US9   X1-    S S S 5        g ! , (       d  f       N5= f! , (       d  f       g = fr  r  )r6   rg  r7   rh  rl  s        r   test_td64arr_pow_invalid;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalid  s    i156:;ffooc2
 =]]9G4N 5 ]]9G4N 54 54 54r  ri   N)rj   rk   rl   rm   r  r~   ri   r   r   r  r    s    
r   r  c                  8   [        S5      n U [        SSSS9-   n[        [        S5       Vs/ s HF  nU [        R
                  " S5      U-  [        R
                  " S5      [        US5      S	   -  -   -   PMH     sn5      n[        R                  " X5        g s  snf )
NrJ   0srp     r/   z	0.033333sz	0.000001sr^   r   )	r   r   r	   rw   r#   r+  rr  r   r   )	timestampre   rf  r<   s       r   test_add_timestamp_to_timedeltar  	  s    ,'ItR@@F 2Y	
  ,q0//+.1a@A
 	
	H &+	
s   AB).r   r   numpyr1   rb   pandas._libs.tslibsr   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr#   r   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   pandas.tests.arithmetic.commonr   r   r   r   r(   r*   r   r   r(  r>  r  r  r  ri   r   r   <module>r     s   
   )  - ) )     2 #	 h hV`1 `1Nk# k#\@+ @+Fa* a*HN* N*b ,,r   