Ë
    èÿæiÅ¬  ã                   óº  — d Z ddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZ ddlmZ ddlmZmZ ddlmZ ddlmZmZmZ ddlmZmZ  ej4                  d	«      Z ej4                  d
«      Zd„ ZdZdZeez   Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d „ Z3 G d!„ d"e«      Z4ejj                  Z6ejn                  Z8 G d#„ d$e«      Z9 G d%„ d&e«      Z: G d'„ d(e:«      Z; G d)„ d*e«      Z< G d+„ d,e<«      Z= G d-„ d.e«      Z> G d/„ d0e«      Z? G d1„ d2e«      Z@ G d3„ d4e«      ZA G d5„ d6e«      ZBeCd7k(  r ejˆ                  «        yy)8z0
Test np.datetime64 and np.timedelta64 support.
é    N)ÚjitÚ	vectorizeÚnjit)Únumpy_version)ÚtypesÚconfig)ÚTypingError)ÚTestCaseÚtagÚskip_parfors_unsupported)Únpdatetime_helpersÚnumpy_supportztimedelta64[M]ztimedelta64[Y]c                 óX   — t        j                  | j                  «      }|j                  S ©N)r   Ú
from_dtypeÚdtypeÚunit)ÚvalÚtys     úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_npdatetime.pyÚ
value_unitr      s   € Ü	×	!Ñ	! #§)¡)Ó	,€BØ�7‰7€Nó    )ÚYÚM)ÚWÚDÚhÚmÚsÚmsÚusÚnsÚpsÚfsÚasc                 ó   — | |z   S r   © ©ÚxÚys     r   Úadd_usecaser+   %   ó   € Øˆq‰5€Lr   c                 ó   — | |z
  S r   r'   r(   s     r   Úsub_usecaser.   (   r,   r   c                 ó   — | |z  S r   r'   r(   s     r   Úmul_usecaser0   +   r,   r   c                 ó   — | |z  S r   r'   r(   s     r   Údiv_usecaser2   .   r,   r   c                 ó   — | |z  S r   r'   r(   s     r   Úfloordiv_usecaser4   1   ó   € Ø�‰6€Mr   c                 ó   — | |k(  S r   r'   r(   s     r   Ú
eq_usecaser7   4   r5   r   c                 ó   — | |k7  S r   r'   r(   s     r   Ú
ne_usecaser9   7   r5   r   c                 ó   — | |k  S r   r'   r(   s     r   Ú
lt_usecaser;   :   r,   r   c                 ó   — | |k  S r   r'   r(   s     r   Ú
le_usecaser=   =   r5   r   c                 ó   — | |kD  S r   r'   r(   s     r   Ú
gt_usecaser?   @   r,   r   c                 ó   — | |k\  S r   r'   r(   s     r   Ú
ge_usecaserA   C   r5   r   c                 ó   — | ­S r   r'   ©r)   s    r   Úpos_usecaserD   F   ó	   € Øˆ2€Ir   c                 ó   — |  S r   r'   rC   s    r   Úneg_usecaserG   I   rE   r   c                 ó   — t        | «      S r   )ÚabsrC   s    r   Úabs_usecaserJ   L   ó   € Üˆq‹6€Mr   c                 ó   — t        | «      S r   )ÚhashrC   s    r   Úhash_usecaserN   O   s   € Ü�‹7€Nr   c                 ó   — t        | |«      S r   ©Úminr(   s     r   Úmin_usecaserR   R   ó   € Üˆq�!‹9Ðr   c                 ó   — t        | |«      S r   ©Úmaxr(   s     r   Úmax_usecaserW   U   rS   r   c                 ó   — t        | «      S r   )ÚintrC   s    r   Úint_cast_usecaserZ   X   rK   r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó   •— | ‰z   S r   r'   )r)   Úconsts    €r   Úadd_constantz'make_add_constant.<locals>.add_constant\   s   ø€ Ø�5‰yÐr   r'   )r]   r^   s   ` r   Úmake_add_constantr_   [   s   ø€ ôàÐr   c                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestModuleHelpersz?
    Test the various helpers in numba.npdatetime_helpers.
    c                 óÞ  ‡ ‡— t         j                  Št        j                  t        t
        «      D ];  \  }}‰ j                   ‰||«      ||f«       ‰ j                   ‰||«      ||f«       Œ= t        D ]2  }‰ j                   ‰|d«      «       ‰ j                   ‰d|«      «       Œ4 t        dz   D ]  }‰ j                   ‰||«      «       Œ ˆˆ fd„} |t        «        |t
        «       y )NÚ ©rc   c                 ó    •— t        | «      D ]?  \  }}| d | D ]2  }‰j                   ‰||«      «       ‰j                   ‰||«      «       Œ4 ŒA y r   )Ú	enumerateÚ
assertTrueÚassertFalse©ÚgroupÚiÚaÚbÚfÚselfs       €€r   Úcheck_units_groupzDTestModuleHelpers.test_can_cast_timedelta.<locals>.check_units_groupq   sL   ø€ Ü! %Ö(‘��1Ø˜r ›�Aà—O‘O¡A a¨£GÔ,à×$Ñ$¡Q q¨!£WÕ-ñ	 #ñ )r   )	r   Úcan_cast_timedelta_unitsÚ	itertoolsÚproductÚ
date_unitsÚ
time_unitsrh   Ú	all_unitsrg   )ro   rl   rm   r   rp   rn   s   `    @r   Útest_can_cast_timedeltaz)TestModuleHelpers.test_can_cast_timedeltaf   sÉ   ù€ Ü×7Ñ7ˆÜ×%Ñ%¤j´*Ö=‰DˆAˆqØ×Ñ™Q˜q !›W q¨! fÔ-Ø×Ñ™Q˜q !›W q¨! fÕ-ð >÷ ˆDØ×Ñ™Q˜t R›[Ô)Ø�O‰O™A˜b $›KÕ(ð ô  Ô%ˆDØ�O‰O™A˜d D›MÕ*ð &õ	.ñ 	œ*Ô%Ùœ*Õ%r   c                 ór  ‡ ‡— t         j                  Št        dz   D ]  }‰ j                   ‰||«      d«       Œ t        D ]  }‰ j                   ‰d|«      d«       Œ t	        j
                  t        t        «      D ]7  \  }}‰ j                   ‰||«      d «       ‰ j                   ‰||«      d «       Œ9 ˆˆ fd„} |t        «        |t        «       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd	«      d
«       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd«      d«       y )Nrd   é   rc   c                 óª   •— t        | «      D ]D  \  }}| d | D ]7  }‰j                   ‰||«      d||f«       ‰j                   ‰||«      d «       Œ9 ŒF y ©Nry   )rf   ÚassertGreaterÚassertIsri   s       €€r   rp   zFTestModuleHelpers.test_timedelta_conversion.<locals>.check_units_group†   sV   ø€ Ü! %Ö(‘��1Ø˜r ›�AØ×&Ñ&¡q¨¨A£w°°A°q°6Ô:Ø—M‘M¡! A q£'¨4Õ0ñ #ñ )r   r   r   é   r   r   é¨   r   i`'  r!   l     Ç!3)	r   Úget_timedelta_conversion_factorrv   ÚassertEqualrr   rs   ru   rt   r}   )ro   r   rl   rm   rp   rn   s   `    @r   Útest_timedelta_conversionz+TestModuleHelpers.test_timedelta_conversion|   s  ù€ Ü×>Ñ>ˆÜ Ô%ˆDØ×Ñ™Q˜t T›]¨AÕ.ð &çˆDØ×Ñ™Q˜r 4›[¨!Õ,ð ä×%Ñ%¤j´*Ö=‰DˆAˆqØ�M‰M™!˜A˜q›' 4Ô(Ø�M‰M™!˜A˜q›' 4Õ(ð >õ	1ñ 	œ*Ô%Ùœ*Ô%ð 	×Ñ™˜3 › bÔ)Ø×Ñ™˜3 › fÔ-Ø×Ñ™˜3 › kÔ2Ø×Ñ™˜3 ›Ð'BÕCr   c                 óR  ‡ ‡— t         j                  Šˆˆ fd„}t        j                  t        t
        «      D ]  \  }} |||«       Œ t        j                  t        t        «      D ]  \  }} ‰||«       Œ t        j                  t
        t        «      D ]  \  }} ‰||«       Œ t        j                  t
        t
        «      D ]  \  }} ‰||«       Œ t        D ]S  }‰ j                   ‰||«      |ddf«       ‰ j                   ‰|d«      |ddf«       ‰ j                   ‰d|«      d«       ŒU ‰ j                   ‰dd«      d«       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd«      d«       ‰ j                   ‰d	d
