
    .iwI                    \   d dl m Z mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmc 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)	timezones)WASM)OutOfBoundsDatetime)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 <    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      f/var/www/app/trading-bot/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$   r0   r1   r   r   r   r3   r4   )r5   r6   r=   r%   r7   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   r3   r   )r5   r6   rE   r%   rngr   s         r   test_td64_comparisons_invalidzATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidg   s1     h3ooc3'!#w4r   r9   rL   z
1970-01-01r/   tzr.   z
1971-01-01Dfreqr/   c                 x    t        dd      j                  }t        j                  ||      }t	        |||       y rJ   )r   _datar   r3   r   )r5   r9   r6   rM   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)NrK      r.   r   r    r!      rG   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rU   r0   r$   r   r   assert_numpy_array_equalpytestraises	TypeError)r5   rM   r9   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   HourrD   r   nowto_datetime64to_pydatetimedater0   r$   rN   listrangearangeastypefloat32objectr#   
date_rangeperiod_rangerV   rb    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 )NrK   3 days)FFT)TTF)FFFTTT)	r   r   r   rs   rq   r0   r$   r   r\   )r5   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!   rQ   natr    srX   rY   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   r0   r$   r   r\   )r5   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 )NrK   rL   r.   rY   r{   F   )r   r0   r$   r   r\   rn   )r5   rM   r`   r;   exps        r   test_comparisons_coveragez9TestTimedelta64ArrayComparisons.test_comparisons_coverage  sl    h3s1v88.%1<=
##FH5S	!Sj
##FC0r   )rc   rd   re   r]   rf   rg   rs   r   r   r   r0   r$   timedelta64r   r   rv   r   r   rx   rx      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   rx   c                       e Zd 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                 0   |}t        ddg      }t        j                  ||      }t        d      t        d      g}||z   }t	        ddgd      }t        j                  ||      }t        j
                  ||       ||z   }t        j
                  ||       y )	N2D4D
2016-01-01z
2016-02-01z
2016-01-03z
2016-02-05M8[us]r   )r   r   r3   r   r	   r4   )r5   r6   r%   r|   r}   r`   r;   result2s           r   test_td64_op_with_listz8TestTimedelta64ArithmeticUnsorted.test_td64_op_with_list  s    tTl+tS)<()L*AB ,!=XN??8S1
)$,
*r   c                    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rS   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   r0   multiply
isinstancer   assert_index_equalrS   dividenegativeabsabsolute)r5   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)NrK   2 daysfoor   20130101rY   barr/   r   z0cannot subtract a datelike from a TimedeltaArrayrZ   z#unsupported operand type\(s\) for -z,cannot subtract DatetimeArray from Timedelta0 days-1 days-2 daysr   rK   r   r   r   20121231r   20130102r   rQ   )r   rS   r   r   20121230r   r   )r   r   r#   rt   r   r   r]   r^   r_   r   r   r	   )r5   r8   dtitddtra   r`   r;   s           r   test_subtraction_opsz6TestTimedelta64ArithmeticUnsorted.test_subtraction_opsE  s   hX6UCmmJ>x z"@]]9C0 	"H	]]9C0 	#I	 5]]9C0 	G	 =]]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                 \   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      }t        j                  ||      }t        j                  ||       y # 1 sw Y   xY w# 1 sw Y   exY w# 1 sw Y   Gx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)Nr   rY   r.   z
US/EasternCETrK   c                 6    | |k(  sJ t        | t              sJ y N)r   r   )r`   r;   s     r   _checkzNTestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tz.<locals>._check  s     X%%%fi000r   r   z<Cannot subtract tz-naive and tz-aware datetime-like objects.rZ   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rP   )r#   rt   r   r3   r   rl   tz_localizer   r]   r^   r_   r   r4   r	   )r5   r6   r   tsr   dti_tzts_tzts_tz2dt_tzr   r   r`   r;   ra   s                 r   test_subtraction_ops_with_tzz>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tzv  s   mmJ2ooc>2z"z15AA,O8*%11,?:&2259##%x 	1
 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 " !E,W??8^<
)e	 		 		 		 		 		 	
	 		 	s`   ?O*OO  O-)O:P=P&P!OO O*-O7:PPP!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 )NrK   r   r   r   r   rY   r   r   r   4 daysr   r   r   )r   r   r#   rt   r   r   r	   )r5   r8   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)NrK   r   r   r   r   rY   r   r   r   20130103r   r   rz   z$cannot add indices of unequal lengthrZ   r   r    3Addition/subtraction of integers and integer-arraysr    r!   rY   r   20130105)r   r   r#   rt   r   r   r	   r   r   r]   r^   
ValueErrorr_   r
   r0   int64)r5   r8   r   r   r   r`   r;   ra   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rS   rQ   Bc                    t        j                  d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   nsr/   rS   unitr    inferrQ   )r#   rt   r   
