§
    ƒÛg×>  ã                   óØ  — d dl Zd dlZd dlZd dlmZmZ d dlmZm	Z	 d dl
mZmZ d dlmZmZ d dlZ e¦   «         Zde_         e¦   «         Z e¦   «         Zde_         e¦   «         Zde_        de_         G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$ G d„ de¦  «        Z%e&dk    r ej'        ¦   «          dS dS )é    N)Úcompile_isolatedÚFlags)ÚjitÚnjit)ÚtypesÚerrors)ÚTestCaseÚexpected_failure_py311Tc                   ó   — e Zd ZdS )ÚMyErrorN©Ú__name__Ú
__module__Ú__qualname__© ó    úQ/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_exceptions.pyr   r      ó   € € € € € Ø€Dr   r   c                   ó   — e Zd ZdS )Ú
OtherErrorNr   r   r   r   r   r      r   r   r   c                   ó.   ‡ — e Zd Zˆ fd„Zd„ Zˆ fd„Zˆ xZS )ÚUDEArgsToSuperc                 óf   •— t          t          | ¦  «                             |¦  «         || _        d S ©N)Úsuperr   Ú__init__Úvalue0©ÚselfÚargr   Ú	__class__s      €r   r   zUDEArgsToSuper.__init__!   s,   ø€ Ý�n˜dÑ#Ô#×,Ò,¨SÑ1Ô1Ð1ØˆŒˆˆr   c                 ó„   — t          || j        ¦  «        sdS d}|| j        |j        k    z  }|| j        |j        k    z  }|S ©NFT)Ú
isinstancer!   Úargsr   ©r   ÚotherÚsames      r   Ú__eq__zUDEArgsToSuper.__eq__%   sK   € Ý˜% ¤Ñ0Ô0ð 	Ø�5ØˆØ�”	˜UœZÒ'Ñ'ˆØ�”˜uœ|Ò+Ñ+ˆØˆr   c                 óx   •— t          t          t          ¦  «                             ¦   «         | j        f¦  «        S r   )Úhashr   r   Ú__hash__r   ©r   r!   s    €r   r,   zUDEArgsToSuper.__hash__-   s,   ø€ Ý•U�>Ñ*Ô*×3Ò3Ñ5Ô5°t´{ÐCÑDÔDÐDr   ©r   r   r   r   r)   r,   Ú__classcell__©r!   s   @r   r   r       si   ø€ € € € € ðð ð ð ð ðð ð ðEð Eð Eð Eð Eð Eð Eð Eð Er   r   c                   ó.   ‡ — e Zd Zˆ fd„Zd„ Zˆ fd„Zˆ xZS )ÚUDENoArgSuperc                 ór   •— t          t          | ¦  «                             ¦   «          || _        || _        d S r   )r   r2   r   Údeferargr   r   s      €r   r   zUDENoArgSuper.__init__2   s1   ø€ Ý�m˜TÑ"Ô"×+Ò+Ñ-Ô-Ð-ØˆŒØˆŒˆˆr   c                 óª   — t          || j        ¦  «        sdS d}|| j        |j        k    z  }|| j        |j        k    z  }|| j        |j        k    z  }|S r#   )r$   r!   r%   r4   r   r&   s      r   r)   zUDENoArgSuper.__eq__7   s^   € Ý˜% ¤Ñ0Ô0ð 	Ø�5ØˆØ�”	˜UœZÒ'Ñ'ˆØ�” ¤Ò/Ñ/ˆØ�”˜uœ|Ò+Ñ+ˆØˆr   c                 ó„   •— t          t          t          ¦  «                             ¦   «         | j        | j        f¦  «        S r   )r+   r   r2   r,   r4   r   r-   s    €r   r,   zUDENoArgSuper.__hash__@   s9   ø€ Ý•U�=Ñ)Ô)×2Ò2Ñ4Ô4°d´mØ”[ð"ñ #ô #ð 	#r   r.   r0   s   @r   r2   r2   1   s`   ø€ € € € € ðð ð ð ð ð
ð ð ð#ð #ð #ð #ð #ð #ð #ð #ð #r   r2   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó`   •— | dk    r‰‚| dk    rt           ‚| dk    rt          j        j        ‚| S ©Né   é   é   ©Ú
ValueErrorÚnpÚlinalgÚLinAlgError)ÚiÚexcs    €r   Úraiserzraise_class.<locals>.raiserF   s9   ø€ Ø�Š6ˆ6ØˆIØ�!ŠVˆVÝÐØ�!ŠVˆVå”)Ô'Ð'Øˆr   r   ©rC   rD   s   ` r   Úraise_classrF   E   s#   ø€ ðð ð ð ð ð €Mr   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc                 ó¤   •— | dk    r ‰‰d¦  «        ‚| dk    rt          ‰d¦  «        ‚| dk    r t          j                             ‰d¦  «        ‚| S r9   r=   ©rB   r    rC   s    €€r   rD   zraise_instance.<locals>.raiserS   ó[   ø€ Ø�Š6ˆ6Ø�#�c˜1‘+”+ÐØ�!ŠVˆVÝ˜S !Ñ$Ô$Ð$Ø�!ŠVˆVÝ”)×'Ò'¨¨QÑ/Ô/Ð/Øˆr   r   )rC   r    rD   s   `` r   Úraise_instancerK   R   s)   øø€ ðð ð ð ð ð ð €Mr   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó¤   •— | dk    r ‰|d¦  «        ‚| dk    rt          |d¦  «        ‚| dk    r t          j                             |d¦  «        ‚| S r9   r=   rI   s     €r   rD   z+raise_instance_runtime_args.<locals>.raiser_   rJ   r   r   rE   s   ` r   Úraise_instance_runtime_argsrN   ^   s#   ø€ ðð ð ð ð ð €Mr   c                   ó   — ‚ r   r   r   r   r   ÚreraiserP   j   s   € Ø	r   c                 ó   ‡ — ˆ fd„}|S )Nc                 óF   •— | dk    rt          dd¦  «        ‚ ‰| ¦  «        S )Nr<   Úbar)r   )rB   Úinners    €r   Úouterzouter_function.<locals>.outero   s)   ø€ Ø�Š6ˆ6Ý˜U AÑ&Ô&Ð&Øˆu�Q‰xŒxˆr   r   )rT   rU   s   ` r   Úouter_functionrV   n   s#   ø€ ðð ð ð ð ð €Lr   c                 ó&   — | dk    s
J d¦   «         ‚d S )Nr:   rS   r   ©rB   s    r   Úassert_usecaserY   v   s   € Ø�Š6ˆ6ˆ6�5‰6Œ6ˆ6ˆ6ˆ6r   c                  ó   — t          ¦   «         ‚r   ©r   r   r   r   Úude_bug_usecaser\   z   s   € Ý
Ñ
Ô
Ðr   c                 ó    — t          | ¦  «        ‚r   ©r>   )r    s    r   Úraise_runtime_valuer_   ~   s   € Ý
�S‰/Œ/Ðr   c                   ó  — e 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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"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)e*d(„ ¦   «         Z+d)S )*ÚTestRaisingc                 óî  — d„ }t          |t          j        t          j        dd¦  «        t          j        f¦  «        }|j        }t          j        dt
          j        ¬¦  «        }|                       ||d¦  «         ||d¦  «        ¦  «         |                      t          ¦  «        5 } ||d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j        ¦  «        d¦  «         d S )Nc                 ó   — | j         |         S r   )Úshape)ÚarB   s     r   Úpyfuncz5TestRaising.test_unituple_index_error.<locals>.pyfunc…   s   € Ø”7˜1”:Ðr   r:   ÚAr;   )Údtyper   ztuple index out of range)r   r   ÚArrayÚint32Úentry_pointr?   ÚemptyÚassertEqualÚassertRaisesÚ
