ó
    „ñ:iÅ¬  ã                   ó¼  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
Jr  SSKJr  SSKJrJr  SSKJr  SSKJrJrJr  SSKJrJr  \R4                  " S	5      r\R4                  " S
5      rS rSrSr\\-   r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1S r2S  r3 " S! S"\5      r4\Rj                  r6\Rn                  r8 " S# S$\5      r9 " S% S&\5      r: " S' S(\:5      r; " S) S*\5      r< " S+ S,\<5      r= " S- S.\5      r> " S/ S0\5      r? " S1 S2\5      r@ " S3 S4\5      rA " S5 S6\5      rB\CS7:X  a  \Rˆ                  " 5         gg)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                 óZ   • [         R                  " U R                  5      nUR                  $ ©N)r   Ú
from_dtypeÚdtypeÚunit)ÚvalÚtys     Ú^/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/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                 ó
   • X-   $ r   © ©ÚxÚys     r   Úadd_usecaser+   %   ó	   € Ø‰5€Lr   c                 ó
   • X-
  $ r   r'   r(   s     r   Úsub_usecaser.   (   r,   r   c                 ó
   • X-  $ r   r'   r(   s     r   Úmul_usecaser0   +   r,   r   c                 ó
   • X-  $ r   r'   r(   s     r   Údiv_usecaser2   .   r,   r   c                 ó
   • X-  $ r   r'   r(   s     r   Úfloordiv_usecaser4   1   ó	   € Ø‰6€Mr   c                 ó
   • X:H  $ r   r'   r(   s     r   Ú
eq_usecaser7   4   r5   r   c                 ó
   • X:g  $ r   r'   r(   s     r   Ú
ne_usecaser9   7   r5   r   c                 ó
   • X:  $ r   r'   r(   s     r   Ú
lt_usecaser;   :   r,   r   c                 ó
   • X:*  $ r   r'   r(   s     r   Ú
le_usecaser=   =   r5   r   c                 ó
   • X:„  $ r   r'   r(   s     r   Ú
gt_usecaser?   @   r,   r   c                 ó
   • X:¬  $ r   r'   r(   s     r   Ú