_with_freqr   r   tseriesr   DayrS   BusinessDay)r5   rS   indexshiftedbackr;   r`   s          r   test_timedeltaz0TestTimedelta64ArithmeticUnsorted.test_timedelta  s1   j"4dK)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#   rt   r   r   ri   r	   r0   r   rS   r   r   r   )r5   rM   r   result1r   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 )NrK   r   z
1999-12-31rY   rQ   r/   rS   )r   r   r$   r#   rt   r   r   )r5   r8   tdar   r`   r;   s         r   test_tda_add_sub_indexz8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_index@  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
                  |      5  ||j                  t              z   }	d d d        t        j                  	|j                  t                     y # 1 sw Y   3xY w)Nr   rY   rO   )	r#   rt   r   r   r3   assert_produces_warningrq   rs   r4   )
r5   performance_warningr6   tz_naive_fixturer%   r   r8   r   r9   r`   s
             r   test_tda_add_dt64_object_arrayz@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayS  s     mmL!8HInnT"Ciooc3'S)''(;< 	05<<//F	0
V 45	0 	0s   2B==Cc                    t        dd      }t        ddd      }t        |t              r2|j                  dk(  r#|t        j
                  ur|j                  d      }t        j                  ||      }t        j                  ||      }|}||z  }t        j                  ||       |t        urt        j                  ||       y y NrK   10 daysz1 days 02:00:00z10 days 02:00:00rQ   rS   r   r   r   r   r   r#   r$   as_unitr   r3   r4   r
   r5   	two_hoursr6   rM   r;   orig_rngs         r   test_tdi_iadd_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikeg  s    h	2"#46HsSy),$&bhh.
  ''-Hooc>2??8^<y
X&&OOHh/ 'r   c                    t        dd      }t        dd      }t        |t              r2|j                  dk(  r#|t        j
                  ur|j                  d      }t        j                  ||      }t        j                  ||      }|}||z  }t        j                  ||       |t        urt        j                  ||       y y NrK   r   z0 days 22:00:00z9 days 22:00:00r   r  r  s         r   test_tdi_isub_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalike  s    h	2"#46GHy),$&bhh.
  ''-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   rX   r   r   )r/   rS   r   r    r   r!   r   r   rK   rQ   z-2D)r   rK   r   rK   r   r   )r   rS   r   r   r   r   )r5   rM   r`   r   s       r   test_tdi_ops_attributesz9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributes  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)rc   rd   re   r   r   r   r   r   r   r]   rf   rg   r   r   r   r   r  r
  r  rv   r   r   r   r     sk    +"'>/0bR*h0"9"z [[Vc3Z00 10,0"0&6(0004##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   r3   r   rl   rk   rq   r   ilocr   )	r5   r6   r  tdinattdobjr   ts_variantsvariantr:   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        d      j                  d      }t        j                  t        d      5  t        j                  dd      |z    d d d        t        j                  t        d      5  |t        j                  dd      z    d d d        t        j                  dz   }t        j                  dgd      j                  d      }d}t        j                  t        |      5  |t        d      z    d d d        t        j                  t        |      5  t        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d      }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   :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)N2000r   10155196800000000000rZ   iT rQ   r    zOverflow in int64 additionrK   z5 days1 hoursz	7 secondsz4 hoursm8[us]r   r   z5 hours)r   r  r]   r^   r   r#   r  r   _valueOverflowErrorr   r   r   r   )r5   r   _NaTr   ra   r   r`   s          r   test_tdi_add_overflowz*TestAddSubNaTMasking.test_tdi_add_overflow  s    v&&t,]].6LM 	.OOFC(2-	.]].6LM 	.--	. zzA~__fXs+33D9*]]=4 	#6""	#]]=4 	#f"	#]]=4 	:OOTF#i&99	:]]=4 	DOOXt,-	(0CC	D]]=4 	x ;<//;i"@AB	 cU(3#')H*==
fc*h_-(C1Ih4GG
fc*c3	23#x!;<r#y)@
 
 	fc*G	. 	.	. 	.	# 	#	# 	#	: 	:	D 	D	 	sS   L3L%+L2L?#M$M2M&L"%L/2L<?M	MM#&M0N)rc   rd   re   r]   rf   rg   r  r   rv   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   rq   r   r   assert_series_equal)r5   rB   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                        j                  d      }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:02r  r   r   unsupported operand typerZ   z8cannot subtract a datelike from|unsupported operand type)r#   r  r   r   r   applyr  rq   r   r%  r]   r^   r_   r0   nanassert_frame_equal)r5   s1s2sndf1df2dfnscalar1scalar2timedelta_NaTrC   ra   s               r   &test_timedelta_ops_with_missing_valueszFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_values  s   __VZL12__VZL12__VSE:;%++BOO<%++BOO<%++BOO<CCHM//*-//*-.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    T=7U
.U%U$+U1"U==U
UU!$U.1U:=Vc           	         t        j                  dddd      }t        j                  d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}d      }|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
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-1rY   rQ   r   r   z2012-1-2g  S$Br   timedelta64[ns]Ar>   m8[ns]r   zM8[ns]201112302012010120120103r   i  r    i  r   r   r-   rX   minutessecondsr!   )r#   rt   r   r   rq   r   r%  r   r   ro   r   shiftmaxr   r   r   r0   r   )r5   v1v2rsxpdfir   r`   maxaresultbvaluesr;   dresultavalues                   r   test_operators_timedelta64z:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64n  sI   ]]:qsF]]:qsFBZ&*$ORXX.55g>EEFWX
r2&xx,,,,Ry!a91YA&9J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///4Qx8!YD1H%8s(
 	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~~q :4 9s   M$4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1stimedelta64[us]r         ?r          ?z1.5sr!   z0.5s       @)r   r   r   r   r%  r0   r*  )r5   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|      }|0t        j                  |j                        s|j                  d       }t        j                   ||      }	t        j                   ||      }t        j"                  ||	z   |       t        j"                  |	|z   |       t        j                  d	dd