IndexErrorÚstrÚ	exception)r   rf   ÚcresÚcfuncre   Úcms         r   Útest_unituple_index_errorz%TestRaising.test_unituple_index_error„   s&  € ð	ð 	ð 	õ   ­¬µU´[À!ÀSÑ)IÔ)IÝ).¬ð)6ñ 7ô 7ˆð Ô ˆÝŒH�Q�bœhÐ'Ñ'Ô'ˆà×Ò˜˜˜q !™œ f f¨Q°¡l¤lÑ3Ô3Ð3à×Ò�zÑ*Ô*ð 	¨bØˆE�!�Q‰KŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*Ð,FÑGÔGÐGÐGÐGs   Â)CÃCÃ	Cc                 óT  — |t           t          t          t          fv sJ ‚|                      |¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        5 } ||Ž  d d d ¦  «         n# 1 swxY w Y   |                      |j        j        |j        j        ¦  «         t          |j        t          t          f¦  «        r#|                      |j        |j        k    ¦  «         |t          u r¬	  ||Ž  n9# t          $ r, t          j        t          j        ¦   «         Ž }|dd …         }	Y nw xY w	  ||Ž  n9# t          $ r, t          j        t          j        ¦   «         Ž }
|
dd …         }Y nw xY wt#          |	|¦  «        D ]\  }}|                      ||¦  «         Œd S d S )Néþÿÿÿ)Úforce_pyobj_flagsÚno_pyobj_flagsÚno_pyobj_flags_w_nrtÚno_gil_flagsrn   rm   rq   r%   r$   r   r2   Ú
assertTrueÚ	ExceptionÚ	tracebackÚformat_exceptionÚsysÚexc_infoÚzipÚassertIn)r   Ú	exec_moderf   rs   Úexpected_error_classr%   ÚpyerrÚjiterrÚ	py_framesÚexpected_framesÚc_framesÚ
got_framesÚexpfÚgotfs                 r   Úcheck_against_pythonz TestRaising.check_against_python”   sg  € ð Õ.µÝ1µ<ðAð Að Að Að Að ×ÒÐ3Ñ4Ô4ð 	¸ØˆF�DˆMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×ÒÐ3Ñ4Ô4ð 	¸ØˆE�4ˆLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò˜œÔ-¨vÔ/?Ô/DÑEÔEÐEõ �e”o­½Ð'FÑGÔGð 	AØ�OŠO˜EœO¨vÔ/?Ò?Ñ@Ô@Ð@ð �Ð&Ð&ð1Ø�˜���øÝð 1ð 1ð 1Ý%Ô6½¼¹¼ÐG�	Ø"+¨B¨C¨C¤.���ð1øøøð+Ø��t���øÝð +ð +ð +Ý$Ô5µs´|±~´~ÐF�Ø% b c cœ]�
�
�
ð+øøøõ
 " /°:Ñ>Ô>ð *ð *‘