«      d«       ‰ j                   ‰d
d	«      d«       ‰ j                   ‰d	d«      d«       ‰ j                   ‰dd	«      d«       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd
«      d«       ‰ j                   ‰dd	«      d«       ‰ j                   ‰dd
«      d«       ‰ j                   ‰dd	«      d«       ‰ j                   ‰dd«      d«       ‰ j                   ‰dd«      d«       y )Nc                 ól   •— ‰j                  t        «      5   ‰| |«       d d d «       y # 1 sw Y   y xY wr   )ÚassertRaisesÚRuntimeError)Údt_unitÚtd_unitrn   ro   s     €€r   Úcheck_errorzFTestModuleHelpers.test_datetime_timedelta_scaling.<locals>.check_error—   s'   ø€ Ø×"Ñ"¤<Õ0Ù�'˜7Ô#÷ 1×0Ñ0ús   —
*ª3ry   rc   )rc   ry   ry   r   r   )r   r~   ry   )r   ry   r~   r   r   )r   é   ry   )r   ry   rŠ   r   )r   é€:	 ry   )r   ry   r‹   r%   )r%   ì     ÈNÎZory   )r%   ry   rŒ   )r   é±: é�  )r   r�   ið
  )r   r�   éÀ  )r   r�   i@ƒ  )r   ì   €YÀ` rŽ   )r   r�   r�   )r   Ú!get_datetime_timedelta_conversionrr   rs   ru   rt   rv   r�   )ro   r‰   r‡   rˆ   r   rn   s   `    @r   Útest_datetime_timedelta_scalingz1TestModuleHelpers.test_datetime_timedelta_scaling•   sc  ù€ Ü×@Ñ@ˆõ	$ô !*× 1Ñ 1´*¼jÖ IÑˆG�WÙ˜ Õ)ð !Jô !*× 1Ñ 1´*¼jÖ IÑˆG�WÙˆg�wÕð !Jä )× 1Ñ 1´*¼jÖ IÑˆG�WÙˆg�wÕð !Jä )× 1Ñ 1´*¼jÖ IÑˆG�WÙˆg�wÕð !J÷ ˆDØ×Ñ™Q˜t T›]¨T°1°a¨LÔ9Ø×Ñ™Q˜t R›[¨4°°A¨,Ô7Ø×Ñ™Q˜r 4›[¨*Õ5ð ð 	×Ñ™˜2˜r› JÔ/à×Ñ™˜3 › lÔ3Ø×Ñ™˜3 › lÔ3Ø×Ñ™˜3 › kÔ2Ø×Ñ™˜3 › kÔ2Ø×Ñ™˜3 ›Ð&=Ô>Ø×Ñ™˜3 ›Ð&=Ô>Ø×Ñ™˜3 ›Ð';Ô<Ø×Ñ™˜4 ›Ð';Ô<à×Ñ™˜3 ›Ð&@ÔAØ×Ñ™˜3 ›Ð&DÔEØ×Ñ™˜3 ›Ð&EÔFØ×Ñ™˜3 ›Ð&IÔJØ×Ñ™˜3 ›Ð&OÔPØ×Ñ™˜3 ›Ð&TÕUr   c                 óþ  — t         j                  }t        D ]M  }| j                   |||«      |«       | j                   |d|«      |«       | j                   ||d«      |«       ŒO | j                   |dd«      d«       t	        j
                  t        t        «      D ]  \  }}| j                   |||«      d «       Œ  t	        j
                  t        t        «      D ]  \  }}| j                   |||«      |«       Œ  y )Nrc   )	r   Ú combine_datetime_timedelta_unitsrv   r�   rr   rs   ru   rt   r}   )ro   rn   r   r‡   rˆ   s        r   Ú%test_combine_datetime_timedelta_unitsz7TestModuleHelpers.test_combine_datetime_timedelta_units¼   s×   € Ü×?Ñ?ˆßˆDØ×Ñ™Q˜t T›]¨DÔ1Ø×Ñ™Q˜r 4›[¨$Ô/Ø×Ñ™Q˜t R›[¨$Õ/ð ð 	×Ñ™˜2˜r› BÔ'Ü )× 1Ñ 1´*¼jÖ IÑˆG�WØ�M‰M™!˜G WÓ-¨tÕ4ð !Jä )× 1Ñ 1´*¼jÖ IÑˆG�WØ×Ñ™Q˜w¨Ó0°'Õ:ñ !Jr   c                 óæ  — t         j                  }t        D ]  }| j                   |||«      «       Œ d}d}t	        j
                  ||«      D ]  \  }}| j                   |||«      «       Œ t	        j
                  ||«      D ]  \  }}| j                   |||«      «       Œ t	        j
                  ||«      D ]5  \  }}| j                   |||«      «       | j                   |||«      «       Œ7 y )N)r   r   r   r   )	r   r   r   r    r!   r"   r#   r$   r%   )r   Ú	same_kindrv   rg   rr   rs   rh   )ro   rn   ÚuÚAÚBrl   rm   s          r   Útest_same_kindz TestModuleHelpers.test_same_kindÈ   sÐ   € Ü×(Ñ(ˆßˆAØ�O‰O™A˜a ›GÕ$ð à ˆØ?ˆÜ×%Ñ% a¨Ö+‰DˆAˆqØ�O‰O™A˜a ›GÕ$ð ,ä×%Ñ% a¨Ö+‰DˆAˆqØ�O‰O™A˜a ›GÕ$ð ,ä×%Ñ% a¨Ö+‰DˆAˆqØ×Ñ™Q˜q !›WÔ%Ø×Ñ™Q˜q !›WÕ%ñ ,r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rw   r‚   r’   r•   r›   r'   r   r   ra   ra   a   s#   „ ñò&ò,Dò2%VòN
;ó&r   ra   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMiscCompilingc                 ó¸   ‡ — ˆ fd„} t        j                  d«      t        j                  d«      t        j                  d«      «      } ||«       d} ||«       y )Nc                 óž   •—  t        | d¬«      t        «      }t        dd«      t        dd«      f}t        |Ž }‰j	                   ||Ž |«       y )NT©Únopythonry   r    é   r!   )r   r+   ÚDTÚTDÚassertPreciseEqual)Úsigrn   ÚargsÚexpectedro   s       €r   Ú_check_explicit_signaturezPTestMiscCompiling.test_jit_explicit_signature.<locals>._check_explicit_signatureÞ   sJ   ø€ Ø'”�C $Ô'¬Ó4ˆAä�a˜“;¤ 1 d£Ð+ˆDÜ" DÐ)ˆHØ×#Ñ#¡A t H¨hÕ7r   r!   r    z5NPDatetime('us')(NPDatetime('ms'), NPTimedelta('us')))r   Ú
NPDatetimeÚNPTimedelta©ro   r­   rª   s   `  r   Útest_jit_explicit_signaturez-TestMiscCompiling.test_jit_explicit_signatureÝ   sN   ø€ ô	8ð %Œe×Ñ˜tÓ$¤U×%5Ñ%5°dÓ%;¼U×=NÑ=NÈtÓ=TÓUˆÙ! #Ô&àEˆÙ! #Õ&r   c                 ó®   ‡ — ˆ fd„} t        j                  d«      t        j                  d«      t         j                  «      } ||«       d} ||«       y )Nc                 óŒ   •—  t        | gd¬«      t        «      }‰j                   |t        d«      d«      t        d«      «       y )NTr¤   r¦   é   é   )r   r0   r©   r¨   )rª   rn   ro   s     €r   r­   zVTestMiscCompiling.test_vectorize_explicit_signature.<locals>._check_explicit_signatureí   s8   ø€ Ø/”	˜3˜%¨$Ô/´Ó<ˆAð ×#Ñ#¡A¤b¨£e¨Q£K´°A³Õ7r   r   z)NPTimedelta('s')(NPTimedelta('s'), int64))r   r¯   Úint64r°   s   `  r   Ú!test_vectorize_explicit_signaturez3TestMiscCompiling.test_vectorize_explicit_signatureì   sG   ø€ ô	8ð %Œe×Ñ Ó$¤U×%6Ñ%6°sÓ%;¼U¿[¹[ÓIˆÙ! #Ô&à9ˆÙ! #Õ&r   c                 óV   ‡ — ˆ fd„} |t        d«      «        |t        dd«      «       y )Nc                 ó˜   •— t        | «      } t        d¬«      |«      }t        dd«      } ||«      }‰j                   ||«      |«       y ©NTr¤   é   r   ©r_   r   r¨   r©   ©r]   Úpyfuncrn   r)   r¬   ro   s        €r   Úcheckz7TestMiscCompiling.test_constant_datetime.<locals>.checkü   óF   ø€ Ü& uÓ-ˆFØ"”˜TÔ" 6Ó*ˆAÜ�1�c“
ˆAÙ˜a“yˆHØ×#Ñ#¡A a£D¨(Õ3r   z
2001-01-01ÚNaTr   )r§   ©ro   r¿   s   ` r   Útest_constant_datetimez(TestMiscCompiling.test_constant_datetimeû   s%   ø€ ô	4ñ 	Œb�ÓÔÙŒb�˜‹nÕr   c                 ó|   ‡ — ˆ fd„} |t        dd«      «        |t        dd«      «        |t        dd«      «       y )Nc                 ó˜   •— t        | «      } t        d¬«      |«      }t        dd«      } ||«      }‰j                   ||«      |«       y rº   r¼   r½   s        €r   r¿   z8TestMiscCompiling.test_constant_timedelta.<locals>.check  rÀ   r   r»   r   éüÿÿÿrÁ   )r¨   rÂ   s   ` r   Útest_constant_timedeltaz)TestMiscCompiling.test_constant_timedelta  s4   ø€ ô	4ñ 	Œb��C‹jÔÙŒb��S‹kÔÙŒb�˜‹nÕr   N)rœ   r�   rž   r±   r·   rÃ   rÇ   r'   r   r   r¡   r¡   Û   s   „ ò'ò'òó	r   r¡   c                   ó~   — e Zd Z ed¬«      Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestTimedeltaArithmeticT©Úforceobjc                 ó8   —  t        di | j                  ¤Ž|«      S ©Nr'   ©r   Újitargs©ro   r¾   s     r   r   zTestTimedeltaArithmetic.jit  ó   € Ø"ŒsÑ"�T—\‘\Ñ" 6Ó*Ð*r   c                 óü  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      t        d«      t        d«      «        |t        dd«      t        dd«      t        dd«      «        |t        dd«      t        dd«      t        dd«      «        |t        dd«      t        dd	«      t        d
d	«      «        |t        d«      t        d«      t        d«      «        |t        dd«      t        dd	«      t        dd«      «        |t        dd«      t        dd«      t        dd«      «       ‰ j                  t        t
        f«      5   ‰t        dd«      t        dd	«      «       d d d «       y # 1 sw Y   y xY w)Nc                 ój   •— ‰j                   ‰| |«      |«       ‰j                   ‰|| «      |«       y r   ©r©   ©rl   rm   r¬   rn   ro   s      €€r   r¿   z/TestTimedeltaArithmetic.test_add.<locals>.check  ó/   ø€ Ø×#Ñ#¡A a¨£G¨XÔ6Ø×#Ñ#¡A a¨£G¨XÕ6r   ry   r¦   r´   r   r!   iBB r   r   é	   rÁ   r    r   )r   r+   r¨   r…   Ú	TypeErrorr	   ©ro   r¿   rn   s   ` @r   Útest_addz TestTimedeltaArithmetic.test_add  s  ù€ Ø�H‰H”[Ó!ˆõ	7ñ 	Œb�‹e”R˜“UœB˜q›EÔ"ÙŒb��C‹jœ"˜Q ›*¤b¨¨C£jÔ1áŒb��C‹jœ"˜Q ›+¤r¨'°4Ó'8Ô9ÙŒb��C‹jœ"˜Q ›*¤b¨¨C£jÔ1áŒb�‹iœ˜A›¤ 5£	Ô*ÙŒb�˜‹nœb  C›j¬"¨U°C«.Ô9ÙŒb�˜‹nœb  D›k¬2¨e°T«?Ô;à×Ñ¤	¬;Ð7Õ8ÙŒb��C‹jœ"˜Q ›*Ô%÷ 9×8Ñ8úó   ÅE2Å2E;c                 óü  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      t        d«      t        d«      «        |t        dd«      t        dd«      t        dd«      «        |t        dd«      t        dd«      t        dd«      «        |t        dd«      t        dd	«      t        d
d	«      «        |t        d«      t        d«      t        d«      «        |t        dd«      t        dd	«      t        dd«      «        |t        dd«      t        dd«      t        dd«      «       ‰ j                  t        t
        f«      5   ‰t        dd«      t        dd	«      «       d d d «       y # 1 sw Y   y xY w)Nc                 ól   •— ‰j                   ‰| |«      |«       ‰j                   ‰|| «      | «       y r   rÔ   rÕ   s      €€r   r¿   z/TestTimedeltaArithmetic.test_sub.<locals>.check-  s1   ø€ Ø×#Ñ#¡A a¨£G¨XÔ6Ø×#Ñ#¡A a¨£G¨h¨YÕ7r   r´   r¦   ry   r   r!   i¾Æ- r   r   é   rÁ   r    r   )r   r.   r¨   r…   rØ   r	   rÙ   s   ` @r   Útest_subz TestTimedeltaArithmetic.test_sub+  s  ù€ Ø�H‰H”[Ó!ˆõ	8ñ 	Œb�‹e”R˜“UœB˜q›EÔ"ÙŒb��C‹jœ"˜Q ›*¤b¨¨C£jÔ1áŒb��C‹jœ"˜Q ›+¤r¨'°4Ó'8Ô9ÙŒb��C‹jœ"˜Q ›*¤b¨¨C£jÔ1áŒb�‹iœ˜A›¤ 5£	Ô*ÙŒb�˜‹nœb  C›j¬"¨U°C«.Ô9ÙŒb�˜‹nœb  D›k¬2¨e°T«?Ô;à×Ñ¤	¬;Ð7Õ8ÙŒb��C‹jœ"˜Q ›*Ô%÷ 9×8Ñ8úrÛ   c                 óö  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      t        j                  d«      t        d«      «        |t        d«      dt        d«      «        |t        dd«      dt        dd«      «        |t        dd«      dt        dd«      «        |t        d«      dt        d	«      «        |t        d