|      }
|0t        j                  |
j                        s|
j                  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't support r   rY   r.   z
2012-01-02rO   z
2011-12-31z-1D)r/   rS   rP   zcannot subtract a datelikerZ   )r   r   rl   r0   
datetime64r]   skiprk   r   r#   rt   r   is_utcrP   r   r   r3   r4   r^   r_   )r5   rZ  r6   r   rP   	dt_scalarr   r8   r;   tdarr	expected2ra   s               r   (test_td64arr_add_sub_datetimelike_scalarzHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalar  s   
 lr2	(?((*BBMM!+se#45E4FGH((*BBgq1==qR@>)"2"28;;"?  **40H^4??8^<
U
H-

H-MM,"M	>)"2"29<<"@ ",,T2IOOI~>	
U
I.
ufy1*]]9C0 	BJ	 	 	s   GG(c                 "   t        j                  d      }t        dd      }t        g dd      }t	        j
                  ||      }t	        j
                  ||      }t	        j                  ||z   |       t	        j                  ||z   |       y )Nr   r   rY   r.   )r   r   r   r   r   )r0   r\  r   r	   r   r3   r4   )r5   r6   r9   r8   r;   tdsers         r   test_td64arr_add_datetime64_natz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_nat3  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   rY   r.   -1 Dayzcannot subtract a datelike fromrZ   )r#   rt   r   rK  r	   r   r3   r]   r^   r_   r4   )r5   r6   r   r8   dtarrr;   ra   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   rY   r.   rg  )r#   rt   r   rK  r	   r   r3   r4   )r5   r6   r   r8   rh  r;   r`   s          r   test_td64arr_add_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_arrayQ  s    mmL!4hZ!^,

 '#-ooc>2??8^<u
)
)r   pi_freq)rQ   WQr   tdi_freqNr   c                    t        ddg|      }t        d      |z   }|j                  |      }|d   }t        j                  ||      }t        j                  ||      }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   3xY w# 1 sw Y   y xY w)	Nr  z2 hoursr  z2018-03-07 17:16:40r   |)zcannot subtractr(  z,bad operand type for unary \-: 'PeriodArray'z3Input has different freq=-1h from PeriodArray\(.*\)z3Cannot add/subtract timedelta-like from PeriodArrayrZ   )	r   r   	to_periodr   r3   joinr]   r^   r_   )
r5   r6   box_with_array2ro  rl  r8   r   piperra   s
             r   test_td64arr_sub_periodlikez;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodlikeb  s     i3(C-.4]]7#eooc>2__R1hh
 ]]9C0 	"H	 ]]9C0 	#I	 			 		 	s   C7CCCr9   rF   r    rT  r!   c                 f    t        g dd      }t        j                  ||      }t        ||       y N59 Daysr{  r   r9  r   )r   r   r3   r   )r5   r6   r9   rd  r`  s        r   *test_td64arr_addsub_numeric_scalar_invalidzJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalid  s+     4HE~6"5%0r   vecr   c                 ,    t        |       j                  S r   typerc   r   s    r   <lambda>z(TestTimedeltaArraylikeAddSubOps.<lambda>      d1g&& r   idsc                     t        g dd      }t        j                  ||      }|j                  |      }t	        ||       y ry  )r   r   r3   rq   r   )r5   r6   r}  any_real_numpy_dtyperd  r`  vectors          r   'test_td64arr_addsub_numeric_arr_invalidzGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalid  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   rL   rR    Addition/subtraction of integersrZ   )r   r   r3   r   r]   r^   r_   )r5   r6   onerM   r`  ra   s         r   test_td64arr_add_sub_intz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_int  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   rY   rR   )r-   rY   r!   r   )r#   r$   r0   r1   r   r   r3   r   )r5   r6   r%   r7   rM   r`  r9   ra   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$   r0   r1   r   r   r3   r   )r5   r6   r%   r7   r8   r`  r9   ra   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   rY   r.   r    r!   r   )r#   rt   rA  rK  r   r3   r4   )	r5   r6   r%   r   r8   r`  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                 V   |}t        ||      }t        ddg|d         }|t        j                  t        j
                  fv rt        j
                  |      n|}t        t        d      t        d      g|d   d	
      }t        t        d      t        dd      g|d	
      }t        j                  ||      }t        j                  ||      }||z   }t        j                  ||       t        |d       ||z   }t        j                  ||       t        |d       t        t        d      t        dd      g|d	
      }t        j                  ||      }||z
  }t        j                  ||       t        |d       ||z
  }t        j                  ||        t        |d       y )Nr   r   r    r   rY   hoursr-   r   r9  r=  )r?   r  r7  )r(   r   r   r"   r#   r$   r0   r   r   r3   r4   r   )	r5   r6   r&   r%   r'   r8   rB   r;   r`   s	            r   test_td64arr_add_sub_tdiz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tdi  sy    "3.h0uQx@"r{{BHH&==bhhsm3Q!34588
 Q!;<
 ooc3'??8S1s
)V./s
)V./R )""=>

 ??8S1s
)V./s
	*V./r   tdnatr   c                    |}t        t        t        d      g      }t        dgdz        j                  d      }t	        j
                  ||      }t	        j
                  ||      }||z   }t	        j                  ||       ||z   }t	        j                  ||       ||z
  }t	        j                  ||       ||z
  }t	        j                  ||       y )NrQ  r   r!   us)r   r   r   r  r   r3   r4   )r5   r6   r  r%   r8   r;   r   r`   s           r   test_td64arr_add_sub_td64_natz=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_nat  s     c9T?34!5'A+.66t<ooc3'??8S1u
)
)u
)
)r   c                 `   |}t        dd      }t        ddd      }t        |t              r |j                  dk(  r|j	                  d      }t        j                  ||      }t        j                  ||      }||z   }t        j                  ||       ||z   }t        j                  ||       y r   r   r   r   r   r  r   r3   r4   r5   r  r6   r%   rM   r;   r`   s          r   test_td64arr_add_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalike"  s     h	2"#46HsSi+	$0F''-Hooc3'??8S1y
)S
)r   c                 ^   |}t        dd      }t        dd      }t        |t              r |j                  dk(  r|j	                  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_timedeltalike4  s     h	2"#46GHi+	$0F''-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              }	t        j                  |
|      j                  t              }
t        j                   |      5  ||z   }d d d        t        j"                  |	       t        j                   |      5  ||z   }d d d        t        j"                  |	       t        j                   |      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   oxY w# 1 sw Y   BxY w)
N1 days 00:00:003 days 04:00:00r   r   r    nr   r   )r(   r   r
   r   ri   Minuter   r"   r#   r$   r0   ro   lenr3   rq   rs   r   r4   )r5   r   r&   r6   r%   r'   r8   r9   r  r;   r  r:   res2res_subs                 r   !test_td64arr_add_sub_offset_indexzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_indexI  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@|S9@@H''(;< 	+C	
X&''(;< 	3;D	
h'''(;< 	"EkG	"
.) 9 9	 		 		" 	"s0   /H&H?H 8H,1H8 H),H58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                  |      5  ||z   }	d d d        t        j                  	|       t        j                  |      5  ||z   }
d d d        t        j                  
|       t        j                  ||      j                  t              }t        j                  |      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   r0   r$   r   ri   r  ro   r  r   r3   rq   rs   r   r4   )r5   r   r6   r%   r8   r9   r  r;   r  r:   r  r  s               r   !test_td64arr_add_sub_offset_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_arrayk  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G%*G1G"%G.1G: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                   |      5  ||z   }d d d        t        j"                  |
       t        j                   |      5  ||z   }d d d        t        j"                  |
       t        t        t        |            D 	cg c]  }	||	   ||	   z
   c}	|t              }t        j                  ||      j                  t              }t        j                   |      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   BxY w)	Nr  r  r   r   r    r  r  r=  )r
   r   r"   r#   r$   r   r(   r   r   ri   r  ro   r  rs   r3   rq   r   r4   )r5   r   r&   r6   r%   box2r'   r8   r9   r  expected_addr   r:   r  r  res3s                   r   test_td64arr_with_offset_seriesz?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series  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H%H1/H6H"%H.6H?oboxc                    t        ddg      }t        j                  ||      } |t        j                         t        j
                  d      g      }d}t        j                  t        |      5  t        j                  |      5  ||z    d d d        d d d        t        j                  t        |      5  t        j                  |      5  ||z    d d d        d d d        t        j                  t        |      5  t        j                  |      5  ||z
   d d d        d d d        t        j                  t        |      5  t        j                  |      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 MonthEndrZ   )
r   r   r3   r   MonthEndr   r]   r^   r_   r   )r5   r   r  r6   r8   anchoredra   s          r   -test_td64arr_addsub_anchored_offset_arraylikezMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylike  s   
 /1BCDooc>2))+W[[1-=>? @]]9C0 	++,?@ h	 ]]9C0 	++,?@ 3	 ]]9C0 	++,?@ h	 ]]9C0 	++,?@ 3	 	 	 	 	 	 	 	 	 	s   1E?E3E?8FFF?F/F#F/GF;"G3E<	8E??FF	FF #F,	(F//F8;G	 GGc                 8   |}|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                  |      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                  |      5  ||z
   d d d        d d d        t        j                  |      5  ||z
  }d d d        t        t        d      t        d      t        d      g      }	t        j                  |	|      j                  t              }	t        j                  ||	       y # 1 sw Y   IxY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   rY   rQ   r   r    r>   r!   z
2000-01-04r-   z
2000-01-07z3unsupported operand type|cannot subtract a datelikerZ   r   z
2000-01-01)r#   r$   r0   r1   r   r   r3   r   r   r   r   r   r
   rq   rs   r4   r]   r^   r_   )r5   r   r6   r%   r7   r8   r`  r9   r`   r;   ra   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<   G+3H	G8H4H+G58H	=HHH)(rc   rd   re   r&  r5  rO  rY  r]   rf   rg   r   r   r0   r\  rb  re  ri  rk  rw  r$   r|  r
   r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  rv   r   r   r"  r"    s   1\+@BHPVj [[UY"--$HI) J)V1*"*" [[Y(<=[[Z$5 6 >6 [[ BHHQK	

1
1 [[BHHY)9yk"		
 '  	2	26
6.*)0V [[W~r~~e'<c&BC* D*$*$+* /D/: ,D [[Vbhhv%>? @8*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e	j                  j                  ded e	j0                  d ej4                  d            g      d        Ze	j                  j                  ddd e	j0                  d ej4                  d            g      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%e	j                  jM                  e'd%&      d'        Z(e	j                  jS                  d(      d)        Z*d* Z+d+ Z,d, Z-d- Z.d. Z/d/ Z0d0 Z1d1 Z2e	j                  j                  d2d3d4 ejf                  d3       ejf                  d4      g      d5        Z4e	j                  j                  d2d3d4 ejf                  d3       ejf                  d4      g      d6        Z5e	j                  j                  d7ejf                  ee6gd8       d9        Z7e	j                  j                  d7ejf                  ee6gd:       d;        Z8d< Z9d= Z:d> Z;y?)@TestTimedeltaArraylikeMulDivOpsc                     t        t        j                  dd            }t        j                  ||      }|dz  }t        j
                  ||       d|z  }t        j
                  ||       y )NrX   r   r   r    )r   r0   rp   r   r3   r4   r5   r6   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)NrK   r   r   r   rq  )zargument must be an integer$cannot use operands with types dtypezCannot multiply withz$unsupported operand type\(s\) for \*rZ   )r   r   r3   rs  r]   r^   r_   )r5   r  r6   rM   ra   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 )NrX   r   r   )r0   rp   r   r   r3   r$   r4   r5   r6   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 NrX   r   r   r!   )r0   rp   r   r   r3   r4   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   r0   rp   r3   r4   )r5   r6   r%   r7   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 )NrX   r   r   float64rS  r  )r5   r6   r%   r7   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   r9   r       c                 ,    t        |       j                  S r   r  r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>A  r  r   r  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  rL   rK   r   )r   r   r   r   r3   r   r4   )	r5   r9   r6   r%   r8   r;   r7   r`   commutes	            r   test_tdi_rmul_arraylikez7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylike8  s     gY^,"8Y7BB4Hooc3'c5)??8T2
)+
*r   c                 n   t        t        j                  d      t        d      z  d      }t	        j
                  ||      }d}t        j                  t        |      5  d|z   d d d        t        j                  t        |      5  |dz   d d d        t        j                  t        |      5  t        j                  |z   d d d        t        j                  t        |      5  |t        j                  z   d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   YxY w# 1 sw Y   y xY w)	NrX   r    r  r9  r   +Cannot multiply 'timedelta64\[ns\]' by boolrZ   T)