��dð —’˜d DÑ)Ô)Ð)Ð)ð+ 'Ð&ð"*ð *sG   ´AÁA
ÁA
Á&A8Á8A<Á?A<Ã;D Ä3D7Ä6D7Ä;E Å3E7Å6E7c                 ó†  — t          t          ¦  «        }t          |t          j        f|¬¦  «        }|j        }|                       |d¦  «        d¦  «         |                      |||t          d¦  «         |                      |||t          d¦  «         |                      |||t          j
        j
        j        d¦  «         d S )N©Úflagsr   r:   r;   r<   )rF   r   r   r   rj   rk   rm   rŽ   r>   r?   r@   rA   ©r   r‘   rf   rr   rs   s        r   Úcheck_raise_classzTestRaising.check_raise_class¾   s¿   € Ý�WÑ%Ô%ˆÝ ­¬¨¸eÐDÑDÔDˆØÔ ˆØ×Ò˜˜˜q™œ 1Ñ%Ô%Ð%Ø×!Ò! %¨°½ÀÑCÔCÐCØ×!Ò! %¨°½
ÀAÑFÔFÐFØ×!Ò! %¨°Ý"$¤)Ô"2Ô">Àñ	Cô 	Cð 	Cð 	Cð 	Cr   c                 ó<   — |                       t          ¬¦  «         d S ©Nr�   )r“   ry   ©r   s    r   Útest_raise_class_nopythonz%TestRaising.test_raise_class_nopythonÈ   s   € Ø×Ò¥^ÐÑ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S r•   )r“   rx   r–   s    r   Útest_raise_class_objmodez$TestRaising.test_raise_class_objmodeË   s    € Ø×ÒÕ%6ÐÑ7Ô7Ð7Ð7Ð7r   c                 ó¢  — t           t          t          fD ]¹}t          |d¦  «        }t	          |t
          j        f|¬¦  «        }|j        }|                       |d¦  «        d¦  «         |  	                    ||||d¦  «         |  	                    |||t          d¦  «         |  	                    |||t          j        j        j        d¦  «         Œºd S )Núsome messager�   r   r:   r;   r<   )r   r   r2   rK   r   r   rj   rk   rm   rŽ   r>   r?   r@   rA   ©r   r‘   Úclazzrf   rr   rs   s         r   Úcheck_raise_instancez TestRaising.check_raise_instanceÎ   sâ   € Ý�~Ý#ð%ð 
	Gð 
	GˆEå# E¨>Ñ:Ô:ˆFÝ# F­U¬[¨NÀ%ÐHÑHÔHˆDØÔ$ˆEà×Ò˜U˜U 1™XœX qÑ)Ô)Ð)Ø×%Ò% e¨V°U¸EÀ1ÑEÔEÐEØ×%Ò% e¨V°U½JÈÑJÔJÐJØ×%Ò% e¨V°UÝ&(¤iÔ&6Ô&BÀAñGô Gð Gð Gð
	Gð 
	Gr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rž   rx   r–   s    r   Útest_raise_instance_objmodez'TestRaising.test_raise_instance_objmodeÛ   s    € Ø×!Ò!Õ(9Ð!Ñ:Ô:Ð:Ð:Ð:r   c                 ó<   — |                       t          ¬¦  «         d S r•   )rž   ry   r–   s    r   Útest_raise_instance_nopythonz(TestRaising.test_raise_instance_nopythonÞ   s   € Ø×!Ò!­Ð!Ñ7Ô7Ð7Ð7Ð7r   c                 óŠ  — t           t          t          fD ]­}t          |d¦  «        }t	          |¦  «        } t          di |¤Ž|¦  «        } t          di |¤Žt	          |¦  «        ¦  «        }|                      ||||d¦  «         |                      |||t          d¦  «         |                      |||t          d¦  «         Œ®dS )zD
        Check exception propagation from nested functions.
        r›   r:   r;   r<   Nr   )	r   r   r2   rK   rV   r   rŽ   r>   r   )r   r‘   Újit_argsr�   Úinner_pyfuncrf   Úinner_cfuncrs   s           r   Úcheck_raise_nestedzTestRaising.check_raise_nestedá   sØ   € õ �~Ý#ð%ð 		Kð 		KˆEå)¨%°Ñ@Ô@ˆLÝ# LÑ1Ô1ˆFØ)�#˜/˜/ ˜/˜/¨,Ñ7Ô7ˆKØ#•C�O�O˜(�O�O¥N°;Ñ$?Ô$?Ñ@Ô@ˆEà×%Ò% e¨V°U¸EÀ1ÑEÔEÐEØ×%Ò% e¨V°U½JÈÑJÔJÐJØ×%Ò% e¨V°U½JÈÑJÔJÐJÐJð		Kð 		Kr   c                 ó>   — |                       t          d¬¦  «         d S )NT)Úforceobj)r§   rx   r–   s    r   Útest_raise_nested_objmodez%TestRaising.test_raise_nested_objmodeð   s"   € Ø×ÒÕ 1¸DÐÑAÔAÐAÐAÐAr   c                 ó>   — |                       t          d¬¦  «         d S )NT)Únopython)r§   ry   r–   s    r   Útest_raise_nested_nopythonz&TestRaising.test_raise_nested_nopythonó   s!   € Ø×Ò¥¸ÐÑ>Ô>Ð>Ð>Ð>r   c                 ó  ‡‡	‡
