
    PiwI                       d dl m Z mZ d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmc mZ d dlZd dlmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dl m!Z!m"Z"m#Z# d	 Z$d
 Z% G d d          Z& G d d          Z' G d d          Z( G d d          Z) G d d          Z* G d d          Z+ G d d          Z,d Z-dS )    )datetime	timedeltaN)	timezones)WASM)OutOfBoundsDatetime)
	DataFrameDatetimeIndexIndexNaTSeries	TimedeltaTimedeltaIndex	Timestampoffsetstimedelta_range)NumpyExtensionArray)assert_invalid_addsub_typeassert_invalid_comparisonget_upcast_boxc                 >    t          j        |           }||k    sJ dS )zT
    Helper to check the dtype for a Series, Index, or single-column DataFrame.
    N)tm	get_dtype)objexpected_dtypedtypes      |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/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$   r0   r1   r   r   r   r3   r4   )r5   r6   r=   r%   r7   seractualr;   s           r   !test_compare_timedeltalike_scalarzETestTimedelta64ArrayLikeComparisons.test_compare_timedeltalike_scalarR   s     %!2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   r3   r   )r5   r6   rE   r%   rngr   s         r   test_td64_comparisons_invalidzATestTimedelta64ArrayLikeComparisons.test_td64_comparisons_invalidg   sD     h333oc3''!#w44444r   r9   rL   z
1970-01-01r/   tzr.   z
1971-01-01Dfreqr/   c                 ~    t          dd          j        }t          j        ||          }t	          |||           d S rJ   )r   _datar   r3   r   )r5   r9   r6   rM   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 )NrK      r.   r   r    r!      rG   )FFFTFzDInvalid comparison between|Cannot compare type|not supported betweenmatch)
r   rU   r0   r$   r   r   assert_numpy_array_equalpytestraises	TypeError)r5   rM   r9   resultr;   msgs         r   test_td64arr_cmp_mixed_invalidzBTestTimedelta64ArrayLikeComparisons.test_td64arr_cmp_mixed_invalid   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   HourrD   r   nowto_datetime64to_pydatetimedater0   r$   rN   listrangearangeastypefloat32objectr#   
date_rangeperiod_rangerV   rb    r   r   r*   r*   ?   s       
' ' ' [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 )NrK   3 days)FFT)TTF)FFFTTT)	r   r   r   rs   rq   r0   r$   r   r\   )r5   r   leftrightlhsrhsr`   r;   s           r   test_comp_natz-TestTimedelta64ArrayComparisons.test_comp_nat   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!   rQ   natr    srX   rY   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   r0   r$   r   r\   )r5   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 )NrK   rL   r.   rY   r{   F   )r   r0   r$   r   r\   rn   )r5   rM   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   )rc   rd   re   r]   rf   rg   rs   r   r   r   r0   r$   timedelta64r   r   rv   r   r   rx   rx      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   rx   c                       e Zd 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                 J   |}t          ddg          }t          j        ||          }t          d          t          d          g}||z   }t	          ddgd          }t          j        ||          }t          j        ||           ||z   }t          j        ||           d S )	N2D4D
2016-01-01z
2016-02-01z
2016-01-03z
2016-02-05M8[us]r   )r   r   r3   r   r	   r4   )r5   r6   r%   r|   r}   r`   r;   result2s           r   test_td64_op_with_listz8TestTimedelta64ArithmeticUnsorted.test_td64_op_with_list  s    tTl++tS))<(()L*A*AB ,!=XNNN?8S11
)))$,
*****r   c                    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rS   namer!   )r   r   12h16h20hr   )1hr,   3hr   5hh)-2hz-4hz-6hz-8hz-10hr   )r   z-1h0hr   r,   )r,   r   r   r   r,   )r   r0   multiply
isinstancer   assert_index_equalrS   dividenegativeabsabsolute)r5   idxr`   r   s       r   test_ufunc_coercionsz6TestTimedelta64ArithmeticUnsorted.test_ufunc_coercions&  s<   <<<4cR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 )NrK   2 daysfoor   20130101rY   barr/   r   z0cannot subtract a datelike from a TimedeltaArrayrZ   z#unsupported operand type\(s\) for -z,cannot subtract DatetimeArray from Timedelta0 days-1 days-2 daysr   rK   r   r   r   20121231r   20130102r   rQ   )r   rS   r   r   20121230r   r   )r   r   r#   rt   r   r   r]   r^   r_   r   r   r	   )r5   r8   dtitddtra   r`   r;   s           r   test_subtraction_opsz6TestTimedelta64ArithmeticUnsorted.test_subtraction_opsE  s   hX6UCCCmJ>>>x  z""@]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 5]9C000 	 	GG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 =]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                 
	   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          }t          j        ||          }t          j        ||           d S )Nr   rY   r.   z