r   r0   rp   r   r   r3   r]   r^   r_   True_)r5   r6   rB   r   ra   s        r   #test_td64arr_mul_bool_scalar_raiseszCTestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_scalar_raisesS  s    RYYq\IA$66hGooc>2<]]9C0 	3J	]]9C0 	$J	]]9C0 	HHsN	]]9C0 	"((N	 		 		 		 		 	s0   !D
D3D*D+DDD(+D4r   booleanbool[pyarrow]pyarrow)marksc                    t        t        j                  d      t        d      z  d      }t	        j
                  ||      }t        t        j                  d      dk  |      }t	        j
                  ||      }d}t        j                  t        |      5  ||z   d d d        |j                  d	d
      }|dk(  rd}t        j                  t        |      5  ||z   d d d        y # 1 sw Y   LxY w# 1 sw Y   y xY w)NrX   r    r  r9  r   g      ?r  rZ   rmulmulr  zXoperation 'mul' not supported for dtype 'bool\[pyarrow\]' with dtype 'timedelta64\[ns\]')
r   r0   rp   r   r   r3   r]   r^   r_   replace)r5   r   r6   rB   r   r9   ra   msg2s           r   test_td64arr_mul_bool_raisesz<TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_raisesb  s     RYYq\IA$66hGooc>2ryy|c)7~6<]]9C0 	%K	 {{65)O#2  ]]9D1 	CK	 		 		 	s   C+C7+C47D Int64Float64int64[pyarrow]c           	      &   t        t        j                  d      t        d      z  d      }t	        j
                  ||      }t        t        j                  d      |      }t	        j
                  ||      }t        t        d      D cg c]  }t        |dz         c}d      }t	        j
                  ||      }|dk(  r|j                  d      }||z  }t	        j                  ||       ||z  }t	        j                  ||       y c c}w )	NrX   r    r  r9  r   r!   r  zduration[ns][pyarrow])