«      dt        d«      «        |t        dd«      dt        dd«      «        |t        d
«      dt        d	«      «        |t        dd«      dt        dd«      «        |t        dd«      t        d«      t        dd«      «        |t        dd«      dt        dd«      «       y )Nc                 ój   •— ‰j                   ‰| |«      |«       ‰j                   ‰|| «      |«       y r   rÔ   rÕ   s      €€r   r¿   z/TestTimedeltaArithmetic.test_mul.<locals>.check@  rÖ   r   r´   r¦   rµ   r#   rÁ   rŠ   ç      ø?é
   éùÿÿÿiöÿÿÿg      ø¿Únanl            é   r   )r   r0   r¨   ÚnpÚuint32ÚfloatrÙ   s   ` @r   Útest_mulz TestTimedeltaArithmetic.test_mul>  s  ù€ Ø�H‰H”[Ó!ˆõ	7ñ
 	Œb�‹e”R—Y‘Y˜q“\¤2 a£5Ô)áŒb�‹e�Qœ˜1›ÔÙŒb��D‹k˜1œb  D›kÔ*ÙŒb�˜‹o˜q¤" U¨D£/Ô2áŒb�‹e�Sœ"˜R›&Ô!ÙŒb�‹f�cœ2˜c›7Ô#ÙŒb��D‹k˜4¤ C¨£Ô/ÙŒb�‹f�dœB˜r›FÔ#ÙŒb�˜‹o˜t¤R¨¨t£_Ô5ÙŒb��D‹kœ5 ›<¬¨E°4«Ô9áŒb�˜‹o˜r¤2 a¨£;Õ/r   c                 óº  ‡ ‡‡— ‰ j                  t        «      Š‰ j                  t        «      Šˆˆˆ fd„} |t        dd«      t	        j
                  d«      t        dd«      «        |t        d«      dt        d«      «        |t        dd«      dt        dd«      «        |t        dd«      dt        dd«      «        |t        dd«      d	t        dd«      «        |t        dd«      d	t        dd«      «        |t        d
«      dt        d«      «        |t        dd«      dt        dd«      «        |t        dd«      dt        dd«      «        |t        dd«      dt        dd«      «        |t        dd«      dt        dd«      «        |t        dd«      t        d«      t        dd«      «        |t        dd«      t        d«      t        dd«      «       y )Nc                 ój   •— ‰j                   ‰| |«      |«       ‰j                   ‰| |«      |«       y r   rÔ   )rl   rm   r¬   ÚdivÚfloordivro   s      €€€r   r¿   z/TestTimedeltaArithmetic.test_div.<locals>.checkW  s/   ø€ Ø×#Ñ#¡C¨¨1£I¨xÔ8Ø×#Ñ#¡H¨Q°£N°HÕ=r   éýÿÿÿr#   r¦   éÿÿÿÿr´   ry   rÁ   r   rŠ   g      à?é   rä   râ   rÆ   g      @g        rå   )r   r2   r4   r¨   rç   rè   ré   )ro   r¿   rí   rî   s   ` @@r   Útest_divz TestTimedeltaArithmetic.test_divT  sg  ú€ Ø�h‰h”{Ó#ˆØ—8‘8Ô,Ó-ˆö	>ñ
 	Œb��T‹lœBŸI™I a›L¬"¨R°«,Ô7áŒb�‹e�Qœ˜1›ÔÙŒb��T‹l˜Aœr " d›|Ô,ÙŒb�˜‹o˜q¤" U¨D£/Ô2ÙŒb��D‹k˜1œb ¨›oÔ.ÙŒb�˜‹o˜q¤" U¨D£/Ô2áŒb�‹e�Sœ"˜R›&Ô!ÙŒb��T‹l˜C¤ B¨£Ô.ÙŒb�˜‹o˜s¤B u¨d£OÔ4ÙŒb��D‹k˜3¤ 5¨$£Ô0ÙŒb�˜‹o˜s¤B u¨d£OÔ4ÙŒb��D‹kœ5 ›<¬¨E°4«Ô9ÙŒb�˜‹oœu U›|¬R°°t«_Õ=r   c                 óD  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        d«      t        d	«      t        d
«      «        |t        d«      t        d	«      t        d«      «        |t        d	«      t        d	«      t        d«      «        |t        d«      t        d«      t        d«      «        |t        d«      t        d«      t        d«      «        |t        d«      t        d	«      t        d«      «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       y # 1 sw Y   y xY w)Nc                 ó8   •— ‰j                   ‰| |«      |«       y r   rÔ   )rl   rm   r¬   rí   ro   s      €€r   r¿   z;TestTimedeltaArithmetic.test_homogeneous_div.<locals>.checkn  s   ø€ Ø×#Ñ#¡C¨¨1£I¨xÕ8r   rŠ   r´   g«ªªªªª@r!   r    gQFoËZc?g«ªªªª:¢@r   z+infrä   z-infrå   Únatry   r   r   )r   r2   r¨   ré   r…   rØ   r	   )ro   r¿   rí   s   ` @r   Útest_homogeneous_divz,TestTimedeltaArithmetic.test_homogeneous_divl  s!  ù€ Ø�h‰h”{Ó#ˆõ	9ñ 	Œb�‹e”R˜“U˜GÔ$ÙŒb��D‹kœ2˜a ›;¨
Ô3ÙŒb��D‹kœ2˜a ›;¨
Ô3ÙŒb�‹e”R˜“UœE &›MÔ*ÙŒb�‹f”b˜“eœU 6›]Ô+ÙŒb�‹e”R˜“UœE %›LÔ)áŒb�‹iœ˜A›¤ e£Ô-ÙŒb�‹e”R˜“Y¤ e£Ô-ÙŒb�‹iœ˜A›¤ e£Ô-à×Ñ¤	¬;Ð7Õ8Ù”�1�c“
œB˜q #›JÔ'÷ 9×8Ñ8ús   Å/FÆFc                 ó°  ‡ ‡‡— ‰ j                  t        «      Š‰ j                  t        «      Šˆˆˆ fd„} |t        d«      t        d«      d«        |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd	«      t        d
d«      d«        |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        d«      t        d«      d«       t        dk  r[ |t        dd	«      t        dd«      d«        |t        dd	«      t        dd«      d«        |t        dd«      t        dd«      d«       y ‰ j                  t        t        f«      5   ‰t        dd	«      t        dd«      «       d d d «       ‰ j                  t        t        f«      5   ‰t        dd	«      t        dd«      «       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)Nc                 ó4  •— |}| }t        j                  | «      st        j                  | «      rd}d}‰j                   ‰| |«      |«       ‰j                   ‰|| «      |«       ‰j                   ‰| |«      |«       ‰j                   ‰|| «      |«       y ©NFT©rç   Úisnatr©   )rl   rm   r¬   Úexpected_valÚnot_expected_valÚeqÚnero   s        €€€r   r¿   z1TestTimedeltaArithmetic.test_eq_ne.<locals>.checkƒ  sŒ   ø€ Ø#ˆLØ#+˜|Ðô �x‰x˜Œ{œbŸh™h qœkØ$�Ø#'Ð à×#Ñ#¡B q¨!£H¨lÔ;Ø×#Ñ#¡B q¨!£H¨lÔ;Ø×#Ñ#¡B q¨!£HÐ.>Ô?Ø×#Ñ#¡B q¨!£HÐ.>Õ?r   ry   r¦   FTr   iÐ  r    r   r~   r   ÚNat)ry   é   ém  r   in  rÁ   r   )r   r7   r9   r¨   r   r…   rØ   r	   )ro   r¿   rþ   rÿ   s   ` @@r   Ú
test_eq_nez"TestTimedeltaArithmetic.test_eq_ne€  sÈ  ú€ Ø�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆö	@ñ 	Œb�‹e”R˜“U˜EÔ"ÙŒb�‹e”R˜“U˜DÔ!ÙŒb��C‹jœ"˜Q ›* eÔ,ÙŒb��C‹jœ"˜Q ›* dÔ+ÙŒb��s‹mœR  3›Z¨Ô/ÙŒb��t‹nœb  C›j¨$Ô/ÙŒb��C‹jœ"˜R ›+ tÔ,áŒb�‹iœ˜E› DÔ)ÙŒb�˜‹oœr %¨›~¨tÔ4ÙŒb�‹iœ˜A› Ô&ä˜7Ò"Ù”"�Q˜“*œb  c›l¨EÔ2Ù”"�Q˜“*œb  c›l¨EÔ2á”"�U˜C“.¤" U¨C£.°$Õ7ð ×"Ñ"¤I¬{Ð#;Õ<Ù”2�a˜“:œr # s›|Ô,÷ =à×"Ñ"¤I¬{Ð#;Õ<Ù”2�a˜“:œr # s›|Ô,÷ =Ð<÷ =Ð<úç<Ð<ús   ÇI ÈIÉ I	ÉIc                 óT  ‡ ‡‡— ‰ j                  t        «      Š‰ j                  t        «      Šˆˆˆ fd„} |t        d«      t        d«      d«        |t        d«      t        d«      d«        |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        d	d«      d«        |t        d
«      t        d
«      d«        |t        d
d«      t        d
d«      d«        |t        d
«      t        d«      d«       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       y # 1 sw Y   ŒÍxY w# 1 sw Y   Œ˜xY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nc                 óÐ   •— |}| }t        j                  | «      st        j                  | «      rd}d}‰j                   ‰| |«      |«       ‰j                   ‰| |«      |«       y ©NFrú   )rl   rm   r¬   rü   rý   ÚgeÚltro   s        €€€r   r¿   z1TestTimedeltaArithmetic.test_lt_ge.<locals>.check®  s_   ø€ Ø#ˆLØ#+˜|Ðô �x‰x˜Œ{œbŸh™h qœkØ$�Ø#(Ð à×#Ñ#¡B q¨!£H¨lÔ;Ø×#Ñ#¡B q¨!£HÐ.>Õ?r   ry   r¦   TFr   r   é=   é<   r   r    ìûÿÿÿÿÿÿÿ r   r  r   rÁ   )r   r;   rA   r¨   r…   rØ   r	   )ro   r¿   r  r  s   ` @@r   Ú
test_lt_gez"TestTimedeltaArithmetic.test_lt_ge«  sø  ú€ Ø�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆö	@ñ 	Œb�‹e”R˜“U˜DÔ!ÙŒb�‹e”R˜“U˜EÔ"ÙŒb�‹e”R˜“U˜EÔ"ÙŒb��C‹jœ"˜Q ›* dÔ+ÙŒb��C‹jœ"˜Q ›* eÔ,ÙŒb��C‹jœ"˜Q ›* eÔ,ÙŒb��C‹jœ"˜R ›+ tÔ,ÙŒb��C‹jœ"˜R ›+ uÔ-áŒb�‹iœ˜E› EÔ*ÙŒb�˜‹oœr %¨›~¨uÔ5ÙŒb�‹iœ˜J›¨Ô.à×Ñ¤	¬;Ð7Õ8ÙŒr�!�S‹zœ2˜c 3›<Ô(÷ 9à×Ñ¤	¬;Ð7Õ8ÙŒr�!�S‹zœ2˜c 3›<Ô(÷ 9ð ×Ñ¤	¬;Ð7Õ8ÙŒr�%˜‹~œr %¨›~Ô.÷ 9à×Ñ¤	¬;Ð7Õ8ÙŒr�%˜‹~œr %¨›~Ô.÷ 9Ð8÷ 9Ð8úç8Ð8ú÷ 9Ð8úç8Ð8ús0   ÆI:ÇJÈJÉJÉ:JÊJÊJÊJ'c                 ó�  ‡ ‡‡— ‰ j                  t        «      Š‰ j                  t        «      Šˆˆˆ fd„} |t        d«      t        d«      d«        |t        d«      t        d«      d«        |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        dd«      d«        |t        dd«      t        d	d«      d«        |t        dd«      t        d
d«      d«        |t        d«      t        d«      d«        |t        dd«      t        dd«      d«        |t        d«      t        d«      d«       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       ‰ j	                  t
        t        f«      5   ‰t        dd«      t        dd«      «       d d d «       y # 1 sw Y   ŒÍxY w# 1 sw Y   Œ˜xY w# 1 sw Y   ŒcxY w# 1 sw Y   y xY w)Nc                 óÐ   •— |}| }t        j                  | «      st        j                  | «      rd}d}‰j                   ‰| |«      |«       ‰j                   ‰| |«      |«       y r  rú   )rl   rm   r¬   rü   rý   ÚgtÚlero   s        €€€r   r¿   z1TestTimedeltaArithmetic.test_le_gt.<locals>.checkÕ  s_   ø€ Ø#ˆLØ#+˜|Ðô �x‰x˜Œ{œbŸh™h qœkØ$�Ø#(Ð Ø×#Ñ#¡B q¨!£H¨lÔ;Ø×#Ñ#¡B q¨!£HÐ.>Õ?r   ry   r¦   TFr   r   r	  r
  é;   r   r    r  r   r  r   rÁ   )r   r=   r?   r¨   r…   rØ   r	   )ro   r¿   r  r  s   ` @@r   Ú
test_le_gtz"TestTimedeltaArithmetic.test_le_gtÒ  s  ú€ Ø�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆö
	@ñ 	Œb�‹e”R˜“U˜DÔ!ÙŒb�‹e”R˜“U˜DÔ!ÙŒb�‹e”R˜“U˜EÔ"ÙŒb��C‹jœ"˜Q ›* dÔ+ÙŒb��C‹jœ"˜Q ›* dÔ+ÙŒb��C‹jœ"˜Q ›* eÔ,ÙŒb��C‹jœ"˜R ›+ tÔ,ÙŒb��C‹jœ"˜R ›+ tÔ,ÙŒb��C‹jœ"˜R ›+ uÔ-áŒb�‹iœ˜E› DÔ)ÙŒb�˜‹oœr %¨›~¨tÔ4ÙŒb�‹iœ˜J›¨Ô.à×Ñ¤	¬;Ð7Õ8ÙŒr�!�S‹zœ2˜c 3›<Ô(÷ 9à×Ñ¤	¬;Ð7Õ8ÙŒr�!�S‹zœ2˜c 3›<Ô(÷ 9ð ×Ñ¤	¬;Ð7Õ8ÙŒr�%˜‹~œr %¨›~Ô.÷ 9à×Ñ¤	¬;Ð7Õ8ÙŒr�%˜‹~œr %¨›~Ô.÷ 9Ð8÷ 9Ð8úç8Ð8ú÷ 9Ð8úç8Ð8ús0   Æ.JÇ/J$È0J0É1J<ÊJ!Ê$J-Ê0J9Ê<Kc                 ó  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      «        |t        d«      «        |t        dd«      «        |t        dd«      «        |t        d«      «        |t        dd«      «       y )Nc                 ó8   •— ‰j                   ‰| «      | ­«       y r   rÔ   )rl   Úposro   s    €€r   r¿   z/TestTimedeltaArithmetic.test_pos.<locals>.checkû  ó   ø€ Ø×#Ñ#¡C¨£F¨Q¨BÕ/r   r´   rÆ   r    rÁ   )r   rD   r¨   )ro   r¿   r  s   ` @r   Útest_posz TestTimedeltaArithmetic.test_posù  ód   ù€ Ø�h‰h”{Ó#ˆõ	0ñ 	Œb�‹eŒÙŒb�‹fŒÙŒb��D‹kÔÙŒb��T‹lÔÙŒb�‹iÔÙŒb�˜‹oÕr   c                 ó  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      «        |t        d«      «        |t        dd«      «        |t        dd«      «        |t        d«      «        |t        dd«      «       y )Nc                 ó8   •— ‰j                   ‰| «      |  «       y r   rÔ   )rl   Únegro   s    €€r   r¿   z/TestTimedeltaArithmetic.test_neg.<locals>.check  r  r   r´   rÆ   r    rÁ   )r   rG   r¨   )ro   r¿   r  s   ` @r   Útest_negz TestTimedeltaArithmetic.test_neg  r  r   c                 ó  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„} |t        d«      «        |t        d«      «        |t        dd«      «        |t        dd«      «        |t        d«      «        |t        dd«      «       y )Nc                 óH   •— ‰j                   ‰| «      t        | «      «       y r   )r©   rI   ©rl   rn   ro   s    €€r   r¿   z/TestTimedeltaArithmetic.test_abs.<locals>.check  ó   ø€ Ø×#Ñ#¡A a£D¬#¨a«&Õ1r   r´   rÆ   r    rÁ   )r   rJ   r¨   rÙ   s   ` @r   Útest_absz TestTimedeltaArithmetic.test_abs  sd   ù€ Ø�H‰H”[Ó!ˆõ	2ñ 	Œb�‹eŒÙŒb�‹fŒÙŒb��D‹kÔÙŒb��T‹lÔÙŒb�‹iÔÙŒb�˜‹oÕr   c                 ó¨  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„}d}d}t        ||z   t        ft	        |«      z  t
        ft	        |«      z  z   «      D ]  \  }} | ||Ž «       Œ t        dk\  rU‰ j                  t        «      5 } ‰t        d«      «       d d d «       ‰ j                  dt        j                  «      «       y y # 1 sw Y   Œ0xY w)Nc                 ób  •— t         dk\  r„| j                  j                  dk(  ry ‰j                  j	                  dd«      r,‰j                   ‰| «      | j                  t        «      «       y ‰j                   ‰| «      t        | «      «       y ‰j                   ‰| «      t        | «      «       y )N©r¦   r¦   Útimedelta64r¥   F)	r   r   ÚnamerÏ   Úgetr©   ÚastyperY   rM   r  s    €€r   r¿   z0TestTimedeltaArithmetic.test_hash.<locals>.check  s‚   ø€ Ü Ò&ð
 —7‘7—<‘< =Ò0Øð
 —<‘<×#Ñ# J°Ô6Ø×+Ñ+©A¨a«D°!·(±(¼3³-Õ@à×+Ñ+©A¨a«D´$°q³'Õ:à×'Ñ'©¨!«¬d°1«gÕ6r   ))r´   )rÆ   )r´   r    )rÆ   r    )é   r   )r¦   r   )r¦   r   )r¦   r   )r´   r   )r  r   )é'  r   )éðØÿÿr   ©rÁ   )rÁ   r    )rÁ   r   )rð   ))Ú2014)Ú2016)Ú2000)ú2014-02)ú2014-03)ú2014-04)ú2016-02)ú
