
    bMh?4                    b   d dl m Z mZ d dlZd dlZd dlmZmZ d dlZ	d dlm
Z
mZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZ d Zd Z G d	 d
          Z G d d          Z  G d d          Z! G d d          Z" G d d          Z# G d d          Z$ G d d          Z%d Z&dS )    )datetime	timedeltaN)OutOfBoundsDatetimePerformanceWarning)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 >    t          j        |           }||k    sJ dS )zT
    Helper to check the dtype for a Series, Index, or single-column DataFrame.
    N)tm	get_dtype)objexpected_dtypedtypes      h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/arithmetic/test_timedelta64.pyassert_dtyper   &   s*     LEN""""""    c                     | t           u r	|d         }n+| t          j        t          j        fv r	|d         }n|d         }|S )Nr         )r   r   to_arraypdarray)boxnamesexnames      r   get_expected_namer'   /   sG    
i q	bh'	'	'qqMr   c                      e Zd Zd Zej                            d ed           ed           ed          	                                 e
j        d          g          d             Zej                            ddd	 ed
           ed
                              d           ed
                                                                           ed
                                                                           ed
                                           ej        d          g          d             Zej                            d e ed                     ej        d           ej        d                              ej                   ej        d                              e           ej        ddd          j         ej         ej        dd                     e ej        dd                     ej        dd                              e           ej        ddd          j         ej        ddd                              e          g
          d             Zd ZdS )#TestTimedelta64ArrayLikeComparisonsc                    |}|t           t          j        fvr|nt          j        }t          dd          }t          j        |                                d                   }t          j        ||          }||k    }t          j        g d          }t          j        ||          }t          j	        ||           d S )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    !/rx7H!H!H~~bjdA...*++oc3''Ul877788?8T22
X&&&&&r   	td_scalarr   days   c                 V   |}|t           t          j        fvr|nt          j        }t          t          d          t          d          g          }t          j        ||          }||k    }t          ddg          }t          j        ||          }t          j	        ||           d S )Nr   r=   r    FT)
r	   r"   r#   r/   r0   r   r   r   r2   r3   )r4   r5   r<   r$   r6   seractualr:   s           r   !test_compare_timedeltalike_scalarzETestTimedelta64ArrayLikeComparisons.test_compare_timedeltalike_scalarR   s     %!222ss
iQ'''):):):;<<oc3''y5$-((?8T22
)))))r   invalidl     x
Ii	 a
2021-01-01UTCr,   c                 x    |}t          dd          }t          j        ||          }t          |||           d S N1 days
   r-   )r   r   r2   r   )r4   r5   rD   r$   rngr   s         r   test_td64_comparisons_invalidzATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidg   sD     h333oc3''!#w44444r   r8   rK   z
1970-01-01r.   tzr-   z
1971-01-01Dfreqr.   c                 ~    t          dd          j        }t          j        ||          }t	          |||           d S rI   )r   _datar   r2   r   )r4   r8   r5   rL   s       r   "test_td64arr_cmp_arraylike_invalidzFTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_arraylike_invalid}   sB    & h3339oc>22!#un=====r   c           	         t          dd          j        }t          j        ddd|d         t	          d          g          }||k    }t          j        g d	          }t          j        ||           ||k    }t          j        ||            d
}t          j        t          |          5  ||k      d d d            n# 1 swxY w Y   t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  ||k     d d d            n# 1 swxY w Y   t          j        t          |          5  ||k     d d d            d S # 1 swxY w Y   d S )NrJ      r-   r   r   r       rF   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rT   r/   r#   r   r   assert_numpy_array_equalpytestraises	TypeError)r4   rL   r8   resultr:   msgs         r   test_td64arr_cmp_mixed_invalidzBTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_mixed_invalid   sm   h2228!Q3q69\+B+BCDD8>>>??
#FH555
#FXI666T]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   -C  CC&C99C= C=D22D69D6E,,E03E0N) __name__
__module____qualname__r;   r\   markparametrizer   r   to_timedelta64r   HourrC   r   nowto_datetime64to_pydatetimedater/   r#   rM   listrangearangeastypefloat32objectr"   
date_rangeperiod_rangerU   ra    r   r   r)   r)   ?   s       
' ' ' [I1I1I1,,..GL		
 
* 
* 
* [Il##Il##''..Il##''))7799Il##''))7799Il##((**BHQKK		
 5 5 5 [DrOOBIbMMBIbMM  ,,BIbMM  ((BM,u===CBH]R]<<<<==D|R88899BM,333::6BBBOLsB???EBOLsB???FFvNN	
 > > >    r   r)   c                      e Zd Zej                            ddeg          d             Ze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dS )TestTimedelta64ArrayComparisonsr   Nc                    t          t          d          t          t          d          g          }t          t          t          t          d          g          }||}}|t          u r4|                    t                    |                    t                    }}||k    }t          j        g d          }t          j        ||           ||k    }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          k    |           t          j        t          |k    |           t          j        g d          }t          j        |t          k     |           t          j        t          |k    |           d S )NrJ   3 days)FFT)TTF)FFFTTT)	r   r   r
   rr   rp   r/   r#   r   r[   )r4   r   leftrightlhsrhsr_   r:   s           r   test_comp_natz-TestTimedelta64ArrayComparisons.test_comp_nat   s   y22C89L9LMNNS)H*=*=>??SF??{{6**ELL,@,@C800011
#FH5558///00
#FH555811122
#C3J999
#C3J9998...//
#C3J999
#C3J999811122
#C#Ix888
#C#Ix88888r   idx2z2 dayz1 day 00:00:02z5 days 00:00:03r    rP   natr   srW   rX   c                    t          dt          dt          ddg          }||k     }t          j        g d          }t	          j        ||           ||k    }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        ||           ||k    }t          j        g d          }t	          j        ||           d S )N1 dayz1 day 00:00:01z5 day 00:00:03)TFFFTF)TFFFTT)FFFFFT)TTTTTF)r   r
   r/   r#   r   r[   )r4   r   idx1r_   r:   s        r   test_comparisons_natz4TestTimedelta64ArrayComparisons.test_comparisons_nat   s^   &    	
 	
 8DDDEE
#FH5558DDDEE
#FH5558CCCDD
#FH5558CCCDD
#FH5558EEEFF
#FH5558AAABB
#FH55555r   c                     t          dd          }||d         k     }t          j        g ddgdz  z             }t          j        ||           |t          |          k    }||k    }t          j        ||           d S )NrJ   rK   r-   rX   rz   F   )r   r/   r#   r   r[   rm   )r4   rL   r_   r:   exps        r   test_comparisons_coveragez9TestTimedelta64ArrayComparisons.test_comparisons_coverage  s    h333s1v8...%1<==
#FH555S		!Sj
#FC00000r   )rb   rc   rd   r\   re   rf   rr   r   r   r
   r/   r#   timedelta64r   r   ru   r   r   rw   rw      sO        [WtVn559 9 6598 [N'3-=?PQ  BH"BN1c**"BN1c**"BN5))"BN5))"BN1c**^R^As-C-CC"BN1c**^R^As-C-CC	 			
 $"6 "6% $"6J	1 	1 	1 	1 	1r   rw   c                       e Zd Zd Zd Zd Zd Zd Zej	        
                    dddg          d	             Zd
 Zd Zd Zd Zd Zd ZdS )!TestTimedelta64ArithmeticUnsortedc                    t          g ddd          }|dz  t          j        |d          fD ]O}t          |t                     sJ t          g ddd          }t	          j        ||           |j        dk    sJ P|dz  t          j        |d          fD ]O}t          |t                     sJ t          g dd	d          }t	          j        ||           |j        d	k    sJ P| t          j        |          fD ]O}t          |t                     sJ t          g d
dd          }t	          j        ||           |j        dk    sJ Pt          g dd	d          }t          |          t          j
        |          fD ]K}t          |t                     sJ t          g dd d          }t	          j        ||           |j        J Ld S )N)r+   4h6h8h10hr+   xrR   namer    )r   r   12h16h20hr   )1hr+   3hr   5hh)-2hz-4hz-6hz-8hz-10hr   )r   z-1h0hr   r+   )r+   r   r   r   r+   )r   r/   multiply
isinstancer   assert_index_equalrR   dividenegativeabsabsolute)r4   idxr_   r   s       r   test_ufunc_coercionsz6TestTimedelta64ArithmeticUnsorted.test_ufunc_coercions  s<   <<<4cRRRQwC 3 34 	' 	'Ffn55555 !B!B!BTWXXXC!&#...;$&&&&&Qw	#q 1 12 	& 	&Ffn55555 !?!?!?cPSTTTC!&#...;#%%%%%tR[--. 	( 	(Ffn55555 4445s  C !&#...;%'''''===CcRRR3xxS!1!12 	' 	'Ffn55555 !?!?!?dQTUU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            n# 1 swxY w Y   t          j        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d}t          j        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d}t          j        t          |
          5  ||z
   d d d            n# 1 swxY w Y   ||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
        ||           d S )NrJ   2 daysfoor   20130101rX   barr.   r   z0cannot subtract a datelike from a TimedeltaArrayrY   z#unsupported operand type\(s\) for -z((bad|unsupported) operand type for unary0 days-1 days-2 daysr   rJ   r   r   r   20121231r   20130102M8[ns]rP   )r   rR   r   r   20121230r   r   )r   r
   r"   rs   r   r   r\   r]   r^   r   r   r   )r4   r7   dtitddtr`   r_   r:   s           r   test_subtraction_opsz6TestTimedelta64ArithmeticUnsorted.test_subtraction_ops4  s   hX6UCCCmJ>>>x  z""@]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 5]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 9]9C000 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 c!"B"B"BOOO