r   r0   rp   r   r   r3   ro   r   rq   r4   )	r5   r   r6   rB   r   r9   r  r;   r`   s	            r   test_td64arr_mul_maskedz7TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_masked  s     RYYq\IA$66hGooc>2ryy|51~6%(CQ91a40C8T??8^<$$'>?Hu
)
) Ds   D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)NrK   r   r   r   r(  rZ   zCannot divide NaTType byr   r   rq  )z0ufunc '(true_divide|divide)' cannot use operandszcannot perform __r?truediv__z*Cannot divide datetime64 by TimedeltaArray)
r   r   r3   r]   r^   r_   r   r0   r\  rs  )r5   r6   rM   dt64natra   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 )NrK   r   r   rL   )
r#   r$   r0   r1   r   r   r3   r   r*  r4   )r5   r6   r%   r7   rM   r9   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)NrX   r   r   r    Cannot dividerZ   	r   r0   rp   r   r3   r4   r]   r^   r_   r  s       r   test_td64arr_div_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_int  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 )	NrK   r   r   r   rL   r       r   )r#   r$   r0   r1   r   r
   rp   r  r   r3   r4   r5   r  r6   r%   r7   rM   r;   r`   s           r   test_td64arr_div_tdlike_scalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar  s     BHH_rzz#h	>"))B-!+r1%Pooc3'??8T2y
)Sx<
)r   m)r    rY   rL   r   )rQ   r   r  r   msr  r   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>   rY   r!   )r#   r$   r0   r1   r   r   r*  r   r3   r   r4   )r5   r  r   r6   r%   r7   rB   flatr   r;   r`   s              r   test_td64arr_div_td64_scalarz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar  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 )	NrK   r   r   r   r  r@   r   r    )r#   r$   r0   r1   r   r   r
   r*  r  r   r3   r4   r  s           r   'test_td64arr_div_tdlike_scalar_with_natzGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_nat  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 )	NrK   r   r  r@   r   )r!   r-   r!   zm8[h]r    )r#   r$   r0   r1   r   r   r
   r*  r  r   r3   r4   rq   rs   rn   )r5   r6   r%   r7   rM   r;   r9   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)NrK   r   )r    r!   rY   r-   z0Cannot divide vectors|Unable to coerce to Seriesr!   rZ   )