2000-12-31)ú
2014-01-16)ú
2014-01-05)ú
2014-01-07)ú
2014-01-06)ú
2014-02-02)ú
2014-02-27)ú
2014-02-16)ú
2014-03-01)ú2000-01-01T01:02:03.002Z)ú2000-01-01T01:02:03Zr,  r$  r´   zCan't hash generic timedelta64)r   rN   Úzipr¨   Úlenr§   r   r…   Ú
ValueErrorÚassertInÚstrÚ	exception)ro   r¿   ÚTD_CASESÚDT_CASESÚcaseÚtypÚraisesrn   s   `      @r   Ú	test_hashz!TestTimedeltaArithmetic.test_hash  s½   ù€ Ø�H‰H”\Ó"ˆõ	7ð&Bˆð9ˆô ˜X¨Ñ0Ü ˜U¤S¨£]Ñ2´b°U¼SÀ»]Ñ5JÑJöL‰IˆD�#á‘#�t�*ÕðLô ˜FÒ"Ø×"Ñ"¤:Ô.°&Ù”"�Q“%”÷ /à�M‰MÐ:¼CÀ×@PÑ@PÓ<QÕRð #ß.Ð.ús   ÂCÃCc                 óB  ‡ ‡‡— ‰ j                  ‰«      Šˆˆ ˆfd„}t        d«      t        d«      t        d«      t        d«      ft        dd«      t        dd«      t        dd«      t        dd«      ffD ])  }t        j                  ||«      D ]  \  }} |||«       Œ Œ+ y )Nc                 óF   •— ‰j                   ‰| |«       ‰| |«      «       y r   rÔ   ©rl   rm   rn   ro   Úusecases     €€€r   r¿   z4TestTimedeltaArithmetic._test_min_max.<locals>.checkH  ó   ø€ Ø×#Ñ#¡A a¨£G©W°Q¸«]Õ;r   r   ry   r¦   rÁ   r   )r   r¨   rr   rs   ©ro   rN  r¿   Úcasesrl   rm   rn   s   ``    @r   Ú_test_min_maxz%TestTimedeltaArithmetic._test_min_maxF  sŠ   ú€ Ø�H‰H�WÓˆö	<ô �‹U”B�q“Eœ2˜a›5¤" U£)Ð,Ü��3‹Zœ˜A˜s›¤R¨¨3£Z´°E¸3³Ð@ó
ˆEô "×)Ñ)¨%°Ö7‘��1Ù�a˜•ñ 8ñ	
r   c                 ó.   — | j                  t        «       y r   ©rR  rR   ©ro   s    r   Útest_minz TestTimedeltaArithmetic.test_minR  ó   € Ø×Ñœ;Õ'r   c                 ó.   — | j                  t        «       y r   ©rR  rW   rU  s    r   Útest_maxz TestTimedeltaArithmetic.test_maxU  rW  r   N)rœ   r�   rž   ÚdictrÏ   r   rÚ   rß   rê   rò   rö   r  r  r  r  r  r!  rJ  rR  rV  rZ  r'   r   r   rÉ   rÉ     sa   „ á˜DÔ!€Gò+ò&ò&&ò&0ò,>ò0(ò()-òV%/òN%/òN
ò
ò
ò'SòR
ò(ó(r   rÉ   c                   ó$   — e Zd Z ed¬«      Zd„ Zy)ÚTestTimedeltaArithmeticNoPythonTr¤   c                 ó\  ‡ ‡— ‰ j                  t        «      Šˆˆ fd„}dD ]&  \  }} |t        ||«      j                  d«      «       Œ( dD ]"  } |t	        |«      j                  d«      «       Œ$ ‰ j                  t        d¬«      5   ‰t	        d«      «       d d d «       y # 1 sw Y   y xY w)	Nc                 óH   •— ‰j                   ‰| «      t        | «      «       y r   )r©   rY   r  s    €€r   r¿   z<TestTimedeltaArithmeticNoPython.test_int_cast.<locals>.check_  r   r   ))r´   r"   )rÆ   r"   )i0u  r"   )i ¦�ýr"   )ry   r   ztimedelta64[ns])r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  r7  r8  r9  r:  r;  r<  r=  r>  údatetime64[ns]z;Only datetime64[ns] can be converted, but got datetime64[y])Úmsgr-  )r   rZ   r¨   r(  r§   r…   r	   )ro   r¿   Údeltar   Útimern   s   `    @r   Útest_int_castz-TestTimedeltaArithmeticNoPython.test_int_cast]  s¡   ù€ Ø�H‰HÔ%Ó&ˆõ	2ó5‰MˆU�Dá”"�U˜D“/×(Ñ(Ð):Ó;Õ<ð5ó-ˆDñ
 ”"�T“(—/‘/Ð"2Ó3Õ4ð-ð ×Ñœ{ð 2AÐõ Cñ Œb�‹jŒM÷C÷ Cñ Cús   ÂB"Â"B+N)rœ   r�   rž   r[  rÏ   rd  r'   r   r   r]  r]  Y  s   „ á˜DÔ!€Gór   r]  c                   ór   — e Zd Z ed¬«      Zd„ Zej                  d„ «       Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zd
„ Zd„ Zy)ÚTestDatetimeArithmeticTrÊ   c                 ó8   —  t        di | j                  ¤Ž|«      S rÍ   rÎ   rÐ   s     r   r   zTestDatetimeArithmetic.jitw  rÑ   r   c              #   óž   K  — t        j                  «       5  t        j                  ddt        ¬«       d –— d d d «       y # 1 sw Y   y xY w­w)NÚignorez-Implicitly casting between incompatible kinds)ÚmessageÚcategory)ÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningrU  s    r   Úsilence_numpy_warningsz-TestDatetimeArithmetic.silence_numpy_warningsz  s;   è ø€ ô ×$Ñ$Õ&Ü×#Ñ# HØ,[Ü-?õAó ÷	 '×&Ñ&üs   ‚A—!A¸	AÁA
ÁAc                 óô	  ‡ ‡‡— ‰ j                  t        «      Š‰ j                  t        «      Šˆˆ ˆfd„} |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd	«      t        d
d	«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        dd	«      t	        dd	«      t        d
d	«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd	«      t        d«      «        |t        d«      t	        dd«      t        d«      «        |t        d«      t	        dd«      t        d «      «       d!D �]  }d"D �]  }t        ||z   «      }t	        dd«      t	        dd	«      t	        d#d«      t	        d$d«      t	        d%d«      t	        d&d«      t	        d#d	«      t	        d$d	«      t	        d%d	«      t	        d&d	«      t	        d#d«      t	        d$d«      t	        d%d«      t	        d&d«      fD ]`  }‰ j                   ‰||«      ||z   ||f«       ‰ j                   ‰||«      ||z   ||f«       ‰ j                   ‰|| «      ||z   ||f«       Œb �Œ �Œ  |t        d'«      t	        d«      t        d'«      «        |t        d'd(«      t	        dd«      t        d'd(«      «        |t        d'd(«      t	        dd«      t        d'd«      «        |t        d«      t	        d'd	«      t        d'd	«      «        |t        d)«      t	        d'd	«      t        d'd«      «        |t        d'd(«      t	        d'd«      t        d'd«      «       ‰‰fD ]„  }‰ j                  t        t        f«      5   |t        d*d)«      t	        d*d«      «       d+d+d+«       ‰ j                  t        t        f«      5   |t        d*d)«      t	        d*d«      «       d+d+d+«       Œ† y+# 1 sw Y   ŒMxY w# 1 sw Y   Œ�xY w),zQ
        Test `datetime64 + timedelta64` and `datetime64 - timedelta64`.
        c                 ó$  •— ‰j                  «       5  ‰j                   ‰| |«      || |f«       ‰j                   ‰|| «      || |f«       ‰j                   ‰| | «      || |f«       ‰j                  | |z   |«       d d d «       y # 1 sw Y   y xY wr   ©rp  r©   )rl   rm   r¬   Úaddro   Úsubs      €€€r   r¿   z<TestDatetimeArithmetic.test_add_sub_timedelta.<locals>.checkŠ  s…   ø€ Ø×,Ñ,Õ.Ø×'Ñ'©¨A¨q«	°8¸aÀ¸VÔDØ×'Ñ'©¨A¨q«	°8¸aÀ¸VÔDØ×'Ñ'©¨A°¨r«