— d„ Š
t           }t          |d|¬¦  «        }|j        }ˆ
fd„t          fˆ
fd„t          fˆ
fd„t
          ffD ]9\  Š	Šˆˆ	fd„} ||¦  «        } ||¦  «        }|                      |||‰¦  «         Œ:d S )Nc                 ó   — | ‚r   r   )rC   s    r   Ú	raise_excz,TestRaising.check_reraise.<locals>.raise_exc÷   s   € ØˆIr   r   r�   c                  ó$   •—  ‰ t           ¦  «        S r   )ÚZeroDivisionError©r°   s   €r   ú<lambda>z+TestRaising.check_reraise.<locals>.<lambda>ü   s   ø€  ) )Õ,=Ñ">Ô">€ r   c                  ó6   •—  ‰ t          dd¦  «        ¦  «        S ©NÚmsgr:   r[   r³   s   €r   r´   z+TestRaising.check_reraise.<locals>.<lambda>þ   s   ø€  ) )­N¸5À!Ñ,DÔ,DÑ"EÔ"E€ r   c                  ó6   •—  ‰ t          dd¦  «        ¦  «        S r¶   )r2   r³   s   €r   r´   z+TestRaising.check_reraise.<locals>.<lambda>   s   ø€  ) )­M¸%ÀÑ,CÔ,CÑ"DÔ"D€ r   c                 ó   •‡ — ˆˆ ˆfd„}|S )Nc                  óJ   •— 	  ‰¦   «          d S # ‰ $ r  ‰¦   «          Y d S w xY wr   r   )ÚerrÚfnÚops   €€€r   Úimplz9TestRaising.check_reraise.<locals>.gen_impl.<locals>.impl  sC   ø€ ðØ˜™œ˜˜˜øØð ð ð Ø˜™œ˜˜˜˜ðøøøs   ƒ
 �"¡"r   )r¼   r¾   r»   r½   s   ` €€r   Úgen_implz+TestRaising.check_reraise.<locals>.gen_impl  s.   øø€ ðð ð ð ð ð ð ð
 �r   )rP   r   rk   r²   r   r2   rŽ   )r   r‘   rf   rr   rs   r¿   ÚpybasedÚcbasedr»   r½   r°   s           @@@r   Úcheck_reraisezTestRaising.check_reraiseö   sí   øøø€ ð	ð 	ð 	åˆÝ ¨°%Ð8Ñ8Ô8ˆØÔ ˆØ>Ð>Ð>Ð>Ý*ð,àEÐEÐEÐEÝ'ð)àDÐDÐDÐDÝ&ð(ð	)ð 	Dð 	D‰GˆB�ðð ð ð ð ð ð �h˜vÑ&Ô&ˆGØ�X˜e‘_”_ˆFØ×%Ò% e¨W°f¸cÑCÔCÐCÐCð	Dð 	Dr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rÂ   rx   r–   s    r   Útest_reraise_objmodez TestRaising.test_reraise_objmode  s    € Ø×ÒÕ!2ÐÑ3Ô3Ð3Ð3Ð3r   c                 ó<   — |                       t          ¬¦  «         d S r•   )rÂ   ry   r–   s    r   Útest_reraise_nopythonz!TestRaising.test_reraise_nopython  s   € Ø×Ò¥ÐÑ0Ô0Ð0Ð0Ð0r   c                 ó6  — t          |¦  «        }t          |t          j        f|¬¦  «        }|j        }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          |j	        ¦  «        d¦  «         d S )Nr�   r:   z)exceptions must derive from BaseException)
rF   r   r   rj   rk   rn   Ú	TypeErrorrm   rp   rq   )r   Úclsr‘   rf   rr   rs   rt   s          r   Úcheck_raise_invalid_classz%TestRaising.check_raise_invalid_class  sØ   € Ý˜SÑ!Ô!ˆÝ ­¬¨¸eÐDÑDÔDˆØÔ ˆØ×Ò�yÑ)Ô)ð 	¨RØˆE�!‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�˜Rœ\Ñ*Ô*ØDñ	Fô 	Fð 	Fð 	Fð 	Fs   ÁA&Á&A*Á-A*c                 ó€   — |                       t          t          ¬¦  «         |                       dt          ¬¦  «         d S )Nr�   r:   )rÊ   Úintrx   r–   s    r   Ú test_raise_invalid_class_objmodez,TestRaising.test_raise_invalid_class_objmode  s<   € Ø×&Ò&¥sÕ2CÐ&ÑDÔDÐDØ×&Ò& qÕ0AÐ&ÑBÔBÐBÐBÐBr   c                 ó   — d}|                       t          j        ¦  «        5 }|                      t          t
          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         |                       t          j        ¦  «        5 }|                      dt
          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         d S )Nz8Encountered unsupported constant type used for exceptionr�   r:   )	rn   r   ÚUnsupportedErrorrÊ   rÌ   ry   rƒ   rp   rq   )r   r·   Úraisess      r   Ú!test_raise_invalid_class_nopythonz-TestRaising.test_raise_invalid_class_nopython   so  € ØHˆØ×Ò�vÔ6Ñ7Ô7ð 	F¸6Ø×*Ò*­3µnÐ*ÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fà�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�vÔ6Ñ7Ô7ð 	D¸6Ø×*Ò*¨1µNÐ*ÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dà�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s#   ¢"AÁAÁAÂ"CÃCÃCc                 óü   — t           d„ ¦   «         }d}|                      t          j        ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         d S )Nc                  ó   — d‚)NÚillegalr   r   r   r   Úfooz8TestRaising.test_raise_bare_string_nopython.<locals>.foo*  s   € àˆOr   zCDirectly raising a string constant as an exception is not supported)r   rn   r   rÏ   rƒ   rp   rq   )r   rÕ   r·   rÐ   s       r   Útest_raise_bare_string_nopythonz+TestRaising.test_raise_bare_string_nopython)  s»   € Ý	ð	ð 	ñ 
Œð	ðˆà×Ò�vÔ6Ñ7Ô7ð 	¸6ØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s   ²A	Á	AÁAc                 ó®   — t           }t          |t          j        f|¬¦  «        }|j        } |d¦  «         |                      |||t          d¦  «         d S )Nr�   r:   r;   )rY   r   r   rj   rk   rŽ   ÚAssertionErrorr’   s        r   Úcheck_assert_statementz"TestRaising.check_assert_statement3  sV   € ÝˆÝ ­¬¨¸eÐDÑDÔDˆØÔ ˆØˆˆa‰ŒˆØ×!Ò! %¨°½ÈÑJÔJÐJÐJÐJr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rÙ   rx   r–   s    r   Útest_assert_statement_objmodez)TestRaising.test_assert_statement_objmode:  s    € Ø×#Ò#Õ*;Ð#Ñ<Ô<Ð<Ð<Ð<r   c                 ó<   — |                       t          ¬¦  «         d S r•   )rÙ   ry   r–   s    r   Útest_assert_statement_nopythonz*TestRaising.test_assert_statement_nopython=  s   € Ø×#Ò#­.Ð#Ñ9Ô9Ð9Ð9Ð9r   c                 ó  — d}d}|t           f|t          f|t          ffD ]_\  }}i }t          |d|i|¦  «         |d         }t	          |t
          j        f|¬¦  «        }|j        }	|                      |||	|d¦  «         Œ`d S )Nz def f(a):
  raise exc('msg', 10)zdef f(a):
  assert a != 1rC   Úfr�   r:   )	rØ   r   r2   Úexecr   r   rj   rk   rŽ   )