r   r   r   r3   r0   r$   r
   r]   r^   r   )r5   r6   rM   
mismatchedra   r   r9   s          r   test_tdarr_div_length_mismatchz>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatch2  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  rY   r.   r    F	transposer   rT  rU  r!   r   rS  r   r  )r    r   )r   insertr   r   r3   r0   r$   rs   r
   r   r   r   r2   r4   r   r  )r5   r6   origr8   r9   r:   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   zno fp exception support in wasm)reasonc                    |}|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        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    r7  r   )r  r  NrS  F)check_stacklevel)r#   r$   r0   r1   r   r   r3   r*  r  maybe_produces_warningRuntimeWarningr4   asarray)r5   r6   r%   r7   r|   r}   r;   r`   s           r   &test_td64arr_floordiv_td64arr_with_natzFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_natb  s/     BHH_rzz#(0AB+3DEtS)s+88S#rvv.bjjA??8T2&&C288Oe
 	# U]F	#
 	) &&C288Oe
 	/ ZZ%.F	/ 	)	# 	#	/ 	/s   )E19E=1E:=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5m3sr9  r   Fr  r   r!   )r#   r$   r0   r1   r   r   r   r   r3   r*  r4   __rfloordiv__)	r5   r6   	scalar_tdr%   r7   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)NrX   r   r   r    z@floor_divide cannot use operands|Cannot divide int by Timedelta*rZ   r  )r5   r6   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                  ||      }t	        |t
        j                        rd}t        j                  t        |      5  ||z   d d d        t        j                  t        |      5  t        ||       d d d        t        j                  t        |      5  ||z   d d d        y ||z  }t        j                  ||       |t        u r0t	        |t        j                        r|j                  t               }nd}t        j"                  |      5  t        ||      }d d d        t        j                  |d   |       t        j                  |d	   ||z         y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w# 1 sw Y   dxY w)