°H¸qÀ!¸fÔEà×'Ñ'¨¨A©¨xÔ8÷ /×.Ñ.ús   ’A+BÂBr-  r¦   r   r.  r   r1  r´   r   r5  r»   r   r6  r/  r  r4  r0  r3  r2  z
2014-02-03r7  r9  r)  r<  z
2012-02-02z
2012-02-29z
2012-02-16r>  r   z2000-01-01T03:02:03Zr    r=  )Ú600Ú601Ú604Ú801Ú1900Ú1904Ú2200Ú2300Ú2304Ú2400Ú6001)rc   ú-01ú-12éd   r*  iœÿÿÿr+  rÁ   r   ú
2014-01-01ry   N)	r   r+   r.   r§   r¨   r�   r…   rØ   r	   )	ro   r¿   Údt_strÚ	dt_suffixÚdtÚtdrn   rt  ru  s	   `      @@r   Útest_add_sub_timedeltaz-TestDatetimeArithmetic.test_add_sub_timedelta„  sè  ú€ ð �h‰h”{Ó#ˆØ�h‰h”{Ó#ˆö	9ñ 	Œb�‹jœ"˜Q ›*¤b¨£jÔ1ÙŒb�‹jœ"˜Q ›*¤b¨£mÔ4ÙŒb�‹jœ"˜Q ›*¤b¨°sÓ&;Ô<ÙŒb�‹jœ"˜Q ›*¤b¨Ó&6Ô7ÙŒb�‹jœ"˜S #›,¬¨<Ó(8Ô9áŒb�‹mœR  3›Z¬¨I«Ô7ÙŒb�‹mœR  3›Z¬¨I«Ô7ÙŒb�‹mœR  3›Z¬¨LÓ)9Ô:áŒb�˜sÓ#¤R¨¨3£Z´°LÀ#Ó1FÔGáŒb�Ó¤ 2 s£¬R°Ó-=Ô>ÙŒb�Ó¤ 2 s£¬R°Ó-=Ô>ÙŒb�Ó¤ 1 c£
¬B¨|Ó,<Ô=áŒbÐ'Ó(¬"¨Q°«*´bÐ9OÓ6PÔQÙŒbÐ'Ó(¬"¨Q°«+´rÐ:TÓ7UÔVô'ˆFô 0�	Ü˜ Ñ*Ó+�Ü˜a ›:¤r¨!¨S£zÜ˜c 3›<¬¨E°3«Ü˜d C›=¬"¨V°S«/Ü˜c 3›<¬¨E°3«Ü˜d C›=¬"¨V°S«/Ü˜c 3›<¬¨E°3«Ü˜d C›=¬"¨V°S«/ó;�Bð ×$Ñ$¡S¨¨R£[°"°r±'¸BÀ¸8ÔDØ×$Ñ$¡S¨¨R£[°"°r±'¸BÀ¸8ÔDØ×$Ñ$¡S¨¨b¨S£\°2¸±7¸RÀ¸HÕEò;ò 0ð'ñ" 	Œb�‹iœ˜A›¤ 5£	Ô*ÙŒb�˜‹nœb  C›j¬"¨U°C«.Ô9ÙŒb�˜‹nœb  D›k¬2¨e°T«?Ô;ÙŒb�‹jœ"˜U C›.¬"¨U°C«.Ô9ÙŒb�Ó¤ 5¨#£´°5¸#³Ô?ÙŒb�˜‹nœb ¨›o¬r°%¸«Ô?ð �s“ˆAØ×"Ñ"¤I¬{Ð#;Õ<Ù”"�Q˜Ó%¤r¨!¨S£zÔ2÷ =à×"Ñ"¤I¬{Ð#;Õ<Ù”"�Q˜Ó%¤r¨!¨S£zÔ2÷ =Ð<ñ ß<Ð<úç<Ð<ús   Ñ8S"Ò9S.Ó"S+	Ó.S7	c                 óÎ   — g d¢}g d¢}t        j                  ||«      D ��cg c]  \  }}t        ||z   «      ‘Œ }}}||D �cg c]  }t        |d«      ‘Œ c}z  }|S c c}}w c c}w )N)rv  rw  rx  Ú1968Ú1969Ú1973r/  Ú2004Ú2005Ú2100r  Ú2401)rc   r�  r‚  z-02-28z-12-31z-01-05T12:30:56Zz-01-05T12:30:56.008Zr   )rr   rs   r§   )ro   Údt_yearsÚdt_suffixesrl   rm   Údtsr   s          r   Údatetime_samplesz'TestDatetimeArithmetic.datetime_samplesÅ  sn   € òCˆòCˆä'0×'8Ñ'8¸À;Ô'OÔPÑ'O™V˜a Œr�!�a‘%�yÐ'OˆÑPØ¡HÓ-¡H˜q”�1�c•
 HÑ-Ñ-ˆØˆ
ùó QùÚ-s   ¢AÁA"c                 óB  ‡ ‡— ‰ j                  t        «      Šdˆ ˆfd„	} |t        d«      t        d«      t        dd«      «        |t        d«      t        d«      t        d	d
«      «        |t        d«      t        d«      t        dd«      «        |t        dd
«      t        d«      t        dd
«      «        |t        dd
«      t        d«      t        dd«      «        |t        d«      t        d«      t        d«      «       ‰ j	                  «       5  ‰ j                  «       }t        j                  ||«      D ]M  \  }}t        j                  t        |«      t        |«      «      sŒ/‰ j                   ‰||«      ||z
  ||f«       ŒO 	 ddd«       y# 1 sw Y   yxY w)z1
        Test `datetime64 - datetime64`.
        Nc                 óö   •— ‰j                  «       5  ‰j                   ‰| |«      | |z
  | |f«       ‰j                   ‰|| «      || z
  | |f«       ‰j                  | |z
  |«       d d d «       y # 1 sw Y   y xY wr   rs  )rl   rm   r¬   ro   ru  s      €€r   r¿   z>TestDatetimeArithmetic.test_datetime_difference.<locals>.checkÓ  so   ø€ Ø×,Ñ,Õ.Ø×'Ñ'©¨A¨q«	°1°q±5¸1¸a¸&ÔAØ×'Ñ'©¨A¨q«	°1°q±5¸1¸a¸&ÔAà×'Ñ'¨¨A©¨xÔ8÷	 /×.Ñ.ús   ’AA/Á/A8r-  Ú2017rï   r   r0  z2017-01iÝÿÿÿr   z
2014-02-28z
2015-03-01i’þÿÿr   rÁ   r/  z
2000-01-01r   )r   r.   r§   r¨   rp  r•  rr   rs   r   r—   r   r©   )ro   r¿   r”  rl   rm   ru  s   `    @r   Útest_datetime_differencez/TestDatetimeArithmetic.test_datetime_differenceÎ  s7  ù€ ð �h‰h”{Ó#ˆö	9ñ 	Œb�‹jœ"˜V›*¤b¨¨S£kÔ2ÙŒb�‹mœR 	›]¬B¨s°C«LÔ9ÙŒb�Ó¤ <Ó 0´"°T¸3³-Ô@áŒb�˜‹nœb ›j¬"¨U°C«.Ô9ÙŒb�˜‹nœb Ó.´°5¸#³Ô?ÙŒb�‹iœ˜E›¤B u£IÔ.à×(Ñ(Õ*Ø×'Ñ'Ó)ˆCÜ!×)Ñ)¨#¨sÖ3‘��1Ü*×4Ñ4´ZÀ³]ÄJÈqÃMÔRØØ×'Ñ'©¨A¨q«	°1°q±5¸1¸a¸&ÕAñ 4÷ +×*Ñ*ús   ÄA7FÆFc           
      ó˜  ‡ ‡	‡
‡‡‡‡‡— ‰ j                  t        «      Š
‰ j                  t        «      Š‰ j                  t        «      Š‰ j                  t        «      Š‰ j                  t
        «      Š‰ j                  t        «      Šˆ
ˆˆˆˆˆˆ fd„Š	ˆ	ˆˆˆˆ fd„} ‰	t        d«      t        d«      d«        ‰	t        d«      t        d«      d«        ‰	t        d«      t        d«      d«        ‰	t        d«      t        dd	«      d«        ‰	t        d«      t        dd	«      d«        ‰	t        d«      t        dd	«      d«        ‰	t        d
«      t        dd	«      d«        ‰	t        dd«      t        dd«      d«        ‰	t        dd«      t        dd«      d«        |t        dd«      t        d«      d«        ‰	t        d«      t        d«      d«       ‰ j                  «       }|D ]Þ  }|j                  j                  j                  d«      d   d d }t        j                  |«      }t        ||dz    }|D ]‹  }|j                  d|z  «      }t        j                   t#        |«      t#        |«      «      sŒ@ ‰	||d«        |||t%        j&                  d|«      z   d«        ||t%        j&                  d|«      z
  |d«       Œ� Œà y )Nc                 ó,  •— |}| }t        j                  | «      st        j                  |«      rÜd}d}‰j                   ‰| |«      | |f«       ‰j                   ‰| |«      | |f«       ‰j                   ‰|| «      | |f«       ‰j                   ‰|| «      | |f«       ‰j                   ‰	| |«      | |f«       ‰j                   ‰| |«      | |f«       ‰j                   ‰	|| «      | |f«       ‰j                   ‰|| «      | |f«       ‰j                  «       5  ‰j	                   ‰| |«      || ||f«       ‰j	                   ‰|| «      || ||f«       ‰j	                   ‰
