
     f?4                    6   d dl m Z mZ d dlZd dlZd dlmZmZ d dlZ	d dlm
Z
mZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZ d Zd Z G d	 d
      Z G d d      Z  G d d      Z! G d d      Z" G d d      Z# G d d      Z$ G d d      Z%d Z&y)    )datetime	timedeltaN)OutOfBoundsDatetimePerformanceWarning)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 <    t        j                  |       }||k(  sJ y)zT
    Helper to check the dtype for a Series, Index, or single-column DataFrame.
    N)tm	get_dtype)objexpected_dtypedtypes      b/var/www/html/py/new-venv/lib/python3.12/site-packages/pandas/tests/arithmetic/test_timedelta64.pyassert_dtyper   &   s      LLEN"""    c                     | t         u r|d   }|S | t        j                  t        j                  fv r|d   }|S |d   }|S )Nr         )r   r   to_arraypdarray)boxnamesexnames      r   get_expected_namer'   /   sS    
i q
 M	 
bhh'	'q M qMr   c                      e Zd Zd Zej
                  j                  d ed       ed       ed      j                          e
j                  d      g      d        Zej
                  j                  ddd	 ed
       ed
      j                  d       ed
      j                         j                          ed
      j                         j!                          ed
      j#                          ej&                  d      g      d        Zej
                  j                  d e ed             ej.                  d       ej.                  d      j1                  ej2                         ej.                  d      j1                  e       ej8                  ddd      j&                   ej&                   ej8                  dd             e ej8                  dd             ej8                  dd      j1                  e       ej:                  ddd      j&                   ej:                  ddd      j1                  e      g
      d        Zd Zy)#TestTimedelta64ArrayLikeComparisonsc                 ~   |}|t         t        j                  fvr|nt        j                  }t        dd      }t        j                  |j                         d         }t        j                  ||      }||k  }t        j                  g d      }t        j                  ||      }t        j                  ||       y )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_zerodimzDTestTimedelta64ArrayLikeComparisons.test_compare_timedelta64_zerodimD   s    !/rxx7H!H~bjjdA.*+ooc3'Ul8878??8T2
X&r   	td_scalarr   days   c                 F   |}|t         t        j                  fvr|nt        j                  }t        t        d      t        d      g      }t        j                  ||      }||kD  }t        ddg      }t        j                  ||      }t        j                  ||       y )Nr   r=   r    FT)
r	   r"   r#   r/   r0   r   r   r   r2   r3   )r4   r5   r<   r$   r6   seractualr:   s           r   !test_compare_timedeltalike_scalarzETestTimedelta64ArrayLikeComparisons.test_compare_timedeltalike_scalarR   s     %!22s

iQ'):;<ooc3'y5$-(??8T2
)r   invalidl     x
Ii	 a
2021-01-01UTCr,   c                 h    |}t        dd      }t        j                  ||      }t        |||       y N1 days
   r-   )r   r   r2   r   )r4   r5   rD   r$   rngr   s         r   test_td64_comparisons_invalidzATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidg   s1     h3ooc3'!#w4r   r8   rK   z
1970-01-01r.   tzr-   z
1971-01-01Dfreqr.   c                 x    t        dd      j                  }t        j                  ||      }t	        |||       y rI   )r   _datar   r2   r   )r4   r8   r5   rL   s       r   "test_td64arr_cmp_arraylike_invalidzFTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_arraylike_invalid}   s2    & h399ooc>2!#un=r   c           	         t        dd      j                  }t        j                  ddd|d   t	        d      g      }||k(  }t        j                  g d	      }t        j                  ||       ||k7  }t        j                  ||        d
}t        j                  t        |      5  ||k   d d d        t        j                  t        |      5  ||kD   d d d        t        j                  t        |      5  ||k   d d d        t        j                  t        |      5  ||k\   d d d        y # 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   KxY w# 1 sw Y   y xY w)NrJ      r-   r   r   r       rF   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rT   r/   r#   r   r   assert_numpy_array_equalpytestraises	TypeError)r4   rL   r8   resultr:   msgs         r   test_td64arr_cmp_mixed_invalidzBTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_mixed_invalid   s+   h288!Q3q69\+BCD88>?
##FH5
##FXI6T]]9C0 	%K	]]9C0 	%K	]]9C0 	5L	]]9C0 	5L	 		 		 		 		 	s0   )D3D?;E$E3D<?EEE N) __name__
__module____qualname__r;   r\   markparametrizer   r   to_timedelta64r   HourrC   r   nowto_datetime64to_pydatetimedater/   r#   rM   listrangearangeastypefloat32objectr"   
date_rangeperiod_rangerU   ra    r   r   r)   r)   ?   s   
' [[111,,.GLL		

*
* [[l#l#''.l#'')779l#'')779l#((*BHHQK		
55 [[rOBIIbMBIIbM  ,BIIbM  (BMM,u=CCBHH]R]]<<=|R89BMM,3::6BBOOLsB?EEBOOLsB?FFvN	
>>r   r)   c                      e Zd Zej                  j                  ddeg      d        Zej                  j                  d edde	e	ddg       e
j                   e
j                  dd	       e
j                  dd	       e
j                  d
       e
j                  d
       e
j                  dd	       e
j                  dd      z    e
j                  dd	       e
j                  dd      z   g      g      d        Zd Zy)TestTimedelta64ArrayComparisonsr   Nc                    t        t        d      t        t        d      g      }t        t        t        t        d      g      }||}}|t        u r*|j	                  t              |j	                  t              }}||k(  }t        j                  g d      }t        j                  ||       ||k7  }t        j                  g d      }t        j                  ||       t        j                  g d      }t        j                  |t        k(  |       t        j                  t        |k(  |       t        j                  g d      }t        j                  |t        k7  |       t        j                  t        |k7  |       t        j                  g d      }t        j                  |t        k  |       t        j                  t        |kD  |       y )NrJ   3 days)FFT)TTF)FFFTTT)	r   r   r
   rr   rp   r/   r#   r   r[   )r4   r   leftrightlhsrhsr_   r:   s           r   test_comp_natz-TestTimedelta64ArrayComparisons.test_comp_nat   sS   y2C89LMNS)H*=>?SF?{{6*ELL,@C8801
##FH588/0
##FH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    rP   natr   srW   rX   c                    t        dt        dt        ddg      }||k  }t        j                  g d      }t	        j
                  ||       ||kD  }t        j                  g d      }t	        j
                  ||       ||k  }t        j                  g d      }t	        j
                  ||       ||k\  }t        j                  g d      }t	        j
                  ||       ||k(  }t        j                  g d      }t	        j
                  ||       ||k7  }t        j                  g d      }t	        j
                  ||       y )N1 dayz1 day 00:00:01z5 day 00:00:03)TFFFTF)TFFFTT)FFFFFT)TTTTTF)r   r
   r/   r#   r   r[   )r4   r   idx1r_   r:   s        r   test_comparisons_natz4TestTimedelta64ArrayComparisons.test_comparisons_nat   s   &    	
 88DE
##FH588DE
##FH588CD
##FH588CD
##FH588EF
##FH588AB
##FH5r   c                     t        dd      }||d   k  }t        j                  g ddgdz  z         }t        j                  ||       |t        |      k(  }||k(  }t        j                  ||       y )NrJ   rK   r-   rX   rz   F   )r   r/   r#   r   r[   rm   )r4   rL   r_   r:   exps        r   test_comparisons_coveragez9TestTimedelta64ArrayComparisons.test_comparisons_coverage  sl    h3s1v88.%1<=
##FH5S	!Sj
##FC0r   )rb   rc   rd   r\   re   rf   rr   r   r   r
   r/   r#   timedelta64r   r   ru   r   r   rw   rw      s    [[WtVn59 698 [['3-=?PQ BHH"BNN1c*"BNN1c*"BNN5)"BNN5)"BNN1c*^R^^As-CC"BNN1c*^R^^As-CC			
$"6%$"6J	1r   rw   c                       e Zd Zd Zd Zd Zd Zd Zej                  j                  dddg      d	        Zd
 Zd Zd Zd Zd Zd Zy)!TestTimedelta64ArithmeticUnsortedc                    t        g ddd      }|dz  t        j                  |d      fD ]K  }t        |t               sJ t        g ddd      }t	        j
                  ||       |j                  dk(  rKJ  |dz  t        j                  |d      fD ]K  }t        |t               sJ t        g dd	d      }t	        j
                  ||       |j                  d	k(  rKJ  | t        j                  |      fD ]K  }t        |t               sJ t        g d
dd      }t	        j
                  ||       |j                  dk(  rKJ  t        g dd	d      }t        |      t        j                  |      fD ]H  }t        |t               sJ t        g dd d      }t	        j
                  ||       |j                  HJ  y )N)r+   4h6h8h10hr+   xrR   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   r/   multiply
isinstancer   assert_index_equalrR   dividenegativeabsabsolute)r4   idxr_   r   s       r   test_ufunc_coercionsz6TestTimedelta64ArithmeticUnsorted.test_ufunc_coercions  s   <4cRQwC 34 	'Ffn555 !BTWXC!!&#.;;$&&&		' Qw		#q 12 	&Ffn555 !?cPSTC!!&#.;;#%%%		& tR[[-. 	(Ffn555 45sC !!&#.;;%'''	( =CcR3xS!12 	'Ffn555 !?dQTUC!!&#.;;&&&		'r   c                 `   t        dt        dgd      }t        j                  ddd      }t	        d      }t        d      }d	}t        j                  t        |
      5  ||z
   d d d        t        j                  t        |
      5  ||z
   d d d        d}t        j                  t        |
      5  ||z
   d d d        d}t        j                  t        |
      5  ||z
   d d d        ||z
  }t        g dd      }t        j                  ||       ||z
  }t        g dd      }t        j                  ||       ||z
  }t        dt        dgd      }t        j                  ||       ||z
  }t        dt        dgd      }t        j                  ||       ||z
  }t        g dddd      }t        j                  ||       ||z
  }t        dt        dgdd      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   ^xY w# 1 sw Y   @xY w)NrJ   2 daysfoor   20130101rX   barr.   r   z0cannot subtract a datelike from a TimedeltaArrayrY   z#unsupported operand type\(s\) for -z((bad|unsupported) operand type for unary0 days-1 days-2 daysr   rJ   r   r   r   20121231r   20130102M8[ns]rP   )r   rR   r   r   20121230r   r   )r   r
   r"   rs   r   r   r\   r]   r^   r   r   r   )r4   r7   dtitddtr`   r_   r:   s           r   test_subtraction_opsz6TestTimedelta64ArithmeticUnsorted.test_subtraction_ops4  s   hX6UCmmJ>x z"@]]9C0 	"H	]]9C0 	#I	 5]]9C0 	G	 9]]9C0 	H	 c!"BO
fh/r!"@uM
fh/r!8S(";%H
fh/c!8S)"<5I
fh/r 0sQV
 	fh/c j)
 	fh/O	 		 		 		 	s0    G<	H	4HH#<H	HH #H-c                 z   t        j                  dd      }t        j                  ||      }t	        d      }|j                         }t        j                  dd      j                  d      }t        j                  ||      }t	        d      j                  d      }t	        d      j                  d      }|j                         }t        d      }	d }
||z
  }t        d      } |
||       ||z
  }t        d      } |
||       ||z
  }t        d      } |
||       d	}t        j                  t        |
      5  ||z
   d d d        d}t        j                  t        |
      5  ||z
   d d d        d}t        j                  t        |
      5  ||z
   d d d        d	}t        j                  t        |
      5  ||z
   d d d        t        j                  t        |
      5  ||z
   d d d        t        j                  t        |
      5  ||z
   d d d        d}t        j                  t        |
      5  ||z
   d d d        t        j                  t        |
      5  ||z
   d d d        ||z
  }t        g d      }t        j                  ||      }t        j                  ||       ||z
  }t        g d      }t        j                  ||      }t        j                  ||       ||z
  }t        g d      }t        j                  ||      }t        j                  ||       ||z
  }t        g d      }t        j                  ||      }t        j                  ||       |	|	z
  }t        d      } |
||       ||	z
  }t        g dd      j                  d      }t        j                  ||      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   txY w# 1 sw Y   VxY w# 1 sw Y   8xY w# 1 sw Y   xY w# 1 sw Y    xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   rX   r-   z
US/EasternCETrJ   c                 6    | |k(  sJ t        | t              sJ y N)r   r   )r_   r:   s     r   _checkzNTestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tz.<locals>._checkr  s     X%%%fi000r   r   z<Cannot subtract tz-naive and tz-aware datetime-like objects.rY   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rO   ns)r"   rs   r   r2   r   rk   tz_localizer   r\   r]   r^   r   r3   r   as_unit)r4   r5   r   tsr   dti_tzts_tzts_tz2dt_tzr   r   r_   r:   r`   s                 r   test_subtraction_ops_with_tzz>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tze  s   mmJ2ooc>2z"z15AA,O8*%11,?:&2259##%x 	1
 bX&vx X&vx X&vx  M]]9C0 	BJ	F]]9C0 	BJ	F]]9C0 	J	L]]9C0 	J	]]9C0 	RK	]]9C0 	RK	 6]]9C0 	%K	]]9C0 	RK	 %!"@A??8^<
)!"BC??8^<
)%!"@A??8^<
)!"BC??8^<
)bX&vx " 0\

'$- 	 ??8^<
)i	 		 		 		 		 		 	
	 		 	s`   ?O*O"O/ O<)P	P=P#&P0O"O,/O9<P	PP #P-0P:c                 v   t        dt        dgd      }t        j                  ddd      }||z
  }t        d	t        d	gd      }t	        j
                  ||       ||z   }t        dt        d
gd      }t	        j
                  ||       ||z
  }t        dt        dgd      }t	        j
                  ||       y )NrJ   r   r   r   r   rX   r   r   r   4 daysr   r   r   )r   r
   r"   rs   r   r   r   )r4   r7   r   r_   r:   s        r   test_dti_tdi_numeric_opsz:TestTimedelta64ArithmeticUnsorted.test_dti_tdi_numeric_ops  s    hX6UCmmJ>s!8S(";%H
fh/s!8S(";%H
fh/s *c:!>hO
fh/r   c                    t        dt        dgd      }t        j                  ddd      }t	        d      }t        d      }||z   }t        d	t        d
gdd      }t        j                  ||       ||z   }t        d	t        d
gdd      }t        j                  ||       ||z   }t        dt        dgd      }t        j                  ||       ||z   }t        dt        dgd      }t        j                  ||       d}t        j                  t        |      5  ||dd z    d d d        t        j                  t        |      5  |dd |z    d d d        d}t        j                  t        |      5  |t        g dt        j                        z    d d d        ||z   }t        d	t        dgd      }t        j                  ||       ||z   }t        d	t        dgd      }t        j                  ||       ||z   }t        d	      }||k(  sJ ||z   }t        d	      }||k(  sJ y # 1 sw Y   	xY w# 1 sw Y   xY w# 1 sw Y   xY w)NrJ   r   r   r   r   rX   r   r   r   20130103r   r   ry   z$cannot add indices of unequal lengthrY   r   r   3Addition/subtraction of integers and integer-arraysr   r    rX   r   20130105)r   r
   r"   rs   r   r   r   r   r   r\   r]   
ValueErrorr^   r	   r/   int64)r4   r7   r   r   r   r_   r:   r`   s           r   test_addition_opsz3TestTimedelta64ArithmeticUnsorted.test_addition_ops  s:   hX6UCmmJ>x z"r j)
 	fh/c j)
 	fh/c!8S(";%H
fh/r!8S(";%H
fh/ 5]]:S1 	#a(N	]]:S1 	!HsN	 D]]9C0 	3%	22	3 s *c:!>hO
fh/s *c:!>hO
fh/bZ(!!!bZ(!!!9	 		 	
	3 	3s$   	H.
	H;8!I.H8;IIrR   rP   Bc                    t        j                  dd|      }|t        d      z   }|t        d      z   }|j                  d      }t	        j
                  ||       |dk(  r\t         j                  j                  j                  d      }|j                  |k(  sJ |j                  |k(  sJ |j                  |k(  sJ |j                  t         j                  j                  j                  d      k(  sJ |j                  J |j                  t         j                  j                  j                  d      k(  sJ |t        d      z
  }|t        d      z   }t	        j
                  ||       y )Nz1/1/20002   r.   rR   r   inferrP   )r"   rs   r   
_with_freqr   r   tseriesr   DayrR   BusinessDay)r4   rR   indexshiftedbackr:   r_   s          r   test_timedeltaz0TestTimedelta64ArithmeticUnsorted.test_timedelta	  s/   j"4@)A,&2&w'
eT*3;zz))--a0H::)))<<8+++99(((::!3!3!?!?!BBBB<<'''99

 2 2 > >q AAAA1%9R=(
fh/r   c                 2   t        j                  dd      }t        |      }|t        j                  d      z
  }t        |t        j                  d      z
        }|t        j                  d      z
  }t        |t        j                  d      z
        }|j                  |j                  k(  sJ |j                  d       }t        j                  ||       |j                  |j                  k(  sJ |j                  d       }t        j                  ||       y )N20132014r   i )r"   rs   r   r   rh   r   r/   r   rR   r   r   r   )r4   rL   r   result1result2result3result4s          r   test_timedelta_tick_arithmeticz@TestTimedelta64ArithmeticUnsorted.test_timedelta_tick_arithmetic   s    mmFF+3KQ'BNN9$= =>y11GLLO 34||sxx'''$$T*
gw/||sxx'''$$T*
gw/r   c                 0   t        dt        dg      }|j                  }t        j                  ddd      }||z   }||z   }t        j                  ||       ||z   }||z   }t        j                  ||       ||z
  }||z
  }t        j                  ||       y )NrJ   r   z
1999-12-31rX   rP   r   )r   r
   r#   r"   rs   r   r   )r4   r7   tdar   r_   r:   s         r   test_tda_add_sub_indexz8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_index1  s    hX67iimmL!#>s9
fh/s9
fh/s9
fh/r   c                    |}t        j                  dd|      }|j                  d       }||z
  }t        j                  ||      }t        j                  ||      }t        j
                  t              5  ||j                  t              z   }d d d        t        j                  |j                  t                     y # 1 sw Y   3xY w)N
2016-01-01rX   rN   )
r"   rs   r   r   r2   assert_produces_warningr   rp   rr   r3   )	r4   r5   tz_naive_fixturer$   r   r7   r   r8   r_   s	            r   test_tda_add_dt64_object_arrayz@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayD  s    mmL!8HInnT"Ciooc3'S)''(:; 	05<<//F	0
V 45	0 	0s   6CC
c                    t        dd      }t        ddd      }t        j                  ||      }t        j                  ||      }|}||z  }t        j                  ||       |t        urt        j                  ||       y y NrJ   10 daysz1 days 02:00:00z10 days 02:00:00rP   rR   r   r   r2   r3   r	   r4   	two_hoursr5   rL   r:   orig_rngs         r   test_tdi_iadd_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikeV  sv    h	2"#46HsSooc>2??8^<y
X&&OOHh/ 'r   c                    t        dd      }t        dd      }t        j                  ||      }t        j                  ||      }|}||z  }t        j                  ||       |t        urt        j                  ||       y y NrJ   r   z0 days 22:00:00z9 days 22:00:00r   r   s         r   test_tdi_isub_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalikee  st    h	2"#46GHooc>2??8^<y
X&&OOHh/ 'r   c                 :   t        dddd      }|d|j                  z  z   }t        dddd      }t        j                  ||       |j                  dk(  sJ |d|j                  z  z
  }t        d	ddd      }t        j                  ||       |j                  dk(  sJ |dz  }t        ddd
d      }t        j                  ||       |j                  d
k(  sJ |dz  }t        dddd      }t        j                  ||       |j                  dk(  sJ | }t        d	ddd      }t        j                  ||       |j                  dk(  sJ t        d	ddd      }t	        |      }t        g dd      }t        j                  ||       |j                  J y )Nr   rW   2Dr   )r.   rR   r   r   r   r    r   4DrJ   rP   z-2D)r   rJ   r   rJ   r   r   )r   rR   r   r   r   r   )r4   rL   r_   r   s       r   test_tdi_ops_attributesz9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributesv  s   h3Gq388|#h3G
fc*{{d"""q388|#iCH
fc*{{d"""qh3G
fc*{{d"""qh#F
fc*{{c!!!iSI
fc*{{e###i3GS>S
 	fc*{{"""r   N)rb   rc   rd   r   r   r   r   r   r\   re   rf   r   r   r   r   r   r  r  ru   r   r   r   r     sf    '>/0bT*l0"9"z [[Vc3Z00 10,0"0&6$00"##r   r   c                   Z    e Zd Zej                  j                  dddg      d        Zd Zy)TestAddSubNaTMaskingstr_tsz
1950-01-01z
1980-01-01c                    t        j                  ddg      }t        j                  ||      }t	        |      }||j                         |j                         j                  d      |j                         j                  d      g}|D ]4  }||z   }|t        u r|j                  d   t        u r&J |d   t        u r4J  y )Nz24658 days 11:15:00r
   zdatetime64[ns]zdatetime64[D])r   r   r   )r"   to_timedeltar   r2   r   rk   rj   rp   r   ilocr
   )	r4   r5   r	  tdinattdobjr   ts_variantsvariantr9   s	            r   $test_tdarr_add_timestamp_nat_maskingz9TestAddSubNaTMasking.test_tdarr_add_timestamp_nat_masking  s     "7!?@7v%%&67%%o6	
 # 	%G'/C*xx~,,,1v}$}	%r   c                    t        j                  t        d      5  t        j                  dd      t        d      z    d d d        t        j                  t        d      5  t        d      t        j                  dd      z    d d d        t        j                  dz   }d}t        j                  t        |      5  t        j                  dgd      t        d      z    d d d        t        j                  t        |      5  t        d      t        j                  dgd      z    d d d        t        j                  t        |      5  t        j                  |g      t        d      z
   d d d        t        j                  t        |      5  t        j                  d	|g      t        d      z
   d d d        t        j                  t        |      5  t        j                  |d	d
g      t        j                  d|dg      z
   d d d        t        t        g      }t        j                  t        g      t        d      z
  }t        j                  ||       t        dt        g      }t        j                  d	t        g      t        d      z
  }t        j                  ||       t        t        t        dg      }t        j                  t        d	d
g      t        j                  dt        dg      z   }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   MxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   XxY w)N10155196800000000000rY   iT rP   2000r   zOverflow in int64 additionrJ   z5 days1 hoursz	7 secondsz4 hoursr   z5 hours)r\   r]   r   r"   r  r   r
   _valueOverflowErrorr   r   r   r   )r4   _NaTr`   r   r_   s        r   test_tdi_add_overflowz*TestAddSubNaTMasking.test_tdi_add_overflow  s    ]].6LM 	=OOFC(9V+<<	=]].6LM 	=f <<	= zzA~*]]=4 	?OOVHc*Yv->>	?]]=4 	?f# >>	?]]=4 	:OOTF#i&99	:]]=4 	DOOXt,-	(0CC	D]]=4 	x ;<//;i"@AB	 cU##')H*==
fc*h_-(C1Ih4GG
fc*c3	23#x!;<r#y)@
 
 	fc*E	= 	=	= 	=
	? 	?	? 	?	: 	:	D 	D	 	sS   #L"#L=$L,$L9#M$M2M LL),L69MMM M*N)rb   rc   rd   r\   re   rf   r  r  ru   r   r   r  r    s2     [[Xl'CD% E%(&+r   r  c            
       :   e Zd Zd Zd Zd Zd Zej                  j                  de
eej                  g      d        Zd Zd Zd	 Zej                  j                  d
g d      ej                  j                  dddg      d               Zej                  j                  dddd ej&                  d      g      d        Zej                  j                  d ej&                  g d       eg d       eg d       eg dg      gd       d        Zd Zd Zd Zd Zd Zej                  j                  d  ej<                  d!      eg      d"        Z d# Z!d$ Z"d% Z#d& Z$d' Z%ej                  j                  d(ej&                  eeg      d)        Z&d* Z'y)+TestTimedeltaArraylikeAddSubOpsc                     t        j                  t        dg            j                  d      }|t        z
  }t        t        gd      }t        j                  ||       y )N00:00:01zm8[s]r   )r"   r  r   rp   r
   r   assert_series_equal)r4   rA   r_   r:   s       r   test_sub_nat_retain_unitz8TestTimedeltaArraylikeAddSubOps.test_sub_nat_retain_unit  sI    oofj\23::7Cs3%w/
vx0r   c                 
   t        j                  t        dg            }t        j                  t        dg            }t        j                  t        t        gd            }t	        dg      j                  t         j                        }t	        dg      j                  t         j                        }t	        t        j                  g      j                  t         j                        }t        j                  d      }t        j                  d      }t        j                  d      }	||z   }
|
|k(  sJ ||z
  }
|
|k(  sJ ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       ||z   }
t        j                  |
|       ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       | |z   }
t        j                  |
|       ||	z   }
t        j                  |
|       |	|z   }
t        j                  |
|       ||	z
  }
t        j                  |
|       |	 |z   }
t        j                  |
|       d}t        j                  t        |      5  |t        j                  z    d d d        t        j                  t        |      5  t        j                  |z    d d d        t        j                  t        |      5  |t        j                  z
   d d d        t        j                  t        |      5  t        j                   |z    d d d        |t        z   }
t        j                  |
|       |t        z
  }
t        j                  |
|       ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       ||z   }
t        j                  |
|       ||z
  }
t        j                  |
|       ||	z   }
t        j                  |
|       ||	z
  }
t        j                  |
|       d}t        j                  t        |      5  |t        j                  z    d d d        t        j                  t        |      5  |t        j                  z
   d d d        |t        z   }
t        j                  |
|       |t        z
  }
t        j                  |
|       y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   WxY w# 1 sw Y   ,xY w# 1 sw Y   xY w# 1 sw Y   xY w)	Nr  z00:00:02m8[ns]r   r
   unsupported operand typerY   z8cannot subtract a datelike from|unsupported operand type)r"   r  r   r
   r   applyr  r   r  r\   r]   r^   r/   nanassert_frame_equal)r4   s1s2sndf1df2dfnscalar1scalar2timedelta_NaTrB   r`   s               r   &test_timedelta_ops_with_missing_valueszFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_values  sz   __VZL12__VZL12__VSE:;%++BOO<%++BOO<%++BOO<//*-//*-.7"   7"   b
vr*b
vr*g
vr*2
vr*g
vr*B
vr*m#
vr*#
vr*m#
vr*"$
vr*(]]9C0 	K	]]9C0 	FFRK	]]9C0 	K	]]9C0 	VVGbL	 c
vr*c
vr*c
fc*c
fc*r
fc*r
fc*s
fc*s
fc*w
fc*w
fc*}$
fc*}$
fc*H]]9C0 	"&&L	]]9C0 	"&&L	 s
fc*s
fc*_	 		 		 		 	B	 		 	sH   1T.(T;UUU"U..T8;UUU"U+.U7c           	         t        j                  ddd      }t        j                  ddd      }t        |      t        |      z
  }t        d|j                        j	                  d      j	                  d      }t        j                  ||       |j                  dk(  sJ t        d	|i      }t        t        d      D cg c]  }t        |
       c}      }|j                  dk(  sJ |d	   |d	   j                         z
  }|j                  dk(  sJ |d	   |z   }|j                  dk(  sJ |d	   j                         }	t        |	t              sJ |d	   |d	   j                         z
  }
|
j                  dk(  sJ |
|d	   z   }t        d      t        d      t        d      g}t        |dd	      }t        j                  ||       |d	   t        ddd      z
  }t        t        d      D cg c]  }t        d|z   
       c}d	      }t        j                  ||       |j                  dk(  sJ t        ddddd      }|d	   |z
  }|j                  dk(  sJ ||z   }
t        j                  |d	   |
       t        d
      }|d	   |z   }||z
  }
t        j                  |
|d	          |
j                  dk(  sJ t        dd      }|d	   |z   }||z
  }
t        j                  |d	   |
       |
j                  dk(  sJ |d   t!        j"                  t        dd            z   }|dxx   t!        j"                  t        dd            z  cc<   |d   |k(  sJ y c c}w c c}w )Nz2012-1-1rX   rP   r   z2012-1-2g  S$Br   timedelta64[ns]Ar=   r   201112302012010120120103r   i  r   i  r   r!  r,   rW   minutessecondsr    )r"   rs   r   r   rp   r   r  r   r   rn   r   shiftmaxr   r   r   r/   r   )r4   v1v2rsxpdfir   r_   maxaresultbvaluesr:   dresultavalues                   r   test_operators_timedelta64z:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64I  s=   ]]:qs;]]:qs;BZ&*$ORXX.55g>EEFWX
r2&xx,,,,Ry!a91YA&9:xx,,,, C2c7==?*||0000C2||x''' #w{{}$	***S'BsGKKM)}} 1111 2c7"J':)>	*@UV&s;
vx0 C8D!Q//U1XF9$(3FSQ
vx0||x'''T1aA&S'A+}}((( A+
r#w0 AS'B,B,
w30}}((( q!,S'B,B,
r#w0}}((( 1yA'FGG
1	!Q ?@@!u~~m :2 Gs   M0M$c           	      (   t        t        t        d      g      }t        t        t        gd      }t        t        gd      }t        j                  |t        z
  |       t        j                  t         |z   |       t        j                  ||z
  |       t        j                  | |z   |       t        j                  |t        z   |       t        j                  t        |z   |       t        j                  ||z   |       t        j                  ||z   |       t        j                  |t        z   |       t        j                  t        |z   |       t        j                  ||z   |       t        j                  ||z   |       t        j                  |t        z   |       t        j                  t        |z   |       t        j                  ||z   |       t        j                  ||z   |       t        j                  |dz  |       t        j                  d|z  |       t        j                  |dz  |       t        j                  d|z  |       t        j                  |dz  t        t        t        d      g             t        j                  d|z  t        t        t        d      g             t        j                  |t
        j                  z  |       t        j                  t
        j                  |z  |       t        j                  |dz  t        t        t        d	      g             t        j                  |d
z  t        t        t        d	      g             t        j                  |t
        j                  z  |       y )N1sr1  r         ?r         ?z1.5sr    z0.5s       @)r   r
   r   r   r  r/   r$  )r4   timedelta_seriesnat_series_dtype_timedeltasingle_nat_dtype_timedeltas       r   test_timedelta64_ops_natz8TestTimedeltaArraylikeAddSubOps.test_timedelta64_ops_nat  s5   !3	$"89%+S#J>O%P"%+SE9J%K" 	/#57QR
t&668RS
99;U	
 	''*::<V	

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

 	/#57QR
s%557QR
99;U	
 	&)99;U	
 	&,.H	
 	,,.H	
 	&)CC&	
 	&)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                    |}t        d|      }|t        u r|j                         }nA|t        j                  u r-|t        j                  | d|        |j                         }n|}t        dd      }t        j                  dd|      }t        j                  ||      }	t        j                  ||      }t        j                  ||	z   |       t        j                  |	|z   |       t        j                  d	dd
|      }
t        j                  |
|      }
t        j                  ||	z
  |
       t        j                  ||	 z   |
       d}t        j                  t        |      5  |	|z
   d d d        y # 1 sw Y   y xY w)Nz
2012-01-01r   z doesn support r   rX   r-   z
2012-01-02rN   z
2011-12-31z-1D)r.   rR   rO   zcannot subtract a datelikerY   )r   r   rk   r/   
datetime64r\   skiprj   r   r"   rs   r   r2   r3   r]   r^   )r4   rQ  r5   r   rO   	dt_scalarr   r7   r:   tdarr	expected2r`   s               r   (test_td64arr_add_sub_datetimelike_scalarzHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalar  sC   
 lr2	(?((*BBMM!+se?3C2DEF((*BBgq1==qR@^4??8^<
U
H-

H-MM,"M	OOI~>	
U
I.
ufy1*]]9C0 	BJ	 	 	s   ,E;;Fc                 "   t        j                  d      }t        dd      }t        g dd      }t	        j
                  ||      }t	        j
                  ||      }t	        j                  ||z   |       t	        j                  ||z   |       y )Nr
   r   rX   r-   )r
   r
   r
   r   r   )r/   rS  r   r   r   r2   r3   )r4   r5   r8   r7   r:   tdsers         r   test_td64arr_add_datetime64_natz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_nat  sm    e$gq1 !6hG^4??8^<
x0
x0r   c                    t        j                  dd      }t        dgdz        }|j                  }t	        |      |z
  }t        j                  ||      }t        j                  ||      }d}t        j                  t        |      5  ||z
   d d d        ||z
  }t        j                  ||       y # 1 sw Y   %xY w)Nr   rX   r-   -1 Dayzcannot subtract a datelike fromrY   )r"   rs   r   rC  r   r   r2   r\   r]   r^   r3   )r4   r5   r   r7   dtarrr:   r`   r_   s           r   test_td64arr_sub_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_dt64_array  s    mmL!4hZ!^,

 '#-ooc>2??8^</]]9C0 	%K	 
)	 	s   
B44B=c                 H   t        j                  dd      }t        dgdz        }|j                  }t	        |      |z   }t        j                  ||      }t        j                  ||      }||z   }t        j                  ||       ||z   }t        j                  ||       y )Nr   rX   r-   r]  )r"   rs   r   rC  r   r   r2   r3   )r4   r5   r   r7   r^  r:   r_   s          r   test_td64arr_add_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_array"  s    mmL!4hZ!^,

 '#-ooc>2??8^<u
)
)r   pi_freq)rP   WQr   tdi_freqNr   c                    t        ddg|      }t        d      |z   }|j                  |      }|d   }t        j                  ||      }t        j                  ||      }d}	t        j                  t        |	      5  ||z
   d d d        t        j                  t        |	      5  ||z
   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nr  z2 hoursr   z2018-03-07 17:16:40r   z(cannot subtract|unsupported operand typerY   )r   r   	to_periodr   r2   r\   r]   r^   )
r4   r5   box_with_array2re  rb  r7   r   piperr`   s
             r   test_td64arr_sub_periodlikez;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodlike3  s     i3(C-.4]]7#eooc>2__R18]]9C0 	"H	 ]]9C0 	#I	 			 		 	s   =B5&C5B>C
r8   rE   r   rK  r    c                 f    t        g dd      }t        j                  ||      }t        ||       y N59 Daysro  r
   r!  r   )r   r   r2   r   )r4   r5   r8   rZ  rV  s        r   *test_td64arr_addsub_numeric_scalar_invalidzJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalidH  s+     4HE~6"5%0r   vecr   c                 ,    t        |       j                  S r   typerb   r   s    r   <lambda>z(TestTimedeltaArraylikeAddSubOps.<lambda>b      d1g&& r   idsc                     t        g dd      }t        j                  ||      }|j                  |      }t	        ||       y rm  )r   r   r2   rp   r   )r4   r5   rq  any_real_numpy_dtyperZ  rV  vectors          r   'test_td64arr_addsub_numeric_arr_invalidzGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalidZ  s:     4HE~601"5&1r   c                 >   t        ddd      }t        j                  ||      }d}t        |||       t	        j
                  t        |      5  ||z  }d d d        t	        j
                  t        |      5  ||z  }d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)N1 days 09:00:00r   rK   rQ    Addition/subtraction of integersrY   )r   r   r2   r   r\   r]   r^   )r4   r5   onerL   rV  r`   s         r   test_td64arr_add_sub_intz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_intm  s    /c2F^40"5#s3 ]]9C0 	SLE	]]9C0 	SLE	 		 		 	s   B8BBBc                     |}|t         j                  u rt        j                  n|}t	        ddd      }t        j                  ||      }t        j                  g d|      }d}t        |||       y )Nr  r   rX   rQ   )r,   rX   r    r   )r"   r#   r/   r0   r   r   r2   r   )r4   r5   r$   r6   rL   rV  r8   r`   s           r   "test_td64arr_add_sub_integer_arrayzBTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_integer_array{  s^      BHH_rzz#/c1ES)	40C"5%5r   c                     |}|t         j                  u rt        j                  n|}t	        g d      }t        j                  ||      }t        j                  g d|      }d}t        |||       y )N)1 Dayr
   z3 Hours)   r      r  )r"   r#   r/   r0   r   r   r2   r   )r4   r5   r$   r6   r7   rV  r8   r`   s           r   )test_td64arr_addsub_integer_array_no_freqzITestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_integer_array_no_freq  sX     BHH_rzz#89S)d30"5%5r   c                    |}t        j                  dd      }||j                  d      z
  }|j                  }d|z  }t	        j
                  ||      }t	        j
                  ||      }||z   }t	        j                  ||       ||z   }t	        j                  ||       d|z  }||z
  }t	        j                  ||       ||z
  }t	        j                  ||       y )Nr   rX   r-   r   r    r   )r"   rs   r9  rC  r   r2   r3   )	r4   r5   r$   r   r7   rV  r:   r_   expected_subs	            r   test_td64arr_add_sub_td64_arrayz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_array  s    mmL!4CIIaL 

s7ooc3'??8S1u
)
)3wu
-
-r   c                 P   |}t        ||      }t        ddg|d         }|t        j                  t        j
                  fv rt        j
                  |      n|}t        t        d      t        d      g|d         }t        t        d      t        dd	      g|      }t        j                  ||      }t        j                  ||      }||z   }t        j                  ||       t        |d
       ||z   }t        j                  ||       t        |d
       t        t        d      t        dd	      g|      }t        j                  ||      }||z
  }t        j                  ||       t        |d
       ||z
  }t        j                  ||        t        |d
       y )Nr   r   r   r   rX   )hoursr,   r   )r>   r  r1  )r'   r   r   r!   r"   r#   r/   r   r   r2   r3   r   )	r4   r5   r%   r$   r&   r7   rA   r:   r_   s	            r   test_td64arr_add_sub_tdiz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tdi  sf    "3.h0uQx@"r{{BHH&==bhhsm3ia()!*<=E!HM91-yaq/IJQWXooc3'??8S1s
)V./s
)V./R )""=>V
 ??8S1s
)V./s
	*V./r   tdnatr
   c                    |}t        t        t        d      g      }t        dgdz        }t        j                  ||      }t        j                  ||      }||z   }t        j
                  ||       ||z   }t        j
                  ||       ||z
  }t        j
                  ||       ||z
  }t        j
                  ||       y )NrI  r
   r    )r   r
   r   r   r2   r3   )r4   r5   r  r$   r7   r:   r   r_   s           r   test_td64arr_add_sub_td64_natz=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_nat  s     c9T?34!5'A+.ooc3'??8S1u
)
)u
)
)r   c                     |}t        dd      }t        ddd      }t        j                  ||      }t        j                  ||      }||z   }t        j                  ||       ||z   }t        j                  ||       y r   r   r   r2   r3   r4   r   r5   r$   rL   r:   r_   s          r   test_td64arr_add_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalike  ss     h	2"#46HsSooc3'??8S1y
)S
)r   c                     |}t        dd      }t        dd      }t        j                  ||      }t        j                  ||      }||z
  }t        j                  ||       ||z
  }t        j                  ||        y r  r  r  s          r   test_td64arr_sub_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_timedeltalike  ss     h	2"#46GHooc3'??8S1y
)S
	*r   c                    |}t        ||      }t        ddg|d         }t        t        j                  d      t        j
                  d      g|d         }|t        j                  t        j                  fv rt        j                  |      n|}t        t        t        |            D cg c]  }||   ||   z    c}d|	      }t        t        t        |            D cg c]  }||   ||   z
   c}d|	      }	t        j                  ||      }t        j                  ||      j                  t        d
      }t        j                  |	|      j                  t        d
      }	t        j                   t"              5  ||z   }
d d d        t        j$                  
|       t        j                   t"              5  ||z   }d d d        t        j$                  |       t        j                   t"              5  ||z
  }d d d        t        j$                  |	       y c c}w c c}w # 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   BxY w)N1 days 00:00:003 days 04:00:00r   r   r   nr   r   F)copy)r'   r   r	   r   rh   Minuter   r!   r"   r#   r/   rn   lenr2   rp   rr   r   r   r3   )r4   r%   r5   r$   r&   r7   r8   r  r:   r  r9   res2res_subs                r   !test_td64arr_add_sub_offset_indexzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index  s   "3./1BC%PQ(Sw||a('..2*>?eAhO#&2;;*A#Au!(-c#h81SVeAh8wV
 &(-c#h81SVeAh8wV
 ooc3'??8S188e8L|S9@@e@T''(:; 	+C	
X&''(:; 	3;D	
h'''(:; 	"EkG	"
.) 9 9	 		 		" 	"s0   /H&&H+H0H<I0H9<IIc                    |}t        ddg      }t        j                  t        j                  d      t        j
                  d      g      }t        t        t        |            D cg c]  }||   ||   z    c}d      }t        t        t        |            D cg c]  }||   ||   z
   c}d      }t        j                  ||      }t        j                  ||      j                  t              }t        j                  t              5  ||z   }d d d        t        j                  |       t        j                  t              5  ||z   }	d d d        t        j                  	|       t        j                  ||      j                  t              }t        j                  t              5  ||z
  }
d d d        t        j                  
|       y c c}w c c}w # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   BxY w)Nr  r  r   r  r  r   r   )r   r/   r#   r   rh   r  rn   r  r   r2   rp   rr   r   r   r3   )r4   r5   r$   r7   r8   r  r:   r  r9   r  r  s              r   !test_td64arr_add_sub_offset_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array%  s   /1BCD',,+W^^b-ABC!(-c#h81SVeAh8w
 &(-c#h81SVeAh8w
 ooc3'??8S188@''(:; 	+C	
X&''(:; 	3;D	
h'|^DKKFS''(:; 	"EkG	"
.) 9 9	 		 	
	" 	"s0   *G G G%G16G=%G.1G:=Hc                    |}|t         t        j                  t        j                  fv rt
        n|}t        ||      }t        ddg|d         }t        t        j                  d      t        j                  d      g|d         }t        t        t        |            D cg c]  }||   ||   z    c}|t              }	t        j                  ||      }
t        j                  |	|      j                  t              }	t        j                   t"              5  |
|z   }d d d        t        j$                  |	       t        j                   t"              5  ||
z   }d d d        t        j$                  |	       t        t        t        |            D cg c]  }||   ||   z
   c}|t              }t        j                  ||      j                  t              }t        j                   t"              5  |
|z
  }d d d        t        j$                  |       y c c}w # 1 sw Y   xY w# 1 sw Y   xY wc c}w # 1 sw Y   CxY w)	Nr  r  r   r   r   r  r  )r   r   )r	   r   r!   r"   r#   r   r'   r   r   rh   r  rn   r  rr   r2   rp   r   r   r3   )r4   r%   r5   r$   box2r&   r7   r8   r  expected_addr   r9   r  r  res3s                  r   test_td64arr_with_offset_seriesz?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_seriesB  s   RXX >>vC"3./1BC%PQ(Sq)7>>B+?@uQxP(-c#h81SVeAh8vV
 ooc3'|T:AA&I''(:; 	+C	
\*''(:; 	3;D	
l+(-c#h81SVeAh8vV
 |T:AA&I''(:; 	;D	
l+) 9
	 		 	
 9	 	s0   %H H%H2H>;I%H/2H;Ioboxc                    t        ddg      }t        j                  ||      } |t        j                         t        j
                  d      g      }d}t        j                  t        |      5  t        j                  t              5  ||z    d d d        d d d        t        j                  t        |      5  t        j                  t              5  ||z    d d d        d d d        t        j                  t        |      5  t        j                  t              5  ||z
   d d d        d d d        t        j                  t        |      5  t        j                  t              5  ||z
   d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ZxY w# 1 sw Y   y xY w)Nr  r  r    r  z/has incorrect type|cannot add the type MonthEndrY   )r   r   r2   r   MonthEndr   r\   r]   r^   r   r   )r4   r  r5   r7   anchoredr`   s         r   -test_td64arr_addsub_anchored_offset_arraylikezMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylikeb  s    /1BCDooc>2))+W[[1-=>? @]]9C0 	++,>? h	 ]]9C0 	++,>? 3	 ]]9C0 	++,>? h	 ]]9C0 	++,>? 3	 	 	 	 	 	 	 	 	 	s   1FFF<F'FF'F?!F3'F?G,G2GF	FFF$	 F''F03F<	8F??GG	GG c                 P   |}|t         j                  u rt        j                  n|}t	        ddd      }t        j                  ||      }t        j                  t        d      t        j                  d      t        d      g      }t        j                  t              5  ||z   }d d d        t        t        d      t        d	      t        d
      g      }t        j                  ||      j                  t              }t        j                   |       d}	t#        j$                  t&        |	      5  t        j                  t              5  ||z
   d d d        d d d        t        j                  t              5  ||z
  }d d d        t        t        d      t        d      t        d      g      }t        j                  ||      j                  t              }t        j                   ||       y # 1 sw Y   QxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   rX   rP   r   r   r=   r    z
2000-01-04r,   z
2000-01-07z3unsupported operand type|cannot subtract a datelikerY   r   z
2000-01-01)r"   r#   r/   r0   r   r   r2   r   r   r   r   r   r   r	   rp   rr   r3   r\   r]   r^   )
r4   r5   r$   r6   r7   rV  r8   r_   r:   r`   s
             r   !test_td64arr_add_sub_object_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_object_array}  s    BHH_rzz#gqs;S))+W[[^Y|=TUV''(:; 	#U]F	# A	q 19\3JK
 ??8T299&A
)C]]9C0 	++,>? 	 ''(:; 	#U]F	# )A,	!i6MNO??8T299&A
)'	# 	# 	 		# 	#s<   "G77HHH H7HH		HHH%)(rb   rc   rd   r  r/  rG  rP  r\   re   rf   r   r   r/   rS  rX  r[  r_  ra  rk  r#   rp  r	   r   r   r}  r  r  r  r  r  r   r
   r  r  r  r  r  r  r  r  ru   r   r   r  r    s   1\+@@DPVj [[UY"--$HI! J!F1*"*" [[Y(<=[[Z$5 6 >& [[ BHHQK	

1
1 [[BHHY)9yk"		
 '  	2	26
6.*!0F [[W~r~~e'<c&BC* D*$*+&/@/:,@ [[Vbhhv%>? @4*r   r  c                      e Zd Zd Zd Zd Zd Zd Zd Ze	j                  j                  d ej                  dd	       e ej                  dd	      ej                         e edd	      ej"                         e edd	      ej$                         ej(                  dd	      gd
       d        Zd Zd Zd Zd Ze	j                  j                  dg d      e	j                  j                  dg d      d               Zd Zd Zd Zd Zd Ze	j                  jA                  d      d        Z!d Z"d Z#d Z$d  Z%d! Z&d" Z'd# Z(d$ Z)e	j                  j                  d%d&d' ejT                  d&       ejT                  d'      g      d(        Z+e	j                  j                  d%d&d' ejT                  d&       ejT                  d'      g      d)        Z,e	j                  j                  d* ejT                  g d+       eg d+       e-g d+      gd,       d-        Z.e	j                  j                  d* ejT                  g d+       eg d+       e-g d+      gd.       d/        Z/d0 Z0d1 Z1d2 Z2y3)4TestTimedeltaArraylikeMulDivOpsc                     t        t        j                  dd            }t        j                  ||      }|dz  }t        j
                  ||       d|z  }t        j
                  ||       y )NrW   r   r   r   )r   r/   ro   r   r2   r3   r4   r5   r   r_   s       r   test_td64arr_mul_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int  sU    RYYq89ooc>2q
$S
$r   c                     t        ddd      }t        j                  ||      }dj                  g d      }t	        j
                  t        |      5  ||z   d d d        y # 1 sw Y   y xY w)NrJ   r   r   r   |)zargument must be an integer$cannot use operands with types dtypezCannot multiply withrY   )r   r   r2   joinr\   r]   r^   )r4   r   r5   rL   r`   s        r   %test_td64arr_mul_tdlike_scalar_raiseszETestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdlike_scalar_raises  s_    h	>ooc>2hh
 ]]9C0 	)O	 	 	s   A""A+c                    t        j                  dd      }t        |      }t        |dz        }t        j                  ||      }t        j                  ||      }|t        j
                  dd      z  }t        j                  ||       y )NrW   r   r   )r/   ro   r   r   r2   r#   r3   r4   r5   rng5r   r:   r_   s         r   test_tdi_mul_int_array_zerodimz>TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array_zerodim  sm    yy'*T"!$(+ooc>2??8^<rxx11
)r   c                     t        j                  dd      }t        |      }t        |dz        }t        j                  ||      }t        j                  ||      }||z  }t        j
                  ||       y NrW   r   r   r    )r/   ro   r   r   r2   r3   r  s         r   test_tdi_mul_int_arrayz6TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array  sa    yy'*T"!$'*ooc>2??8^<t
)r   c                    |}|t         t        j                  t        j                  fv rt
        n|}t        t        j                  dd            }t        t        j                  dd      dz        }t        j                  ||      }t        j                  ||      }|t        t        j                  dd            z  }t        j                  ||       y r  r	   r   r!   r"   r#   r   r   r/   ro   r2   r3   )r4   r5   r$   r6   r   r:   r_   s          r   test_tdi_mul_int_seriesz7TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_series  s    RXX >>vCRYYq89!"))AW"="BCooc3'??8T2vbii9::
)r   c                    |}|t         t        j                  t        j                  fv rt
        n|}t        t        j                  dd            }t        j                  ||      }t        j                  dd      }t        ||dz   z        }t        j                  ||      }|t        |dz         z  }t        j                  ||       y )NrW   r   r   float64rJ  r  )r4   r5   r$   r6   r   rng5fr:   r_   s           r   test_tdi_mul_float_seriesz9TestTimedeltaArraylikeMulDivOps.test_tdi_mul_float_series  s    RXX >>vCRYYq89ooc3'		!9-!%53;"78??8T2veck**
)r   r8   r      c                 ,    t        |       j                  S r   rs  ru  s    r   rv  z(TestTimedeltaArraylikeMulDivOps.<lambda>  rw  r   rx  c                 8   |}t        dgdz        }t        dd      j                  d       }t        j                  ||      }t        ||      }t        j                  ||      }||z  }t        j                  ||       ||z  }t        j                  ||       y )Nr  rK   rJ   r   )r   r   r   r   r2   r   r3   )	r4   r8   r5   r$   r7   r:   r6   r_   commutes	            r   test_tdi_rmul_arraylikez7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylike  s     gY^,"8Y7BB4Hooc3'c5)??8T2
)+
*r   c                 V   t        ddd      }t        j                  ||      }t        j                  t
        d      5  |t        z   d d d        t        j                  t
        d      5  t        |z   d d d        t        j                  dd	      }d
j                  g d      }t        j                  t
        |      5  ||z   d d d        t        j                  t
        |      5  ||z   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   KxY w# 1 sw Y   y xY w)NrJ   r   r   r   r"  rY   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   r2   r\   r]   r^   r
   r/   rS  r  )r4   r5   rL   dt64natr`   s        r   test_td64arr_div_nat_invalidz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_nat_invalid  s    h	>ooc>2]]9,FG 	#I	]]9,FG 	#I	 --t,hh
 ]]9C0 	'M	]]9C0 	cM	 	!	 		 		 		 	s0    
C;-
DD,D;DDDD(c                    |}|t         j                  u rt        j                  n|}t	        dd      }t        j                  ||      }t        j                  d      }t        j                  t        j                  gdz        }t        j                  ||      }||z  }t        j                  ||       ||z  }t        j                  ||       y )NrJ   r   r
   rK   )
r"   r#   r/   r0   r   r   r2   r   r$  r3   )r4   r5   r$   r6   rL   r8   r:   r_   s           r   test_td64arr_div_td64natz8TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64nat#  s     BHH_rzz#h	2ooc3'u%88RVVHrM*??8T2u
)
)r   c                    t        t        j                  dd            }t        j                  ||      }|dz  }t        j
                  ||       t        j                  t        d      5  d|z   d d d        y # 1 sw Y   y xY w)NrW   r   r   r   Cannot dividerY   	r   r/   ro   r   r2   r3   r\   r]   r^   r  s       r   test_td64arr_div_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_int6  sh    RYYq89ooc>2q
$]]9O< 	G	 	 	s   -A<<Bc                    |}|t         j                  u rt        j                  n|}t	        ddd      }t        t        j                  d      dz   dz  t        j                  d      }t        j                  ||      }t        j                  ||      }||z  }t        j                  ||       ||z  }d|z  }t        j                  ||       y )	NrJ   r   r   r   rK   r      r   )r"   r#   r/   r0   r   r	   ro   r  r   r2   r3   r4   r   r5   r$   r6   rL   r:   r_   s           r   test_td64arr_div_tdlike_scalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalarA  s     BHH_rzz#h	>"))B-!+r1%Pooc3'??8T2y
)Sx<
)r   m)r   rX   rK   unit)rP   r   r  r   msusr   c                    |}|t         j                  u rt        j                  n|}t	        t        d      gdz        }t        j                  |d<   |}t        j                  ||      }t	        |D cg c]  }|t        j                  ||      z   c}      }	t        j                  |	|      }	|t        j                  ||      z  }
t        j                  |
|	       t	        |D cg c]$  }t        t        j                  ||            |z  & c}      }	t        j                  |	|      }	t        j                  ||      |z  }
t        j                  |
|	       y c c}w c c}w )N;   r=   rX   r    )r"   r#   r/   r0   r   r   r$  r   r2   r   r3   )r4   r  r  r5   r$   r6   rA   flatr   r:   r_   s              r   test_td64arr_div_td64_scalarz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalarS  s     BHH_rzz#iR()A-.Aooc3' E11r~~a66EF??8T2r~~a..
) 4Pa9R^^At%<=APQ??8T24(3.
) F Qs   4 E))E$c                    |}|t         j                  u rt        j                  n|}t	        dt
        dgd      }t        dt        j                  dgt        j                  d      }t        j                  ||      }t        j                  ||      }||z  }t        j                  ||       ||z  }d|z  }t        j                  ||       y )	NrJ   r   r   r   r  r?   r   r   )r"   r#   r/   r0   r   r
   r	   r$  r  r   r2   r3   r  s           r   'test_td64arr_div_tdlike_scalar_with_natzGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_natj  s     BHH_rzz#hX6UC"bffb)%Hooc3'??8T2y
)Sx<
)r   c                    |}|t         j                  u rt        j                  n|}t	        dt
        dg      }t        dt        j                  dgt        j                        }t        j                  ||      }t        j                  ||      }t        j                  g dd      }||z  }t        j                  ||       |t        j                  ||      z  }t        j                  ||       ||j                  t              z  }t        j                  ||j                  t                     |t        |      z  }t        j                  ||       d|z  }||z  }t        j                  ||       t        j                  ||      |z  }t        j                  ||       |j                  t              |z  }t        j                  ||       t        |      |z  }t        j                  ||       y )	NrJ   r   r  r?   r   )r    r,   r    zm8[h]r   )r"   r#   r/   r0   r   r
   r	   r$  r  r   r2   r3   rp   rr   rm   )r4   r5   r$   r6   rL   r:   r8   r_   s           r   test_td64arr_div_td64_ndarrayz=TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_ndarray{  sz    BHH_rzz#hX67"bffb)<ooc3'??8T2'2u
)ruc22
)u||F++
 78tE{"
) x<
),s2
)f%+
)es"
)r   c                    t        dt        dg      }g d}t        j                  ||      }d}||d d fD ]z  }|t	        j
                  |      t        |      fD ]T  }t        j                  t        |      5  ||z   d d d        t        j                  t        |      5  ||z   d d d        V | y # 1 sw Y   7xY w# 1 sw Y   oxY w)NrJ   r   )r   r    rX   r,   z0Cannot divide vectors|Unable to coerce to Seriesr    rY   )
r   r
   r   r2   r/   r#   r	   r\   r]   r   )r4   r5   rL   
mismatchedr`   r   r8   s          r   test_tdarr_div_length_mismatchz>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatch  s    hX67!
ooc>2@
2A/ 	 Crxx}eCj9  ]]:S9  %K ]]:S9  CK    	       s   8B4!C 4B= C	c                    t        dd      j                  dt              }t        j                  ||d      }t        j                  |d   dd	|d
   gt              }t        j                  ||d      }||z  }t        dt        j                  dd      |d   dgt              }t        j                  ||d      }t        |t              r|j                         }t        j                  ||       |t        u r)t        |j                  d   t
        j                        sJ ||z  }t        dt        j                  dd      |d   dgt              }t        j                  ||d      }t        |t              r|j                         }t        j                  ||       |t        u r*t        |j                  d   t
        j                        sJ y y )Nr  rX   r-   r   F	transposer   rK  rL  r    r   rJ  r
   r   )r   r   )r   insertr
   r   r2   r/   r#   rr   r	   r   r   r   r1   r3   r   r  )r4   r5   origr7   r8   r9   r:   s          r   !test_td64_div_object_mixed_resultzATestTimedeltaArraylikeMulDivOps.test_td64_div_object_mixed_result  s|    w299!SAoodNeD$q'3T!W5VD~GEk#r~~eT:DGSIQWX??8^uMh 34((*H
X&Y&chhtnbnn===Ul!R^^E48$q'1EVT??8^uMh 34((*H
X&Y&chhtnbnn=== 'r   c                 \   |}|t         j                  u rt        j                  n|}t	        g dd      }t	        g dd      }t        j                  ||      }t        j                  ||      }t        j                  ddt        j                  gt        j                        }t        j                  ||      }|t        u r|r|ddg   j                  d      |ddg<   t        j                  t        |t         j                  u d	
      5  ||z  }d d d        t        j                  |       t        j                  t        |t         j                  u d	
      5  t        j                  |      |z  }d d d        t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   ,xY w)N)  zd    r1  r   )r  r  NrJ  r   r   r   F)check_stacklevel)r"   r#   r/   r0   r   r   r2   r$  r  r   rp   maybe_produces_warningRuntimeWarningr3   asarray)	r4   r5   using_array_managerr$   r6   r{   r|   r:   r_   s	            r   &test_td64arr_floordiv_td64arr_with_natzFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_nat  s^     BHH_rzz#(0AB+3DEtS)s+88S#rvv.bjjA??8T2) 3  (A/66w?HaV&&C288Oe
 	# U]F	#
 	) &&C288Oe
 	/ ZZ%.F	/ 	)	# 	#	/ 	/s   FF"F"F+z/ignore:invalid value encountered:RuntimeWarningc                 H   |}|t         j                  u rt        j                  n|}t	        d      }t        ||t        gd      }t        j                  ||d      }t        ddt        j                  g      }t        j                  ||d      }||z  }t        j                  ||       t        ddt        j                  g      }t        j                  ||d      }||z  }t        j                  ||       |j                  |      }t        j                  ||       y )N5m3sr!  r   Fr  r   r    )r"   r#   r/   r0   r   r   r
   r   r2   r$  r3   __rfloordiv__)	r4   r5   	scalar_tdr$   r6   r   td1r:   r_   s	            r   test_td64arr_floordiv_tdscalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_tdscalar  s      BHH_rzz#vb"c](3ooc3%81a.)??8TUC	!
) 1a.)??8TUCc!
) ""9-
)r   c                    t        t        j                  dd            }t        j                  ||      }|dz  }t        j
                  ||       d}t        j                  t        |      5  d|z   d d d        y # 1 sw Y   y xY w)NrW   r   r   r   z@floor_divide cannot use operands|Cannot divide int by Timedelta*rY   r  )r4   r5   r   r_   patterns        r   test_td64arr_floordiv_intz9TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_int  sm    RYYq89ooc>2
$T]]9G4 	H	 	 	s   /A>>Bc                    t        dd      }t        j                  ||      }t        g ddz        }t        j                  ||      }||z  }t        j                  ||       d }|t
        u r5t        |t        j                        rt        }|j                  t              }t        j                  |      5  t        ||      }d d d        t        j                  |d   |       t        j                  |d   ||z         y # 1 sw Y   ?xY w)Nr  9 days)r  z2 Days0 DaysrX   r   r   )r   r   r2   r   r3   r   r   r"   
DateOffsetr   rp   rr   r   divmod)r4   r5   
three_daysr7   rV  r:   r_   warns           r   test_td64arr_mod_tdscalarz9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalar  s    gx0^4!"?!"CD??8^<#
)Y&:j"--+P%D  v.H''- 	/E:.F	/ 	q	8,
q	5J#67		/ 	/s   8DDc                    t        ddd      }t        j                  ||      }t        ddgdz        }t        j                  ||      }|dz  }t        j                  ||       d}t        j                  t        |	      5  d|z   d d d        t        |d      }t        j                  |d
   |       t        j                  |d   |dz         y # 1 sw Y   KxY w)Nz1 nsz10 nsrK   r-   z0 nsrW   r    zCannot divide int byrY   r   r   )	r   r   r2   r   r3   r\   r]   r^   r  )r4   r5   r7   rV  r:   r_   r`   s          r   test_td64arr_mod_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_int6  s    fgr:^4!66"2Q"67??8^<
)$]]9C0 	I	 q!
q	8,
q	5A:.	 	s   CCc                 X   t        dd      }t        j                  ||      }g ddgdz  z   }t        |      }t        j                  ||      }||z  }t        j                  ||       t        ||      }t        j                  |d   |       t        j                  |d   ||z         y )Nr  r  )r	  r  r	  z3 Days   r   r   )r   r   r2   r   r3   r  )r4   r5   r  r7   rV  r:   r_   s          r   test_td64arr_rmod_tdscalarz:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalarH  s    gx0^40H:>A!(+??8^<e#
)
E*
q	8,
q	:#67r   c                 v   t        t        dd      gdz        }t        j                  |j                  d<   t        j                  ||      }d}t        j                  t        |      5  ||z   d d d        t        j                  t        |      5  ||z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY wNrW   rX   r6  r    z(operate|unsupported|cannot|not supportedrY   
r   r   r/   r$  r  r   r2   r\   r]   r^   )r4   r5   r  r  r  s        r   !test_td64arr_mul_tdscalar_invalidzATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalidZ  s    i156:;ffooc>2
 =]]9G4 	)O	]]9G4 	O	 		 		 	   +B#B/#B,/B8c                    t        t        j                  dd            }t        j                  ||      }dj                  g d      }t        j                  t        |      5  ||d d z   d d d        t        j                  t        |      5  |t        j                  dd	g      z   d d d        y # 1 sw Y   HxY w# 1 sw Y   y xY w)
NrW   r   r   r  )r  z$Cannot multiply with unequal lengthszUnable to coerce to SeriesrY   rX   r   r    )r   r/   ro   r   r2   r  r\   r]   r^   r   r#   r4   r5   r   r`   s       r   !test_td64arr_mul_too_short_raiseszATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raisesi  s    RYYq89ooc>2hh
 ]]9C0 	#bq'M	 ]]:S1 	#"((Aq6""	# 	#	 		# 	#s   %	B5C5B>C
c                     t        t        j                  dd            }t        j                  ||      }d}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   y xY w)NrW   r   r   r  rY   )r   r/   ro   r   r2   r\   r]   r^   r  s       r   test_td64arr_mul_td64arr_raisesz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raisesy  sV    RYYq89ooc>24]]9C0 	#I	 	 	s   A##A,c                    t        g dd      }t        g dd      }t        j                  ||      }t        j                  ||      }|| z  }t        j                  ||       | |z  }t        j                  ||       t        g dd      }t        j                  ||      }|d|z  z  }t        j                  ||       d|z  |z  }t        j                  ||       y )Nrn  r!  r   )-59 Daysr  r
   r1  )118 Daysr   r
   r    )r   r   r2   r3   )r4   r5   r  rZ  r:   r_   s         r   test_td64arr_mul_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_numeric_scalar  s     4HE9ARS~6??8^<3$
)$%
)9ARS??8^<!c'"
)c'U"
)r   twor    rL  c                 8   t        g dd      }t        g dd      }t        j                  ||      }t        j                  ||      }||z  }t        j                  ||       t	        j
                  t        d      5  ||z   d d d        y # 1 sw Y   y xY wNrn  r!  r   )29.5Dr%  r
   r1  r  rY   r   r   r2   r3   r\   r]   r^   r4   r5   r"  rZ  r:   r_   s         r   test_td64arr_div_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalar  s     4HE3;LM~6??8^<
)]]9O< 	%K	 	 	   BBc                 8   t        g dd      }t        g dd      }t        j                  ||      }t        j                  ||      }||z  }t        j                  ||       t	        j
                  t        d      5  ||z   d d d        y # 1 sw Y   y xY wr$  r&  r'  s         r   $test_td64arr_floordiv_numeric_scalarzDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalar  s~    4HE3;LM~6??8^<#
)]]9O< 	5L	 	 	r)  r|  )   r  (   c                 ,    t        |       j                  S r   rs  ru  s    r   rv  z(TestTimedeltaArraylikeMulDivOps.<lambda>  rw  r   c                 >   t        g dd      }|j                  |      }t        g dd      }t        j                  ||      }t	        ||      }t        j                  ||      }||z  }t        j
                  ||       ||z  }t        j
                  ||       y )Nrn  r!  r   )z	1180 Daysz	1770 Daysr
   r1  )r   rp   r   r2   r   r3   )r4   r5   r|  r{  rZ  r:   r6   r_   s           r   test_td64arr_rmul_numeric_arrayz?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_array  s     4HE34;CTU~6eV,??8T2
)%
)r   c                 ,    t        |       j                  S r   rs  ru  s    r   rv  z(TestTimedeltaArraylikeMulDivOps.<lambda>  rw  r   c                 r   t        g dd      }|j                  |      }t        g dd      }t        j                  ||      }t	        ||      }t        j                  ||      }||z  }t        j
                  ||       dj                  g d      }t        j                  t        |      5  ||z   d d d        ||j                  t              z  }|t        u rt        t        |            D 	cg c]  }	|j                  d	|	f   ||	   z   }}	t        j                  ||      j                  t              }d
}
t        j                  t         |
      5  |d   j#                  t%        j&                  dd      d      |d<   d d d        nt        t        |            D 	cg c]  }	||	   ||	   z   }}	|D cg c]"  }|t(        ur|nt%        j&                  dd      $ }}|t        j*                  u r)t        j*                  |      j                  t              }n ||t              }t        j
                  ||       t        j                  t        |      5  |j                  t              |z   d d d        y # 1 sw Y   xY wc c}	w # 1 sw Y   nxY wc c}	w c c}w # 1 sw Y   y xY w)Nrn  r!  r   )z2.95Dz
1D 23h 12mr
   r1  r  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandr  z-ufunc 'divide' cannot use operands with typesrY   r   z The 'downcast' keyword in fillnar    r
   r   Fdowncast)r   rp   r   r2   r   r3   r  r\   r]   r^   rr   r   rn   r  r  r   FutureWarningfillnar/   r   r
   r!   )r4   r5   r|  r{  rZ  r:   r6   r_   r  r  r`   r   s               r   test_td64arr_div_numeric_arrayz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array  sZ    4HE348@QR~6eV,??8T2
)((	
 ]]9G4 	UN	 v..Y&>CCK>PQ

1a4(6!94QHQx6==fEH4C++ME &qk00NN5$/% 1  
 7<CJ6GHa6!9,HHHLTGHQc\r~~eT'BBH  r{{";;x077?7
)]]9G4 	*MM&!E)	* 	*3	 	
 R 
 I	* 	*s6   1J5J.J(J# 'J(#J-JJ -J6c                    |}t        ||      }t        g d|d         }t        g dt        j                  |d         }t        g dd|      }t        j                  ||      }t        ||      }t        j                  ||      }||z  }	t        j                  |	|       ||z  }	t        j                  |	|       y )	N0days1day2days3days4daysr   r   )r   r   r    rX   r,   r   r   )r:  r;  r>  9days16daysr1  )	r'   r   r   r/   r   r   r2   r   r3   )
r4   r5   r%   r$   r&   r7   rA   r:   r6   r_   s
             r   test_td64arr_mul_int_seriesz;TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int_series  s    "3.8uQx
 _BHH58D9#
 ooc3'c3'??8T2s
)s
)r   c                 "   |}t        g d|d         }t        g dt        j                  |d         }|t        j
                  t        j                  fvr|d   n|d   }t        t        t        |            D cg c]  }||   ||   z   c}d|      }t	        j                  ||      }t        ||      }	t	        j                  ||	      }|j                  |      }
|t        u r|
t        u sJ y t	        j                  |
|       y c c}w )	Nr9  r   r   )rK  rX   g      @r  g      @r   r   r    r1  )r   r   r/   r  r   r!   r"   r#   rn   r  r2   r   __rtruediv__r   NotImplementedr3   )r4   r5   r%   r$   r7   rA   xnamer  r:   r6   r_   s              r   test_float_series_rdiv_td64arrz>TestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr/  s    8uQx
 *"**58LRXX'>>aE!H&+CHo6SVc!f_6#
 ooc3'c3'??8T2!!#&)^+++OOFH- 7s   =Dc                 ^   t        t        t        g      }t        j                  ||      }t	        j
                  ddgt              }t	        j                  dd      }t        |gdz  t              }|t        urpt        j                  ||      j                  t              }|t        t        fv r9d}t        j                  t        |      5  |j                  |d	      }d d d        ||z  }t        j                  ||       ||z  }t        j                  ||       y # 1 sw Y   @xY w)
Nr    rL  r   r
   r   z.The 'downcast' keyword in fillna is deprecatedrY   Fr3  )r   r
   r   r2   r/   r#   rr   r   r	   rp   r   r   r   r5  r6  r3   )	r4   r5   r7   r{   r|   r  r:   r`   r_   s	            r   -test_td64arr_all_nat_div_object_dtype_numericzMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numericH  s    c3Z(sN3!S0ud+%1F3&x@GGOH&)!44F//SI F'uuEHF 
)
)F Fs   D##D,N)3rb   rc   rd   r  r  r  r  r  r  r\   re   rf   r/   ro   r	   r   rn   uint64r  r"   
RangeIndexr  r  r  r  r  r  r  r  r  r  r  filterwarningsr  r  r  r  r  r  r  r  r!  r#   r(  r+  r   r0  r7  rA  rF  rH  ru   r   r   r  r    s   %	*	*** [[BIIa)"))Ar"BHH-%2,		*%2,

+BMM!R 	
 '  
+
+&0*&	*$ [[S*-[[V%KL* M .***"$*L >D!*F [[ QR* S*480/$8$# *, [[UQXRXXa[("((3-$HI J [[UQXRXXa[("((3-$HI J [[	,	|!4f\6JK&  
*
*2 [[	,	|!4f\6JK&  
6*
6*p*:.2*r   r  c                       e Zd Zd Zy)"TestTimedelta64ArrayLikeArithmeticc                 v   t        t        dd      gdz        }t        j                  |j                  d<   t        j                  ||      }d}t        j                  t        |      5  ||z   d d d        t        j                  t        |      5  ||z   d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY wr  r  )r4   r  r5   r  r  s        r   test_td64arr_pow_invalidz;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalidd  s    i156:;ffooc>2
 =]]9G4 	sN	 ]]9G4 	N	 		 		 	r  N)rb   rc   rd   rO  ru   r   r   rM  rM  _  s    
r   rM  c                  4   t        d      } | t        ddd      z   }t        t        d      D cg c]C  }| t	        j
                  d      |z  t	        j
                  d      t        |d      d	   z  z   z   E c}      }t        j                  ||       y c c}w )
NrF   0srI     r-   z0.033333333sz0.000000001srX   r   )	r   r   r   rn   r"   r  r  r   r   )	timestampr_   r@  r:   s       r   test_add_timestamp_to_timedeltarT  u  s    ,'ItR@@F 2Y	
  /!3//.1F1aLOCD	
	H &(+	
s   AB)'r   r   numpyr/   r\   pandas.errorsr   r   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)   rw   r   r  r  r  rM  rT  ru   r   r   <module>r\     s   
  
     2 #	 h hV`1 `1NH# H#V>+ >+B|
* |
*~@* @*F ,,r   