US/EasternCETrK   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>._check  s/    X%%%%fi0000000r   r   z<Cannot subtract tz-naive and tz-aware datetime-like objects.rZ   z6can't subtract offset-naive and offset-aware datetimesz%Cannot subtract tz-naive and tz-awarer   r   r   rP   )r#   rt   r   r3   r   rl   tz_localizer   r]   r^   r_   r   r4   r	   )r5   r6   r   tsr   dti_tzts_tzts_tz2dt_tzr   r   r`   r;   ra   s                 r   test_subtraction_ops_with_tzz>TestTimedelta64ArithmeticUnsorted.test_subtraction_ops_with_tzv  s   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   " !E!E!E,WWW?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 )NrK   r   r   r   r   rY   r   r   r   4 daysr   r   r   )r   r   r#   rt   r   r   r	   )r5   r8   r   r`   r;   s        r   test_dti_tdi_numeric_opsz:TestTimedelta64ArithmeticUnsorted.test_dti_tdi_numeric_ops  s    hX6UC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 )NrK   r   r   r   r   rY   r   r   r   20130103r   r   rz   z$cannot add indices of unequal lengthrZ   r   r    3Addition/subtraction of integers and integer-arraysr    r!   rY   r   20130105)r   r   r#   rt   r   r   r	   r   r   r]   r^   
ValueErrorr_   r
   r0   int64)r5   r8   r   r   r   r`   r;   ra   s           r   test_addition_opsz3TestTimedelta64ArithmeticUnsorted.test_addition_ops  s   hX6UC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-rS   rQ   Bc                    t          j        d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   nsr/   rS   unitr    inferrQ   )r#   rt   r   
_with_freqr   r   tseriesr   DayrS   BusinessDay)r5   rS   indexshiftedbackr;   r`   s          r   test_timedeltaz0TestTimedelta64ArithmeticUnsorted.test_timedelta  sN   j"4dKKK)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#   rt   r   r   ri   r	   r0   r   rS   r   r   r   )r5   rM   r   result1r   result3result4s          r   test_timedelta_tick_arithmeticz@TestTimedelta64ArithmeticUnsorted.test_timedelta_tick_arithmetic/  s    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 )NrK   r   z
1999-12-31rY   rQ   r/   rS   )r   r   r$   r#   rt   r   r   )r5   r8   tdar   r`   r;   s         r   test_tda_add_sub_indexz8TestTimedelta64ArithmeticUnsorted.test_tda_add_sub_index@  s    hX67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        |          5  ||                    t                    z   }	d d d            n# 1 swxY w Y   t          j        |	|                    t                               d S )Nr   rY   rO   )	r#   rt   r   r   r3   assert_produces_warningrq   rs   r4   )
r5   performance_warningr6   tz_naive_fixturer%   r   r8   r   r9   r`   s
             r   test_tda_add_dt64_object_arrayz@TestTimedelta64ArithmeticUnsorted.test_tda_add_dt64_object_arrayS  s     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   2BB #B c                    t          dd          }t          ddd          }t          |t                    r.|j        dk    r#|t          j        ur|                    d          }t          j        ||          }t          j        ||          }|}||z  }t          j	        ||           |t          urt          j	        ||           d S d S NrK   10 daysz1 days 02:00:00z10 days 02:00:00rQ   rS   r   r   r   r   r   r#   r$   as_unitr   r3   r4   r
   r5   	two_hoursr6   rM   r;   orig_rngs         r   test_tdi_iadd_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_iadd_timedeltalikeg  s    h	22"#46HsSSSy),,	.$&&bh..
  ''--Hoc>22?8^<<y
X&&&&&OHh///// '&r   c                    t          dd          }t          dd          }t          |t                    r.|j        dk    r#|t          j        ur|                    d          }t          j        ||          }t          j        ||          }|}||z  }t          j	        ||           |t          urt          j	        ||           d S d S NrK   r   z0 days 22:00:00z9 days 22:00:00r   r  r  s         r   test_tdi_isub_timedeltalikez=TestTimedelta64ArithmeticUnsorted.test_tdi_isub_timedeltalike  s    h	22"#46GHHy),,	.$&&bh..
  ''--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   rX   r   r   )r/   rS   r   r    r   r!   r   r   rK   rQ   z-2D)r   rK   r   rK   r   r   )r   rS   r   r   r   r   )r5   rM   r`   r   s       r   test_tdi_ops_attributesz9TestTimedelta64ArithmeticUnsorted.test_tdi_ops_attributes  s   h3G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)rc   rd   re   r   r   r   r   r   r   r]   rf   rg   r   r   r   r   r  r
  r  rv   r   r   r   r     s        + + +"' ' '>/0 /0 /0bR* R* R*h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 000 0 04## ## ## ## ##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   r3   r   rl   rk   rq   r   ilocr   )	r5   r6   r  tdinattdobjr   ts_variantsvariantr:   s	            r   $test_tdarr_add_timestamp_nat_maskingz9TestAddSubNaTMasking.test_tdarr_add_timestamp_nat_masking  s     "7!?@@77v%%&677%%o66	
 # 	% 	%G'/C**x~,,,,,1v}}}}}	% 	%r   c                 P   t          d                              d          }t          j        t          d          5  t          j        dd          |z    d d d            n# 1 swxY w Y   t          j        t          d          5  |t          j        dd          z    d d d            n# 1 swxY w Y   t          j        dz   }t          j        dgd                              d          }d}t          j        t          |          5  |t          d          z    d d d            n# 1 swxY w Y   t          j        t          |          5  t          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d          }t          j        t          g          t          d	          z
  }t          j        ||           t          dt          g          }t          j        d
t          g          t          d	          z
  }t          j        ||           t          t          t          dg          }t          j        t          d
dg          t          j        dt          dg          z   }t          j        ||           d S )N2000r   10155196800000000000rZ   iT rQ   r    zOverflow in int64 additionrK   z5 days1 hoursz	7 secondsz4 hoursm8[us]r   r   z5 hours)r   r  r]   r^   r   r#   r  r   _valueOverflowErrorr   r   r   r   )r5   r   _NaTr   ra   r   r`   s          r   test_tdi_add_overflowz*TestAddSubNaTMasking.test_tdi_add_overflow  s    v&&t,,].6LMMM 	. 	.OFC((2--	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.].6LMMM 	. 	.----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. zA~_fXs++33D99*]=444 	# 	#6""""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]=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(333#'')H*=*==
fc***h_--(C11Ih4G4GG
fc***c3	233#x!;<<r#y)@
 @
 
 	fc*****s}   A##A'*A'	B..B25B2D--D14D1E22E69E6&G