fh///r!"@"@"@uMMM
fh///r!8S(";%HHH
fh///c!8S)"<5III
fh///r 000sQV
 
 
 	fh///c j)
 
 
 	fh/////sH   ,A>>BB$B66B:=B:C00C47C4D**D.1D.c                 0	   t          j        dd          }t          j        ||          }t	          d          }|                                }t          j        dd                              d          }t          j        ||          }t	          d                              d          }t	          d                              d          }|                                }t          d          }	d }
||z
  }t          d          } |
||           ||z
  }t          d          } |
||           ||z
  }t          d          } |
||           d	}t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d}t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d}t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d	}t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   d}t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   t          j	        t          |
          5  ||z
   d d d            n# 1 swxY w Y   ||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                              d          }t          j        ||          }t          j        ||           d S )Nr   rX   r-   z
US/EasternCETrJ   c                 D    | |k    sJ t          | t                    sJ d S N)r   r   )r_   r:   s     r   _checkzNTestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tz.<locals>._checkr  s/    X%%%%fi0000000r   r   z<Cannot subtract tz-naive and tz-aware datetime-like objects.rY   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rO   ns)r"   rs   r   r2   r   rk   tz_localizer   r\   r]   r^   r   r3   r   as_unit)r4   r5   r   tsr   dti_tzts_tzts_tz2dt_tzr   r   r_   r:   r`   s                 r   test_subtraction_ops_with_tzz>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tze  s   mJ222oc>22z""z1555AA,OO88*%%11,??:&&22599##%%x  	1 	1 	1
 bX&&vx   X&&vx   X&&vx    M]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	F]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	F]9C000 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	L]9C000 	 	JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	RKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	RKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 6]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	RKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 %!"@"@"@AA?8^<<
)))!"B"B"BCC?8^<<
)))%!"@"@"@AA?8^<<
)))!"B"B"BCC?8^<<
)))bX&&vx   " 000\
 
 

'$-- 	 ?8^<<
)))))s   4FF
F
.G  GG(G::G>G>"H44H8;H8I,,I03I0J$$J(+J(KK"%K"LLLc                    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        ||           d S )NrJ   r   r   r   r   rX   r   r   r   4 daysr   r   r   )r   r
   r"   rs   r   r   r   )r4   r7   r   r_   r:   s        r   test_dti_tdi_numeric_opsz:TestTimedelta64ArithmeticUnsorted.test_dti_tdi_numeric_ops  s    hX6UCCCmJ>>>s!8S(";%HHH
fh///s!8S(";%HHH
fh///s *c:!>hOO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            n# 1 swxY w Y   t          j
        t          |          5  |dd         |z    d d d            n# 1 swxY w Y   d}t          j
        t          |          5  |t          g dt          j                  z    d d d            n# 1 swxY w Y   ||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 d S )NrJ   r   r   r   r   rX   r   r   r   20130103r   r   ry   z$cannot add indices of unequal lengthrY   r   r   3Addition/subtraction of integers and integer-arraysr   r    rX   r   20130105)r   r
   r"   rs   r   r   r   r   r   r\   r]   
ValueErrorr^   r	   r/   int64)r4   r7   r   r   r   r_   r:   r`   s           r   test_addition_opsz3TestTimedelta64ArithmeticUnsorted.test_addition_ops  s   hX6UCCCmJ>>>x  z""r j)
 
 
 	fh///c j)
 
 
 	fh///c!8S(";%HHH
fh///r!8S(";%HHH
fh/// 5]:S111 	 	#ac(NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	!HsNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 D]9C000 	3 	3%			22222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 s *c:!>hOOO
fh///s *c:!>hOOO
fh///bZ((!!!!bZ((!!!!!!s6   :EEE:FFF<!G))G-0G-rR   rP   Bc                    t          j        dd|          }|t          d          z   }|t          d          z   }|                    d          }t	          j        ||           |dk    rLt           j        j                            d          }|j	        |k    sJ |j	        |k    sJ |j	        |k    sJ ng|j	        t           j        j        
                    d          k    sJ |j	        J |j	        t           j        j        
                    d          k    sJ |t          d          z
  }|t          d          z   }t	          j        ||           d S )Nz1/1/20002   r.   rR   r   inferrP   )r"   rs   r   
_with_freqr   r   tseriesr   DayrR   BusinessDay)r4   rR   indexshiftedbackr:   r_   s          r   test_timedeltaz0TestTimedelta64ArithmeticUnsorted.test_timedelta	  sL   j"4@@@)A,,&2&w''
eT***3;;z)--a00H:))))<8++++9(((((:!3!?!?!B!BBBBB<'''9
 2 > >q A AAAAA1%9R==(
fh/////r   c                 *   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 |	                    d           }t          j        ||           |j        |j        k    sJ |	                    d           }t          j        ||           d S )N20132014r   i )r"   rs   r   r   rh   r   r/   r   rR   r   r   r   )r4   rL   r   result1result2result3result4s          r   test_timedelta_tick_arithmeticz@TestTimedelta64ArithmeticUnsorted.test_timedelta_tick_arithmetic   s    mFF++3KKQ'BN9$=$= =>>y111GLOO 344|sx''''$$T**
gw///|sx''''$$T**
gw/////r   c                 *   t          dt          dg          }|j        }t          j        ddd          }||z   }||z   }t          j        ||           ||z   }||z   }t          j        ||           ||z
  }||z
  }t          j        ||           d S )NrJ   r   z
1999-12-31rX   rP   r   )r   r
   r#   r"   rs   r   r   )r4   r7   tdar   r_   r:   s         r   test_tda_add_sub_indexz8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_index1  s    hX677imL!#>>>s9
fh///s9
fh///s9
fh/////r   c                    |}t          j        dd|          }|                    d           }||z
  }t          j        ||          }t          j        ||          }t          j        t                    5  ||                    t                    z   }d d d            n# 1 swxY w Y   t          j	        ||                    t                               d S )N
2016-01-01rX   rN   )
r"   rs   r   r   r2   assert_produces_warningr   rp   rr   r3   )	r4   r5   tz_naive_fixturer$   r   r7   r   r8   r_   s	            r   test_tda_add_dt64_object_arrayz@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayD  s    mL!8HIIInnT""Cioc3''S))'(:;; 	0 	05<<///F	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0
V 4 455555s   7B!!B%(B%c                    t          dd          }t          ddd          }t          j        ||          }t          j        ||          }|}||z  }t          j        ||           |t          urt          j        ||           d S d S NrJ   10 daysz1 days 02:00:00z10 days 02:00:00rP   rR   r   r   r2   r3   r	   r4   	two_hoursr5   rL   r:   orig_rngs         r   test_tdi_iadd_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikeV  s    h	22"#46HsSSSoc>22?8^<<y
X&&&&&OHh///// '&r   c                    t          dd          }t          dd          }t          j        ||          }t          j        ||          }|}||z  }t          j        ||           |t          urt          j        ||           d S d S NrJ   r   z0 days 22:00:00z9 days 22:00:00r   r   s         r   test_tdi_isub_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalikee  s    h	22"#46GHHoc>22?8^<<y
X&&&&&OHh///// '&r   c                 2   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 d S )Nr   rW   2Dr   )r.   rR   r   r   r   r    r   4DrJ   rP   z-2D)r   rJ   r   rJ   r   r   )r   rR   r   r   r   r   )r4   rL   r_   r   s       r   test_tdi_ops_attributesz9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributesv  s   h3GGGq38|#h3GGG
fc***{d""""q38|#iCHHH
fc***{d""""qh3GGG
fc***{d""""qh#FFF
fc***{c!!!!iSIII
fc***{e####i3GGGS>>>S
 
 
 	fc***{"""""r   N)rb   rc   rd   r   r   r   r   r   r\   re   rf   r   r   r   r   r   r  r  ru   r   r   r   r     s        ' ' '>/0 /0 /0bT* T* T*l0 0 0"9" 9" 9"z [Vc3Z000 0 100,0 0 0"0 0 0&6 6 6$0 0 00 0 0"## ## ## ## ##r   r   c                   `    e Zd Zej                            dddg          d             Zd ZdS )TestAddSubNaTMaskingstr_tsz