r   r‘   Úsimple_raiseÚassert_raiseÚf_textrC   Úlocrf   rr   rs   s
             r   Úcheck_raise_from_exec_stringz(TestRaising.check_raise_from_exec_string@  s¬   € à:ˆØ3ˆØ)­>Ð:Ø)­>Ð:Ø)­=Ð9ð;ð 	Dð 	D‰KˆF�Cð ˆCÝ�˜% ˜ sÑ+Ô+Ð+Ø˜”XˆFÝ# F­U¬[¨NÀ%ÐHÑHÔHˆDØÔ$ˆEØ×%Ò% e¨V°U¸CÀÑCÔCÐCÐCð	Dð 	Dr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rå   rx   r–   s    r   Ú$test_assert_from_exec_string_objmodez0TestRaising.test_assert_from_exec_string_objmodeN  s    € Ø×)Ò)Õ0AÐ)ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rå   ry   r–   s    r   Ú%test_assert_from_exec_string_nopythonz1TestRaising.test_assert_from_exec_string_nopythonQ  s   € Ø×)Ò)µÐ)Ñ?Ô?Ð?Ð?Ð?r   c                 ó€   — t           }t          |d|¬¦  «        }|j        }|                      |||t          ¦  «         d S )Nr   r�   )r\   r   rk   rŽ   rÈ   r’   s        r   Úcheck_user_code_error_tracebackz+TestRaising.check_user_code_error_tracebackT  sE   € õ !ˆÝ ¨°%Ð8Ñ8Ô8ˆØÔ ˆØ×!Ò! %¨°½	ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rë   rx   r–   s    r   Ú&test_user_code_error_traceback_objmodez2TestRaising.test_user_code_error_traceback_objmode]  s    € Ø×,Ò,Õ3DÐ,ÑEÔEÐEÐEÐEr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rë   ry   r–   s    r   Ú'test_user_code_error_traceback_nopythonz3TestRaising.test_user_code_error_traceback_nopython`  s   € Ø×,Ò,µ>Ð,ÑBÔBÐBÐBÐBr   c                 ó˜   — t           }t          |t          j        f|¬¦  «        }|j        }|                      |||t          d¦  «         d S )Nr�   Úhello)r_   r   r   Ústringrk   rŽ   r>   r’   s        r   Úcheck_raise_runtime_valuez%TestRaising.check_raise_runtime_valuec  sI   € Ý$ˆÝ ­¬¨¸uÐEÑEÔEˆØÔ ˆØ×!Ò! %¨°½