| |«      || ||f«       ‰j	                   ‰
|| «      || ||f«       |rØ‰j                   ‰| |«      | |f«       ‰j                   ‰| |«      | |f«       ‰j                   ‰|| «      | |f«       ‰j                   ‰|| «      | |f«       ‰j                   ‰	| |«      | |f«       ‰j                   ‰| |«      | |f«       ‰j                   ‰	|| «      | |f«       ‰j                   ‰|| «      | |f«       ‰j	                  | |k(  |«       d d d «       y # 1 sw Y   y xY wrù   )rç   rû   rh   rp  r©   rg   )rl   rm   r¬   rü   rý   rþ   r  r  r  r  rÿ   ro   s        €€€€€€€r   Úcheck_eqz9TestDatetimeArithmetic.test_comparisons.<locals>.check_eqò  sw  ø€ Ø#ˆLØ#+˜|Ðô �x‰x˜Œ{œbŸh™h qœkØ$�Ø#'Ð Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2Ø× Ñ ¡ A q£¨A¨q¨6Ô2à×,Ñ,Õ.Ø×'Ñ'©¨1¨a«°,ÀÀAÀxÐ@PÔQØ×'Ñ'©¨1¨a«°,ÀÀAÀxÐ@PÔQØ×'Ñ'©¨1¨a«Ð2BÀQÈÈ8ÐDTÔUØ×'Ñ'©¨1¨a«Ð2BÀQÈÈ8ÐDTÔUÙà—O‘O¡B q¨!£H¨q°!¨fÔ5Ø—O‘O¡B q¨!£H¨q°!¨fÔ5Ø—O‘O¡B q¨!£H¨q°!¨fÔ5Ø—O‘O¡B q¨!£H¨q°!¨fÔ5à×$Ñ$¡R¨¨1£X°°1¨vÔ6Ø×$Ñ$¡R¨¨1£X°°1¨vÔ6Ø×$Ñ$¡R¨¨1£X°°1¨vÔ6Ø×$Ñ$¡R¨¨1£X°°1¨vÔ6à×'Ñ'¨¨Q©°Ô=÷# /×.Ñ.ús   ÄE$J
Ê
Jc                 ó
  •— |}| }t        j                  | «      st        j                  |«      rd}d}‰
j                  «       5  ‰
j                  t        «      }‰
j                   || |«      || ||f«       ‰
j                   ‰|| «      || ||f«       ‰
j                   ‰| |«      || ||f«       ‰
j                   ‰	|| «      || ||f«       |r
 ‰| |d«       ‰