1950-01-01z
1980-01-01c                    t          j        ddg          }t          j        ||          }t	          |          }||                                |                                                    d          |                                                    d          g}|D ]8}||z   }|t          u r|j	        d         t          u sJ '|d         t          u sJ 9d S )Nz24658 days 11:15:00r
   zdatetime64[ns]zdatetime64[D])r   r   r   )r"   to_timedeltar   r2   r   rk   rj   rp   r   ilocr
   )	r4   r5   r	  tdinattdobjr   ts_variantsvariantr9   s	            r   $test_tdarr_add_timestamp_nat_maskingz9TestAddSubNaTMasking.test_tdarr_add_timestamp_nat_masking  s     "7!?@@77v%%&677%%o66	
 # 	% 	%G'/C**x~,,,,,1v}}}}}	% 	%r   c                 :   t          j        t          d          5  t          j        dd          t          d          z    d d d            n# 1 swxY w Y   t          j        t          d          5  t          d          t          j        dd          z    d d d            n# 1 swxY w Y   t          j        dz   }d}t          j        t          |          5  t          j        dgd          t          d          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t          d          t          j        dgd          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |g          t          d          z
   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        d	|g          t          d          z
   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j        |d	d
g          t          j        d|dg          z
   d d d            n# 1 swxY w Y   t          t          g          }t          j        t          g          t          d          z
  }t          j        ||           t          dt          g          }t          j        d	t          g          t          d          z
  }t          j        ||           t          t          t          dg          }t          j        t          d	d