GG0'H##H'*H'	0JJ	J	N)rc   rd   re   r]   rf   rg   r  r   rv   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   rq   r   r   assert_series_equal)r5   rB   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                                      d          }t          j        d          }t          j        d          }t          j        d          }	||z   }
|
|k    sJ ||z
  }
|
|k    sJ ||z   }
t          j	        |
|           ||z
  }
t          j	        |
|           ||z   }
t          j	        |
|           ||z   }
t          j	        |
|           ||z
  }
t          j	        |
|           | |z   }
t          j	        |
|           ||	z   }
t          j	        |
|           |	|z   }
t          j	        |
|           ||	z
  }
t          j	        |
|           |	 |z   }
t          j	        |
|           d}t          j        t          |          5  |t          j        z    d d d            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:02r  r   r   unsupported operand typerZ   z8cannot subtract a datelike from|unsupported operand type)r#   r  r   r   r   applyr  rq   r   r%  r]   r^   r_   r0   nanassert_frame_equal)r5   s1s2sndf1df2dfnscalar1scalar2timedelta_NaTrC   ra   s               r   &test_timedelta_ops_with_missing_valueszFTestTimedeltaArraylikeAddSubOps.test_timedelta_ops_with_missing_values  s   _VZL1122_VZL1122_VSE:::;;%%++BO<<%%++BO<<%%++BO<<CCHMM/*--/*--..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   J''J+.J+K))K-0K-L++L/2L/M..M25M2S44S8;S8T66T:=T:c           	      P   t          j        dddd          }t          j        d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             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
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-1rY   rQ   r   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>x  s#    9991YA&&&999r   m8[ns]r   zM8[ns]201112302012010120120103r   i  r    c                 4    g | ]}t          d |z             S )i  r>   r:  r;  s     r   r>  zNTestTimedeltaArraylikeAddSubOps.test_operators_timedelta64.<locals>.<listcomp>  s'    888!YD1H%%%888r   r   r   r-   r>   rX   minutessecondsr!   )r#   rt   r   r   rq   r   r%  r   r   ro   shiftmaxr   r   r   r   r0   r   )r5   v1v2rsxpdfr   r`   maxaresultbvaluesr;   dresultavalues                  r   test_operators_timedelta64z:TestTimedeltaArraylikeAddSubOps.test_operators_timedelta64n  s   ]:qsFFF]:qsFFFBZZ&**$ORX..55g>>EEFWXX
r2&&&x,,,,,Ry!!99a999JJJ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///88uQxx888s(
 
 
 	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1stimedelta64[us]r         ?r          ?z1.5sr!   z0.5s       @)r   r   r   r   r%  r0   r*  )r5   timedelta_seriesnat_series_dtype_timedeltasingle_nat_dtype_timedeltas       r   test_timedelta64_ops_natz8TestTimedeltaArraylikeAddSubOps.test_timedelta64_ops_nat  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        |j                  s|                    d           }t          j        ||          }	t          j        ||          }t          j        ||	z   |           t          j        |	|z   |           t          j
        d	dd
|          }
|.t          j        |
j                  s|
                    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't support r   rY   r.   z