j                  | |k  |«       d d d «       y # 1 sw Y   y xY wr  )rç   rû   rp  r   r;   r©   )rl   rm   r¬   rü   rý   r  rœ  r  r  r  ro   s         €€€€€r   Úcheck_ltz9TestDatetimeArithmetic.test_comparisons.<locals>.check_lt  sù   ø€ Ø#ˆLØ#+˜|Ðô �x‰x˜Œ{œbŸh™h qœkØ$�Ø#(Ð à×,Ñ,Õ.Ø—X‘XœjÓ)�Ø×'Ñ'©¨1¨a«°,ÀÀAÀxÐ@PÔQØ×'Ñ'©¨1¨a«°,ÀÀAÀxÐ@PÔQØ×'Ñ'©¨1¨a«Ð2BÀQÈÈ8ÐDTÔUØ×'Ñ'©¨1¨a«Ð2BÀQÈÈ8ÐDTÔUÙá˜Q  5Ô)à×'Ñ'¨¨A©¨|Ô<÷ /×.Ñ.ús   ÁB+C9Ã9Dr-  r˜  Fz2014-01Tr„  r   z
2014-01-02r8  z2014-01-01T00:01:00Zr   z2014-01-01T00:01Zr   z2014-01-01T00:01:01ZrÁ   r   Ú[ry   rð   rµ   zM8[%s])r   r7   r9   r;   r=   r?   rA   r§   r•  r   rC  Úsplitrv   Úindexr(  r   r—   r   rç   r%  )ro   rž  r”  rl   Úa_unitrk   Úunitsr   rm   rœ  rþ   r  r  r  r  rÿ   s   `        @@@@@@@r   Útest_comparisonsz'TestDatetimeArithmetic.test_comparisonsé  sN  ÿ€ à�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆØ�X‰X”jÓ!ˆ÷#	>ò #	>÷J	=ð 	=ñ, 	”�F“œR ›Z¨Ô/Ù”�F“œR 	›]¨DÔ1Ù”�F“œR Ó-¨tÔ4Ù”�F“œR ¨cÓ2°DÔ9Ù”�I“¤ <°Ó 5°tÔ<á”�LÓ!¤2 l°CÓ#8¸%Ô@Ù”�LÓ!¤2 l°CÓ#8¸$Ô?á”Ð*¨CÓ0ÜÐ$ cÓ*¨Dô	2á”Ð*¨CÓ0ÜÐ$ cÓ*¨Eô	3ñ 	”�E˜3“¤ F£¨TÔ2Ù”�E“œB˜u›I tÔ,ð ×#Ñ#Ó%ˆÛˆAà—W‘W—[‘[×&Ñ& sÓ+¨AÑ.¨s°Ð3ˆFÜ—‘ Ó'ˆAÜ˜a  !¡Ð$ˆEÛ�à—H‘H˜X¨™_Ó-�Ü*×4Ñ4´ZÀ³]Ü5?À³]ôDàÙ˜˜A˜tÔ$Ù˜˜A¤§¡¨q°$Ó 7Ñ7¸Ô>Ù˜œRŸ^™^¨A¨tÓ4Ñ4°a¸Õ>ñ ñ r   c                 óJ  ‡ ‡‡— ‰ j                  ‰«      Šˆˆ ˆfd„}t        dd«      t        dd«      t        dd«      t        dd«      ft        dd«      t        dd«      t        dd«      t        dd«      ffD ])  }t        j                  ||«      D ]  \  }} |||«       Œ Œ+ y )Nc                 óF   •— ‰j                   ‰| |«       ‰| |«      «       y r   rÔ   rM  s     €€€r   r¿   z3TestDatetimeArithmetic._test_min_max.<locals>.checkQ  rO  r   r   r"   ry   r¦   rÁ   r   )r   r§   rr   rs   rP  s   ``    @r   rR  z$TestDatetimeArithmetic._test_min_maxO  s’   ú€ Ø�H‰H�WÓˆö	<ô ��4‹[œ"˜Q ›+¤r¨!¨T£{´B°u¸d³OÐDÜ��3‹Zœ˜A˜s›¤R¨¨3£Z´°E¸3³Ð@ó
ˆEô "×)Ñ)¨%°Ö7‘��1Ù�a˜•ñ 8ñ	
r   c                 ó.   — | j                  t        «       y r   rT  rU  s    r   rV  zTestDatetimeArithmetic.test_min[  rW  r   c                 ó.   — | j                  t        «       y r   rY  rU  s    r   rZ  zTestDatetimeArithmetic.test_max^  rW  r   N)rœ   r�   rž   r[  rÏ   r   Ú
contextlibÚcontextmanagerrp  r‰  r•  r™  r¤  rR  rV  rZ  r'   r   r   rf  rf  s  sR   „ á˜DÔ!€Gò+ð ×Ññó ðò?3òBòBò6d?òL
ò(ó(r   rf  c                   ó   — e Zd Z ed¬«      Zy)ÚTestDatetimeArithmeticNoPythonTr¤   N)rœ   r�   rž   r[  rÏ   r'   r   r   r¬  r¬  a  s   „ á˜DÔ!�Gr   r¬  c                   ó,   — e Zd ZdZdd„Zd„ Zdd„Zd„ Zy)ÚTestMetadataScalingFactorzf
    Tests than non-1 scaling factors are not supported in datetime64
    and timedelta64 dtypes.
    Nc                 ó�   — |€ddi} t        di |¤Žt        «      }| j                   |t        dd«      t        d«      «      «       y )NrË   Tr-  Ú10YÚ2010r'   )r   r7   rg   r§   ©ro   rÏ   rþ   s      r   Útest_datetimez'TestMetadataScalingFactor.test_datetimel  sA   € Øˆ?Ø! 4Ð(ˆGØŒS‰^�7‰^œJÓ'ˆØ�‰™œ2˜f eÓ,¬b°«jÓ9Õ:r   c                 óv   — | j                  «       5  | j                  ddi¬«       d d d «       y # 1 sw Y   y xY w©Nr¥   T)rÏ   )ÚassertTypingErrorr³  rU  s    r   Útest_datetime_npmz+TestMetadataScalingFactor.test_datetime_npmr  s0   € Ø×#Ñ#Õ%Ø×Ñ¨
°4Ð'8ÐÔ9÷ &×%Ñ%úó   ‘/¯8c           	      ó’   — |€ddi} t        di |¤Žt        «      }| j                   |t        dd«      t        dd«      «      «       y )NrË   Tr¦   r°  é   r   r'   )r   r7   rg   r¨   r²  s      r   Útest_timedeltaz(TestMetadataScalingFactor.test_timedeltav  sB   € Øˆ?Ø! 4Ð(ˆGØŒS‰^�7‰^œJÓ'ˆØ�‰™œ2˜a ›<¬¨B°«Ó5Õ6r   c                 óv   — | j                  «       5  | j                  ddi¬«       d d d «       y # 1 sw Y   y xY wrµ  )r¶  r»  rU  s    r   Útest_timedelta_npmz,TestMetadataScalingFactor.test_timedelta_npm|  s0   € Ø×#Ñ#Õ%Ø×Ñ¨°DÐ(9ÐÔ:÷ &×%Ñ%úr¸  r   )rœ   r�   rž   rŸ   r³  r·  r»  r½  r'   r   r   r®  r®  f  s   „ ñó
;ò:ó7ó;r   r®  c                   ó   — e Zd Zd„ Zy)ÚTestDatetimeDeltaOpsc                 ód  — d„ }|}t        |«      }t        j                  dt        «      t        j                  dt        «      ft        j                  dt        «      t        j                  dt        «      ft        j                  dt        «      t        j                  dt        «      ft        j                  dt        «      t        j                  dt        «      ft        j                  dt        «      dft        j                  dt        «      t        j                  dt        j
                  «      ft        j                  dt        «      t        j                  dt        j                  «      fg}|D ]8  \  }}| j                  t        j                   |||«       |||«      «      «       Œ: y)zC
        Test the division of a timedelta by numeric types
        c                 ó   — | |z  S r   r'   )rl   rm   s     r   Úarr_divz.TestDatetimeDeltaOps.test_div.<locals>.arr_div†  s   € Ø�q‘5ˆLr   r´   ry   N)	r   rç   ÚonesÚTIMEDELTA_MÚTIMEDELTA_Yr¶   Úfloat64rg   Úarray_equal)ro   rÂ  Úpy_funcÚcfuncÚ
test_casesrl   rm   s          r   rò   zTestDatetimeDeltaOps.test_div‚  s   € ò	ð ˆÜ�W“ˆä�W‰W�QœÓ$¤b§g¡g¨a´Ó&=Ð>Ü�W‰W�QœÓ$¤b§g¡g¨a´Ó&=Ð>Ü�W‰W�QœÓ$¤b§g¡g¨a´Ó&=Ð>Ü�W‰W�QœÓ$¤b§g¡g¨a´Ó&=Ð>Ü�W‰W�QœÓ$ aÐ(Ü�W‰W�QœÓ$¤b§g¡g¨a´·±Ó&:Ð;Ü�W‰W�QœÓ$¤b§g¡g¨a´·±Ó&<Ð=ð
ˆ
ó ‰DˆAˆqØ�O‰OœBŸN™N©7°1°a«=¹%ÀÀ1»+ÓFÕGñ r   N)rœ   r�   rž   rò   r'   r   r   r¿  r¿  �  s   „ óHr   r¿  c                   óÆ   — e Zd Zd„ Zd„ Zed„ «       Zd„ Zed„ «       Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Zed„ «       Zed„ «       Zd„ Zy)ÚTestDatetimeArrayOpsc           
      óø  ‡— ˆfd„}t        j                  t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      gd¬«      }t        j                  t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      gd¬«      }|} t        |¬	«      |«      }|t        j                  d
«      f|t        j                  d
«      f|t        j                  d«      f|t        j                  d«      fg}‰t         j
                  u ri|j                  t        j                  d
«      |ft        j                  d
«      |ft        j                  d«      |ft        j                  d«      |fg«       |D ]8  \  }	}
| j                  t        j                   ||	|
«       ||	|
«      «      «       Œ: y)zY
        Test the addition/subtraction of a datetime array with a timedelta type
        c                 ó   •—  ‰| |«      S r   r'   ©rl   rm   Ú	operations     €r   Úimplz6TestDatetimeArrayOps._test_td_add_or_sub.<locals>.implž  s   ø€ Ù˜Q “?Ð"r   ú
2011-01-01ú
1971-02-02ú
2021-03-03ú
2004-12-07r`  ©r   zdatetime64[D]©Úparalleléè  iã*ÿÿN)	rç   ÚarrayÚ
datetime64r   r%  rt  Úextendrg   rÇ  )ro   rÐ  rØ  rÑ  Úarr_oneÚarr_tworÈ  rÉ  rÊ  rl   rm   s    `         r   Ú_test_td_add_or_subz(TestDatetimeArrayOps._test_td_add_or_subš  s—  ø€ ô	#ô —(‘(ÜŸ™ lÓ3ÜŸ™ lÓ3ÜŸ™ lÓ3ÜŸ™ lÓ3ð	ð
 .ô/ˆô —(‘(ÜŸ™ lÓ3ÜŸ™ lÓ3ÜŸ™ lÓ3ÜŸ™ lÓ3ð	ð
 -ô.ˆð ˆØ'”˜hÔ'¨Ó-ˆà”b—n‘n TÓ*Ð+Ø”b—n‘n TÓ*Ð+Ø”b—n‘n VÓ,Ð-Ø”b—n‘n VÓ,Ð-ð	
ˆ
ð œŸ™ÑØ×ÑÜ—‘ Ó% wÐ/Ü—‘ Ó% wÐ/Ü—‘ Ó'¨Ð1Ü—‘ Ó'¨Ð1ð	ô ó ‰DˆAˆqØ�O‰OœBŸN™N©7°1°a«=¹%ÀÀ1»+ÓFÕGñ r   c                 óD   — | j                  t        j                  d«       y r  ©rß  rç   rt  rU  s    r   Útest_add_tdz TestDatetimeArrayOps.test_add_tdÀ  s   € Ø× Ñ ¤§¡¨Õ/r   c                 óD   — | j                  t        j                  d«       y ©NTrá  rU  s    r   Útest_add_td_parallelz)TestDatetimeArrayOps.test_add_td_parallelÃ  s   € à× Ñ ¤§¡¨Õ.r   c                 óD   — | j                  t        j                  d«       y r  ©rß  rç   ÚsubtractrU  s    r   Útest_sub_tdz TestDatetimeArrayOps.test_sub_tdÇ  s   € Ø× Ñ ¤§¡¨eÕ4r   c                 óD   — | j                  t        j                  d«       y rä  rç  rU  s    r   Útest_sub_td_parallelz)TestDatetimeArrayOps.test_sub_td_parallelÊ  s   € à× Ñ ¤§¡¨dÕ3r   c                 óZ  ‡— t         ˆfd„«       }‰j                  }t        j                  d|› d�«      }| j	                  t
        t        f|«      5   |t        j                  t        j                  d«      gd¬«      t        j                  dd«      «       d	d	d	«       y	# 1 sw Y   y	xY w)
z•
        Tests that attempting to add/sub a datetime64 and timedelta64
        with types that cannot be cast raises a reasonable exception.
        c                 ó   •—  ‰| |«      S r   r'   rÏ  s     €r   rÑ  z<TestDatetimeArrayOps._test_add_sub_td_no_match.<locals>.implÓ  s   ø€ á˜Q “?Ð"r   zufunc 'z<' is not supported between datetime64[ns] and timedelta64[M]rÒ  r`  rÖ  rÙ  r   N)r   rœ   ÚreÚescapeÚassertRaisesRegexr	   rØ   rç   rÚ  rÛ  r%  )ro   rÐ  rÑ  Úfnamer¬   s    `   r   Ú_test_add_sub_td_no_matchz.TestDatetimeArrayOps._test_add_sub_td_no_matchÎ  sš   ø€ ô
 
ó	#ó 
ð	#ð ×"Ñ"ˆÜ—9‘9 ¨ wð /Bð Bó Dˆà×#Ñ#¤[´)Ð$<¸hÕGÙÜ—‘œ"Ÿ-™-¨Ó5Ð7Ø/ô1ä—‘˜t CÓ(ô÷ H×GÑGús   ÁAB!Â!B*c                 óB   — | j                  t        j                  «       y r   )rò  rç   rt  rU  s    r   Útest_add_td_no_matchz)TestDatetimeArrayOps.test_add_td_no_matchá  s   € Ø×&Ñ&¤r§v¡vÕ.r   c                 óB   — | j                  t        j                  «       y r   )rò  rç   rè  rU  s    r   Útest_sub_td_no_matchz)TestDatetimeArrayOps.test_sub_td_no_matchä  s   € Ø×&Ñ&¤r§{¡{Õ3r   c                 ó   — t        j                  t        dd«      t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        d	d«      t        d
d«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        d	d«      t        d
d«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        d	d«      t        d
d«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        dd«      t        d	d«      t        d
d«      g«      t        j                  t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      t        dd«      t        dd«      g«      t        j                  t        dd«      g«      t        j                  t        dd«      t        dd«      t        dd«      g«      g}|S )Nr   r"   ry   r¦   r´   rÒ  rÓ  z
1900-01-01rÔ  rÕ  r   rÁ   r»   )rç   rÚ  r§   r¨   )ro   rÊ  s     r   Ú_get_testcasesz#TestDatetimeArrayOps._get_testcasesç  sû  € ä�H‰HÜ�1�d“Ü�1�d“Ü�1�d“Ü�1�d“ð	ó ô �H‰HÜ�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&ðó ô �H‰HÜ�< Ó%Ü�< Ó%Ü�< Ó%Ü�< Ó%Ü�< Ó%ðó ô �H‰HÜ�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&Ü�5˜$“ðó ô �H‰HÜ�5˜$“Ü�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&Ü�< Ó&ðó ô �H‰HÜ�< Ó&Ü�5˜$“ðó ô �H‰HÜ�5˜$“Ü�5˜$“Ü�5˜$“ðó ô
 �H‰HÜ�1�d“Ü�1�d“Ü�1�d“Ü�1�d“ð	ó ô �H‰HÜ�1�c“
Ü�1�c“
Ü�1�c“
Ü�1�c“
ð	ó ô �H‰HÜ�5˜$“Ü�1�d“Ü�1�d“Ü�1�d“Ü�1�d“ðó ô �H‰HÜ�1�d“Ü�1�d“Ü�1�d“Ü�1�d“Ü�5˜$“ðó ô �H‰HÜ�5˜$“ðó ô �H‰HÜ�5˜$“Ü�5˜$“Ü�5˜$“ðó ðWP
ˆ
ðb Ðr   c                 óÈ  ‡— |r‰t         j                  u rd„ }n	d„ }nˆfd„}|} t        |¬«      |«      }| j                  «       }|D ]—  } ||«      }	 ||«      }
t        j                  |	«      st        j                  |
«      rI| j                  t        j                  |	«      «       | j                  t        j                  |
«      «       Œ†| j                  |	|
«       Œ™ y )Nc                 ó"   — | j                  «       S r   rP   ©Úarrs    r   rÑ  z0TestDatetimeArrayOps._test_min_max.<locals>.impl>  ó   € ØŸ7™7›9Ð$r   c                 ó"   — | j                  «       S r   rU   rû  s    r   rÑ  z0TestDatetimeArrayOps._test_min_max.<locals>.implA  rý  r   c                 ó   •—  ‰| «      S r   r'   )rü  rÐ  s    €r   rÑ  z0TestDatetimeArrayOps._test_min_max.<locals>.implD  s   ø€ Ù  “~Ð%r   r×  )rç   rQ   r   rø  rû   rg   r�   )ro   rÐ  rØ  ÚmethodrÑ  rÈ  rÉ  rÊ  rü  Úpy_resÚc_ress    `         r   rR  z"TestDatetimeArrayOps._test_min_max;  s²   ø€ ÙØœBŸF™FÑ"ó%ó%ô&ð ˆØ'”˜hÔ'¨Ó-ˆà×(Ñ(Ó*ˆ
ÛˆCÙ˜S“\ˆFÙ˜#“JˆEÜ�x‰x˜Ô¤2§8¡8¨E¤?Ø—‘¤§¡¨Ó 0Ô1Ø—‘¤§¡¨£Õ0à× Ñ  ¨Õ/ñ r   c                 ó2   — | j                  t        dd«       y r  )rR  rQ   rU  s    r   Útest_min_funcz"TestDatetimeArrayOps.test_min_funcT  ó   € Ø×Ñœ3  uÕ-r   c                 óF   — | j                  t        j                  dd«       y r  ©rR  rç   rQ   rU  s    r   Útest_np_min_funcz%TestDatetimeArrayOps.test_np_min_funcW  ó   € Ø×Ñœ2Ÿ6™6 5¨%Õ0r   c                 óF   — | j                  t        j                  dd«       y rù   r  rU  s    r   Útest_min_methodz$TestDatetimeArrayOps.test_min_methodZ  ó   € Ø×Ñœ2Ÿ6™6 5¨$Õ/r   c                 ó2   — | j                  t        dd«       y r  )rR  rV   rU  s    r   Útest_max_funcz"TestDatetimeArrayOps.test_max_func]  r  r   c                 óF   — | j                  t        j                  dd«       y r  ©rR  rç   rV   rU  s    r   Útest_np_max_funcz%TestDatetimeArrayOps.test_np_max_func`  r	  r   c                 óF   — | j                  t        j                  dd«       y rù   r  rU  s    r   Útest_max_methodz$TestDatetimeArrayOps.test_max_methodc  r  r   c                 óF   — | j                  t        j                  dd«       y ©NTFr  rU  s    r   Útest_min_func_parallelz+TestDatetimeArrayOps.test_min_func_parallelf  ó   € à×Ñœ2Ÿ6™6 4¨Õ/r   c                 óF   — | j                  t        j                  dd«       y rä  r  rU  s    r   Útest_min_method_parallelz-TestDatetimeArrayOps.test_min_method_parallelj  ó   € à×Ñœ2Ÿ6™6 4¨Õ.r   c                 óF   — | j                  t        j                  dd«       y r  r  rU  s    r   Útest_max_func_parallelz+TestDatetimeArrayOps.test_max_func_paralleln  r  r   c                 óF   — | j                  t        j                  dd«       y rä  r  rU  s    r   Útest_max_method_parallelz-TestDatetimeArrayOps.test_max_method_parallelr  r  r   c           	      óÖ  ‡ — ddl m}m}m} |||g}|D �cg c]  }t	        |«      ‘Œ }}ˆ fd„}‰ j                  «       }t        ||«      D ]˜  \  }	}
|D ]Ž  }t        j                  |«      }t        dt        d|j                  «      dz   «      D ]Q  }t        j                  j                  d|j                  |«      }||   }|dk(  r|\  } ||	|
||«        ||	|
||«       ŒS Œ� Œš y c c}w )Nry   )ÚsearchsortedÚsearchsorted_leftÚsearchsorted_rightc                 óN   •—  | ||«      } |||«      }‰j                  ||«       y r   rÔ   )r¾   rÉ  rl   Úvr¬   Úgotro   s         €r   r¿   z>TestDatetimeArrayOps.test_searchsorted_datetime.<locals>.check}  s)   ø€ Ù˜a “|ˆHÙ˜˜1“+ˆCØ×#Ñ# H¨cÕ2r   r´   r   )Útest_np_functionsr   r!  r"  r   rø  r?  rç   ÚsortÚrangerQ   ÚsizeÚrandomÚrandint)ro   r   r!  r"  Úpyfunc_listÚfnÚ
cfunc_listr¿   rQ  r¾   rÉ  rü  ÚnÚidxÚvsr$  s   `               r   Útest_searchsorted_datetimez/TestDatetimeArrayOps.test_searchsorted_datetimev  së   ø€ ÷	
ñ 	
ð $Ð%6Ð8JÐKˆÙ(3Ó4© "”c˜"•g¨ˆ
Ð4ô	3ð
 ×#Ñ#Ó%ˆÜ  ¨jÖ9‰MˆF�EÛ�Ü—g‘g˜c“l�Ü˜q¤# a¨¯©Ó"2°QÑ"6Ö7�AÜŸ)™)×+Ñ+¨A¨s¯x©x¸Ó;�CØ˜S™�BØ˜A’vØ ™˜Ù˜f e¨S°!Ô4Ù˜& %¨¨bÕ1ñ 8ñ ñ :ùò 5s   •C&N)rœ   r�   rž   rß  râ  r   rå  ré  rë  rò  rô  rö  rø  rR  r  r  r  r  r  r  r  r  r  r  r2  r'   r   r   rÌ  rÌ  ˜  sÉ   „ ò$HòL0ð ñ/ó ð/ò5ð ñ4ó ð4òò&/ò4òRòh0ò2.ò1ò0ò.ò1ò0ð ñ0ó ð0ð ñ/ó ð/ð ñ0ó ð0ð ñ/ó ð/ó2r   rÌ  c                   ó   — e Zd Zd„ Zy)ÚTestDatetimeTypeOpsc                 ó  ‡ — t         d„ «       }t         d„ «       }t         d„ «       }t        j                  dd«      }t        j                  dd«      }||z
  }ˆ fd„}|||g}|||g}	t        j                  ||	«      D ]  \  }
} ||
|«       Œ y )Nc                 ó"   — t        | t        «      S r   )Ú
isinstanceÚcomplex©rl   s    r   Ú
is_complexz@TestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_complex’  s   € ä˜a¤Ó)Ð)r   c                 ó6   — t        | t        j                  «      S r   )r7  rç   rÛ  r9  s    r   Úis_datetimezATestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_datetime•  s   € ä˜a¤§¡Ó/Ð/r   c                 ó6   — t        | t        j                  «      S r   )r7  rç   r%  r9  s    r   Úis_timedeltazBTestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_timedelta˜  s   € ä˜a¤§¡Ó0Ð0r   ry   r"   r¦   c                 óî   •— ‰j                  | j                  › dt        |«      j                  › d�«      5   | |«      }| j                  |«      }‰j	                  ||«       d d d «       y # 1 sw Y   y xY w)NÚ(Ú))ÚsubTestrœ   ÚtyperÈ  r�   )Újit_funcr)   r%  Úexpectro   s       €r   r¿   z;TestDatetimeTypeOps.test_isinstance_datetime.<locals>.check   sd   ø€ Ø—‘ ×!2Ñ!2Ð 3°1´T¸!³W×5EÑ5EÐ4FÀaÐHÕIÙ˜q“k�Ø!×)Ñ)¨!Ó,�Ø× Ñ   fÔ-÷ J×IÑIús   ¶,A+Á+A4)r   rç   rÛ  rr   rs   )ro   r:  r<  r>  Údt_aÚdt_bÚtd_cr¿   Úfnsr«   r-  Úargs   `           r   Útest_isinstance_datetimez,TestDatetimeTypeOps.test_isinstance_datetime‘  s³   ø€ Ü	ñ	*ó 
ð	*ä	ñ	0ó 
ð	0ä	ñ	1ó 
ð	1ô �}‰}˜Q Ó%ˆÜ�}‰}˜Q Ó%ˆØ�d‰{ˆô	.ð ØØð
ˆð ØØð
ˆô
 !×(Ñ(¨¨dÖ3‰GˆB�Ù�"�c�Nñ 4r   N)rœ   r�   rž   rK  r'   r   r   r4  r4  �  s   „ ó r   r4  c                   ó   — e Zd Zd„ Zy)ÚTestDatetimeIssuesc                 ó0  — t         d„ «       }t        j                  dd¬«      }| j                  t        «      5 } ||«       d d d «       j
                  j                  d   }d}| j                  ||«       d}| j                  ||«       y # 1 sw Y   ŒKxY w)Nc                 ó   — | dz   S r{   r'   rC   s    r   rn   z1TestDatetimeIssues.test_10y_issue_9585.<locals>.f¶  s   € à�q‘5ˆLr   r±  zdatetime64[10Y]rÖ  r   z