ÀGÑLÔLÐLÐLÐLr   c                 ó<   — |                       t          ¬¦  «         d S r•   )ró   rx   r–   s    r   Ú test_raise_runtime_value_objmodez,TestRaising.test_raise_runtime_value_objmodei  s    € Ø×&Ò&Õ->Ð&Ñ?Ô?Ð?Ð?Ð?r   c                 ó<   — |                       t          ¬¦  «         d S r•   )ró   rz   r–   s    r   Ú!test_raise_runtime_value_nopythonz-TestRaising.test_raise_runtime_value_nopythonl  s    € Ø×&Ò&Õ-AÐ&ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          ¬¦  «         d S r•   )ró   r{   r–   s    r   Útest_raise_runtime_value_nogilz*TestRaising.test_raise_runtime_value_nogilo  s   € Ø×&Ò&­\Ð&Ñ:Ô:Ð:Ð:Ð:r   c           	      ó¾  — t           t          t          fD ]Ç}t          |¦  «        }t	          |t
          j        t
          j        f|¬¦  «        }|j        }|  	                     |dd¦  «        d¦  «         |  
                    ||||dd¦  «         |  
                    |||t          dd¦  «         |  
                    |||t          j        j        j        dd	¦  «         ŒÈd S )
Nr�   r   Útestr:   rñ   r;   Úworldr<   r@   )r   r   r2   rN   r   r   rj   rò   rk   rm   rŽ   r>   r?   r@   rA   rœ   s         r   Ú&check_raise_instance_with_runtime_argsz2TestRaising.check_raise_instance_with_runtime_argsr  sý   € Ý�~Ý#ð%ð 	Qð 	QˆEå0°Ñ7Ô7ˆFÝ# F­U¬[½%¼,Ð,GØ*/ð1ñ 1ô 1ˆDàÔ$ˆEà×Ò˜U˜U 1 fÑ-Ô-¨qÑ1Ô1Ð1Ø×%Ò% e¨V°U¸EÀ1ÀgÑNÔNÐNØ×%Ò% e¨V°U½JÈØ&-ñ/ô /ð /à×%Ò% e¨V°UÝ&(¤iÔ&6Ô&BÀAÀxñQô Qð Qð Qð	Qð 	Qr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rý   rx   r–   s    r   Ú-test_raise_instance_with_runtime_args_objmodez9TestRaising.test_raise_instance_with_runtime_args_objmode�  s    € Ø×3Ò3Õ:KÐ3ÑLÔLÐLÐLÐLr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rý   rz   r–   s    r   Ú.test_raise_instance_with_runtime_args_nopythonz:TestRaising.test_raise_instance_with_runtime_args_nopython„  s    € Ø×3Ò3Õ:NÐ3ÑOÔOÐOÐOÐOr   c                 ó<   — |                       t          ¬¦  «         d S r•   )rý   r{   r–   s    r   Ú+test_raise_instance_with_runtime_args_nogilz7TestRaising.test_raise_instance_with_runtime_args_nogil‡  s   € Ø×3Ò3½,Ð3ÑGÔGÐGÐGÐGr   c                 óè   — d„ }d„ }d„ }|df|df|t           j        ffg}|D ]O\  }}d}|                      t          j        |¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒPd S )Nc                  óJ   — t          dt          j        d¦  «        dœ¦  «        ‚)Nr:   é   ©re   Úb)r>   r?   Úonesr   r   r   Úraise_literal_dictzCTestRaising.test_dynamic_raise_bad_args.<locals>.raise_literal_dict‹  s    € Ý 1­2¬7°1©:¬:Ð6Ð6Ñ7Ô7Ð7r   c                  ó:   — t          t          d¦  «        ¦  «        ‚)Nr<   )r>   Úranger   r   r   Úraise_rangez<TestRaising.test_dynamic_raise_bad_args.<locals>.raise_rangeŽ  s   € Ý�U 1™XœXÑ&Ô&Ð&r   c                 ó*   — t          | j        ¦  «        ‚r   )r>   Úbit_generator)Úrngs    r   Ú	raise_rngz:TestRaising.test_dynamic_raise_bad_args.<locals>.raise_rng‘  s   € Ý˜SÔ.Ñ/Ô/Ð/r   r   z/.*Cannot convert native .* to a Python object.*)r   Únpy_rngÚassertRaisesRegexr   ÚTypingErrorr   )r   r
  r  r  Úfuncsrf   Úargtypesr·   s           r   Útest_dynamic_raise_bad_argsz'TestRaising.test_dynamic_raise_bad_argsŠ  sù   € ð	8ð 	8ð 	8ð	'ð 	'ð 	'ð	0ð 	0ð 	0ð   Ð$Ø˜"ÐØ�œÐ(Ð)ð