2012-01-02rO   z
2011-12-31z-1D)r/   rS   rP   zcannot subtract a datelikerZ   )r   r   rl   r0   
datetime64r]   skiprk   r   r#   rt   r   is_utcrP   r   r   r3   r4   r^   r_   )r5   r`  r6   r   rP   	dt_scalarr   r8   r;   tdarr	expected2ra   s               r   (test_td64arr_add_sub_datetimelike_scalarzHTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_datetimelike_scalar  s+   
 lr222	(??((**BBBM!!+sGG5EGGHHH((**BBBgq111=qR@@@>)"28;"?"?>  **400H^44?8^<<
U
H---

H---M,"MMM	>)"29<"@"@> ",,T22IOI~>>	
U
I...
ufy111*]9C000 	 	BJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   G""G&)G&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   rY   r.   )r   r   r   r   r   )r0   rb  r   r	   r   r3   r4   )r5   r6   r9   r8   r;   tdsers         r   test_td64arr_add_datetime64_natz?TestTimedeltaArraylikeAddSubOps.test_td64arr_add_datetime64_nat3  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   rY   r.   -1 Dayzcannot subtract a datelike fromrZ   )r#   rt   r   rQ  r	   r   r3   r]   r^   r_   r4   )r5   r6   r   r8   dtarrr;   ra   r`   s           r   test_td64arr_sub_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_dt64_array@  s    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   rY   r.   rm  )r#   rt   r   rQ  r	   r   r3   r4   )r5   r6   r   r8   rn  r;   r`   s          r   test_td64arr_add_dt64_arrayz;TestTimedeltaArraylikeAddSubOps.test_td64arr_add_dt64_arrayQ  s    mL!444hZ!^,,
 ''#-oc>22?8^<<u
)))
)))))r   pi_freq)rQ   WQr   tdi_freqNr   c                    t          ddg|          }t          d          |z   }|                    |          }|d         }t          j        ||          }t          j        ||          }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 )	Nr  z2 hoursr  z2018-03-07 17:16:40r   |)zcannot subtractr(  z,bad operand type for unary \-: 'PeriodArray'z3Input has different freq=-1h from PeriodArray\(.*\)z3Cannot add/subtract timedelta-like from PeriodArrayrZ   )	r   r   	to_periodr   r3   joinr]   r^   r_   )
r5   r6   box_with_array2ru  rr  r8   r   piperra   s
             r   test_td64arr_sub_periodlikez;TestTimedeltaArraylikeAddSubOps.test_td64arr_sub_periodlikeb  s    i3(CCC-..4]]7##eoc>22_R11hh  
 
 ]9C000 	 	"HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9C000 	 	#II	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   B11B58B5C**C.1C.r9   rF   r    rZ  r!   c                 v    t          g dd          }t          j        ||          }t          ||           d S N59 Daysr  r   r?  r   )r   r   r3   r   )r5   r6   r9   rj  rf  s        r   *test_td64arr_addsub_numeric_scalar_invalidzJTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_scalar_invalid  sD     444HEEE~66"5%00000r   vecr   c                 *    t          |           j        S r   typerc   r   s    r   <lambda>z(TestTimedeltaArraylikeAddSubOps.<lambda>      d1gg& r   idsc                     t          g dd          }t          j        ||          }|                    |          }t	          ||           d S r  )r   r   r3   rq   r   )r5   r6   r  any_real_numpy_dtyperj  rf  vectors          r   'test_td64arr_addsub_numeric_arr_invalidzGTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_numeric_arr_invalid  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   rL   rR    Addition/subtraction of integersrZ   )r   r   r3   r   r]   r^   r_   )r5   r6   onerM   rf  ra   s         r   test_td64arr_add_sub_intz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_int  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   rY   rR   )r-   rY   r!   r   )r#   r$   r0   r1   r   r   r3   r   )r5   r6   r%   r7   rM   rf  r9   ra   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$   r0   r1   r   r   r3   r   )r5   r6   r%   r7   r8   rf  r9   ra   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   rY   r.   r    r!   r   )r#   rt   rH  rQ  r   r3   r4   )	r5   r6   r%   r   r8   rf  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         d	
          }t          t          d          t          dd          g|d	
          }t          j	        ||          }t          j	        ||          }||z   }t          j
        ||           t          |d           ||z   }t          j
        ||           t          |d           t          t          d          t          dd          g|d	
          }t          j	        ||          }||z
  }t          j
        ||           t          |d           ||z
  }t          j
        ||            t          |d           d S )Nr   r   r    r   rY   hoursr-   r   r?  rD  )r?   r  r7  )r(   r   r   r"   r#   r$   r0   r   r   r3   r4   r   )	r5   r6   r&   r%   r'   r8   rB   r;   r`   s	            r   test_td64arr_add_sub_tdiz8TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_tdi  s    "3..h0uQx@@@"r{BH&===bhsmmm3Q!3!3!34588
 
 
 Q!;!;!;<
 
 
 oc3''?8S11s
)))V.///s
)))V.///R   )""="="=>
 
 

 ?8S11s
)))V.///s
	***V./////r   tdnatr   c                    |}t          t          t          d          g          }t          dgdz                                d          }t	          j        ||          }t	          j        ||          }||z   }t	          j        ||           ||z   }t	          j        ||           ||z
  }t	          j        ||           ||z
  }t	          j        ||           d S )NrW  r   r!   us)r   r   r   r  r   r3   r4   )r5   r6   r  r%   r8   r;   r   r`   s           r   test_td64arr_add_sub_td64_natz=TestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_td64_nat  s     c9T??344!5'A+..66t<<oc3''?8S11u
)))
)))u
)))
)))))r   c                 t   |}t          dd          }t          ddd          }t          |t                    r |j        dk    r|                    d          }t          j        ||          }t          j        ||          }||z   }t          j        ||           ||z   }t          j        ||           d S r   r   r   r   r   r  r   r3   r4   r5   r  r6   r%   rM   r;   r`   s          r   test_td64arr_add_timedeltalikez>TestTimedeltaArraylikeAddSubOps.test_td64arr_add_timedeltalike"  s     h	22"#46HsSSSi++ 	.	$0F0F''--Hoc3''?8S11y
)))S
)))))r   c                 r   |}t          dd          }t          dd          }t          |t                    r |j        dk    r|                    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_timedeltalike4  s     h	22"#46GHHi++ 	.	$0F0F''--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                    }t          j        ||                              t                    }t          j        |          5  z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        |          5  z   }	d d d            n# 1 swxY w Y   t          j        |	|           t          j        |          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 rv   rv   r<  r  r9   r8   s     r   r>  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index.<locals>.<listcomp>U  &    8881SVeAh888r   r   r   c                 2    g | ]}|         |         z
  S rv   rv   r  s     r   r>  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_index.<locals>.<listcomp>X  r  r   )r(   r   r
   r   ri   Minuter   r"   r#   r$   r0   ro   lenr3   rq   rs   r   r4   )r5   r   r&   r6   r%   r'   r;   r  r:   res2res_subr9   r8   s              @@r   !test_td64arr_add_sub_offset_indexzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_indexI  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@@|S99@@HH'(;<< 	 	+C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
X&&&'(;<< 	 	3;D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
h''''(;<< 	" 	"EkG	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
.....s6   F$$F(+F(G**G.1G.H00H47H4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        |          5  
	z   }d d d            n# 1 swxY w Y   t          j        ||           t          j        |          5  	
z   }d d d            n# 1 swxY w Y   t          j        ||           t          j	        ||          
                    t                    }t          j        |          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 rv   rv   r  s     r   r>  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array.<locals>.<listcomp>r  r  r   r   r  c                 2    g | ]}|         |         z
  S rv   rv   r  s     r   r>  zUTestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_array.<locals>.<listcomp>u  r  r   )r   r0   r$   r   ri   r  ro   r  r   r3   rq   rs   r   r4   )r5   r   r6   r%   r;   r  r:   r  r  r9   r8   s            @@r   !test_td64arr_add_sub_offset_arrayzATestTimedeltaArraylikeAddSubOps.test_td64arr_add_sub_offset_arrayk  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**D.1D.E00E47E4G##G'*G'c                    |}|t           t          j        t          j        fv rt
          n|}t          ||          }t          ddg|d                   t          t          j	        d          t          j
        d          g|d                   t          fdt          t                              D             |t          	          }t          j        |          }t          j        ||                              t                    }t          j        |          5  |z   }	d d d            n# 1 swxY w Y   t          j        |	|           t          j        |          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        |          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 rv   rv   r  s     r   r>  zSTestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series.<locals>.<listcomp>  r  r   rD  c                 2    g | ]}|         |         z
  S rv   rv   r  s     r   r>  zSTestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series.<locals>.<listcomp>  r  r   )r
   r   r"   r#   r$   r   r(   r   r   ri   r  ro   r  rs   r3   rq   r   r4   )r5   r   r&   r6   r%   box2r'   expected_addr   r:   r  r  res3r9   r8   s                @@r   test_td64arr_with_offset_seriesz?TestTimedeltaArraylikeAddSubOps.test_td64arr_with_offset_series  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   *D<<E E 0FF	F!H33H7:H7oboxc                    t          ddg          }t          j        ||          } |t          j                    t          j        d          g          }d}t          j        t          |          5  t          j	        |          5  ||z    d d d            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	        |          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	        |          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	        |          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 MonthEndrZ   )
r   r   r3   r   MonthEndr   r]   r^   r_   r   )r5   r   r  r6   r8   anchoredra   s          r   -test_td64arr_addsub_anchored_offset_arraylikezMTestTimedeltaArraylikeAddSubOps.test_td64arr_addsub_anchored_offset_arraylike  s   
 /1BCD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B3
BB3B 	 B3#B 	$B33B7:B7D.D 4D D	DD	DDD=E;E$E;$E(	(E;+E(	,E;;E?E?!G 6G<G G	G G	G  G$'G$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        |          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        |          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        |          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   rY   rQ   r   r    r>   r!   z
2000-01-04r-   z
2000-01-07z3unsupported operand type|cannot subtract a datelikerZ   r   z
2000-01-01)r#   r$   r0   r1   r   r   r3   r   r   r   r   r   r
   rq   rs   r4   r]   r^   r_   )r5   r   r6   r%   r7   r8   rf  r9   r`   r;   ra   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   B00B47B4F*E<0F<F 	 FF 	FFF2GGG)(rc   rd   re   r&  r5  rU  r_  r]   rf   rg   r   r   r0   rb  rh  rk  ro  rq  r}  r$   r  r
   r   r   r  r  r  r  r  r  r   r   r  r  r  r  r  r  r  r  rv   r   r   r"  r"    s       1 1 1\+ \+ \+@B B BHPV PV PVj [UY"-$HII) ) JI)V1 1 1* * *"* * *" [Y(<(<(<==[Z$55  65 >=6 [ BHQKK	

 
1 1
 
1 [BHYYYE)))F999Iyyyk""		
 '&  	 	2 2	 	2  6 6 6
6 
6 
6. . .*)0 )0 )0V [W~r~e'<'<c&BCC* * DC*$* * *$+ + +* /  /  /D/ / /: ,  ,  ,D [Vbhv%>??  @?8* * * * *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e	j
                            ded e	j        d ej        d                    g          d             Ze	j
                            ddd e	j        d ej        d                    g          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%e	j
        &                    e'd%&          d'             Z(e	j
        )                    d(          d)             Z*d* Z+d+ Z,d, Z-d- Z.d. Z/d/ Z0d0 Z1d1 Z2e	j
                            d2d3d4 ej3        d3           ej3        d4          g          d5             Z4e	j
                            d2d3d4 ej3        d3           ej3        d4          g          d6             Z5e	j
                            d7ej3        ee6gd8           d9             Z7e	j
                            d7ej3        ee6gd:           d;             Z8d< Z9d= Z:d> Z;d?S )@TestTimedeltaArraylikeMulDivOpsc                     t          t          j        dd                    }t          j        ||          }|dz  }t          j        ||           d|z  }t          j        ||           d S )NrX   r   r   r    )r   r0   rp   r   r3   r4   r5   r6   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 )NrK   r   r   r   rw  )zargument must be an integer$cannot use operands with types dtypezCannot multiply withz$unsupported operand type\(s\) for \*rZ   )r   r   r3   ry  r]   r^   r_   )r5   r  r6   rM   ra   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 )NrX   r   r   )r0   rp   r   r   r3   r$   r4   r5   r6   rng5r   r;   r`   s         r   test_tdi_mul_int_array_zerodimz>TestTimedeltaArraylikeMulDivOps.test_tdi_mul_int_array_zerodim  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 NrX   r   r   r!   )r0   rp   r   r   r3   r4   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   r0   rp   r3   r4   )r5   r6   r%   r7   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 )NrX   r   r   float64rY  r  )r5   r6   r%   r7   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   r9   r       c                 *    t          |           j        S r   r  r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>A  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  rL   rK   r   )r   r   r   r   r3   r   r4   )	r5   r9   r6   r%   r8   r;   r7   r`   commutes	            r   test_tdi_rmul_arraylikez7TestTimedeltaArraylikeMulDivOps.test_tdi_rmul_arraylike8  s     gY^,,"8Y77BB4HHoc3''c5))?8T22
)))+
*****r   c                    t          t          j        d          t          d          z  d          }t	          j        ||          }d}t          j        t          |          5  d|z   d d d            n# 1 swxY w Y   t          j        t          |          5  |d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            d S # 1 swxY w Y   d S )	NrX   r    r  r?  r   +Cannot multiply 'timedelta64\[ns\]' by boolrZ   T)
r   r0   rp   r   r   r3   r]   r^   r_   True_)r5   r6   rB   r   ra   s        r   #test_td64arr_mul_bool_scalar_raiseszCTestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_scalar_raisesS  s!   RYq\\IA$6$6$66hGGGoc>22<]9C000 	 	3JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	$JJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	HsNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]9C000 	 	"(NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   'A99A= A=B11B58B5C33C7:C7D66D:=D:r   booleanbool[pyarrow]pyarrow)marksc                 2   t          t          j        d          t          d          z  d          }t	          j        ||          }t          t          j        d          dk     |          }t	          j        ||          }d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   |	                    d	d
          }|dk    rd}t          j        t          |          5  ||z   d d d            d S # 1 swxY w Y   d S )NrX   r    r  r?  r   g      ?r  rZ   rmulmulr  zXoperation 'mul' not supported for dtype 'bool\[pyarrow\]' with dtype 'timedelta64\[ns\]')
r   r0   rp   r   r   r3   r]   r^   r_   replace)r5   r   r6   rB   r   r9   ra   msg2s           r   test_td64arr_mul_bool_raisesz<TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_bool_raisesb  s    RYq\\IA$6$6$66hGGGoc>22ry||c)777~66<]9C000 	 	%KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 {{65))O##2  ]9D111 	 	CKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   #B55B9<B99DDDInt64Float64int64[pyarrow]c                     t          t          j        d          t          d          z  d          }t	          j        ||          }t          t          j        d          |          }t	          j        ||          }t          d t          d          D             d          }t	          j        ||          }|dk    r|                    d          }||z  }t	          j        ||           ||z  }t	          j        ||           d S )	NrX   r    r  r?  r   c                 4    g | ]}t          |d z            S )r!   r  )r   )r<  r  s     r   r>  zKTestTimedeltaArraylikeMulDivOps.test_td64arr_mul_masked.<locals>.<listcomp>  s'    CCCQ91a4000CCCr   r  zduration[ns][pyarrow])	r   r0   rp   r   r   r3   ro   rq   r4   )r5   r   r6   rB   r   r9   r;   r`   s           r   test_td64arr_mul_maskedz7TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_masked  s     RYq\\IA$6$6$66hGGGoc>22ry||5111~66CC%((CCC8TTT?8^<<$$$'>??Hu
)))
)))))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 )NrK   r   r   r   r(  rZ   zCannot divide NaTType byr   r   rw  )z0ufunc '(true_divide|divide)' cannot use operandszcannot perform __r?truediv__z*Cannot divide datetime64 by TimedeltaArray)
r   r   r3   r]   r^   r_   r   r0   rb  ry  )r5   r6   rM   dt64natra   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 )NrK   r   r   rL   )
r#   r$   r0   r1   r   r   r3   r   r*  r4   )r5   r6   r%   r7   rM   r9   r;   r`   s           r   test_td64arr_div_td64natz8TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64nat  s     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 )NrX   r   r   r    Cannot dividerZ   	r   r0   rp   r   r3   r4   r]   r^   r_   r  s       r   test_td64arr_div_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_div_int  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 )	NrK   r   r   r   rL   r       r   )r#   r$   r0   r1   r   r
   rp   r  r   r3   r4   r5   r  r6   r%   r7   rM   r;   r`   s           r   test_td64arr_div_tdlike_scalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar  s     BH__rzz#h	>>>")B--!+r1%PPPoc3''?8T22y
)))Sx<
)))))r   m)r    rY   rL   r   )rQ   r   r  r   msr  r   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>   rY   r!   c                 @    g | ]}|t          j                  z  S rv   )r0   r   r<  r   r  r   s     r   r>  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 rv   )r   r0   r   r  s     r   r>  zPTestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar.<locals>.<listcomp>  s2    PPPa9R^At%<%<==APPPr   )r#   r$   r0   r1   r   r   r*  r   r3   r   r4   )
r5   r  r   r6   r%   r7   rB   flatr;   r`   s
    ``       r   test_td64arr_div_td64_scalarz<TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_scalar  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 )	NrK   r   r   r   r	  r@   r   r    )r#   r$   r0   r1   r   r   r
   r*  r  r   r3   r4   r
  s           r   'test_td64arr_div_tdlike_scalar_with_natzGTestTimedeltaArraylikeMulDivOps.test_td64arr_div_tdlike_scalar_with_nat  s     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 )	NrK   r   r	  r@   r   )r!   r-   r!   zm8[h]r    )r#   r$   r0   r1   r   r   r
   r*  r  r   r3   r4   rq   rs   rn   )r5   r6   r%   r7   rM   r;   r9   r`   s           r   test_td64arr_div_td64_ndarrayz=TestTimedeltaArraylikeMulDivOps.test_td64arr_div_td64_ndarray  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 )NrK   r   )r    r!   rY   r-   z0Cannot divide vectors|Unable to coerce to Seriesr!   rZ   )
r   r   r   r3   r0   r$   r
   r]   r^   r   )r5   r6   rM   
mismatchedra   r   r9   s          r   test_tdarr_div_length_mismatchz>TestTimedeltaArraylikeMulDivOps.test_tdarr_div_length_mismatch2  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  rY   r.   r    F	transposer   rZ  r[  r!   r   rY  r   r  )r    r   )r   insertr   r   r3   r0   r$   rs   r
   r   r   r   r2   r4   r   r  )r5   r6   origr8   r9   r:   r;   s          r   !test_td64_div_object_mixed_resultzATestTimedeltaArraylikeMulDivOps.test_td64_div_object_mixed_result@  s    w2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   zno fp exception support in wasm)reasonc                    |}|t           j        u rt          j        n|}t	          g dd          }t	          g dd          }t          j        ||          }t          j        ||          }t          j        ddt          j        gt          j                  }t          j        ||          }t          j	        t          |t           j        u d          5  ||z  }d d d            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    r7  r   )r$  r%  NrY  F)check_stacklevel)r#   r$   r0   r1   r   r   r3   r*  r  maybe_produces_warningRuntimeWarningr4   asarray)r5   r6   r%   r7   r|   r}   r;   r`   s           r   &test_td64arr_floordiv_td64arr_with_natzFTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_td64arr_with_natb  s     BH__rzz#(((0ABBB+++3DEEEtS))s++8S#rv.bjAAA?8T22&C28Oe
 
 
 	# 	# U]F	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#
 	))) &C28Oe
 
 
 	/ 	/ Z%%.F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	)))))s$   C++C/2C/3EEE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$   r0   r1   r   r   r   r   r3   r*  r4   __rfloordiv__)	r5   r6   	scalar_tdr%   r7   r   td1r;   r`   s	            r   test_td64arr_floordiv_tdscalarz>TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_tdscalar  s     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 )NrX   r   r   r    z@floor_divide cannot use operands|Cannot divide int by Timedelta*rZ   r  )r5   r6   r   r`   patterns        r   test_td64arr_floordiv_intz9TestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_int  s    RYq88899oc>22
$$$T]9G444 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   0BB
Bc                    t          dd          }t          j        ||          }t          g ddz            }t          j        ||          }t	          |t
          j                  rd}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   t          j        t          |          5  t          ||           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 S ||z  }t          j        ||           |t          u r5t	          |t          j                  r|                    t                     }nd}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 DaysrY   r(  rZ   Fr    r   )r   r   r3   r   r   r   r   r]   r^   r_   divmodr4   r   r#   
DateOffsetrq   rs   r   )	r5   r   r6   
three_daysr8   rf  r;   ra   r`   s	            r   test_td64arr_mod_tdscalarz9TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_tdscalar  s    gx00^44!"?"?"?!"CDD?8^<<j'+.. 	,Cy444 # #
""# # # # # # # # # # # # # # #y444 * *uj)))* * * * * * * * * * * * * * *y444 $ $##$ $ $ $ $ $ $ $ $ $ $ $ $ $ $F#
)))Y&&:j"-+P+P&  v..HH"''(;<< 	/ 	/E:..F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	q	8,,,
q	5J#677777sH   BBB>CC"CDDDF++F/2F/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 nsrL   r.   z0 nsrX   r!   zCannot divide int byrZ   r    r   )	r   r   r3   r   r4   r]   r^   r_   r8  )r5   r6   r8   rf  r;   r`   ra   s          r   test_td64arr_mod_intz4TestTimedeltaArraylikeMulDivOps.test_td64arr_mod_int  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          dd          }t          j        ||          }g ddgdz  z   }t          |          }t          j        ||          }t	          |t
          j                  r<d}t          j        t          |          5  ||z   d d d            n# 1 swxY w Y   d S ||z  }t          j
        ||           t          ||          }t          j
        |d         |           t          j
        |d	         ||z             d S )
Nr  r6  )r7  r  r7  z3 Days   z#Cannot divide Day by TimedeltaArrayrZ   r    r   )r   r   r3   r   r   r   r   r]   r^   r_   r4   r8  )r5   r6   r:  r8   rf  r;   ra   r`   s           r   test_td64arr_rmod_tdscalarz:TestTimedeltaArraylikeMulDivOps.test_td64arr_rmod_tdscalar  sK   gx00^44000H:>A!(++?8^<<j'+.. 	7Cy444 # #U""# # # # # # # # # # # # # # #Fe#
)))
E**
q	8,,,
q	:#677777s   BB"%B"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 NrX   rY   rE  r!   z(operate|unsupported|cannot|not supportedrZ   
r   r   r0   r*  r  r   r3   r]   r^   r_   )r5   r6   r/  r0  r3  s        r   !test_td64arr_mul_tdscalar_invalidzATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_tdscalar_invalid  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 )
NrX   r   r   rw  )r  z$Cannot multiply with unequal lengthszUnable to coerce to SeriesrZ   rY   r    r!   )r   r0   rp   r   r3   ry  r]   r^   r_   r   r$   r5   r6   r   ra   s       r   !test_td64arr_mul_too_short_raiseszATestTimedeltaArraylikeMulDivOps.test_td64arr_mul_too_short_raises  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 )NrX   r   r   r  rZ   )r   r0   rp   r   r3   r]   r^   r_   rG  s       r   test_td64arr_mul_td64arr_raisesz?TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_td64arr_raises  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 )Nr  r?  r   )-59 DaysrL  r   r7  )118 DaysrM  r   r!   )r   r   r3   r4   )r5   r6   r  rj  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!   r[  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 Nr  r?  r   )29.5DrR  r   r7  r  rZ   r   r   r3   r4   r]   r^   r_   r5   r6   rO  rj  r;   r`   s         r   test_td64arr_div_numeric_scalarz?TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_scalar6  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 rQ  rS  rT  s         r   $test_td64arr_floordiv_numeric_scalarzDTestTimedeltaArraylikeMulDivOps.test_td64arr_floordiv_numeric_scalarF  s    444HEEE333;LMMM~66?8^<<#
)))]9O<<< 	 	5LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	rV  klassc                     | j         S r   rc   r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>W      aj r   c                 r    |g d          }t          g dd          }|                    |          }t          g dd          }t          j        ||          }t	          ||          }t          j        ||          }||z  }t          j        ||           ||z  }t          j        ||           d S )N   r&  (   r  r?  r   )z	1180 Daysz	1770 Daysr   r7  )r   rq   r   r3   r   r4   )	r5   r6   rY  r  r  rj  r;   r7   r`   s	            r   test_td64arr_rmul_numeric_arrayz?TestTimedeltaArraylikeMulDivOps.test_td64arr_rmul_numeric_arrayT  s     |||$$444HEEE344;;;CTUUU~66eV,,?8T22
)))%
)))))r   c                     | j         S r   r[  r  s    r   r  z(TestTimedeltaArraylikeMulDivOps.<lambda>v  r\  r   c                   	  |g d          	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        dd                    |d<   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 )Nr^  r  r?  r   )z2.95Dz
1D 23h 12mr   r7  rw  )z!true_divide'? cannot use operandszcannot perform __div__zcannot perform __truediv__zunsupported operandr  z-ufunc 'divide' cannot use operands with typesrZ   c                 @    g | ]}j         d |f         |         z  S )r   )r  r<  r  rj  r  s     r   r>  zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>  s-    QQQ
1a4(6!94QQQr   r!   r   r   c                 2    g | ]}|         |         z  S rv   rv   re  s     r   r>  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   r0   r   )r<  r   s     r   r>  zRTestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_array.<locals>.<listcomp>  s=       GHQc\\r~eT'B'B  r   )r   rq   r   r3   r   r4   ry  r]   r^   r_   rs   r   ro   r  fillnar0   r   r"   )
r5   r6   rY  r  r;   r7   r`   r3  rj  r  s
           @@r   test_td64arr_div_numeric_arrayz>TestTimedeltaArraylikeMulDivOps.test_td64arr_div_numeric_arrays  s    |||$$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"1+,,R^E4-H-HIIHQKKH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))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s$   C##C'*C'I99I= I=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!   rY   r-   r    r   )rl  rm  rp  9days16daysrX  )	r(   r   r   r0   r   r   r3   r   r4   )
r5   r6   r&   r%   r'   r8   rB   r;   r7   r`   s
             r   test_td64arr_mul_int_seriesz;TestTimedeltaArraylikeMulDivOps.test_td64arr_mul_int_series  s    "3..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 )
Nrk  r   r   )rZ  rY   g      @r?  g      @r    r   r!   c                 2    g | ]}|         |         z  S rv   rv   )r<  r  rB   r8   s     r   r>  zRTestTimedeltaArraylikeMulDivOps.test_float_series_rdiv_td64arr.<locals>.<listcomp>  s%    666SVc!f_666r   rX  )r   r   r0   r  r   r"   r#   r$   ro   r  r3   r   __rtruediv__r   NotImplementedr4   )
r5   r6   r&   r%   xnamer;   r7   r`   rB   r8   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d          }t          j        ||          }t	          j        ddgt                    }t	          j        dd          }t          |gdz  t                    }|t          urRt          j        ||          	                    t                    }|t          t          fv r|                    |          }||z  }t          j        ||           ||z  }t          j        ||           d S )Nr?  r   r!   r[  r   r   )r   r   r   r3   r0   r$   rs   r   r
   rq   r   r   rh  r4   )r5   r6   r8   r|   r}   r  r;   r`   s           r   -test_td64arr_all_nat_div_object_dtype_numericzMTestTimedeltaArraylikeMulDivOps.test_td64arr_all_nat_div_object_dtype_numeric  s    c3Zx888sN33!S000ud++%1F333&&x@@GGOOH&)!444#??511
)))
)))))r   N)<rc   rd   re   r  r  r  r  r  r  r]   rf   rg   r0   rp   r
   r   ro   uint64r  r#   
RangeIndexr  r  boolparamr   
skip_if_nor  r  r  r  r  r  r  r  r  r  r!  skipifr   r+  filterwarningsr1  r4  r;  r=  r@  rD  rH  rJ  rN  r$   rU  rX  r   ra  ri  rs  ry  r{  rv   r   r   r  r    s       % % %  	* 	* 	*	* 	* 	** * ** * * [BIaE)")Ar""BH--E%%2,,	**E%%2,,
++BM!R  	
 '&  
 
+ +
 
+    [FLi0H0HIII	
   , [FL)y1I1IJJJ	
 * * *(  0* * *&	 	 	* * *$ [S***--[V%K%K%KLL* * ML .-*** * *"$* $* $*L     > > >D [%FGG* * HG*8 [ QRR* * SR*4  "8 "8 "8H/ / /$8 8 80  # # #   * * *, [UQXRXa[[("(3--$HII  JI [UQXRXa[[("(3--$HII  JI [	5&!     
* * 
*4 [	5&!     
2* 2* 
2*h* * *:. . .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 rB  rC  )r5   r/  r6   r0  r3  s        r   test_td64arr_pow_invalidz;TestTimedelta64ArrayLikeArithmetic.test_td64arr_pow_invalid  s@   i15556:;;foc>22
 =]9G444 	 	sNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]9G444 	 	NN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	rE  N)rc   rd   re   r  rv   r   r   r  r    s#        
    r   r  c                      t          d          t          ddd          z   } t          fdt          d          D                       }t	          j        | |           d S )NrG   0srW     r.   c           	          g | ]H}t          j        d           |z  t          j        d          t          |d          d         z  z   z   IS )z	0.033333sz	0.000001srY   r   )r#   r  r8  )r<  r=  	timestamps     r   r>  z3test_add_timestamp_to_timedelta.<locals>.<listcomp>	  sf     	
 	
 	
  ,,q0/+..1a@A	
 	
 	
r   )r   r   r	   ro   r   r   )r`   r;   r  s     @r   test_add_timestamp_to_timedeltar  	  s    ,''ItR@@@@F	
 	
 	
 	
 2YY	
 	
 	
	 	H &(+++++r   ).r   r   numpyr0   r]   pandas._libs.tslibsr   pandas.compatr   pandas.errorsr   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr#   r   r	   r
   r   r   r   r   r   r   r   pandas._testing_testingr   pandas.core.arraysr   pandas.tests.arithmetic.commonr   r   r   r   r(   r*   rx   r   r  r"  r  r  r  rv   r   r   <module>r     s         
      ) ) ) ) ) )       - - - - - - ) ) ) ) ) ) ) ) )                                  2 2 2 2 2 2         # # #	 	 	 h h h h h h h hV`1 `1 `1 `1 `1 `1 `1 `1Nk# k# k# k# k# k# k# k#\@+ @+ @+ @+ @+ @+ @+ @+Fa* a* a* a* a* a* a* a*HN* N* N* N* N* N* N* N*b       ,, , , , ,r   