argument 0z(Unsupported array dtype: datetime64[10Y])r   rç   rÚ  r…   r	   rD  r«   rB  )ro   rn   rü  Úerj  Úargument_indexÚunsupported_types          r   Útest_10y_issue_9585z&TestDatetimeIssues.test_10y_issue_9585µ  sŠ   € Ü	ñ	ó 
ð	ô �h‰h�vÐ%6Ô7ˆà×Ñœ{Ô+¨qÙˆcŒF÷ ,ð —+‘+×"Ñ" 1Ñ%ˆà%ˆØ�‰�n gÔ.àEÐØ�‰Ð&¨Õ0÷ ,Ð+ús   ¹	BÂBN)rœ   r�   rž   rS  r'   r   r   rM  rM  ´  s   „ ó1r   rM  Ú__main__)ErŸ   r©  rr   rî  Úunittestrl  Únumpyrç   Únumbar   r   r   Únumba.np.numpy_supportr   Ú
numba.corer   r   Únumba.core.errorsr	   Únumba.tests.supportr
   r   r   Únumba.npr   r   r   rÄ  rÅ  r   rt   ru   rv   r+   r.   r0   r2   r4   r7   r9   r;   r=   r?   rA   rD   rG   rJ   rN   rR   rW   rZ   r_   ra   r%  r¨   rÛ  r§   r¡   rÉ   r]  rf  r¬  r®  r¿  rÌ  r4  rM  rœ   Úmainr'   r   r   Ú<module>r^     s–  ðñó Û Û 	Û Û ã ç &Ñ &Ý 0ß $Ý )ß GÑ Gß 6àˆb�h‰hÐ'Ó(€Øˆb�h‰hÐ'Ó(€òð
 €
ØJ€
à˜Ñ#€	òòòòòòòòòòòòòòòòòòòôs&˜ô s&ðl ‡^�^€Ø‡]�]€ô3˜ô 3ôlE(˜hô E(ôP
Ð&=ô ô4l(˜Xô l(ô\"Ð%;ô "ô
; ô ;ô6H˜8ô Hô.t2˜8ô t2ôp!˜(ô !ôH1˜ô 1ð( ˆzÒØ€H‡M�M…Oð r   