ˆð !&ð 	3ð 	3ÑˆF�HØCˆCØ×'Ò'­Ô(:¸CÑ@Ô@ð 3ð 3Ý  ¨Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3øð	3ð 	3s   Á	A&Á&A*	Á-A*	c                 ó¦   — t           d„ ¦   «         }d}|                      t          |¦  «        5   |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nc                  ó&   — t          dddœ¦  «        ‚)Nr:   r<   r  r^   r   r   r   Úraise_literal_dict2z@TestRaising.test_dynamic_raise_dict.<locals>.raise_literal_dict2   s   € å 1¨1Ð-Ð-Ñ.Ô.Ð.r   z{a: 1, b: 3})r   r  r>   )r   r  r·   s      r   Útest_dynamic_raise_dictz#TestRaising.test_dynamic_raise_dictŸ  s«   € Ý	ð	/ð 	/ñ 
Œð	/ð ˆØ×#Ò#¥J°Ñ4Ô4ð 	"ð 	"ØÐÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	"ð 	"s   ®AÁA
ÁA
c                 óÄ   — t          d¬¦  «        d„ ¦   «         }d}|                      t          j        |¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NF)Ú_nrtc                 ó    — t          | ¦  «        ‚r   r^   rX   s    r   Úraise_with_no_nrtz7TestRaising.test_disable_nrt.<locals>.raise_with_no_nrt©  ó   € å˜Q‘-”-Ðr   zNRT required but not enabledé{   )r   r  r   ÚNumbaRuntimeError)r   r  r·   s      r   Útest_disable_nrtzTestRaising.test_disable_nrt¨  s¼   € Ý	�5Ð	Ñ	Ô	ð	 ð 	 ñ 
Ô	ð	 ð -ˆØ×#Ò#¥FÔ$<¸cÑBÔBð 	#ð 	#ØÐ˜cÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð 	#ð 	#s   ¼AÁAÁAc                 ó°   ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }|                      |                     d¦  «         |d¦  «        ¦  «         d S )Nc                 ó    — t          | ¦  «        ‚r   r^   ©re   s    r   Úraise_z*TestRaising.test_try_raise.<locals>.raise_³  r   r   c                 óH   •— 	  ‰| ¦  «         n# t           $ r Y nw xY w| dz   S )Nr:   )r}   ©re   r'  s    €r   Ú	try_raisez-TestRaising.test_try_raise.<locals>.try_raise·  s@   ø€ ðØ��q‘	”	�	�	øÝð ð ð Ø�ðøøøà�q‘5ˆLs   ƒ �
›r<   )r   rm   Úpy_func)r   r*  r'  s     @r   Útest_try_raisezTestRaising.test_try_raise±  su   ø€ å	ð	 ð 	 ñ 
Œð	 õ 
ð	ð 	ð 	ð 	ñ 
Œð	ð 	×Ò˜×*Ò*¨1Ñ-Ô-¨y¨y¸©|¬|Ñ<Ô<Ð<Ð<Ð<r   c           
      óx  ‡— t           d„ ¦   «         Št           ˆfd„¦   «         }dddt          j        d¦  «        ddgdt          ddg¦  «        g}‰|fD ]e}|D ]`}|                      t
          ¦  «        5 } ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |f|j        j        ¦  «         ŒaŒfd S )	Nc                 ó    — t          | ¦  «        ‚r   r^   r&  s    r   r'  z.TestRaising.test_dynamic_raise.<locals>.raise_Ä  r   r   c                 óZ   •— 	  ‰| ¦  «         d S # t           $ r t          | ¦  «        ‚w xY wr   )r}   r>   r)  s    €r   Ú
try_raise_z2TestRaising.test_dynamic_raise.<locals>.try_raise_È  s@   ø€ ð$Ø��q‘	”	�	�	�	øÝð $ð $ð $Ý  ‘m”mÐ#ð$øøøs   ƒ �*r:   gš™™™™™ñ?rñ   r<   r;   )r:   r;   )	r   r?   r	  Úsetrn   r>   ÚassertEqualsrq   r%   )r   r0  r%   r¼   r    Úer'  s         @r   Útest_dynamic_raisezTestRaising.test_dynamic_raiseÁ  s>  ø€ õ 
ð	 ð 	 ñ 
Œð	 õ 
ð	$ð 	$ð 	$ð 	$ñ 
Œð	$ð ØØÝŒG�A‰JŒJØ�ˆFØÝ��A�‰KŒKð
ˆð ˜:Ð&ð 	<ð 	<ˆBØð <ð <�Ø×&Ò&¥zÑ2Ô2ð °aØ�B�s‘G”G�Gðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à×!Ò! 3 &¨!¬+Ô*:Ñ;Ô;Ð;Ð;ð<ð	<ð 	<s   Á4BÂBÂBN),r   r   r   ru   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í   rï   ró   rõ   r÷   rù   rý   rÿ   r  r  r  r  r#  r,  r
   r4  r   r   r   ra   ra   ‚   s¼  € € € € € ðHð Hð Hð (*ð (*ð (*ðTCð Cð Cð5ð 5ð 5ð8ð 8ð 8ðGð Gð Gð;ð ;ð ;ð8ð 8ð 8ðKð Kð KðBð Bð Bð?ð ?ð ?ðDð Dð Dð.4ð 4ð 4ð1ð 1ð 1ðFð Fð FðCð Cð Cð2ð 2ð 2ð2ð 2ð 2ðKð Kð Kð=ð =ð =ð:ð :ð :ðDð Dð DðCð Cð Cð@ð @ð @ðCð Cð CðFð Fð FðCð Cð CðMð Mð Mð@ð @ð @ðCð Cð Cð;ð ;ð ;ðQð Qð QðMð Mð MðPð Pð PðHð Hð Hð3ð 3ð 3ð*"ð "ð "ð#ð #ð #ð=ð =ð =ð  ð<ð <ñ Ôð<ð <ð <r   ra   Ú__main__)(Únumpyr?   r€   r~   Únumba.core.compilerr   r   Únumbar   r   Ú
numba.corer   r   Únumba.tests.supportr	   r
   Úunittestrx   Úforce_pyobjectry   rz   Únrtr{   Úrelease_gilr}   r   r   r   r2   rF   rK   rN   rP   rV   rY   r\   r_   ra   r   Úmainr   r   r   ú<module>r@     s`  ðØ Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø €€€à�E‘G”GÐ Ø#'Ð Ô  à�‘”€à�u‘w”wÐ ØÐ Ô àˆu‰wŒw€Ø€Ô Ø€Ô ð	ð 	ð 	ð 	ð 	ˆiñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ðEð Eð Eð Eð E�Yñ Eô Eð Eð"#ð #ð #ð #ð #�Iñ #ô #ð #ð(
ð 
ð 
ð	ð 	ð 	ð	ð 	ð 	ð
ð 
ð 
ðð ð ðð ð ðð ð ðð ð ðZ<ð Z<ð Z<ð Z<ð Z<�(ñ Z<ô Z<ð Z<ðz
 ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   