g          t          j        dt          dg          z   }t          j        ||           d S )N10155196800000000000rY   iT rP   2000r   zOverflow in int64 additionrJ   z5 days1 hoursz	7 secondsz4 hoursr   z5 hours)r\   r]   r   r"   r  r   r
   _valueOverflowErrorr   r   r   r   )r4   _NaTr`   r   r_   s        r   test_tdi_add_overflowz*TestAddSubNaTMasking.test_tdi_add_overflow  s    ].6LMMM 	= 	=OFC((9V+<+<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=].6LMMM 	= 	=f < <<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= zA~*]=444 	? 	?OVHc**Yv->->>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?]=444 	? 	?f# > >>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?]=444 	: 	:OTF##i&9&999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:]=444 	D 	DOXt,--	(0C0CCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D]=444 	 	x ;<</;i"@AAB B	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 cU###'')H*=*==
fc***h_--(C11Ih4G4GG
fc***c3	233#x!;<<r#y)@
 @
 
 	fc*****s}   &AAA4&B&&B*-B*'DDD6'E))E-0E-&GGG''HH!H 0I<<J J N)rb   rc   rd   r\   re   rf   r  r  ru   r   r   r  r    sW         [Xl'CDD% % ED%(&+ &+ &+ &+ &+r   r  c            
       J   e Zd Zd Zd Zd Zd Zej        	                    de
eej        g          d             Zd Zd Zd	 Zej        	                    d
g d          ej        	                    dddg          d                         Zej        	                    dddd ej        d          g          d             Ze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        	                    d  ej        d!          eg          d"             Z d# Z!d$ Z"d% Z#d& Z$d' Z%ej        	                    d(ej        eeg          d)             Z&d* Z'dS )+TestTimedeltaArraylikeAddSubOpsc                     t          j        t          dg                                        d          }|t          z
  }t          t          gd          }t          j        ||           d S )N00:00:01zm8[s]r   )r"   r  r   rp   r
   r   assert_series_equal)r4   rA   r_   r:   s       r   test_sub_nat_retain_unitz8TestTimedeltaArraylikeAddSubOps.test_sub_nat_retain_unit  s_    ofj\2233::7CCs3%w///
vx00000r   c                 
   t          j        t          dg                    }t          j        t          dg                    }t          j        t          t          gd                    }t	          dg                              t           j                  }t	          dg                              t           j                  }t	          t          j        g                              t           j                  }t          j        d          }t          j        d          }t          j        d          }	||z   }
|
|k    sJ ||z
  }
|
|k    sJ ||z   }
t          j        |
|           ||z
  }
t          j        |
|           ||z   }
t          j        |
|           ||z   }
t          j        |
|           ||z
  }
t          j        |
|           | |z   }
t          j        |
|           ||	z   }
t          j        |
|           |	|z   }
t          j        |
|           ||	z
  }
t          j        |
|           |	 |z   }
t          j        |
|           d}t          j
        t          |          5  |t          j        z    d d d            n# 1 swxY w Y   t          j
        t          |          5  t          j        |z    d d d            n# 1 swxY w Y   t          j
        t          |          5  |t          j        z
   d d d            n# 1 swxY w Y   t          j
        t          |          5  t          j         |z    d d d            n# 1 swxY w Y   |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            n# 1 swxY w Y   t          j
        t          |          5  |t          j        z
   d d d            n# 1 swxY w Y   |t          z   }
t          j        |
|           |t          z
  }
t          j        |
|           d S )	Nr  z00:00:02m8[ns]r   r
   unsupported operand typerY   z8cannot subtract a datelike from|unsupported operand type)r"   r  r   r
   r   applyr  r   r  r\   r]   r^   r/   nanassert_frame_equal)r4   s1s2sndf1df2dfnscalar1scalar2timedelta_NaTrB   r`   s               r   &test_timedelta_ops_with_missing_valueszFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_values  s   _VZL1122_VZL1122_VSE:::;;%%++BO<<%%++BO<<%%++BO<</*--/*--..7"    7"    b
vr***b
vr***g
vr***2
vr***g
vr***B
vr***m#
vr***#
vr***m#
vr***"$
vr***(]9C000 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	FRKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	VGbLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 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00 	 	"&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	"&LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s
fc***s
fc*****sl   8JJJ:KKK<LLL>MM"MS!!S%(S%T##T'*T'c           	      F   t          j        ddd          }t          j        ddd          }t          |          t          |          z
  }t          d|j                                      d                              d          }t          j        ||           |j        dk    sJ t          d	|i          }t          d
 t          d          D                       }|j        dk    sJ |d	         |d	         
                                z
  }|j        dk    sJ |d	         |z   }|j        dk    sJ |d	                                         }t          |t                    sJ |d	         |d	                                         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          d t          d          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 d S )Nz2012-1-1rX   rP   r   z2012-1-2g  S$Br   timedelta64[ns]Ac                 .    g | ]}t          |           S )r=   r   .0is     r   
<listcomp>zNTestTimedeltaArraylikeAddSubOps.test_operators_timedelta64.<locals>.<listcomp>S  s#    9991YA&&&999r   r   201112302012010120120103r   i  r   c                 4    g | ]}t          d |z             S )i  r=   r4  r5  s     r   r8  zNTestTimedeltaArraylikeAddSubOps.test_operators_timedelta64.<locals>.<listcomp>l  s'    FFF9$(333FFFr   r   r!  r,   r=   rW   minutessecondsr    )r"   rs   r   r   rp   r   r  r   r   rn   shiftmaxr   r   r   r   r/   r   )r4   v1v2rsxpdfr   r_   maxaresultbvaluesr:   dresultavalues                  r   test_operators_timedelta64z:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64I  s   ]:qs;;;]:qs;;;BZZ&**$ORX..55g>>EEFWXX
r2&&&x,,,,,Ry!!99a999::x,,,,, C2c7==??*|00000C2|x'''' #w{{}}$	*****S'BsGKKMM)} 11111 2c7"J'':)>)>	*@U@UV&s;;;
vx000 C8D!Q///FFU1XXFFFSQQQ
vx000|x''''T1aA&&S'A+}(((( A+
r#w000 AS'B,B,
w3000}(((( q!,,,S'B,B,
r#w000}(((( 1yA'F'F'FGGG
1	!Q ? ? ?@@@!u~~~~~~r   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  |           d S )N1sr1  r         ?r         ?z1.5sr    z0.5s       @)r   r
   r   r   r  r/   r$  )r4   timedelta_seriesnat_series_dtype_timedeltasingle_nat_dtype_timedeltas       r   test_timedelta64_ops_natz8TestTimedeltaArraylikeAddSubOps.test_timedelta64_ops_nat  s   !3	$"899%+S#J>O%P%P%P"%+SE9J%K%K%K" 	/#57QRRR
t&668RSSS
99;U	
 	
 	
 	''*::<V	
 	
 	

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

 	/#57QRRR
s%557QRRR
99;U	
 	
 	
 	&)99;U	
 	
 	
 	&,.H	
 	
 	
 	,,.H	
 	
 	
 	&)CC&	
 	
 	
 	&)CC&	
 	
 	
 	&,.H	
 	
 	
 	,,.H	
 	
 	
 	/!35EFFF
q#335EFFF
/#5vsIfDUDU>V7W7WXXX
s%55vsIfDUDU>V7W7WXXX
/"&8:TUUU
rv(88:TUUU 	/!3VS)FBSBS<T5U5UVVV
/#5vsIfDUDU>V7W7WXXX
/"&8:TUUUUUr   clsc                    |}t          d|          }|t          u r|                                }n@|t          j        u r0|t          j        | d|            |                                }n|}t          dd          }t          j
        dd|          }t          j        ||          }	t          j        ||          }t          j        ||	z   |           t          j        |	|z   |           t          j
        d	dd
|          }
t          j        |
|          }
t          j        ||	z
  |
           t          j        ||	 z   |
           d}t          j        t          |          5  |	|z
   d d d            d S # 1 swxY w Y   d S )Nz
2012-01-01r   z doesn support r   rX   r-   z
2012-01-02rN   z
2011-12-31z-1D)r.   rR   rO   zcannot subtract a datelikerY   )r   r   rk   r/   
datetime64r\   skiprj   r   r"   rs   r   r2   r3   r]   r^   )r4   rW  r5   r   rO   	dt_scalarr   r7   r:   tdarr	expected2r`   s               r   (test_td64arr_add_sub_datetimelike_scalarzHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalar  s   
 lr222	(??((**BBBM!!+sEE3CEEFFF((**BBBgq111=qR@@@^44?8^<<
U
H---

H---M,"MMM	OI~>>	
U
I...
ufy111*]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   /FF	Fc                 *   t          j        d          }t          dd          }t          g dd          }t	          j        ||          }t	          j        ||          }t	          j        ||z   |           t	          j        ||z   |           d S )Nr
   r   rX   r-   )r
   r
   r
   r   r   )r/   rY  r   r   r   r2   r3   )r4   r5   r8   r7   r:   tdsers         r   test_td64arr_add_datetime64_natz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_nat  s    e$$gq111 !6!6!6hGGG^44?8^<<
x000
x0000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            n# 1 swxY w Y   ||z
  }t          j
        ||           d S )Nr   rX   r-   -1 Dayzcannot subtract a datelike fromrY   )r"   rs   r   rI  r   r   r2   r\   r]   r^   r3   )r4   r5   r   r7   dtarrr:   r`   r_   s           r   test_td64arr_sub_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_dt64_array  s    mL!444hZ!^,,
 ''#-oc>22?8^<</]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 
)))))s   
BB #B c                 F   t          j        dd          }t          dgdz            }|j        }t	          |          |z   }t          j        ||          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           d S )Nr   rX   r-   rc  )r"   rs   r   rI  r   r   r2   r3   )r4   r5   r   r7   rd  r:   r_   s          r   test_td64arr_add_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_array"  s    mL!444hZ!^,,
 ''#-oc>22?8^<<u
)))
)))))r   pi_freq)rP   WQr   tdi_freqNr   c                    t          ddg|          }t          d          |z   }|                    |          }|d         }t          j        ||          }t          j        ||          }d}	t          j        t          |	          5  ||z
   d d d            n# 1 swxY w Y   t          j        t          |	          5  ||z
   d d d            d S # 1 swxY w Y   d S )Nr  z2 hoursr   z2018-03-07 17:16:40r   z(cannot subtract|unsupported operand typerY   )r   r   	to_periodr   r2   r\   r]   r^   )
r4   r5   box_with_array2rk  rh  r7   r   piperr`   s
             r   test_td64arr_sub_periodlikez;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodlike3  sf    i3(CCC-..4]]7##eoc>22_R118]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   
BB #B CCCr8   rE   r   rQ  r    c                 v    t          g dd          }t          j        ||          }t          ||           d S N59 Daysru  r
   r!  r   )r   r   r2   r   )r4   r5   r8   r`  r\  s        r   *test_td64arr_addsub_numeric_scalar_invalidzJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalidH  sD     444HEEE~66"5%00000r   vecr   c                 *    t          |           j        S r   typerb   r   s    r   <lambda>z(TestTimedeltaArraylikeAddSubOps.<lambda>b      d1gg& r   idsc                     t          g dd          }t          j        ||          }|                    |          }t	          ||           d S rs  )r   r   r2   rp   r   )r4   r5   rw  any_real_numpy_dtyper`  r\  vectors          r   'test_td64arr_addsub_numeric_arr_invalidzGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalidZ  sV     444HEEE~66011"5&11111r   c                 \   t          ddd          }t          j        ||          }d}t          |||           t	          j        t          |          5  ||z  }d d d            n# 1 swxY w Y   t	          j        t          |          5  ||z  }d d d            d S # 1 swxY w Y   d S )N1 days 09:00:00r   rK   rQ    Addition/subtraction of integersrY   )r   r   r2   r   r\   r]   r^   )r4   r5   onerL   r\  r`   s         r   test_td64arr_add_sub_intz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_intm  s6   /c2FFF^440"5#s333 ]9C000 	 	SLE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	SLE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   A((A,/A,B!!B%(B%c                     |}|t           j        u rt          j        n|}t	          ddd          }t          j        ||          }t          j        g d|          }d}t          |||           d S )Nr  r   rX   rQ   )r,   rX   r    r   )r"   r#   r/   r0   r   r   r2   r   )r4   r5   r$   r6   rL   r\  r8   r`   s           r   "test_td64arr_add_sub_integer_arrayzBTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_integer_array{  sv      BH__rzz#/c1EEES))			400C"5%55555r   c                     |}|t           j        u rt          j        n|}t	          g d          }t          j        ||          }t          j        g d|          }d}t          |||           d S )N)1 Dayr
   z3 Hours)   r      r  )r"   r#   r/   r0   r   r   r2   r   )r4   r5   r$   r6   r7   r\  r8   r`   s           r   )test_td64arr_addsub_integer_array_no_freqzITestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_integer_array_no_freq  ss     BH__rzz#88899S))d330"5%55555r   c                    |}t          j        dd          }||                    d          z
  }|j        }d|z  }t	          j        ||          }t	          j        ||          }||z   }t	          j        ||           ||z   }t	          j        ||           d|z  }||z
  }t	          j        ||           ||z
  }t	          j        ||           d S )Nr   rX   r-   r   r    r   )r"   rs   r@  rI  r   r2   r3   )	r4   r5   r$   r   r7   r\  r:   r_   expected_subs	            r   test_td64arr_add_sub_td64_arrayz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_array  s    mL!444CIIaLL 
s7oc3''?8S11u
)))
)))3wu
---
-----r   c                    |}t          ||          }t          ddg|d                   }|t          j        t          j        fv rt          j        |          n|}t          t          d          t          d          g|d                   }t          t          d          t          dd	          g|          }t          j	        ||          }t          j	        ||          }||z   }t          j
        ||           t          |d
           ||z   }t          j
        ||           t          |d
           t          t          d          t          dd	          g|          }t          j	        ||          }||z
  }t          j
        ||           t          |d
           ||z
  }t          j
        ||            t          |d
           d S )Nr   r   r   r   rX   )hoursr,   r   )r>   r  r1  )r'   r   r   r!   r"   r#   r/   r   r   r2   r3   r   )	r4   r5   r%   r$   r&   r7   rA   r:   r_   s	            r   test_td64arr_add_sub_tdiz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tdi  s    "3..h0uQx@@@"r{BH&===bhsmmm3ia((()!*<*<*<=E!HMMM91---yaq/I/I/IJQWXXXoc3''?8S11s
)))V.///s
)))V.///R   )""="="=>V
 
 
 ?8S11s
)))V.///s
	***V./////r   tdnatr
   c                    |}t          t          t          d          g          }t          dgdz            }t          j        ||          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           ||z
  }t          j        ||           ||z
  }t          j        ||           d S )NrO  r
   r    )r   r
   r   r   r2   r3   )r4   r5   r  r$   r7   r:   r   r_   s           r   test_td64arr_add_sub_td64_natz=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_nat  s     c9T??344!5'A+..oc3''?8S11u
)))
)))u
)))
)))))r   c                 
   |}t          dd          }t          ddd          }t          j        ||          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           d S r   r   r   r2   r3   r4   r   r5   r$   rL   r:   r_   s          r   test_td64arr_add_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalike  s     h	22"#46HsSSSoc3''?8S11y
)))S
)))))r   c                    |}t          dd          }t          dd          }t          j        ||          }t          j        ||          }||z
  }t          j        ||           ||z
  }t          j        ||            d S r  r  r  s          r   test_td64arr_sub_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_timedeltalike  s     h	22"#46GHHoc3''?8S1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          
fdt          t                              D             d	|
          }t          
fdt          t                              D             d	|
          }t          j        |          t          j        ||                              t          d          }t          j        ||                              t          d          }t          j        t"                    5  
z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        t"                    5  
z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        t"                    5  
z
  }	d d d            n# 1 swxY w Y   t          j        |	|           d S )N1 days 00:00:003 days 04:00:00r   r   r   nc                 2    g | ]}|         |         z   S ru   ru   r6  r  r8   r7   s     r   r8  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index.<locals>.<listcomp>  &    8881SVeAh888r   r   r   c                 2    g | ]}|         |         z
  S ru   ru   r  s     r   r8  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index.<locals>.<listcomp>  r  r   F)copy)r'   r   r	   r   rh   Minuter   r!   r"   r#   r/   rn   lenr2   rp   rr   r   r   r3   )r4   r%   r5   r$   r&   r:   r  r9   res2res_subr8   r7   s             @@r   !test_td64arr_add_sub_offset_indexzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index  s   "3../1BC%PQ(SSSw|a((('.2*>*>*>?eAhOOO#&2;*A#A#Au!88888c#hh888wV
 
 
 &88888c#hh888wV
 
 
 oc3''?8S1188e8LL|S99@@e@TT'(:;; 	 	+C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
X&&&'(:;; 	 	3;D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
h''''(:;; 	" 	"EkG	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
.....s6   F--F14F1&G88G<?G<1II
Ic                 (  	 |}t          ddg          	t          j        t          j        d          t          j        d          g          t          	fdt          t          	                    D             d          }t          	fd	t          t          	                    D             d          }t          j	        	|          	t          j	        ||          
                    t                    }t          j        t                    5  	z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        t                    5  	z   }d d d            n# 1 swxY w Y   t          j        ||           t          j	        ||          
                    t                    }t          j        t                    5  	z
  }d d d            n# 1 swxY w Y   t          j        ||           d S )
Nr  r  r   r  r  c                 2    g | ]}|         |         z   S ru   ru   r  s     r   r8  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array.<locals>.<listcomp>,  r  r   r   r   c                 2    g | ]}|         |         z
  S ru   ru   r  s     r   r8  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array.<locals>.<listcomp>/  r  r   )r   r/   r#   r   rh   r  rn   r  r   r2   rp   rr   r   r   r3   )
r4   r5   r$   r:   r  r9   r  r  r8   r7   s
           @@r   !test_td64arr_add_sub_offset_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array%  s   /1BCDD',+++W^b-A-A-ABCC!88888c#hh888w
 
 
 &88888c#hh888w
 
 
 oc3''?8S1188@@'(:;; 	 	+C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
X&&&'(:;; 	 	3;D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
h'''|^DDKKFSS'(:;; 	" 	"EkG	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
.....s6   D//D36D3(E::E>E> G22G69G6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          fdt          t                              D             |t          	          }t          j        |          }t          j        ||                              t                    }t          j        t"                    5  |z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        t"                    5  |z   }	d d d            n# 1 swxY w Y   t          j        |	|           t          fd
t          t                              D             |t          	          }
t          j        |
|                              t                    }
t          j        t"                    5  |z
  }d d d            n# 1 swxY w Y   t          j        ||
           d S )Nr  r  r   r   r   r  r  c                 2    g | ]}|         |         z   S ru   ru   r  s     r   r8  zSTestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series.<locals>.<listcomp>L  r  r   )r   r   c                 2    g | ]}|         |         z
  S ru   ru   r  s     r   r8  zSTestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series.<locals>.<listcomp>Z  r  r   )r	   r   r!   r"   r#   r   r'   r   r   rh   r  rn   r  rr   r2   rp   r   r   r3   )r4   r%   r5   r$   box2r&   expected_addr   r9   r  r  res3r8   r7   s               @@r   test_td64arr_with_offset_seriesz?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_seriesB  s   RX >>>vvC"3../1BC%PQ(SSSq)))7>B+?+?+?@uQxPPP88888c#hh888vV
 
 
 oc3''|T::AA&II'(:;; 	 	+C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
\***'(:;; 	 	3;D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
l+++88888c#hh888vV
 
 
 |T::AA&II'(:;; 	 	;D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
l+++++s6   /EEE:FFF0II	Ioboxc                    t          ddg          }t          j        ||          } |t          j                    t          j        d          g          }d}t          j        t          |          5  t          j	        t                    5  ||z    d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        t                    5  ||z    d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        t                    5  ||z
   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t          |          5  t          j	        t                    5  ||z
   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr  r  r    r  z/has incorrect type|cannot add the type MonthEndrY   )r   r   r2   r   MonthEndr   r\   r]   r^   r   r   )r4   r  r5   r7   anchoredr`   s         r   -test_td64arr_addsub_anchored_offset_arraylikezMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylikeb  s    /1BCDDoc>224)++W[1-=-=-=>?? @]9C000 	 	+,>??  h              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	+,>??  3              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	+,>??  h              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	+,>??  3              	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   5B8B!B8!B%	%B8(B%	)B88B<?B<D!8D
>D!
D	D!D	D!!D%(D%F
!E3'F
3E7	7F
:E7	;F

FF0G4
GG4G 	 G4#G 	$G44G8;G8c                    |}|t           j        u rt          j        n|}t	          ddd          }t          j        ||          }t          j        t          d          t          j	        d          t          d          g          }t          j        t                    5  ||z   }d d d            n# 1 swxY w Y   t          t          d          t          d	          t          d
          g          }t          j        ||                              t                    }t          j        ||           d}	t#          j        t&          |	          5  t          j        t                    5  ||z
   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        t                    5  ||z
  }d d d            n# 1 swxY w Y   t          t          d          t          d          t          d          g          }t          j        ||                              t                    }t          j        ||           d S )Nr   rX   rP   r   r   r=   r    z
2000-01-04r,   z
2000-01-07z3unsupported operand type|cannot subtract a datelikerY   r   z
2000-01-01)r"   r#   r/   r0   r   r   r2   r   r   r   r   r   r   r	   rp   rr   r3   r\   r]   r^   )
r4   r5   r$   r6   r7   r\  r8   r_   r:   r`   s
             r   !test_td64arr_add_sub_object_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_object_array}  s     BH__rzz#gqs;;;S)))+++W[^^Y|=T=TUVV'(:;; 	# 	#U]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# A	q 1 1 19\3J3JK
 
 ?8T2299&AA
)))C]9C000 	 	+,>??                	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 '(:;; 	# 	#U]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# )A,,	!i6M6MNOO?8T2299&AA
)))))sZ   #B55B9<B9F4F:FF
	
FF
	FF!$F!GGG)(rb   rc   rd   r  r/  rM  rV  r\   re   rf   r   r   r/   rY  r^  ra  re  rg  rq  r#   rv  r	   r   r   r  r  r  r  r  r  r   r
   r  r  r  r  r  r  r  r  ru   r   r   r  r    s       1 1 1\+ \+ \+@@ @ @DPV PV PVj [UY"-$HII! ! JI!F1 1 1* * *"* * *" [Y(<(<(<==[Z$55  65 >=& [ BHQKK	

 
1 1
 
1 [BHYYYE)))F999Iyyyk""		
 '&  	 	2 2	 	2  6 6 6
6 
6 
6. . .*!0 !0 !0F [W~r~e'<'<c&BCC* * DC*$* * *+ + +&/ / /@/ / /:, , ,@ [Vbhv%>??  @?4* * * * *r   r  c                      e Zd Zd Zd Zd Zd Zd Zd Ze	j
                            d ej        dd	           e ej        dd	          ej                   e edd	          ej                   e edd	          ej                   ej        dd	          gd
           d             Zd Zd Zd Zd Ze	j
                            dg d          e	j
                            dg d          d                         Zd Zd Zd Zd Zd Ze	j
                             d          d             Z!d Z"d Z#d Z$d  Z%d! Z&d" Z'd# Z(d$ Z)e	j
                            d%d&d' ej*        d&           ej*        d'          g          d(             Z+e	j
                            d%d&d' ej*        d&           ej*        d'          g          d)             Z,e	j
                            d* ej*        g d+           eg d+           e-g d+          gd,           d-             Z.e	j
                            d* ej*        g d+           eg d+           e-g d+          gd.           d/             Z/d0 Z0d1 Z1d2 Z2d3S )4TestTimedeltaArraylikeMulDivOpsc                     t          t          j        dd                    }t          j        ||          }|dz  }t          j        ||           d|z  }t          j        ||           d S )NrW   r   r   r   )r   r/   ro   r   r2   r3   r4   r5   r   r_   s       r   test_td64arr_mul_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int  sk    RYq88899oc>22q
$$$S
$$$$$r   c                     t          ddd          }t          j        ||          }d                    g d          }t	          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )NrJ   r   r   r   |)zargument must be an integer$cannot use operands with types dtypezCannot multiply withrY   )r   r   r2   joinr\   r]   r^   )r4   r   r5   rL   r`   s        r   %test_td64arr_mul_tdlike_scalar_raiseszETestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdlike_scalar_raises  s    h	>>>oc>22hh  
 
 ]9C000 	 	)OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A--A14A1c                 $   t          j        dd          }t          |          }t          |dz            }t          j        ||          }t          j        ||          }|t          j        dd          z  }t          j        ||           d S )NrW   r   r   )r/   ro   r   r   r2   r#   r3   r4   r5   rng5r   r:   r_   s         r   test_tdi_mul_int_array_zerodimz>TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array_zerodim  s    y'***T""!$(++oc>22?8^<<rx1111
)))))r   c                     t          j        dd          }t          |          }t          |dz            }t          j        ||          }t          j        ||          }||z  }t          j        ||           d S NrW   r   r   r    )r/   ro   r   r   r2   r3   r  s         r   test_tdi_mul_int_arrayz6TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array  sw    y'***T""!$'**oc>2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
        ||           d S r  r	   r   r!   r"   r#   r   r   r/   ro   r2   r3   )r4   r5   r$   r6   r   r:   r_   s          r   test_tdi_mul_int_seriesz7TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_series  s    RX >>>vvCRYq88899!")AW"="="="BCCoc3''?8T22vbi99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
        ||           d S )NrW   r   r   float64rP  r  )r4   r5   r$   r6   r   rng5fr:   r_   s           r   test_tdi_mul_float_seriesz9TestTimedeltaArraylikeMulDivOps.test_tdi_mul_float_series  s    RX >>>vvCRYq88899oc3''	!9---!%53;"788?8T22veck***
)))))r   r8   r      c                 *    t          |           j        S r   ry  r{  s    r   r|  z(TestTimedeltaArraylikeMulDivOps.<lambda>  r}  r   r~  c                 R   |}t          dgdz            }t          dd                              d           }t          j        ||          }t          ||          }t          j        ||          }||z  }t          j        ||           ||z  }t          j        ||           d S )Nr  rK   rJ   r   )r   r   r   r   r2   r   r3   )	r4   r8   r5   r$   r7   r:   r6   r_   commutes	            r   test_tdi_rmul_arraylikez7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylike  s     gY^,,"8Y77BB4HHoc3''c5))?8T22
)))+
*****r   c                    t          ddd          }t          j        ||          }t          j        t
          d          5  |t          z   d d d            n# 1 swxY w Y   t          j        t
          d          5  t          |z   d d d            n# 1 swxY w Y   t          j        dd	          }d
	                    g d          }t          j        t
          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t
          |          5  ||z   d d d            d S # 1 swxY w Y   d S )NrJ   r   r   r   r"  rY   zCannot divide NaTType byr
   r   r  )z0ufunc '(true_divide|divide)' cannot use operandszcannot perform __r?truediv__z*Cannot divide datetime64 by TimedeltaArray)
r   r   r2   r\   r]   r^   r
   r/   rY  r  )r4   r5   rL   dt64natr`   s        r   test_td64arr_div_nat_invalidz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_nat_invalid  s;   h	>>>oc>22]9,FGGG 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9,FGGG 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 -t,,hh  
 
 ]9C000 	 	'MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	cMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   AA!A BBB)C;;C?C?!D44D8;D8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	        ||           d S )NrJ   r   r
   rK   )
r"   r#   r/   r0   r   r   r2   r   r$  r3   )r4   r5   r$   r6   rL   r8   r:   r_   s           r   test_td64arr_div_td64natz8TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64nat#  s     BH__rzz#h	22oc3''u%%8RVHrM**?8T2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            d S # 1 swxY w Y   d S )NrW   r   r   r   Cannot dividerY   	r   r/   ro   r   r2   r3   r\   r]   r^   r  s       r   test_td64arr_div_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_int6  s    RYq88899oc>22q
$$$]9O<<< 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   .BB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
        ||           d S )	NrJ   r   r   r   rK   r      r   )r"   r#   r/   r0   r   r	   ro   r  r   r2   r3   r4   r   r5   r$   r6   rL   r:   r_   s           r   test_td64arr_div_tdlike_scalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalarA  s     BH__rzz#h	>>>")B--!+r1%PPPoc3''?8T22y
)))Sx<
)))))r   m)r   rX   rK   unit)rP   r   r  r   msusr   c                 L   |}|t           j        u rt          j        n|}t	          t          d          gdz            }t          j        |d<   |}t          j        ||          }t	          fd|D                       }t          j        ||          }|t          j	                  z  }	t          j
        |	|           t	          fd|D                       }t          j        ||          }t          j	                  |z  }	t          j
        |	|           d S )N;   r=   rX   r    c                 @    g | ]}|t          j                  z  S ru   )r/   r   r6  r   r  r  s     r   r8  zPTestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar.<locals>.<listcomp>_  s*    EEE11r~a666EEEr   c                 Z    g | ]'}t          t          j                            |z  (S ru   )r   r/   r   r  s     r   r8  zPTestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar.<locals>.<listcomp>e  s2    PPPa9R^At%<%<==APPPr   )r"   r#   r/   r0   r   r   r$  r   r2   r   r3   )
r4   r  r  r5   r$   r6   rA   flatr:   r_   s
    ``       r   test_td64arr_div_td64_scalarz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalarS  s'     BH__rzz#iR((()A-..Aoc3'' EEEEEEEEFF?8T22r~a...
))) PPPPP4PPPQQ?8T224((3.
)))))r   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        ||           d S )	NrJ   r   r   r   r  r?   r   r   )r"   r#   r/   r0   r   r
   r	   r$  r  r   r2   r3   r  s           r   'test_td64arr_div_tdlike_scalar_with_natzGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_natj  s     BH__rzz#hX6UCCC"bfb)%HHHoc3''?8T2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        ||           ||                    t                    z  }t          j        ||                    t                               |t          |          z  }t          j        ||           d|z  }||z  }t          j        ||           t          j
        ||          |z  }t          j        ||           |                    t                    |z  }t          j        ||           t          |          |z  }t          j        ||           d S )	NrJ   r   r  r?   r   )r    r,   r    zm8[h]r   )r"   r#   r/   r0   r   r
   r	   r$  r  r   r2   r3   rp   rr   rm   )r4   r5   r$   r6   rL   r:   r8   r_   s           r   test_td64arr_div_td64_ndarrayz=TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_ndarray{  s    BH__rzz#hX677"bfb)<<<oc3''?8T22'222u
)))ruc222
)))u||F+++
 7 7888tE{{"
))) x<
))),,s2
)))f%%+
)))es"
)))))r   c                    t          dt          dg          }g d}t          j        ||          }d}||d d         fD ]}|t	          j        |          t          |          fD ]r}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   sd S )NrJ   r   )r   r    rX   r,   z0Cannot divide vectors|Unable to coerce to Seriesr    rY   )
r   r
   r   r2   r/   r#   r	   r\   r]   r   )r4   r5   rL   
mismatchedr`   r   r8   s          r   test_tdarr_div_length_mismatchz>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatch  sk   hX677!\\
oc>22@
2A2/ 	  	 Crx}}eCjj9    ]:S999    %KK                             ]:S999    CKK                              	  	 s$   BBB:CCCc                    t          dd                              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|                                }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|                                }t          j        ||           |t          u r't          |j        d         t
          j	                  sJ d S d S )Nr  rX   r-   r   F	transposer   rQ  rR  r    r   rP  r
   r   )r   r   )r   insertr
   r   r2   r/   r#   rr   r	   r   r   r   r1   r3   r   r  )r4   r5   origr7   r8   r9   r:   s          r   !test_td64_div_object_mixed_resultzATestTimedeltaArraylikeMulDivOps.test_td64_div_object_mixed_result  s    w22299!SAAodNeDDD$q'3T!W5VDDD~GGGEk#r~eT::DGSIQWXXX?8^uMMMh 344 	+((**H
X&&&Y&&chtnbn=====Ul!R^E488$q'1EVTTT?8^uMMMh 344 	+((**H
X&&&Y&&chtnbn===== '&==r   c                 L   |}|t           j        u rt          j        n|}t	          g dd          }t	          g dd          }t          j        ||          }t          j        ||          }t          j        ddt          j        gt          j                  }t          j        ||          }|t          u r$|r"|ddg         
                    d          |ddg<   t          j        t          |t           j        u d	
          5  ||z  }d d d            n# 1 swxY w Y   t          j        ||           t          j        t          |t           j        u d	
          5  t          j        |          |z  }d d d            n# 1 swxY w Y   t          j        ||           d S )N)  zd    r1  r   )r  r  NrP  r   r   r   F)check_stacklevel)r"   r#   r/   r0   r   r   r2   r$  r  r   rp   maybe_produces_warningRuntimeWarningr3   asarray)	r4   r5   using_array_managerr$   r6   r{   r|   r:   r_   s	            r   &test_td64arr_floordiv_td64arr_with_natzFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_nat  s!     BH__rzz#(((0ABBB+++3DEEEtS))s++8S#rv.bjAAA?8T22) 3  (A/66w??HaV&C28Oe
 
 
 	# 	# U]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#
 	))) &C28Oe
 
 
 	/ 	/ Z%%.F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	)))))s$   DDD FFFz/ignore:invalid value encountered:RuntimeWarningc                 H   |}|t           j        u rt          j        n|}t	          d          }t          ||t          gd          }t          j        ||d          }t          ddt          j	        g          }t          j        ||d          }||z  }t          j
        ||           t          ddt          j	        g          }t          j        ||d          }||z  }t          j
        ||           |                    |          }t          j
        ||           d S )N5m3sr!  r   Fr   r   r    )r"   r#   r/   r0   r   r   r
   r   r2   r$  r3   __rfloordiv__)	r4   r5   	scalar_tdr$   r6   r   td1r:   r_   s	            r   test_td64arr_floordiv_tdscalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_tdscalar  s     BH__rzz#vb"c](333oc3%8881a.))?8TUCCC	!
))) 1a.))?8TUCC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            d S # 1 swxY w Y   d S )NrW   r   r   r   z@floor_divide cannot use operands|Cannot divide int by Timedelta*rY   r  )r4   r5   r   r_   patterns        r   test_td64arr_floordiv_intz9TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_int  s    RYq88899oc>22
$$$T]9G444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   0BB
Bc                 L   t          dd          }t          j        ||          }t          g ddz            }t          j        ||          }||z  }t          j        ||           d }|t
          u r;t          |t          j                  r!t          }|
                    t                    }t          j        |          5  t          ||          }d d d            n# 1 swxY w Y   t          j        |d         |           t          j        |d         ||z             d S )Nr  9 days)r  z2 Days0 DaysrX   r   r   )r   r   r2   r   r3   r   r   r"   
DateOffsetr   rp   rr   r   divmod)r4   r5   
three_daysr7   r\  r:   r_   warns           r   test_td64arr_mod_tdscalarz9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalar  sO   gx00^44!"?"?"?!"CDD?8^<<#
)))Y&&:j"-+P+P&%D  v..H'-- 	/ 	/E:..F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	q	8,,,
q	5J#677777s   C  C$'C$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            n# 1 swxY w Y   t          |d          }t          j        |d
         |           t          j        |d         |dz             d S )Nz1 nsz10 nsrK   r-   z0 nsrW   r    zCannot divide int byrY   r   r   )	r   r   r2   r   r3   r\   r]   r^   r  )r4   r5   r7   r\  r:   r_   r`   s          r   test_td64arr_mod_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_int6  s)   fgr:::^44!66"2Q"677?8^<<
)))$]9C000 	 	II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q!!
q	8,,,
q	5A:.....s   BB!Bc                 t   t          dd          }t          j        ||          }g ddgdz  z   }t          |          }t          j        ||          }||z  }t          j        ||           t          ||          }t          j        |d         |           t          j        |d         ||z             d S )Nr  r  )r  r  r  z3 Days   r   r   )r   r   r2   r   r3   r  )r4   r5   r  r7   r\  r:   r_   s          r   test_td64arr_rmod_tdscalarz:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalarH  s    gx00^44000H:>A!(++?8^<<e#
)))
E**
q	8,,,
q	:#677777r   c                    t          t          dd          gdz            }t          j        |j        d<   t          j        ||          }d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S NrW   rX   r=  r    z(operate|unsupported|cannot|not supportedrY   
r   r   r/   r$  r  r   r2   r\   r]   r^   )r4   r5   r  r  r  s        r   !test_td64arr_mul_tdscalar_invalidzATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalidZ  s>   i15556:;;foc>22
 =]9G444 	 	)OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9G444 	 	OO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	$   )A;;A?A?!B44B8;B8c                    t          t          j        dd                    }t          j        ||          }d                    g d          }t          j        t          |          5  ||d d         z   d d d            n# 1 swxY w Y   t          j        t          |          5  |t          j
        dd	g          z   d d d            d S # 1 swxY w Y   d S )
NrW   r   r   r  )r  z$Cannot multiply with unequal lengthszUnable to coerce to SeriesrY   rX   r   r    )r   r/   ro   r   r2   r  r\   r]   r^   r   r#   r4   r5   r   r`   s       r   !test_td64arr_mul_too_short_raiseszATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raisesi  sb   RYq88899oc>22hh  
 
 ]9C000 	 	#bqb'MM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:S111 	# 	#"(Aq6""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s$   +BB	B	+CCCc                     t          t          j        dd                    }t          j        ||          }d}t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )NrW   r   r   r  rY   )r   r/   ro   r   r2   r\   r]   r^   r+  s       r   test_td64arr_mul_td64arr_raisesz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raisesy  s    RYq88899oc>224]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A))A-0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        ||           d S )Nrt  r!  r   )-59 Daysr0  r
   r1  )118 Daysr1  r
   r    )r   r   r2   r3   )r4   r5   r  r`  r:   r_   s         r   test_td64arr_mul_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_numeric_scalar  s    444HEEE999ARSSS~66?8^<<3$
)))$%
)))999ARSSS?8^<<!c'"
)))c'U"
)))))r   twor    rR  c                 L   t          g dd          }t          g dd          }t          j        ||          }t          j        ||          }||z  }t          j        ||           t	          j        t          d          5  ||z   d d d            d S # 1 swxY w Y   d S Nrt  r!  r   )29.5Dr6  r
   r1  r  rY   r   r   r2   r3   r\   r]   r^   r4   r5   r3  r`  r:   r_   s         r   test_td64arr_div_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalar  s     444HEEE333;LMMM~66?8^<<
)))]9O<<< 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   BB Bc                 L   t          g dd          }t          g dd          }t          j        ||          }t          j        ||          }||z  }t          j        ||           t	          j        t          d          5  ||z   d d d            d S # 1 swxY w Y   d S r5  r7  r8  s         r   $test_td64arr_floordiv_numeric_scalarzDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalar  s    444HEEE333;LMMM~66?8^<<#
)))]9O<<< 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r:  r  )   r  (   c                 *    t          |           j        S r   ry  r{  s    r   r|  z(TestTimedeltaArraylikeMulDivOps.<lambda>  r}  r   c                 X   t          g dd          }|                    |          }t          g dd          }t          j        ||          }t	          ||          }t          j        ||          }||z  }t          j        ||           ||z  }t          j        ||           d S )Nrt  r!  r   )z	1180 Daysz	1770 Daysr
   r1  )r   rp   r   r2   r   r3   )r4   r5   r  r  r`  r:   r6   r_   s           r   test_td64arr_rmul_numeric_arrayz?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_array  s     444HEEE344;;;CTUUU~66eV,,?8T22
)))%
)))))r   c                 *    t          |           j        S r   ry  r{  s    r   r|  z(TestTimedeltaArraylikeMulDivOps.<lambda>  r}  r   c                 `  	 t          g dd          	                    |          t          g dd          }t          j        	|          	t	          	          }t          j        ||          }	z  }t          j        ||           d                    g d          }t          j        t          |          5  	z   d d d            n# 1 swxY w Y   	                    t                    z  }|t          u r	fd	t          t                              D             }t          j        ||                              t                    }d
}t          j        t          |          5  |d                             t#          j        dd          d          |d<   d d d            n# 1 swxY w Y   n	fdt          t          	                    D             }d |D             }|t          j        u r-t          j        |                              t                    }n ||t                    }t          j        ||           t          j        t          |          5                      t                    	z   d d d            d S # 1 swxY w Y   d S )Nrt  r!  r   )z2.95Dz
1D 23h 12mr
   r1  r  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandr  z-ufunc 'divide' cannot use operands with typesrY   c                 @    g | ]}j         d |f         |         z  S )r   )r  r6  r  r`  r  s     r   r8  zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>  s-    QQQ
1a4(6!94QQQr   z The 'downcast' keyword in fillnar    r
   r   Fdowncastc                 2    g | ]}|         |         z  S ru   ru   rE  s     r   r8  zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>  s&    HHHa6!9,HHHr   c                 N    g | ]"}|t           ur|nt          j        d d          #S )r
   r   )r
   r/   r   )r6  r   s     r   r8  zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>  s=       GHQc\\r~eT'B'B  r   )r   rp   r   r2   r   r3   r  r\   r]   r^   rr   r   rn   r  r   FutureWarningfillnar/   r   r!   )
r4   r5   r  r  r:   r6   r_   r  r`   r`  s
     `      @r   test_td64arr_div_numeric_arrayz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array  sm    444HEEE344888@QRRR~66eV,,?8T22
)))((  	
 	
 ]9G444 	 	UNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 v...Y&&QQQQQeCKK>P>PQQQHx66==fEEH4C+MEEE  &qk00N5$//% 1                
 IHHHHeCJJ6G6GHHHH LT  H r{"";x0077??4777
)))]9G444 	* 	*MM&!!E))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s6   CCC:4F::F>F>8J##J'*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        |	|           d S )	N0days1day2days3days4daysr   r   )r   r   r    rX   r,   r   r   )rO  rP  rS  9days16daysr1  )	r'   r   r   r/   r   r   r2   r   r3   )
r4   r5   r%   r$   r&   r7   rA   r:   r6   r_   s
             r   test_td64arr_mul_int_seriesz;TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int_series  s    "3..888uQx
 
 
 ___BH58DDD999#
 
 
 oc3''c3''?8T22s
)))s
)))))r   c                 B  	 |}t          g d|d                   	t          g dt          j        |d                   |t          j        t          j        fvr|d         n|d         }t          	fdt          t                              D             d	|          }t	          j
        	|          	t          	          }t	          j
        ||          }                    	          }|t          u r|t          u sJ d S t	          j        ||           d S )
NrN  r   r   )rQ  rX   g      @r#  g      @r   r   r    c                 2    g | ]}|         |         z  S ru   ru   )r6  r  rA   r7   s     r   r8  zRTestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr.<locals>.<listcomp>9  s%    666SVc!f_666r   r1  )r   r   r/   r  r   r!   r"   r#   rn   r  r2   r   __rtruediv__r   NotImplementedr3   )
r4   r5   r%   r$   xnamer:   r6   r_   rA   r7   s
           @@r   test_float_series_rdiv_td64arrz>TestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr/  s3   888uQx
 
 
 ***"*58LLLRX'>>>aE!H66666eCHHoo666#
 
 
 oc3''c3''?8T22!!#&&)^++++++OFH-----r   c                    t          t          t          g          }t          j        ||          }t	          j        ddgt                    }t	          j        dd          }t          |gdz  t                    }|t          urt          j        ||          	                    t                    }|t          t          fv rLd}t          j        t          |          5  |                    |d	          }d d d            n# 1 swxY w Y   ||z  }t          j        ||           ||z  }t          j        ||           d S )
Nr    rR  r   r
   r   z.The 'downcast' keyword in fillna is deprecatedrY   FrF  )r   r
   r   r2   r/   r#   rr   r   r	   rp   r   r   r   rJ  rK  r3   )	r4   r5   r7   r{   r|   r  r:   r`   r_   s	            r   -test_td64arr_all_nat_div_object_dtype_numericzMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numericH  ss   c3Z((sN33!S000ud++%1F333&&x@@GGOOH&)!444F/SIII F F'uuEEHF F F F F F F F F F F F F F F 
)))
)))))s    DDDN)3rb   rc   rd   r  r  r  r  r  r  r\   re   rf   r/   ro   r	   r   rn   uint64r  r"   
RangeIndexr  r  r  r  r  r  r  r  r  r  r  filterwarningsr  r  r  r!  r$  r(  r,  r.  r2  r#   r9  r<  r   rA  rL  rV  r\  r^  ru   r   r   r  r    s_       % % %  	* 	* 	*	* 	* 	** * ** * * [BIaE)")Ar""BH--E%%2,,	**E%%2,,
++BM!R  	
 '&  
 
+ +
 
+&  0* * *&	 	 	* * *$ [S***--[V%K%K%KLL* * ML .-*** * *"$* $* $*L     > > >D!* !* !*F [ QRR* * SR*4  8 8 80/ / /$8 8 8$  # # #   * * *, [UQXRXa[[("(3--$HII  JI [UQXRXa[[("(3--$HII  JI [	,,,		|||!4!4ff\\\6J6JK&&   
* * 
*2 [	,,,		|||!4!4ff\\\6J6JK&&   
6* 6* 
6*p* * *:. . .2* * * * *r   r  c                       e Zd Zd ZdS )"TestTimedelta64ArrayLikeArithmeticc                    t          t          dd          gdz            }t          j        |j        d<   t          j        ||          }d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S r&  r'  )r4   r  r5   r  r  s        r   test_td64arr_pow_invalidz;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalidd  s@   i15556:;;foc>22
 =]9G444 	 	sNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9G444 	 	NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r)  N)rb   rc   rd   re  ru   r   r   rc  rc  _  s#        
    r   rc  c                      t          d          t          ddd          z   } t          fdt          d          D                       }t	          j        | |           d S )NrF   0srO     r-   c           	          g | ]H}t          j        d           |z  t          j        d          t          |d          d         z  z   z   IS )z0.033333333sz0.000000001srX   r   )r"   r  r  )r6  r7  	timestamps     r   r8  z3test_add_timestamp_to_timedelta.<locals>.<listcomp>z  sf     	
 	
 	
  //!3/.11F1aLLOCD	
 	
 	
r   )r   r   r   rn   r   r   )r_   r:   rj  s     @r   test_add_timestamp_to_timedeltark  u  s    ,''ItR@@@@F	
 	
 	
 	
 2YY	
 	
 	
	 	H &(+++++r   )'r   r   numpyr/   r\   pandas.errorsr   r   pandasr"   r   r   r	   r
   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   pandas.tests.arithmetic.commonr   r   r   r   r'   r)   rw   r   r  r  r  rc  rk  ru   r   r   <module>rs     s         
            
                                  2 2 2 2 2 2         # # #	 	 	 h h h h h h h hV`1 `1 `1 `1 `1 `1 `1 `1NH# H# H# H# H# H# H# H#V>+ >+ >+ >+ >+ >+ >+ >+B|
* |
* |
* |
* |
* |
* |
* |
*~@* @* @* @* @* @* @* @*F       ,, , , , ,r   