Nr  9 days)r  z2 Days0 DaysrY   r(  rZ   Fr    r   )r   r   r3   r   r   r   r   r]   r^   r_   divmodr4   r   r#   
DateOffsetrq   rs   r   )	r5   r   r6   
three_daysr8   r`  r;   ra   r`   s	            r   test_td64arr_mod_tdscalarz9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalar  su    gx0^4!"?!"CD??8^<j'++.,Cy4 #
"#y4 *uj)*y4 $#$#
)Y&:j"--+P  v.H"'''(;< 	/E:.F	/ 	q	8,
q	5J#67/# #* *$	/ 	/s0    F)F*F6GF'*F36F?G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 nsrL   r.   z0 nsrX   r!   zCannot divide int byrZ   r    r   )	r   r   r3   r   r4   r]   r^   r_   r&  )r5   r6   r8   r`  r;   r`   ra   s          r   test_td64arr_mod_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_int  s    fgr:^4!66"2Q"67??8^<
)$]]9C0 	I	 q!
q	8,
q	5A:.	 	s   CCc                    t        dd      }t        j                  ||      }g ddgdz  z   }t        |      }t        j                  ||      }t	        |t
        j                        r,d}t        j                  t        |      5  ||z   d d d        y ||z  }t        j                  ||       t        ||      }t        j                  |d   |       t        j                  |d	   ||z         y # 1 sw Y   y xY w)
Nr  r$  )r%  r  r%  z3 Days   z#Cannot divide Day by TimedeltaArrayrZ   r    r   )r   r   r3   r   r   r   r   r]   r^   r_   r4   r&  )r5   r6   r(  r8   r`  r;   ra   r`   s           r   test_td64arr_rmod_tdscalarz:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalar  s    gx0^40H:>A!(+??8^<j'++.7Cy4 #U"#e#
)
E*
q	8,
q	:#67#s   C22C;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NrX   rY   r>  r!   z(operate|unsupported|cannot|not supportedrZ   
r   r   r0   r*  r  r   r3   r]   r^   r_   )r5   r6   r  r  r!  s        r   !test_td64arr_mul_tdscalar_invalidzATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalid  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)
NrX   r   r   rq  )r  z$Cannot multiply with unequal lengthszUnable to coerce to SeriesrZ   rY   r    r!   )r   r0   rp   r   r3   rs  r]   r^   r_   r   r$   r5   r6   r   ra   s       r   !test_td64arr_mul_too_short_raiseszATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raises  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)NrX   r   r   r  rZ   )r   r0   rp   r   r3   r]   r^   r_   r5  s       r   test_td64arr_mul_td64arr_raisesz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raises  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 )Nrz  r9  r   )-59 Daysr:  r   r7  )118 Daysr;  r   r!   )r   r   r3   r4   )r5   r6   r  rd  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!   rU  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Nrz  r9  r   )29.5Dr@  r   r7  r  rZ   r   r   r3   r4   r]   r^   r_   r5   r6   r=  rd  r;   r`   s         r   test_td64arr_div_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalar6  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?  rA  rB  s         r   $test_td64arr_floordiv_numeric_scalarzDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalarF  s~    4HE3;LM~6??8^<#
)]]9O< 	5L	 	 	rD  klassc                     | j                   S r   rc   r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>W  
    ajj r   c                 R    |g d      }t        g dd      }|j                  |      }t        g dd      }t        j                  ||      }t	        ||      }t        j                  ||      }||z  }t        j
                  ||       ||z  }t        j
                  ||       y )N   r  (   rz  r9  r   )z	1180 Daysz	1770 Daysr   r7  )r   rq   r   r3   r   r4   )	r5   r6   rG  r  r  rd  r;   r7   r`   s	            r   test_td64arr_rmul_numeric_arrayz?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_arrayT  s     |$4HE34;CTU~6eV,??8T2
)%
)r   c                     | j                   S r   rI  r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>v  rJ  r   c                     |g d      }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   j                  t!        j"                  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 c c}
w c c}w # 1 sw Y   y xY w)NrL  rz  r9  r   )z2.95Dz
1D 23h 12mr   r7  rq  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandr  z-ufunc 'divide' cannot use operands with typesrZ   r   r!   r   r   )r   rq   r   r3   r   r4   rs  r]   r^   r_   rs   r   ro   r  r  fillnar0   r   r   r"   )r5   r6   rG  r  r  rd  r;   r7   r`   r!  r  r   s               r   test_td64arr_div_numeric_arrayz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_arrays  s*    |$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"1+,,R^^E4-HIHQK6;CJ6GHa6!9,HHHLTGHQc\r~~eT'BBH  r{{";;x077?7
)]]9G4 	*MM&!E)	* 	*)	 	
 R I	* 	*s*   ;I'?I4
I9"'I>J'I1J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!   rY   r-   r    r   )rV  rW  rZ  9days16daysrR  )	r(   r   r   r0   r   r   r3   r   r4   )
r5   r6   r&   r%   r'   r8   rB   r;   r7   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 )	NrU  r   r   )rT  rY   g      @r-  g      @r    r   r!   rR  )r   r   r0   r  r   r"   r#   r$   ro   r  r3   r   __rtruediv__r   NotImplementedr4   )r5   r6   r&   r%   r8   rB   xnamer  r;   r7   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d      }t        j                  ||      }t	        j
                  ddgt              }t	        j                  dd      }t        |gdz  t              }|t        urHt        j                  ||      j                  t              }|t        t        fv r|j                  |      }||z  }t        j                  ||       ||z  }t        j                  ||       y )Nr9  r   r!   rU  r   r   )r   r   r   r3   r0   r$   rs   r   r
   rq   r   r   rR  r4   )r5   r6   r8   r|   r}   r  r;   r`   s           r   -test_td64arr_all_nat_div_object_dtype_numericzMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numeric  s    c3Zx8sN3!S0ud+%1F3&x@GGOH&)!44#??51
)
)r   N)<rc   rd   re   r  r  r  r  r  r  r]   rf   rg   r0   rp   r
   r   ro   uint64r  r#   
RangeIndexr  r  boolparamr   
skip_if_nor  r  r  r  r  r  r  r  r  r	  r  skipifr   r  filterwarningsr  r"  r)  r+  r.  r2  r6  r8  r<  r$   rC  rF  r   rO  rS  r]  rb  rd  rv   r   r   r  r    sF   %	*	*** [[BIIa)"))Ar"BHH-%2,		*%2,

+BMM!R 	
 '  
+
+  [[FLLi0HI	
, [[FLL)y1IJ	
**(0*&	*$ [[S*-[[V%KL* M .***"$*L >D [[%FG* H*8 [[ QR* S*4"8H/$80# *, [[UQXRXXa[("((3-$HI J [[UQXRXXa[("((3-$HI J [[	5&!   
*
*4 [[	5&!   
2*
2*h*:.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r0  r1  )r5   r  r6   r  r!  s        r   test_td64arr_pow_invalidz;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalid  s    i156:;ffooc>2
 =]]9G4 	sN	 ]]9G4 	N	 		 		 	r3  N)rc   rd   re   ro  rv   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 )
NrG   0srQ     r.   z	0.033333sz	0.000001srY   r   )	r   r   r	   ro   r#   r  r&  r   r   )	timestampr`   rH  r;   s       r   test_add_timestamp_to_timedeltart  	  s    ,'ItR@@F 2Y	
  ,q0//+.1a@A	
	H &(+	
s   AB).r   r   numpyr0   r]   pandas._libs.tslibsr   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr#   r   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   pandas.tests.arithmetic.commonr   r   r   r   r(   r*   rx   r   r  r"  r  rm  rt  rv   r   r   <module>r     s   
   )  - ) )     2 #	 h hV`1 `1Nk# k#\@+ @+Fa* a*HN* N*b ,,r   