ge_usecaserA   C   r5   r   c                 ó   • U 7$ r   r'   ©r)   s    r   Úpos_usecaserD   F   ó	   € Øˆ2€Ir   c                 ó   • U * $ r   r'   rC   s    r   Úneg_usecaserG   I   rE   r   c                 ó   • [        U 5      $ r   )ÚabsrC   s    r   Úabs_usecaserJ   L   ó   € Üˆq‹6€Mr   c                 ó   • [        U 5      $ r   )ÚhashrC   s    r   Úhash_usecaserN   O   s   € Ü�‹7€Nr   c                 ó   • [        X5      $ r   ©Úminr(   s     r   Úmin_usecaserR   R   ó   € Üˆq‹9Ðr   c                 ó   • [        X5      $ r   ©Úmaxr(   s     r   Úmax_usecaserW   U   rS   r   c                 ó   • [        U 5      $ r   )ÚintrC   s    r   Úint_cast_usecaserZ   X   rK   r   c                 ó   ^ • U 4S jnU$ )Nc                 ó   >• U T-   $ r   r'   )r)   Úconsts    €r   Úadd_constantÚ'make_add_constant.<locals>.add_constant\   s   ø€ Ø�5‰yÐr   r'   )r]   r^   s   ` r   Úmake_add_constantr`   [   s   ø€ õàÐr   c                   ó6   • \ rS rSrSrS rS rS rS rS r	Sr
g	)
ÚTestModuleHelperséa   z7
Test the various helpers in numba.npdatetime_helpers.
c                 óâ  ^ ^• [         R                  m[        R                  " [        [
        5       H7  u  pT R                  T" X5      X45        T R                  T" X!5      X45        M9     [         H3  nT R                  T" US5      5        T R                  T" SU5      5        M5     [        S-    H  nT R                  T" X35      5        M     UU 4S jnU" [        5        U" [
        5        g )NÚ ©re   c                 ó¢   >• [        U 5       H?  u  pU S U  H1  nTR                  T" X25      5        TR                  T" X#5      5        M3     MA     g r   )Ú	enumerateÚ
assertTrueÚassertFalse©ÚgroupÚiÚaÚbÚfÚselfs       €€r   Úcheck_units_groupÚDTestModuleHelpers.test_can_cast_timedelta.<locals>.check_units_groupq   sF   ø€ Ü! %Ö(‘�Ø˜r ›�Aà—O‘O¡A a£GÔ,à×$Ñ$¡Q q£WÖ-ó	 #ò )r   )	r   Úcan_cast_timedelta_unitsÚ	itertoolsÚproductÚ
date_unitsÚ
time_unitsrj   Ú	all_unitsri   )rq   rn   ro   r   rr   rp   s   `    @r   Útest_can_cast_timedeltaÚ)TestModuleHelpers.test_can_cast_timedeltaf   s½   ù€ Ü×7Ñ7ˆÜ×%Ò%¤j´*Ö=‰DˆAØ×Ñ™Q˜q›W q fÔ-Ø×Ñ™Q˜q›W q fÖ-ñ >÷ ˆDØ×Ñ™Q˜t R›[Ô)Ø�O‰O™A˜b $›KÖ(ñ ô  Ô%ˆDØ�O‰O™A˜d›MÖ*ñ &ö	.ñ 	œ*Ô%Ùœ*Õ%r   c                 óz  ^ ^• [         R                  m[        S-    H  nT R                  T" X5      S5        M     [         H  nT R                  T" SU5      S5        M     [        R
                  " [        [        5       H5  u  p#T R                  T" X#5      S 5        T R                  T" X25      S 5        M7     UU 4S jnU" [        5        U" [        5        T R                  T" SS5      S5        T R                  T" SS	5      S
5        T R                  T" SS5      S5        T R                  T" SS5      S5        g )Nrf   é   re   c                 óª   >• [        U 5       HC  u  pU S U  H5  nTR                  T" X25      SX245        TR                  T" X#5      S 5        M7     ME     g ©Nr}   )rh   ÚassertGreaterÚassertIsrk   s       €€r   rr   ÚFTestModuleHelpers.test_timedelta_conversion.<locals>.check_units_group†   sN   ø€ Ü! %Ö(‘�Ø˜r ›�AØ×&Ñ&¡q¨£w°°A°6Ô:Ø—M‘M¡! A£'¨4Ö0ó #ò )r   r   r   é   r   r   é¨   r   i`'  r!   l     Ç!3)	r   Úget_timedelta_conversion_factorry   ÚassertEqualru   rv   rx   rw   r�   )rq   r   rn   ro   rr   rp   s   `    @r   Útest_timedelta_conversionÚ+TestModuleHelpers.test_timedelta_conversion|   s   ù€ Ü×>Ñ>ˆÜ Ô%ˆDØ×Ñ™Q˜t›]¨AÖ.ñ &çˆDØ×Ñ™Q˜r 4›[¨!Ö,ñ ä×%Ò%¤j´*Ö=‰DˆAØ�M‰M™!˜A›' 4Ô(Ø�M‰M™!˜A›' 4Ö(ñ >ö	1ñ 	œ*Ô%Ùœ*Ô%ð 	×Ñ™˜3 › bÔ)Ø×Ñ™˜3 › fÔ-Ø×Ñ™˜3 › kÔ2Ø×Ñ™˜3 ›Ð'BÕCr   c                 ó^  ^ ^• [         R                  mUU 4S jn[        R                  " [        [
        5       H  u  p#U" X#5        M     [        R                  " [        [        5       H  u  p#T" X#5        M     [        R                  " [
        [        5       H  u  p#T" X#5        M     [        R                  " [
        [
        5       H  u  p#T" X#5        M     [         HS  nT R                  T" XD5      USS45        T R                  T" US5      USS45        T R                  T" SU5      S5        MU     T R                  T" SS5      S5        T R                  T" SS5      S5        T R                  T" SS5      S5        T R                  T" S	S
5      S5        T R                  T" S
S	5      S5        T R                  T" S	S5      S5        T R                  T" SS	5      S5        T R                  T" SS5      S5        T R                  T" SS5      S5        T R                  T" SS
5      S5        T R                  T" SS	5      S5        T R                  T" SS
5      S5        T R                  T" SS	5      S5        T R                  T" SS5      S5        T R                  T" SS5      S5        g )Nc                 ót   >• TR                  [        5         T" X5        S S S 5        g ! , (       d  f       g = fr   )ÚassertRaisesÚRuntimeError)Údt_unitÚtd_unitrp   rq   s     €€r   Úcheck_errorÚFTestModuleHelpers.test_datetime_timedelta_scaling.<locals>.check_error—   s%   ø€ Ø×"Ñ"¤<Õ0Ù�'Ô#÷ 1×0Ö0ús   —	)©
7r}   re   )re   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%   ì     ÈNÎZor}   )r%   r}   r“   )r   é±: é�  )r   r”   ið
  )r   r”   éÀ  )r   r”   i@ƒ  )r   ì   €YÀ` r•   )r   r—   r–   )r   Ú!get_datetime_timedelta_conversionru   rv   rx   rw   ry   r†   )rq   r�   r�   rŽ   r   rp   s   `    @r   Útest_datetime_timedelta_scalingÚ1TestModuleHelpers.test_datetime_timedelta_scaling•   sQ  ù€ Ü×@Ñ@ˆö	$ô !*× 1Ò 1´*¼jÖ IÑˆGÙ˜Ö)ñ !Jô !*× 1Ò 1´*¼jÖ IÑˆGÙˆgÖñ !Jä )× 1Ò 1´*¼jÖ IÑˆGÙˆgÖñ !Jä )× 1Ò 1´*¼jÖ IÑˆGÙˆgÖñ !J÷ ˆDØ×Ñ™Q˜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                 ó  • [         R                  n[         HM  nU R                  U" X"5      U5        U R                  U" SU5      U5        U R                  U" US5      U5        MO     U R                  U" SS5      S5        [        R
                  " [        [        5       H  u  p4U R                  U" X45      S 5        M     [        R
                  " [        [        5       H  u  p4U R                  U" X45      U5        M     g )Nre   )	r   Ú combine_datetime_timedelta_unitsry   r†   ru   rv   rx   rw   r�   )rq   rp   r   r�   rŽ   s        r   Ú%test_combine_datetime_timedelta_unitsÚ7TestModuleHelpers.test_combine_datetime_timedelta_units¼   sÍ   € Ü×?Ñ?ˆßˆDØ×Ñ™Q˜t›]¨DÔ1Ø×Ñ™Q˜r 4›[¨$Ô/Ø×Ñ™Q˜t R›[¨$Ö/ñ ð 	×Ñ™˜2˜r› BÔ'Ü )× 1Ò 1´*¼jÖ IÑˆGØ�M‰M™!˜GÓ-¨tÖ4ñ !Jä )× 1Ò 1´*¼jÖ IÑˆGØ×Ñ™Q˜wÓ0°'Ö:ò !Jr   c                 óæ  • [         R                  n[         H  nU R                  U" X"5      5        M     SnSn[        R
                  " X35       H  u  pVU R                  U" XV5      5        M     [        R
                  " XD5       H  u  pVU R                  U" XV5      5        M     [        R
                  " X45       H3  u  pVU R                  U" XV5      5        U R                  U" Xe5      5        M5     g )N)r   r   r   r   )	r   r   r   r    r!   r"   r#   r$   r%   )r   Ú	same_kindry   ri   ru   rv   rj   )rq   rp   ÚuÚAÚBrn   ro   s          r   Útest_same_kindÚ TestModuleHelpers.test_same_kindÈ   sº   € Ü×(Ñ(ˆßˆAØ�O‰O™A˜a›GÖ$ñ à ˆØ?ˆÜ×%Ò% aÖ+‰DˆAØ�O‰O™A˜a›GÖ$ñ ,ä×%Ò% aÖ+‰DˆAØ�O‰O™A˜a›GÖ$ñ ,ä×%Ò% aÖ+‰DˆAØ×Ñ™Q˜q›WÔ%Ø×Ñ™Q˜q›WÖ%ò ,r   r'   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rz   r‡   r™   r�   r¤   Ú__static_attributes__r'   r   r   rb   rb   a   s#   † ñò&ò,Dò2%VòN
;õ&r   rb   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestMiscCompilingéÛ   c                 óÀ   ^ • U 4S jn[         R                  " S5      " [         R                  " S5      [         R                  " S5      5      nU" U5        SnU" U5        g )Nc                 ó˜   >• [        U SS9" [        5      n[        SS5      [        SS5      4n[        U6 nTR	                  U" U6 U5        g )NT©Únopythonr}   r    é   r!   )r   r+   ÚDTÚTDÚassertPreciseEqual)Úsigrp   ÚargsÚexpectedrq   s       €r   Ú_check_explicit_signatureÚPTestMiscCompiling.test_jit_explicit_signature.<locals>._check_explicit_signatureÞ   sH   ø€ Ü�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©rq   rº   r·   s   `  r   Útest_jit_explicit_signatureÚ-TestMiscCompiling.test_jit_explicit_signatureÝ   sL   ø€ õ	8ô ×Ò˜tÔ$¤U×%5Ò%5°dÓ%;¼U×=NÒ=NÈtÓ=TÓUˆÙ! #Ô&àEˆÙ! #Õ&r   c                 ó´   ^ • U 4S jn[         R                  " S5      " [         R                  " S5      [         R                  5      nU" U5        SnU" U5        g )Nc                 ó†   >• [        U /SS9" [        5      nTR                  U" [        S5      S5      [        S5      5        g )NTr±   r³   é   é   )r   r0   r¶   rµ   )r·   rp   rq   s     €r   rº   ÚVTestMiscCompiling.test_vectorize_explicit_signature.<locals>._check_explicit_signatureí   s6   ø€ Ü˜3˜%¨$Ò/´Ó<ˆAð ×#Ñ#¡A¤b¨£e¨Q£K´°A³Õ7r   r   z)NPTimedelta('s')(NPTimedelta('s'), int64))r   r½   Úint64r¾   s   `  r   Ú!test_vectorize_explicit_signatureÚ3TestMiscCompiling.test_vectorize_explicit_signatureì   sE   ø€ õ	8ô ×Ò Ô$¤U×%6Ò%6°sÓ%;¼U¿[¹[ÓIˆÙ! #Ô&à9ˆÙ! #Õ&r   c                 óX   ^ • U 4S jnU" [        S5      5        U" [        SS5      5        g )Nc                 ó’   >• [        U 5      n[        SS9" U5      n[        SS5      nU" U5      nTR                  U" U5      U5        g ©NTr±   é   r   ©r`   r   rµ   r¶   ©r]   Úpyfuncrp   r)   r¹   rq   s        €r   ÚcheckÚ7TestMiscCompiling.test_constant_datetime.<locals>.checkü   óD   ø€ Ü& uÓ-ˆFÜ˜TÒ" 6Ó*ˆAÜ�1�c“
ˆAÙ˜a“yˆHØ×#Ñ#¡A a£D¨(Õ3r   z
2001-01-01ÚNaTr   )r´   ©rq   rÐ   s   ` r   Útest_constant_datetimeÚ(TestMiscCompiling.test_constant_datetimeû   s%   ø€ õ	4ñ 	Œb�ÓÔÙŒb�˜‹nÕr   c                 ó~   ^ • U 4S jnU" [        SS5      5        U" [        SS5      5        U" [        SS5      5        g )Nc                 ó’   >• [        U 5      n[        SS9" U5      n[        SS5      nU" U5      nTR                  U" U5      U5        g rË   rÍ   rÎ   s        €r   rÐ   Ú8TestMiscCompiling.test_constant_timedelta.<locals>.check  rÒ   r   rÌ   r   éüÿÿÿrÓ   )rµ   rÔ   s   ` r   Útest_constant_timedeltaÚ)TestMiscCompiling.test_constant_timedelta  s4   ø€ õ	4ñ 	Œb��C‹jÔÙŒb��S‹kÔÙŒb�˜‹nÕr   r'   N)	r¦   r§   r¨   r©   r¿   rÇ   rÕ   rÛ   r«   r'   r   r   r­   r­   Û   s   † ò'ò'òõ	r   r­   c                   ó€   • \ rS rSr\" SS9rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rSrg)ÚTestTimedeltaArithmetici  T©Úforceobjc                 ó8   • [        S0 U R                  D6" U5      $ ©Nr'   ©r   Újitargs©rq   rÏ   s     r   r   ÚTestTimedeltaArithmetic.jit  ó   € ÜÑ"�T—\‘\Ò" 6Ó*Ð*r   c                 ó  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      [        S5      [        S5      5        U" [        SS5      [        SS5      [        SS5      5        U" [        SS5      [        SS5      [        SS5      5        U" [        SS5      [        SS	5      [        S
S	5      5        U" [        S5      [        S5      [        S5      5        U" [        SS5      [        SS	5      [        SS5      5        U" [        SS5      [        SS5      [        SS5      5        T R                  [        [
        45         T" [        SS5      [        SS	5      5        S S S 5        g ! , (       d  f       g = f)Nc                 óf   >• TR                  T" X5      U5        TR                  T" X5      U5        g r   ©r¶   ©rn   ro   r¹   rp   rq   s      €€r   rÐ   Ú/TestTimedeltaArithmetic.test_add.<locals>.check  ó+   ø€ Ø×#Ñ#¡A a£G¨XÔ6Ø×#Ñ#¡A a£G¨XÕ6r   r}   r³   rÃ   r   r!   iBB r   r   é	   rÓ   r    r   )r   r+   rµ   r‹   Ú	TypeErrorr	   ©rq   rÐ   rp   s   ` @r   Útest_addÚ 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úó   ÅE3Å3
Fc                 ó  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      [        S5      [        S5      5        U" [        SS5      [        SS5      [        SS5      5        U" [        SS5      [        SS5      [        SS5      5        U" [        SS5      [        SS	5      [        S
S	5      5        U" [        S5      [        S5      [        S5      5        U" [        SS5      [        SS	5      [        SS5      5        U" [        SS5      [        SS5      [        SS5      5        T R                  [        [
        45         T" [        SS5      [        SS	5      5        S S S 5        g ! , (       d  f       g = f)Nc                 óh   >• TR                  T" X5      U5        TR                  T" X5      U* 5        g r   rê   rë   s      €€r   rÐ   Ú/TestTimedeltaArithmetic.test_sub.<locals>.check-  s-   ø€ Ø×#Ñ#¡A a£G¨XÔ6Ø×#Ñ#¡A a£G¨h¨YÕ7r   rÃ   r³   r}   r   r!   i¾Æ- r   r   é   rÓ   r    r   )r   r.   rµ   r‹   rï   r	   rð   s   ` @r   Útest_subÚ 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                 óú  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      [        R                  " S5      [        S5      5        U" [        S5      S[        S5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S[        SS5      5        U" [        S5      S[        S	5      5        U" [        S
5      S[        S5      5        U" [        SS5      S[        SS5      5        U" [        S
5      S[        S	5      5        U" [        SS5      S[        SS5      5        U" [        SS5      [        S5      [        SS5      5        U" [        SS5      S[        SS5      5        g )Nc                 óf   >• TR                  T" X5      U5        TR                  T" X5      U5        g r   rê   rë   s      €€r   rÐ   Ú/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_mulÚ 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                 ó¾  ^ ^^• T R                  [        5      mT R                  [        5      mUUU 4S jnU" [        SS5      [        R
                  " S5      [        SS5      5        U" [        S5      S[        S5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S	[        SS5      5        U" [        SS5      S	[        SS5      5        U" [        S
5      S[        S5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S[        SS5      5        U" [        SS5      S[        SS5      5        U" [        SS5      [        S5      [        SS5      5        U" [        SS5      [        S5      [        SS5      5        g )Nc                 óf   >• TR                  T" X5      U5        TR                  T" X5      U5        g r   rê   )rn   ro   r¹   ÚdivÚfloordivrq   s      €€€r   rÐ   Ú/TestTimedeltaArithmetic.test_div.<locals>.checkW  s+   ø€ Ø×#Ñ#¡C¨£I¨xÔ8Ø×#Ñ#¡H¨Q£N°HÕ=r   éýÿÿÿr#   r³   éÿÿÿÿrÃ   r}   rÓ   r   r‘   g      à?é   rÿ   rý   rÚ   g      @g        r   )r   r2   r4   rµ   r  r  r  )rq   rÐ   r	  r
  s   ` @@r   Útest_divÚ 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                 óP  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        S5      [        S	5      [        S
5      5        U" [        S5      [        S	5      [        S5      5        U" [        S	5      [        S	5      [        S5      5        U" [        S5      [        S5      [        S5      5        U" [        S5      [        S5      [        S5      5        U" [        S5      [        S	5      [        S5      5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        g ! , (       d  f       g = f)Nc                 ó6   >• TR                  T" X5      U5        g r   rê   )rn   ro   r¹   r	  rq   s      €€r   rÐ   Ú;TestTimedeltaArithmetic.test_homogeneous_div.<locals>.checkn  s   ø€ Ø×#Ñ#¡C¨£I¨xÕ8r   r‘   rÃ   g«ªªªªª@r!   r    gQFoËZc?g«ªªªª:¢@r   z+infrÿ   z-infr   Únatr}   r   r   )r   r2   rµ   r  r‹   rï   r	   )rq   rÐ   r	  s   ` @r   Útest_homogeneous_divÚ,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   Å0FÆ
F%c                 óÈ  ^ ^^• T R                  [        5      mT R                  [        5      mUUU 4S jnU" [        S5      [        S5      S5        U" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS	5      [        S
S5      S5        U" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        S5      [        S5      S5        [        S:  a[  U" [        SS	5      [        SS5      S5        U" [        SS	5      [        SS5      S5        U" [        SS5      [        SS5      S5        g T R                  [        [        45         T" [        SS	5      [        SS5      5        S S S 5        T R                  [        [        45         T" [        SS	5      [        SS5      5        S S S 5        g ! , (       d  f       NP= f! , (       d  f       g = f)Nc                 óL  >• UnU(       + n[         R                  " U 5      (       d  [         R                  " U 5      (       a  SnSnTR                  T" X5      U5        TR                  T" X5      U5        TR                  T" X5      U5        TR                  T" X5      U5        g ©NFT©r  Úisnatr¶   )rn   ro   r¹   Úexpected_valÚnot_expected_valÚeqÚnerq   s        €€€r   rÐ   Ú1TestTimedeltaArithmetic.test_eq_ne.<locals>.checkƒ  sˆ   ø€ Ø#ˆLØ#+œ|Ðô �xŠx˜�{‰{œbŸhšh qŸk™kØ$�Ø#'Ð à×#Ñ#¡B q£H¨lÔ;Ø×#Ñ#¡B q£H¨lÔ;Ø×#Ñ#¡B q£HÐ.>Ô?Ø×#Ñ#¡B q£HÐ.>Õ?r   r}   r³   FTr   iÐ  r    r   rƒ   r   ÚNat)r}   é   ém  r   in  rÓ   r   )r   r7   r9   rµ   r   r‹   rï   r	   )rq   rÐ   r  r  s   ` @@r   Ú
test_eq_neÚ"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 R                  [        5      mT R                  [        5      mUUU 4S jnU" [        S5      [        S5      S5        U" [        S5      [        S5      S5        U" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        S	S5      S5        U" [        S
5      [        S
5      S5        U" [        S
S5      [        S
S5      S5        U" [        S
5      [        S5      S5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        g ! , (       d  f       NÒ= f! , (       d  f       N¢= f! , (       d  f       Nr= f! , (       d  f       g = f)Nc                 óì   >• UnU(       + n[         R                  " U 5      (       d  [         R                  " U 5      (       a  SnSnTR                  T" X5      U5        TR                  T" X5      U5        g ©NFr  )rn   ro   r¹   r  r  ÚgeÚltrq   s        €€€r   rÐ   Ú1TestTimedeltaArithmetic.test_lt_ge.<locals>.check®  s_   ø€ Ø#ˆLØ#+œ|Ðô �xŠx˜�{‰{œbŸhšh qŸk™kØ$�Ø#(Ð à×#Ñ#¡B q£H¨lÔ;Ø×#Ñ#¡B q£HÐ.>Õ?r   r}   r³   TFr   r   é=   é<   r!  r    ìûÿÿÿÿÿÿÿ r   r#  r   rÓ   )r   r;   rA   rµ   r‹   rï   r	   )rq   rÐ   r)  r*  s   ` @@r   Ú
test_lt_geÚ"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                 óº  ^ ^^• T R                  [        5      mT R                  [        5      mUUU 4S jnU" [        S5      [        S5      S5        U" [        S5      [        S5      S5        U" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        SS5      S5        U" [        SS5      [        S	S5      S5        U" [        SS5      [        S
S5      S5        U" [        S5      [        S5      S5        U" [        SS5      [        SS5      S5        U" [        S5      [        S5      S5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        T R	                  [
        [        45         T" [        SS5      [        SS5      5        S S S 5        g ! , (       d  f       NÒ= f! , (       d  f       N¢= f! , (       d  f       Nr= f! , (       d  f       g = f)Nc                 óì   >• UnU(       + n[         R                  " U 5      (       d  [         R                  " U 5      (       a  SnSnTR                  T" X5      U5        TR                  T" X5      U5        g r(  r  )rn   ro   r¹   r  r  ÚgtÚlerq   s        €€€r   rÐ   Ú1TestTimedeltaArithmetic.test_le_gt.<locals>.checkÕ  s_   ø€ Ø#ˆLØ#+œ|Ðô �xŠx˜�{‰{œbŸhšh qŸk™kØ$�Ø#(Ð Ø×#Ñ#¡B q£H¨lÔ;Ø×#Ñ#¡B q£HÐ.>Õ?r   r}   r³   TFr   r   r,  r-  é;   r!  r    r.  r   r#  r   rÓ   )r   r=   r?   rµ   r‹   rï   r	   )rq   rÐ   r3  r4  s   ` @@r   Ú
test_le_gtÚ"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Ç0J*È1J;É2KÊ
J'Ê*
J8Ê;
K	Ë
Kc                 ó  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      5        U" [        S5      5        U" [        SS5      5        U" [        SS5      5        U" [        S5      5        U" [        SS5      5        g )Nc                 ó8   >• TR                  T" U 5      U 75        g r   rê   )rn   Úposrq   s    €€r   rÐ   Ú/TestTimedeltaArithmetic.test_pos.<locals>.checkû  ó   ø€ Ø×#Ñ#¡C¨£F¨Q¨BÕ/r   rÃ   rÚ   r    rÓ   )r   rD   rµ   )rq   rÐ   r;  s   ` @r   Útest_posÚ TestTimedeltaArithmetic.test_posù  ód   ù€ Ø�h‰h”{Ó#ˆö	0ñ 	Œb�‹eŒÙŒb�‹fŒÙŒb��D‹kÔÙŒb��T‹lÔÙŒb�‹iÔÙŒb�˜‹oÕr   c                 ó  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      5        U" [        S5      5        U" [        SS5      5        U" [        SS5      5        U" [        S5      5        U" [        SS5      5        g )Nc                 ó8   >• TR                  T" U 5      U * 5        g r   rê   )rn   Únegrq   s    €€r   rÐ   Ú/TestTimedeltaArithmetic.test_neg.<locals>.check  r=  r   rÃ   rÚ   r    rÓ   )r   rG   rµ   )rq   rÐ   rC  s   ` @r   Útest_negÚ TestTimedeltaArithmetic.test_neg  r@  r   c                 ó  ^ ^• T R                  [        5      mUU 4S jnU" [        S5      5        U" [        S5      5        U" [        SS5      5        U" [        SS5      5        U" [        S5      5        U" [        SS5      5        g )Nc                 óH   >• TR                  T" U 5      [        U 5      5        g r   )r¶   rI   ©rn   rp   rq   s    €€r   rÐ   Ú/TestTimedeltaArithmetic.test_abs.<locals>.check  ó   ø€ Ø×#Ñ#¡A a£D¬#¨a«&Õ1r   rÃ   rÚ   r    rÓ   )r   rJ   rµ   rð   s   ` @r   Útest_absÚ TestTimedeltaArithmetic.test_abs  sd   ù€ Ø�H‰H”[Ó!ˆö	2ñ 	Œb�‹eŒÙŒb�‹fŒÙŒb��D‹kÔÙŒb��T‹lÔÙŒb�‹iÔÙŒb�˜‹oÕr   c                 ó¶  ^ ^• T R                  [        5      mUU 4S jnSnSn[        X#-   [        4[	        U5      -  [
        4[	        U5      -  -   5       H  u  pEU" U" U6 5        M     [        S:¼  aU  T R                  [        5       nT" [        S5      5        S S S 5        T R                  S[        WR                  5      5        g g ! , (       d  f       N5= f)Nc                 óp  >• [         S:¼  aŠ  U R                  R                  S:X  a  g TR                  R	                  SS5      (       a,  TR                  T" U 5      U R                  [        5      5        g TR                  T" U 5      [        U 5      5        g TR                  T" U 5      [        U 5      5        g )N©r³   r³   Útimedelta64r²   F)	r   r   Únamerä   Úgetr¶   ÚastyperY   rM   rI  s    €€r   rÐ   Ú0TestTimedeltaArithmetic.test_hash.<locals>.check  s…   ø€ Ü Ó&ð
 —7‘7—<‘< =Ó0Øð
 —<‘<×#Ñ# J°×6Ñ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:03ZrY  rP  rÃ   zCan't hash generic timedelta64)r   rN   Úziprµ   Úlenr´   r   r‹   Ú
ValueErrorÚassertInÚstrÚ	exception)rq   rÐ   ÚTD_CASESÚDT_CASESÚcaseÚtypÚraisesrp   s   `      @r   Ú	test_hashÚ!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                 óH  ^ ^^• T R                  T5      mUU U4S jn[        S5      [        S5      [        S5      [        S5      4[        SS5      [        SS5      [        SS5      [        SS5      44 H*  n[        R                  " X35       H  u  pEU" XE5        M     M,     g )Nc                 óB   >• TR                  T" X5      T" X5      5        g r   rê   ©rn   ro   rp   rq   Úusecases     €€€r   rÐ   Ú4TestTimedeltaArithmetic._test_min_max.<locals>.checkH  ó   ø€ Ø×#Ñ#¡A a£G©W°Q«]Õ;r   r   r}   r³   rÓ   r   )r   rµ   ru   rv   ©rq   r|  rÐ   Úcasesrn   ro   rp   s   ``    @r   Ú_test_min_maxÚ%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‘�Ù�a–ó 8ò	
r   c                 ó.   • U R                  [        5        g r   ©r�  rR   ©rq   s    r   Útest_minÚ TestTimedeltaArithmetic.test_minR  ó   € Ø×Ñœ;Õ'r   c                 ó.   • U R                  [        5        g r   ©r�  rW   r…  s    r   Útest_maxÚ TestTimedeltaArithmetic.test_maxU  rˆ  r   r'   N)r¦   r§   r¨   r©   Údicträ   r   rñ   rø   r  r  r  r$  r/  r7  r>  rE  rL  rw  r�  r†  r‹  r«   r'   r   r   rÞ   rÞ     sa   † á˜DÑ!€Gò+ò&ò&&ò&0ò,>ò0(ò()-òV%/òN%/òN
ò
ò
ò'SòR
ò(õ(r   rÞ   c                   ó&   • \ rS rSr\" SS9rS rSrg)ÚTestTimedeltaArithmeticNoPythoniY  Tr±   c                 óf  ^ ^• T R                  [        5      mUU 4S jnS H%  u  p#U" [        X#5      R                  S5      5        M'     S H#  nU" [	        U5      R                  S5      5        M%     T R                  [        SS9   T" [	        S5      5        S S S 5        g ! , (       d  f       g = f)	Nc                 óH   >• TR                  T" U 5      [        U 5      5        g r   )r¶   rY   rI  s    €€r   rÐ   Ú<TestTimedeltaArithmeticNoPython.test_int_cast.<locals>.check_  rK  r   ))rÃ   r"   )rÚ   r"   )i0u  r"   )i ¦�ýr"   )r}   r   ztimedelta64[ns])rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  ri  rj  rk  údatetime64[ns]z;Only datetime64[ns] can be converted, but got datetime64[y])ÚmsgrZ  )r   rZ   rµ   rT  r´   r‹   r	   )rq   rÐ   Údeltar   Útimerp   s   `    @r   Útest_int_castÚ-TestTimedeltaArithmeticNoPython.test_int_cast]  s�   ù€ Ø�H‰HÔ%Ó&ˆö	2ó5‰MˆUá”"�U“/×(Ñ(Ð):Ó;Ö<ñ5ó-ˆDñ
 ”"�T“(—/‘/Ð"2Ó3Ö4ñ-ð ×Ñœ{ð 2AÐò Cñ Œb�‹jŒM÷C÷ Cö Cús   ÂB"Â"
B0r'   N)r¦   r§   r¨   r©   r�  rä   r—  r«   r'   r   r   r�  r�  Y  s   † á˜DÑ!€Gõr   r�  c                   ót   • \ rS rSr\" SS9rS r\R                  S 5       r	S r
S rS rS	 rS
 rS rS rSrg)ÚTestDatetimeArithmeticis  Trß   c                 ó8   • [        S0 U R                  D6" U5      $ râ   rã   rå   s     r   r   ÚTestDatetimeArithmetic.jitw  rç   r   c              #   ó¦   #   • [         R                  " 5          [         R                  " SS[        S9  S v •  S S S 5        g ! , (       d  f       g = f7f)NÚignorez-Implicitly casting between incompatible kinds)ÚmessageÚcategory)ÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningr…  s    r   Úsilence_numpy_warningsÚ-TestDatetimeArithmetic.silence_numpy_warningsz  s:   é € ô ×$Ò$Õ&Ü×#Ò# HØ,[Ü-?òAó ÷	 '×&Ö&üs   ‚A˜A ·	AÁ 
AÁ
Ac                 ó
  ^ ^^• T R                  [        5      mT R                  [        5      mUU U4S jnU" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS	5      [        S
S	5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        SS	5      [	        SS	5      [        S
S	5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS	5      [        S5      5        U" [        S5      [	        SS5      [        S5      5        U" [        S5      [	        SS5      [        S 5      5        S! GH  nS" GH	  n[        X#-   5      n[	        SS5      [	        SS	5      [	        S#S5      [	        S$S5      [	        S%S5      [	        S&S5      [	        S#S	5      [	        S$S	5      [	        S%S	5      [	        S&S	5      [	        S#S5      [	        S$S5      [	        S%S5      [	        S&S5      4 HX  nT R                  T" XE5      XE-   XE45        T R                  T" XT5      XE-   XE45        T R                  T" XE* 5      XE-   XE45        MZ     GM     GM     U" [        S'5      [	        S5      [        S'5      5        U" [        S'S(5      [	        SS5      [        S'S(5      5        U" [        S'S(5      [	        SS5      [        S'S5      5        U" [        S5      [	        S'S	5      [        S'S	5      5        U" [        S)5      [	        S'S	5      [        S'S5      5        U" [        S'S(5      [	        S'S5      [        S'S5      5        TT4 H…  nT R                  [        [        45         U" [        S*S)5      [	        S*S5      5        S+S+S+5        T R                  [        [        45         U" [        S*S)5      [	        S*S5      5        S+S+S+5        M‡     g+! , (       d  f       NT= f! , (       d  f       Mª  = f),zA
Test `datetime64 + timedelta64` and `datetime64 - timedelta64`.
c                 ó   >• TR                  5          TR                  T" X5      X U45        TR                  T" X5      X U45        TR                  T" X* 5      X U45        TR                  X-   U5        S S S 5        g ! , (       d  f       g = fr   ©r¥  r¶   )rn   ro   r¹   Úaddrq   Úsubs      €€€r   rÐ   Ú<TestDatetimeArithmetic.test_add_sub_timedelta.<locals>.checkŠ  sw   ø€ Ø×,Ñ,Õ.Ø×'Ñ'©¨A«	°8À¸VÔDØ×'Ñ'©¨A«	°8À¸VÔDØ×'Ñ'©¨A¨r«
°HÀ!¸fÔEà×'Ñ'¨©¨xÔ8÷ /×.Ö.ús   ’A$A?Á?
BrZ  r³   r   r[  r   r^  rÃ   r   rb  rÌ   r   rc  r\  r#  ra  r]  r`  r_  z
2014-02-03rd  rf  rV  ri  z
2012-02-02z
2012-02-29z
2012-02-16rk  r   z2000-01-01T03:02:03Zr    rj  )Ú600Ú601Ú604Ú801Ú1900Ú1904Ú2200Ú2300Ú2304Ú2400Ú6001)re   ú-01ú-12éd   rW  iœÿÿÿrX  rÓ   r   ú
2014-01-01r}   N)	r   r+   r.   r´   rµ   r†   r‹   rï   r	   )	rq   rÐ   Údt_strÚ	dt_suffixÚdtÚtdrp   rª  r«  s	   `      @@r   Útest_add_sub_timedeltaÚ-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¨£[°"±'¸B¸8ÔDØ×$Ñ$¡S¨£[°"±'¸B¸8ÔDØ×$Ñ$¡S¨¨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   Ñ5S!Ò6S2Ó!
S/	Ó2
T	c                 óÔ   • / SQn/ SQn[         R                  " X5       VVs/ s H  u  p4[        X4-   5      PM     nnnXQ Vs/ s H  n[        US5      PM     sn-  nU$ s  snnf s  snf )N)r­  r®  r¯  Ú1968Ú1969Ú1973r\  Ú2004Ú2005Ú2100r¶  Ú2401)re   r¸  r¹  z-02-28z-12-31z-01-05T12:30:56Zz-01-05T12:30:56.008Zr   )ru   rv   r´   )rq   Údt_yearsÚdt_suffixesrn   ro   Údtsr   s          r   Údatetime_samplesÚ'TestDatetimeArithmetic.datetime_samplesÅ  sh   € òCˆòCˆä'0×'8Ò'8¸Ô'OÔPÒ'O™V˜aŒr�!‘%ŽyÑ'OˆÑPØ HÓ-¢H˜q”�1�c–
¡HÑ-Ñ-ˆØˆ
ùó QùÚ-s   ¢AÁA%c                 óX  ^ ^• T R                  [        5      mSU U4S jjnU" [        S5      [        S5      [        SS5      5        U" [        S5      [        S5      [        S	S
5      5        U" [        S5      [        S5      [        SS5      5        U" [        SS
5      [        S5      [        SS
5      5        U" [        SS
5      [        S5      [        SS5      5        U" [        S5      [        S5      [        S5      5        T R	                  5          T R                  5       n[        R                  " X"5       HQ  u  p4[        R                  " [        U5      [        U5      5      (       d  M5  T R                  T" X45      X4-
  X445        MS     SSS5        g! , (       d  f       g= f)z!
Test `datetime64 - datetime64`.
Nc                 óò   >• TR                  5          TR                  T" X5      X-
  X45        TR                  T" X5      X-
  X45        TR                  X-
  U5        S S S 5        g ! , (       d  f       g = fr   r©  )rn   ro   r¹   rq   r«  s      €€r   rÐ   Ú>TestDatetimeArithmetic.test_datetime_difference.<locals>.checkÓ  sa   ø€ Ø×,Ñ,Õ.Ø×'Ñ'©¨A«	°1±5¸1¸&ÔAØ×'Ñ'©¨A«	°1±5¸1¸&ÔAà×'Ñ'¨©¨xÔ8÷	 /×.Ö.ús   ’AA(Á(
A6rZ  Ú2017r  r   r]  z2017-01iÝÿÿÿr   z
2014-02-28z
2015-03-01i’þÿÿr   rÓ   r\  z
2000-01-01r   )r   r.   r´   rµ   r¥  rÍ  ru   rv   r   r    r   r¶   )rq   rÐ   rÌ  rn   ro   r«  s   `    @r   Útest_datetime_differenceÚ/TestDatetimeArithmetic.test_datetime_differenceÎ  s5  ù€ ð �h‰h”{Ó#ˆ÷	9ð 	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Ü!×)Ò)¨#Ö3‘�Ü*×4Ò4´ZÀ³]ÄJÈqÃM×RÑRÙØ×'Ñ'©¨A«	°1±5¸1¸&ÖAñ 4÷ +×*Ö*ús   ÄA<FÆ
F)c           
      ó°  ^ ^	^
^^^^^• T R                  [        5      m
T R                  [        5      mT R                  [        5      mT R                  [        5      mT R                  [
        5      mT R                  [        5      mU
UUUUUU 4S jm	U	UUUU 4S jnT	" [        S5      [        S5      S5        T	" [        S5      [        S5      S5        T	" [        S5      [        S5      S5        T	" [        S5      [        SS	5      S5        T	" [        S5      [        SS	5      S5        T	" [        S5      [        SS	5      S5        T	" [        S
5      [        SS	5      S5        T	" [        SS5      [        SS5      S5        T	" [        SS5      [        SS5      S5        U" [        SS5      [        S5      S5        T	" [        S5      [        S5      S5        T R                  5       nU Hç  nUR                  R                  R                  S5      S   S S n[        R                  U5      n[        XUS-    nU H“  nUR                  SU-  5      n[        R                   " [#        U5      [#        U5      5      (       d  MG  T	" X8S5        U" X8[$        R&                  " SU5      -   S5        U" U[$        R&                  " SU5      -
  US5        M•     Mé     g )Nc                 ó  >• UnU(       + n[         R                  " U 5      (       d  [         R                  " U5      (       aÌ  SnSnTR                  T" X5      X45        TR                  T" X5      X45        TR                  T" X5      X45        TR                  T" X5      X45        TR                  T	" X5      X45        TR                  T" X5      X45        TR                  T	" X5      X45        TR                  T" X5      X45        TR                  5          TR	                  T" X5      X0X45        TR	                  T" X5      X0X45        TR	                  T
" X5      X@X45        TR	                  T
" X5      X@X45        U(       aÈ  TR                  T" X5      X45        TR                  T" X5      X45        TR                  T" X5      X45        TR                  T" X5      X45        TR                  T	" X5      X45        TR                  T" X5      X45        TR                  T	" X5      X45        TR                  T" X5      X45        TR	                  X:H  U5        S S S 5        g ! , (       d  f       g = fr  )r  r  rj   r¥  r¶   ri   )rn   ro   r¹   r  r  r  r)  r3  r4  r*  r  rq   s        €€€€€€€r   Úcheck_eqÚ9TestDatetimeArithmetic.test_comparisons.<locals>.check_eqò  s!  ø€ Ø#ˆLØ#+œ|Ðô �xŠx˜�{‰{œbŸhšh qŸk™kØ$�Ø#'Ð Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2Ø× Ñ ¡ A£¨A¨6Ô2à×,Ñ,Õ.Ø×'Ñ'©¨1«°,ÀAÐ@PÔQØ×'Ñ'©¨1«°,ÀAÐ@PÔQØ×'Ñ'©¨1«Ð2BÈÐDTÔUØ×'Ñ'©¨1«Ð2BÈÐ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¨£X°¨vÔ6Ø×$Ñ$¡R¨£X°¨vÔ6Ø×$Ñ$¡R¨£X°¨vÔ6Ø×$Ñ$¡R¨£X°¨vÔ6à×'Ñ'¨©°Ô=÷# /×.Ö.ús   ÄEI2É2
J c                 ó"  >• UnU(       + n[         R                  " U 5      (       d  [         R                  " U5      (       a  SnSnT
R                  5          T
R                  [        5      nT
R                  U" X5      X0X45        T
R                  T" X5      X0X45        T
R                  T" X5      X@X45        T
R                  T	" X5      X@X45        U(       a	  T" XS5        T
R                  X:  U5        S S S 5        g ! , (       d  f       g = fr(  )r  r  r¥  r   r;   r¶   )rn   ro   r¹   r  r  r*  r×  r)  r3  r4  rq   s         €€€€€r   Úcheck_ltÚ9TestDatetimeArithmetic.test_comparisons.<locals>.check_lt  sá   ø€ Ø#ˆLØ#+œ|Ðô �xŠx˜�{‰{œbŸhšh qŸk™kØ$�Ø#(Ð à×,Ñ,Õ.Ø—X‘XœjÓ)�Ø×'Ñ'©¨1«°,ÀAÐ@PÔQØ×'Ñ'©¨1«°,ÀAÐ@PÔQØ×'Ñ'©¨1«Ð2BÈÐDTÔUØ×'Ñ'©¨1«Ð2BÈÐDTÔUÞá˜Q 5Ô)à×'Ñ'¨©¨|Ô<÷ /×.Ö.ús   ÁB"D Ä 
DrZ  rÒ  Fz2014-01Tr»  r   z
2014-01-02re  z2014-01-01T00:01:00Zr   z2014-01-01T00:01Zr   z2014-01-01T00:01:01ZrÓ   r   Ú[r}   r  rÄ   zM8[%s])r   r7   r9   r;   r=   r?   rA   r´   rÍ  r   rp  Úsplitry   ÚindexrT  r   r    r   r  rQ  )rq   rÚ  rÌ  rn   Úa_unitrm   Úunitsr   ro   r×  r  r)  r3  r4  r*  r  s   `        @@@@@@@r   Útest_comparisonsÚ'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ñ DáÙ˜˜tÔ$Ù˜¤§¢¨q°$Ó 7Ñ7¸Ô>Ù˜œRŸ^š^¨A¨tÓ4Ñ4°a¸Ö>ó ò r   c                 óP  ^ ^^• T R                  T5      mUU U4S jn[        SS5      [        SS5      [        SS5      [        SS5      4[        SS5      [        SS5      [        SS5      [        SS5      44 H*  n[        R                  " X35       H  u  pEU" XE5        M     M,     g )Nc                 óB   >• TR                  T" X5      T" X5      5        g r   rê   r{  s     €€€r   rÐ   Ú3TestDatetimeArithmetic._test_min_max.<locals>.checkQ  r~  r   r   r"   r}   r³   rÓ   r   )r   r´   ru   rv   r  s   ``    @r   r�  Ú$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‘�Ù�a–ó 8ò	
r   c                 ó.   • U R                  [        5        g r   r„  r…  s    r   r†  ÚTestDatetimeArithmetic.test_min[  rˆ  r   c                 ó.   • U R                  [        5        g r   rŠ  r…  s    r   r‹  ÚTestDatetimeArithmetic.test_max^  rˆ  r   r'   N)r¦   r§   r¨   r©   r�  rä   r   Ú
contextlibÚcontextmanagerr¥  rÀ  rÍ  rÓ  rá  r�  r†  r‹  r«   r'   r   r   rš  rš  s  sR   † á˜DÑ!€Gò+ð ×Ññó ðò?3òBòBò6d?òL
ò(õ(r   rš  c                   ó    • \ rS rSr\" SS9rSrg)ÚTestDatetimeArithmeticNoPythonia  Tr±   r'   N)r¦   r§   r¨   r©   r�  rä   r«   r'   r   r   rî  rî  a  s   † á˜DÑ!ƒGr   rî  c                   ó8   • \ rS rSrSrS	S jrS rS	S jrS rSr	g)
ÚTestMetadataScalingFactorif  zZ
Tests than non-1 scaling factors are not supported in datetime64
and timedelta64 dtypes.
Nc                 ó’   • Uc  SS0n[        S0 UD6" [        5      nU R                  U" [        SS5      [        S5      5      5        g )Nrà   TrZ  Ú10YÚ2010r'   )r   r7   ri   r´   ©rq   rä   r  s      r   Útest_datetimeÚ'TestMetadataScalingFactor.test_datetimel  s?   € Ø‰?Ø! 4Ð(ˆGÜ‰^�7Š^œJÓ'ˆØ�‰™œ2˜f eÓ,¬b°«jÓ9Õ:r   c                 óz   • U R                  5          U R                  SS0S9  S S S 5        g ! , (       d  f       g = f©Nr²   T)rä   )ÚassertTypingErrorrõ  r…  s    r   Útest_datetime_npmÚ+TestMetadataScalingFactor.test_datetime_npmr  s0   € Ø×#Ñ#Õ%Ø×Ñ¨
°4Ð'8ÐÑ9÷ &×%Ö%úó   ‘,¬
:c           	      ó”   • Uc  SS0n[        S0 UD6" [        5      nU R                  U" [        SS5      [        SS5      5      5        g )Nrà   Tr³   rò  é   r   r'   )r   r7   ri   rµ   rô  s      r   Útest_timedeltaÚ(TestMetadataScalingFactor.test_timedeltav  s@   € Ø‰?Ø! 4Ð(ˆGÜ‰^�7Š^œJÓ'ˆØ�‰™œ2˜a ›<¬¨B°«Ó5Õ6r   c                 óz   • U R                  5          U R                  SS0S9  S S S 5        g ! , (       d  f       g = frø  )rù  rÿ  r…  s    r   Útest_timedelta_npmÚ,TestMetadataScalingFactor.test_timedelta_npm|  s0   € Ø×#Ñ#Õ%Ø×Ñ¨°DÐ(9ÐÑ:÷ &×%Ö%úrü  r'   r   )
r¦   r§   r¨   r©   rª   rõ  rú  rÿ  r  r«   r'   r   r   rð  rð  f  s   † ñô
;ò:ô7õ;r   rð  c                   ó   • \ rS rSrS rSrg)ÚTestDatetimeDeltaOpsi�  c                 ó~  • S nUn[        U5      n[        R                  " S[        5      [        R                  " S[        5      4[        R                  " S[        5      [        R                  " S[        5      4[        R                  " S[        5      [        R                  " S[        5      4[        R                  " S[        5      [        R                  " S[        5      4[        R                  " S[        5      S4[        R                  " S[        5      [        R                  " S[        R
                  5      4[        R                  " S[        5      [        R                  " S[        R                  5      4/nU H7  u  pVU R                  [        R                  " U" XV5      U" XV5      5      5        M9     g)z3
Test the division of a timedelta by numeric types
c                 ó
   • X-  $ r   r'   )rn   ro   s     r   Úarr_divÚ.TestDatetimeDeltaOps.test_div.<locals>.arr_div†  s	   € Ø‘5ˆLr   rÃ   r}   N)	r   r  ÚonesÚTIMEDELTA_MÚTIMEDELTA_YrÆ   Úfloat64ri   Úarray_equal)rq   r  Úpy_funcÚcfuncÚ
test_casesrn   ro   s          r   r  Ú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Ø�O‰OœBŸNšN©7°1«=¹%À»+ÓFÖGò r   r'   N)r¦   r§   r¨   r©   r  r«   r'   r   r   r  r  �  s   † õHr   r  c                   óÎ   • \ rS rSrS rS r\S 5       rS r\S 5       r	S r
S rS	 rS
 rS rS rS rS rS rS rS r\S 5       r\S 5       r\S 5       r\S 5       rS rSrg)ÚTestDatetimeArrayOpsi˜  c           
      ó  ^• U4S jn[         R                  " [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S5      /SS9n[         R                  " [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S5      /SS9nUn[        US	9" U5      nU[         R                  " S
5      4U[         R                  " S
5      4U[         R                  " S5      4U[         R                  " S5      4/nT[         R
                  L am  UR                  [         R                  " S
5      U4[         R                  " S
5      U4[         R                  " S5      U4[         R                  " S5      U4/5        U H7  u  pšU R                  [         R                  " U" Xš5      U" Xš5      5      5        M9     g)zI
Test the addition/subtraction of a datetime array with a timedelta type
c                 ó   >• T" X5      $ r   r'   ©rn   ro   Ú	operations     €r   ÚimplÚ6TestDatetimeArrayOps._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   rQ  rª  Úextendri   r  )rq   r  r!  r  Úarr_oneÚarr_twor  r  r  rn   ro   s    `         r   Ú_test_td_add_or_subÚ(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Ø�O‰OœBŸNšN©7°1«=¹%À»+ÓFÖGò r   c                 óD   • U R                  [        R                  S5        g r(  ©r(  r  rª  r…  s    r   Útest_add_tdÚ TestDatetimeArrayOps.test_add_tdÀ  s   € Ø× Ñ ¤§¡¨Õ/r   c                 óD   • U R                  [        R                  S5        g ©NTr+  r…  s    r   Útest_add_td_parallelÚ)TestDatetimeArrayOps.test_add_td_parallelÃ  s   € à× Ñ ¤§¡¨Õ.r   c                 óD   • U R                  [        R                  S5        g r(  ©r(  r  Úsubtractr…  s    r   Útest_sub_tdÚ TestDatetimeArrayOps.test_sub_tdÇ  s   € Ø× Ñ ¤§¡¨eÕ4r   c                 óD   • U R                  [        R                  S5        g r/  r3  r…  s    r   Útest_sub_td_parallelÚ)TestDatetimeArrayOps.test_sub_td_parallelÊ  s   € à× Ñ ¤§¡¨dÕ3r   c                 óh  ^• [         U4S j5       nTR                  n[        R                  " SU S35      nU R	                  [
        [        4U5         U" [        R                  " [        R                  " S5      /SS9[        R                  " SS5      5        S	S	S	5        g	! , (       d  f       g	= f)
z}
Tests that attempting to add/sub a datetime64 and timedelta64
with types that cannot be cast raises a reasonable exception.
c                 ó   >• T" X5      $ r   r'   r  s     €r   r  Ú<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$  rQ  )rq   r  r  Úfnamer¹   s    `   r   Ú_test_add_sub_td_no_matchÚ.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#Â#
B1c                 óB   • U R                  [        R                  5        g r   )rA  r  rª  r…  s    r   Útest_add_td_no_matchÚ)TestDatetimeArrayOps.test_add_td_no_matchá  s   € Ø×&Ñ&¤r§v¡vÕ.r   c                 óB   • U R                  [        R                  5        g r   )rA  r  r4  r…  s    r   Útest_sub_td_no_matchÚ)TestDatetimeArrayOps.test_sub_td_no_matchä  s   € Ø×&Ñ&¤r§{¡{Õ3r   c                 óº  • [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        S	S5      [        S
S5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        S	S5      [        S
S5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        S	S5      [        S
S5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      [        S	S5      [        S
S5      /5      [         R                  " [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      [        SS5      [        SS5      /5      [         R                  " [        SS5      /5      [         R                  " [        SS5      [        SS5      [        SS5      /5      /nU$ )Nr   r"   r}   r³   rÃ   r  r  z
1900-01-01r  r  r   rÓ   rÌ   )r  r#  r´   rµ   )rq   r  s     r   Ú_get_testcasesÚ#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                 óð  ^• U(       a  T[         R                  L a  S nO
S nOU4S jnUn[        US9" U5      nU R                  5       nU H¦  nU" U5      n	U" U5      n
[         R                  " U	5      (       d  [         R                  " U
5      (       aL  U R                  [         R                  " U	5      5        U R                  [         R                  " U
5      5        M•  U R                  Xš5        M¨     g )Nc                 ó"   • U R                  5       $ r   rP   ©Úarrs    r   r  Ú0TestDatetimeArrayOps._test_min_max.<locals>.impl>  ó   € ØŸ7™7›9Ð$r   c                 ó"   • U R                  5       $ r   rU   rN  s    r   r  rP  A  rQ  r   c                 ó   >• T" U 5      $ r   r'   )rO  r  s    €r   r  rP  D  s   ø€ Ù  “~Ð%r   r   )r  rQ   r   rJ  r  ri   r†   )rq   r  r!  Úmethodr  r  r  r  rO  Úpy_resÚc_ress    `         r   r�  Ú"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   • U R                  [        SS5        g r(  )r�  rQ   r…  s    r   Útest_min_funcÚ"TestDatetimeArrayOps.test_min_funcT  ó   € Ø×Ñœ3  uÕ-r   c                 óF   • U R                  [        R                  SS5        g r(  ©r�  r  rQ   r…  s    r   Útest_np_min_funcÚ%TestDatetimeArrayOps.test_np_min_funcW  ó   € Ø×Ñœ2Ÿ6™6 5¨%Õ0r   c                 óF   • U R                  [        R                  SS5        g r  r]  r…  s    r   Útest_min_methodÚ$TestDatetimeArrayOps.test_min_methodZ  ó   € Ø×Ñœ2Ÿ6™6 5¨$Õ/r   c                 ó2   • U R                  [        SS5        g r(  )r�  rV   r…  s    r   Útest_max_funcÚ"TestDatetimeArrayOps.test_max_func]  r[  r   c                 óF   • U R                  [        R                  SS5        g r(  ©r�  r  rV   r…  s    r   Útest_np_max_funcÚ%TestDatetimeArrayOps.test_np_max_func`  r`  r   c                 óF   • U R                  [        R                  SS5        g r  ri  r…  s    r   Útest_max_methodÚ$TestDatetimeArrayOps.test_max_methodc  rd  r   c                 óF   • U R                  [        R                  SS5        g ©NTFr]  r…  s    r   Útest_min_func_parallelÚ+TestDatetimeArrayOps.test_min_func_parallelf  ó   € à×Ñœ2Ÿ6™6 4¨Õ/r   c                 óF   • U R                  [        R                  SS5        g r/  r]  r…  s    r   Útest_min_method_parallelÚ-TestDatetimeArrayOps.test_min_method_parallelj  ó   € à×Ñœ2Ÿ6™6 4¨Õ.r   c                 óF   • U R                  [        R                  SS5        g rp  ri  r…  s    r   Útest_max_func_parallelÚ+TestDatetimeArrayOps.test_max_func_paralleln  rs  r   c                 óF   • U R                  [        R                  SS5        g r/  ri  r…  s    r   Útest_max_method_parallelÚ-TestDatetimeArrayOps.test_max_method_parallelr  rw  r   c           	      óÞ  ^ • SSK JnJnJn  XU/nU Vs/ s H  n[	        U5      PM     nnU 4S jnT R                  5       n[        XF5       H™  u  pšU HŽ  n[        R                  " U5      n[        S[        SUR                  5      S-   5       HN  n[        R                  R                  SUR                  U5      nX½   nUS:X  a  Uu  nU" XšX¿5        U" XšX¾5        MP     M�     M›     g s  snf )Nr}   )ÚsearchsortedÚsearchsorted_leftÚsearchsorted_rightc                 óH   >• U " X#5      nU" X#5      nTR                  XE5        g r   rê   )rÏ   r  rn   Úvr¹   Úgotrq   s         €r   rÐ   Ú>TestDatetimeArrayOps.test_searchsorted_datetime.<locals>.check}  s#   ø€ Ù˜a“|ˆHÙ˜“+ˆCØ×#Ñ# HÕ2r   rÃ   r   )Útest_np_functionsr  r€  r�  r   rJ  rl  r  ÚsortÚrangerQ   ÚsizeÚrandomÚrandint)rq   r  r€  r�  Úpyfunc_listÚfnÚ
cfunc_listrÐ   r€  rÏ   r  rO  ÚnÚidxÚvsrƒ  s   `               r   Útest_searchsorted_datetimeÚ/TestDatetimeArrayOps.test_searchsorted_datetimev  sÚ   ø€ ÷	
ñ 	
ð $Ð8JÐKˆÙ(3Ó4ª "”c˜"–g©ˆ
Ð4õ	3ð
 ×#Ñ#Ó%ˆÜ  Ö9‰MˆFÛ�Ü—g’g˜c“l�Ü˜q¤# a¨¯©Ó"2°QÑ"6Ö7�AÜŸ)™)×+Ñ+¨A¨s¯x©x¸Ó;�CØ™�BØ˜A“vØ ™˜Ù˜f¨SÔ4Ù˜&¨Ö1ó 8ó ò :ùò 5s   ”C*r'   N)r¦   r§   r¨   r©   r(  r,  r   r0  r5  r8  rA  rD  rG  rJ  r�  rY  r^  rb  rf  rj  rm  rq  ru  ry  r|  r’  r«   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                   ó   • \ rS rSrS rSrg)ÚTestDatetimeTypeOpsi�  c                 ó   ^ • [         S 5       n[         S 5       n[         S 5       n[        R                  " SS5      n[        R                  " SS5      nXT-
  nU 4S jnUUU/nUUU/n	[        R                  " X‰5       H  u  p«U" X«5        M     g )Nc                 ó"   • [        U [        5      $ r   )Ú
isinstanceÚcomplex©rn   s    r   Ú
is_complexÚ@TestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_complex’  s   € ä˜a¤Ó)Ð)r   c                 ó6   • [        U [        R                  5      $ r   )r˜  r  r$  rš  s    r   Úis_datetimeÚATestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_datetime•  s   € ä˜a¤§¡Ó/Ð/r   c                 ó6   • [        U [        R                  5      $ r   )r˜  r  rQ  rš  s    r   Úis_timedeltaÚBTestDatetimeTypeOps.test_isinstance_datetime.<locals>.is_timedelta˜  s   € ä˜a¤§¡Ó0Ð0r   r}   r"   r³   c                 óö   >• TR                  U R                   S[        U5      R                   S35         U " U5      nU R                  U5      nTR	                  X#5        S S S 5        g ! , (       d  f       g = f)NÚ(Ú))ÚsubTestr¦   Útyper  r†   )Újit_funcr)   r„  Úexpectrq   s       €r   rÐ   Ú;TestDatetimeTypeOps.test_isinstance_datetime.<locals>.check   sb   ø€ Ø—‘ ×!2Ñ!2Ð 3°1´T¸!³W×5EÑ5EÐ4FÀaÐHÕIÙ˜q“k�Ø!×)Ñ)¨!Ó,�Ø× Ñ  Ô-÷ J×IÖIús   ¶+A*Á*
A8)r   r  r$  ru   rv   )rq   r›  rž  r¡  Údt_aÚdt_bÚtd_crÐ   Úfnsr¸   r�  Úargs   `           r   Útest_isinstance_datetimeÚ,TestDatetimeTypeOps.test_isinstance_datetime‘  s«   ø€ Ü	ñ	*ó 
ð	*ä	ñ	0ó 
ð	0ä	ñ	1ó 
ð	1ô �}Š}˜Q Ó%ˆÜ�}Š}˜Q Ó%ˆØ‰{ˆõ	.ð ØØð
ˆð ØØð
ˆô
 !×(Ò(¨Ö3‰GˆBÙ�"ŽNò 4r   r'   N)r¦   r§   r¨   r©   r°  r«   r'   r   r   r•  r•  �  s   † õ r   r•  c                   ó   • \ rS rSrS rSrg)ÚTestDatetimeIssuesi´  c                 ó2  • [         S 5       n[        R                  " SSS9nU R                  [        5       nU" U5        S S S 5        WR
                  R                  S   nSnU R                  XT5        SnU R                  Xd5        g ! , (       d  f       NN= f)Nc                 ó   • U S-   $ r   r'   rC   s    r   rp   Ú1TestDatetimeIssues.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	   rq  r¸   ro  )rq   rp   rO  ÚerŸ  Úargument_indexÚunsupported_types          r   Útest_10y_issue_9585Ú&TestDatetimeIssues.test_10y_issue_9585µ  s†   € Ü	ñ	ó 
ð	ô �hŠh�vÐ%6Ñ7ˆà×Ñœ{Ô+¨qÙˆcŒF÷ ,ð —+‘+×"Ñ" 1Ñ%ˆà%ˆØ�‰�nÔ.àEÐØ�‰Ð&Õ0÷ ,Õ+ús   ·	BÂ
Br'   N)r¦   r§   r¨   r©   rº  r«   r'   r   r   r³  r³  ´  s   † õ1r   r³  Ú__main__)Erª   rë  ru   r=  Úunittestr¡  Ú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   rw   rx   ry   r+   r.   r0   r2   r4   r7   r9   r;   r=   r?   rA   rD   rG   rJ   rN   rR   rW   rZ   r`   rb   rQ  rµ   r$  r´   r­   rÞ   r�  rš  rî  rð  r  r  r•  r³  r¦   Úmainr'   r   r   Ú<module>rÆ     s�  ðñó Û Û 	Û Û ã ç &Ñ &Ý 0ß $Ý )ß GÑ Gß 6à�hŠhÐ'Ó(€Ø�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ÓØ‡M‚M…Oð r   