Ë
    üÇ:j¾‰  ã                   ór  — d dl Z 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
mZ d dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZmZmZmZ d d
lmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d„ Z9d„ Z: e;«       Z<d„ Z=ej|                  Z? G d„ de «      Z@ G d„ de «      ZA G d„ d eA«      ZB G d!„ d"eA«      ZCd#„ ZDd$„ ZE G d%„ d&ee «      ZFd'„ ZGd(„ ZH G d)„ d*ee «      ZI G d+„ d,eA«      ZJ G d-„ d.e «      ZKeLd/k(  r e.jš                  «        yy)0é    N)Úfind_setupwithsÚwith_lifting)Úbypass_contextÚcall_contextÚobjmode_context)ÚFunctionIdentityÚByteCode)ÚInterpreter)Úerrors)Ú
cpu_target)Ú
compile_irÚDEFAULT_FLAGS)ÚnjitÚtypeofÚobjmodeÚtypes)Úoverload)Ú
MemoryLeakÚTestCaseÚcaptured_stdoutÚskip_unless_scipyÚ
linux_onlyÚstrace_supportedÚstraceÚexpected_failure_py311Úexpected_failure_py312Úexpected_failure_py313Úexpected_failure_py314)Ú	PYVERSION)Újitclassc                 ó€   — t        j                  | «      }t        |¬«      }t        |«      }|j	                  |«      }|S )N)Úfunc_id)r   Úfrom_functionr	   r
   Ú	interpret)Úfuncr"   ÚbcÚinterpÚfunc_irs        úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/numba/tests/test_withlifting.pyÚget_func_irr*      s;   € Ü×,Ñ,¨TÓ2€GÜ	˜'Ô	"€BÜ˜Ó!€FØ×Ñ˜rÓ"€GØ€Nó    c                  ó�   — t        d«       t        5  t        d«       t        «        d d d «       t        d«       y # 1 sw Y   ŒxY w)NÚAÚBÚC©Úprintr   Úb© r+   r)   Úlift1r4   $   s6   € Ü	ˆ#„JÜ	ñ ÜˆcŒ
Ü	Œ÷ô 
ˆ#…J÷ð ús	   ’<¼Ac                  ó(  — d} t        d| «       d} t        5  t        d| «       | dz  } t        «        d d d «       | dz  } t        5  t        d| «       t        «        | dz  } d d d «       | dz  } t        d| «       y # 1 sw Y   ŒJxY w# 1 sw Y   Œ'xY w)Né   r-   r.   éd   r/   é
   ÚDr0   ©Úxs    r)   Úlift2r<   ,   s’   € Ø	€AÜ	ˆ#ˆq„MØ	€AÜ	ñ Üˆc�1ŒØ	ˆS‰ˆÜ	Œ÷ð ˆ�F€AÜ	ñ Üˆc�1ŒÜ	ŒØ	ˆR‰ˆ÷ð ˆ�F€AÜ	ˆ#ˆq…M÷ð ú÷
ð ús   —A<ÁBÁ<BÂBc                  ó(  — d} d}t        d| |«       t        5  t        d«       t        «        | dz  } t        5  t        d«       |dz  }t        «        d d d «       d d d «       | dz  } |dz  }t        d| |«       y # 1 sw Y   Œ)xY w# 1 sw Y   Œ-xY w)Nr6   r7   r-   r.   r/   i † r9   r0   ©r;   Úys     r)   Úlift3r@   =   s’   € Ø	€AØ€AÜ	ˆ#ˆq�!ÔÜ	ñ ÜˆcŒ
Ü	ŒØ	ˆS‰ˆÜñ 	Ü�#ŒJØ�‰KˆAÜŒC÷	÷	ð ˆ�F€AØˆ�F€AÜ	ˆ#ˆq�!Õ÷	ð 	ú÷	ð ús"   ˜!B¹A<ÁBÁ<B	ÂBÂBc                  ó°  — d} t        d| «       | dz  } t        5  t        d«       t        «        | dz  } t        d«      D ]+  }t        5  t        d«       t        «        | |z  } d d d «       Œ- 	 d d d «       t        5  t        d«       t        «        | r| dz  } d d d «       | dz  } t        d| «       y # 1 sw Y   Œ}xY w# 1 sw Y   ŒRxY w# 1 sw Y   Œ3xY w)	Nr   r-   r8   r.   r6   r/   r9   ÚE)r1   r   r2   Úrange©r;   Úis     r)   Úlift4rF   N   sÑ   € Ø	€AÜ	ˆ#ˆq„MØˆ�G€AÜ	ñ ÜˆcŒ
Ü	ŒØ	ˆQ‰ˆÜ�r“ò 	ˆAÜñ Ü�c”
Ü”Ø�Q‘�÷ð ñ	÷	ô 
ñ ÜˆcŒ
Ü	ŒÙØ�‰GˆA÷	ð
 ˆ�F€AÜ	ˆ#ˆq…M÷ð ú÷ð ú÷ð ús/   š/C Á	B4Á$
C Á=CÂ4B=Â9C Ã C	ÃCc                  ó   — t        d«       y )Nr-   ©r1   r3   r+   r)   Úlift5rI   d   s	   € Ü	ˆ#…Jr+   c                  óz   — d} t        d| «       t        5  | dz  } d d d «       t        d| «       | S # 1 sw Y   ŒxY w)Nr6   r-   r.   ©r1   r   r:   s    r)   Ú	liftcall1rL   h   s?   € Ø	€AÜ	ˆ#ˆq„MÜ	ñ Ø	ˆQ‰ˆ÷ä	ˆ#ˆq„MØ€H÷ð ús   •1±:c                  óÒ   — d} t        d| «       t        5  | dz  } d d d «       t        d| «       t        5  | dz  } d d d «       t        d| «       | S # 1 sw Y   Œ7xY w# 1 sw Y   Œ#xY w)Nr6   r-   r.   r8   r/   rK   r:   s    r)   Ú	liftcall2rN   q   si   € Ø	€AÜ	ˆ#ˆq„MÜ	ñ Ø	ˆQ‰ˆ÷ä	ˆ#ˆq„MÜ	ñ Ø	ˆR‰ˆ÷ä	ˆ#ˆq„MØ€H÷ð ú÷ð ús   •AµAÁAÁA&c                  óþ   — d} t        d| «       t        5  | dkD  r| dz  } d d d «       t        d| «       t        5  t        d«      D ]  }| |z  } Œ	 	 d d d «       t        d| «       | S # 1 sw Y   ŒHxY w# 1 sw Y   Œ#xY w)Nr6   r-   r   r.   r8   r/   )r1   r   rC   rD   s     r)   Ú	liftcall3rP   }   s‡   € Ø	€AÜ	ˆ#ˆq„MÜ	ñ ØˆqŠ5Ø�‰FˆA÷ô 
ˆ#ˆq„MÜ	ñ Ü�r“ò 	ˆAØ�‰F‰Añ	÷ô 
ˆ#ˆq„MØ€H÷ð ú÷ð ús   •A'ºA3Á'A0Á3A<c                  ór   — t         5  t         5  	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w©N)r   r3   r+   r)   Ú	liftcall4rS   ‹   s:   € Ü	ñ Üñ 	Ø÷	÷ð ÷	ð 	ú÷ð ús   ‡-Ž!�-¡*	¦-­6c                  ó¬   — t        d«      D ]9  } t        5  t        | «       | dk(  rt        d«       	 d d d «        | S 	 d d d «       Œ;  S # 1 sw Y   ŒGxY w)Nr8   é   r-   )rC   r   r1   )rE   s    r)   Ú	liftcall5rV   ‘   sg   € Ü�2‹Yò ˆÜñ 	Ü�!ŒHØ�AŠvÜ�c”
Ø÷		ð 	ð
 €Hð ÷	ð 	ðð €H÷	ð 	ús   •A
Á
A	c                  ó<   — t         5  	 d d d «       y # 1 sw Y   y xY wrR   )Úundefined_global_varr3   r+   r)   Úlift_undefiendrY   ›   ó   € Ü	ñ Ø÷÷ ñ úó   ‡’c                  ó<   — t         5  	 d d d «       y # 1 sw Y   y xY wrR   )Úbogus_contextmanagerr3   r+   r)   Úlift_invalidr^   £   rZ   r[   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestWithFindingc                 ól   — t        |«      }t        t        |«      d   «      }| j                  ||«       y ©Nr   )r*   Úlenr   ÚassertEqual)Úselfr%   Úexpect_countÚthe_irÚcts        r)   Úcheck_num_of_withz!TestWithFinding.check_num_of_with¬   s0   € Ü˜TÓ"ˆÜ” Ó(¨Ñ+Ó,ˆØ×Ñ˜˜\Õ*r+   c                 ó2   — | j                  t        d¬«       y ©Nr6   ©rf   )ri   r4   ©re   s    r)   Ú
test_lift1zTestWithFinding.test_lift1±   ó   € Ø×Ñœu°1ÐÕ5r+   c                 ó2   — | j                  t        d¬«       y ©Né   rl   )ri   r<   rm   s    r)   Ú
test_lift2zTestWithFinding.test_lift2´   ro   r+   c                 ó2   — | j                  t        d¬«       y rk   )ri   r@   rm   s    r)   Ú
test_lift3zTestWithFinding.test_lift3·   ro   r+   c                 ó2   — | j                  t        d¬«       y rq   )ri   rF   rm   s    r)   Ú
test_lift4zTestWithFinding.test_lift4º   ro   r+   c                 ó2   — | j                  t        d¬«       y )Nr   rl   )ri   rI   rm   s    r)   Ú
test_lift5zTestWithFinding.test_lift5½   ro   r+   N)	Ú__name__Ú
__module__Ú__qualname__ri   rn   rs   ru   rw   ry   r3   r+   r)   r`   r`   «   s    „ ò+ò
6ò6ò6ò6ó6r+   r`   c                   ó,   ‡ — e Zd Zˆ fd„Zd„ Zdd„Zˆ xZS )ÚBaseTestWithLiftingc                 ó”   •— t         t        | �  «        t        j                  | _        t        j                  | _        t        | _	        y rR   )
Úsuperr~   ÚsetUpr   Útyping_contextÚ	typingctxÚtarget_contextÚ	targetctxr   Úflags)re   Ú	__class__s    €r)   r�   zBaseTestWithLifting.setUpÂ   s2   ø€ ÜÔ! 4Ñ.Ô0Ü#×2Ñ2ˆŒÜ#×2Ñ2ˆŒÜ"ˆ�
r+   c                 ór  — t        |«      }t        || j                  | j                  | j                  i ¬«      \  }}| j                  t        |«      |«       | j                  |«      }t        «       5 }|j                  «        d d d «       | j                  j                  «       |«       y # 1 sw Y   Œ*xY w©N©Úlocals)r*   r   rƒ   r…   r†   rd   rc   r   r   Úentry_pointÚgetvalue)	re   r%   rf   Úexpected_stdoutrg   Únew_irÚ	extractedÚcresÚouts	            r)   Úcheck_extracted_withz(BaseTestWithLifting.check_extracted_withÈ   s˜   € Ü˜TÓ"ˆÜ(Ø�D—N‘N D§N¡N°D·J±JØô
Ñˆ�	ð 	×Ñœ˜Y›¨Ô6Ø�‰˜vÓ&ˆäÓð 	 #Ø×ÑÔ÷	ð 	×Ñ˜Ÿ™›¨Õ9÷	ð 	ús   Á3B-Â-B6c           	      ón   — | j                   }| j                  }| j                  }t        ||||||i ¬«      S r‰   )rƒ   r…   r†   r   )re   rg   ÚargsÚreturn_typerƒ   r…   r†   s          r)   r   zBaseTestWithLifting.compile_irÖ   s9   € Ø—N‘Nˆ	Ø—N‘Nˆ	Ø—
‘
ˆÜ˜) Y°¸Ø'¨°rô;ð 	;r+   )r3   N)rz   r{   r|   r�   r“   r   Ú__classcell__)r‡   s   @r)   r~   r~   Á   s   ø„ ô#ò:÷;r+   r~   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLiftByPassc                 ó4   — | j                  t        dd¬«       y )Nr6   zA
C
©rf   rŽ   )r“   r4   rm   s    r)   rn   zTestLiftByPass.test_lift1à   s   € Ø×!Ñ!¤%°aØ2:ð 	"õ 	<r+   c                 ó4   — | j                  t        dd¬«       y )Nrr   zA 1
D 3
r›   )r“   r<   rm   s    r)   rs   zTestLiftByPass.test_lift2ä   s   € Ø×!Ñ!¤%°aØ2>ð 	"õ 	@r+   c                 ó4   — | j                  t        dd¬«       y )Nr6   zA 1 100
D 2 101
r›   )r“   r@   rm   s    r)   ru   zTestLiftByPass.test_lift3è   s   € Ø×!Ñ!¤%°aØ2Fð 	"õ 	Hr+   c                 ó4   — | j                  t        dd¬«       y )Nrr   z	A 0
E 11
r›   )r“   rF   rm   s    r)   rw   zTestLiftByPass.test_lift4ì   s   € Ø×!Ñ!¤%°aØ2?ð 	"õ 	Ar+   c                 ó4   — | j                  t        dd¬«       y )Nr   zA
r›   )r“   rI   rm   s    r)   ry   zTestLiftByPass.test_lift5ð   s   € Ø×!Ñ!¤%°aØ27ð 	"õ 	9r+   N)rz   r{   r|   rn   rs   ru   rw   ry   r3   r+   r)   r™   r™   Þ   s   „ ò<ò@òHòAó9r+   r™   c                   óX   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zee	e
ed„ «       «       «       «       Zy)ÚTestLiftCallc                 ó  — t        |«      }t        «       5 } |«        ddd«       t        «       5 } |«        ddd«       | j                  j                  «       j                  «       «       y# 1 sw Y   ŒRxY w# 1 sw Y   ŒDxY w)z2Ensure same semantic with non-jitted code
        N)r   r   rd   r�   )re   r%   ÚjittedÚgotÚexpects        r)   Úcheck_same_semanticz TestLiftCall.check_same_semantic÷   sr   € ô �d“ˆÜÓð 	 #ÙŒH÷	ô Óð 	 &ÙŒF÷	ð 	×Ñ˜Ÿ™›¨¯©Ó):Õ;÷	ð 	ú÷	ð 	ús   –A/°A;Á/A8Á;Bc                 ó^   — | j                  t        dd¬«       | j                  t        «       y )Nr6   zA 1
B 2
r›   )r“   rL   r¦   rm   s    r)   Útest_liftcall1zTestLiftCall.test_liftcall1  s+   € Ø×!Ñ!¤)¸!Ø2>ð 	"ô 	@à× Ñ ¤Õ+r+   c                 ó^   — | j                  t        dd¬«       | j                  t        «       y )Nrr   zA 1
B 2
C 12
r›   )r“   rN   r¦   rm   s    r)   Útest_liftcall2zTestLiftCall.test_liftcall2  ó+   € Ø×!Ñ!¤)¸!Ø2Dð 	"ô 	Fà× Ñ ¤Õ+r+   c                 ó^   — | j                  t        dd¬«       | j                  t        «       y )Nrr   zA 1
B 2
C 47
r›   )r“   rP   r¦   rm   s    r)   Útest_liftcall3zTestLiftCall.test_liftcall3  r«   r+   c                 óB  — t         j                  t         j                  t         j                  t         j                  f}| j                  |«      5 } t        t        «      «        d d d «       d}| j                  |t        j                  «      «       y # 1 sw Y   Œ1xY w)Nz2compiler re-entrant to the same function signature)r   ÚTypingErrorÚNumbaRuntimeErrorÚNumbaValueErrorÚCompilerErrorÚassertRaisesr   rS   ÚassertInÚstrÚ	exception)re   ÚacceptÚraisesÚmsgs       r)   Útest_liftcall4zTestLiftCall.test_liftcall4  s~   € Ü×$Ñ$¤f×&>Ñ&>Ü×(Ñ(¬&×*>Ñ*>ð@ˆà×Ñ˜vÓ&ð 	¨&ØŒD”‹OÔ÷	ð DˆØ�‰�cœ3˜v×/Ñ/Ó0Õ1÷	ð 	ús   ÁBÂBc                 ó^   — | j                  t        dd¬«       | j                  t        «       y )Nr6   z0
1
2
3
4
5
A
r›   )r“   rV   r¦   rm   s    r)   Útest_liftcall5zTestLiftCall.test_liftcall5  s-   € ð
 	×!Ñ!¤)¸!Ø2Ið 	"ô 	Kà× Ñ ¤Õ+r+   N)rz   r{   r|   r¦   r¨   rª   r­   rº   r   r   r   r   r¼   r3   r+   r)   r¡   r¡   õ   sG   „ ò
<ò,ò
,ò
,ò
2ð ØØØñ,ó ó ó ó ñ,r+   r¡   c                 ó   ‡ — ˆ fd„}|S )Nc                 óÐ   •— | j                  t        j                  «      5 } ‰| g|¢­i |¤Ž d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)NzDoes not support list type©r³   r   r¯   r´   rµ   r¶   ©re   r•   Úkwargsr¸   Úfns       €r)   Úcorez+expected_failure_for_list_arg.<locals>.core'  s]   ø€ Ø×Ñœv×1Ñ1Ó2ð 	&°fÙˆtÐ%�dÒ%˜fÒ%÷	&à�‰Ð2Ü˜&×*Ñ*Ó+õ	-÷	&ð 	&úó   ¡AÁA%r3   ©rÂ   rÃ   s   ` r)   Úexpected_failure_for_list_argrÆ   &  ó   ø€ ô-ð
 €Kr+   c                 ó   ‡ — ˆ fd„}|S )Nc                 óÐ   •— | j                  t        j                  «      5 } ‰| g|¢­i |¤Ž d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)NzDoes not support function typer¿   rÀ   s       €r)   rÃ   z/expected_failure_for_function_arg.<locals>.core0  s]   ø€ Ø×Ñœv×1Ñ1Ó2ð 	&°fÙˆtÐ%�dÒ%˜fÒ%÷	&à�‰Ð6Ü˜&×*Ñ*Ó+õ	-÷	&ð 	&úrÄ   r3   rÅ   s   ` r)   Ú!expected_failure_for_function_argrÊ   /  rÇ   r+   c                   óÜ  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ «       Zd
„ Zed„ «       Zd„ Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zd„ Zd„ Zej:                  d„ «       Zed„ «       Z d„ Z!e"d„ «       Z#e$e%e&e'd„ «       «       «       «       Z(ej:                  d„ «       Z)d„ Z*d „ Z+d!„ Z,d"„ Z-d#„ Z.d$„ Z/d%„ Z0d&„ Z1d'„ Z2d(„ Z3d)„ Z4d*„ Z5d+„ Z6e7d,„ «       Z8d-„ Z9d.„ Z:d/„ Z;d0„ Z<d1„ Z=y2)3ÚTestLiftObjc                 óL   — t        j                  dt        j                  «       y ©NÚerror©ÚwarningsÚsimplefilterr   ÚNumbaWarningrm   s    r)   r�   zTestLiftObj.setUp:  ó   € Ü×Ñ˜g¤v×':Ñ':Õ;r+   c                 ó,   — t        j                  «        y rR   ©rÑ   Úresetwarningsrm   s    r)   ÚtearDownzTestLiftObj.tearDown=  ó   € Ü×ÑÕ r+   c                 óÖ  — t        j                  |«      }t        j                  |«      }t        |«      }t        «       5 } ||Ž }|j	                  «       }d d d «       |j                  t        t        t        |«      «      «       t        «       5 } ||Ž }	|j	                  «       }
d d d «       | j                  
«       | j                  	«       y # 1 sw Y   Œ~xY w# 1 sw Y   Œ:xY wrR   )ÚcopyÚdeepcopyr   r   r�   ÚcompileÚtupleÚmapr   rd   ÚassertPreciseEqual)re   Úpyfuncr•   Úpy_argsÚc_argsÚcfuncÚstreamÚ
expect_resÚ
expect_outÚgot_resÚgot_outs              r)   Úassert_equal_return_and_stdoutz*TestLiftObj.assert_equal_return_and_stdout@  sÈ   € Ü—-‘- Ó%ˆÜ—‘˜tÓ$ˆÜ�V“ˆäÓð 	+ &Ù Ð)ˆJØŸ™Ó*ˆJ÷	+ð
 	�‰”eœC¤¨Ó/Ó0Ô1ÜÓð 	( &Ù˜V�nˆGØ—o‘oÓ'ˆG÷	(ð 	×Ñ˜ WÔ-Ø×Ñ 
¨GÕ4÷	+ð 	+ú÷	(ð 	(ús   Á CÂCÃCÃC(c                 óh   ‡— d„ Šˆfd„}ˆfd„}| j                  |d«       | j                  |d«       y )Nc                 ó&   — t        dd| dz  i«       y )Nzival =Úivalrr   rH   )rí   s    r)   Úbarz0TestLiftObj.test_lift_objmode_basic.<locals>.barS  s   € Ü�(˜V T¨Q¡YÐ/Õ0r+   c                 óf   •— | dz  } t         5   ‰| «       d d d «       | dz   S # 1 sw Y   | dz   S xY w©Nr6   ©r   ©rí   rî   s    €r)   Úfooz0TestLiftObj.test_lift_objmode_basic.<locals>.fooV  s8   ø€ Ø�A‰IˆDÜ ñ Ù�D”	÷à˜!‘8ˆO÷à˜!‘8ˆOús   �	#£0c                 óz   •— | dz  } t         j                  5   ‰| «       d d d «       | dz   S # 1 sw Y   | dz   S xY wrð   ©Únumbar   rò   s    €r)   Úfoo_nonglobalz:TestLiftObj.test_lift_objmode_basic.<locals>.foo_nonglobal\  s<   ø€ Ø�A‰IˆDÜ—‘ñ Ù�D”	÷à˜!‘8ˆO÷à˜!‘8ˆOús   —	-­:é{   ©rê   )re   ró   r÷   rî   s      @r)   Útest_lift_objmode_basicz#TestLiftObj.test_lift_objmode_basicR  s4   ø€ ò	1ô	ô	ð 	×+Ñ+¨C°Ô5Ø×+Ñ+¨M¸3Õ?r+   c                 ó>   ‡— d„ Šˆfd„}d}| j                  ||«       y )Nc                 ó.   — t        d| dz  i«       | dz  } y )NÚarrrr   rH   )rý   s    r)   rî   z3TestLiftObj.test_lift_objmode_array_in.<locals>.barf  s   € Ü�5˜# ™(Ð#Ô$à�1‰H‰Cr+   c                 óÀ   •— t        j                  | «      j                  t         j                  «      }t        5   ‰|«       d d d «       |dz   S # 1 sw Y   |dz   S xY wrð   )ÚnpÚarangeÚastypeÚint64r   )Únelemrý   rî   s     €r)   ró   z3TestLiftObj.test_lift_objmode_array_in.<locals>.fook  sP   ø€ Ü—)‘)˜EÓ"×)Ñ)¬"¯(©(Ó3ˆCÜ ñ á�C”÷ð ˜‘7ˆN÷ð ˜‘7ˆNús   º	AÁAr8   rù   )re   ró   r  rî   s      @r)   Útest_lift_objmode_array_inz&TestLiftObj.test_lift_objmode_array_ine  s$   ø€ ò	ô
	ð ˆØ×+Ñ+¨C°Õ7r+   c                 ó>   ‡— d„ Šˆfd„}d}| j                  ||«       y )Nc                 ó   — t        | «       y rR   rH   ©r?   s    r)   rî   z<TestLiftObj.test_lift_objmode_define_new_unused.<locals>.barv  s	   € Ü�!�Hr+   c                 óŒ   •— t        «       5  d| z   }t        j                  |«      } ‰|«       d d d «       | S # 1 sw Y   | S xY w©Nrr   )r   rÿ   r   )r;   r?   Úarî   s      €r)   ró   z<TestLiftObj.test_lift_objmode_define_new_unused.<locals>.fooy  sD   ø€ Ü Ó"ñ Ø˜‘E�Ü—I‘I˜a“L�Ù�A”÷ð ˆH÷	ð ˆHús	   Œ#9¹Arø   rù   )re   ró   Úargrî   s      @r)   Ú#test_lift_objmode_define_new_unusedz/TestLiftObj.test_lift_objmode_define_new_unusedu  s$   ø€ ò	ô	ð ˆØ×+Ñ+¨C°Õ5r+   c                 ól   ‡— d„ Šˆfd„}ˆfd„}d}| j                  ||«       | j                  ||«       y )Nc                 ó"   — t        | «       d| z  S rð   rH   r:   s    r)   Úinversez<TestLiftObj.test_lift_objmode_return_simple.<locals>.inverse„  ó   € Ü�!ŒHØ�q‘5ˆLr+   c                 ód   •— t        d¬«      5   ‰| «      }d d d «       | |fS # 1 sw Y   | fS xY w©NÚfloat64r  rñ   ©r;   r?   r  s     €r)   ró   z8TestLiftObj.test_lift_objmode_return_simple.<locals>.fooˆ  s6   ø€ Ü  9Ô-ñ Ù˜A“J�÷à�a�4ˆK÷à�a�4ˆKús   Ž	#£/c                 óx   •— t        j                  d¬«      5   ‰| «      }d d d «       | |fS # 1 sw Y   | fS xY wr  rõ   r  s     €r)   r÷   zBTestLiftObj.test_lift_objmode_return_simple.<locals>.foo_nonglobal�  s:   ø€ Ü—‘ Ô+ñ Ù˜A“J�÷à�a�4ˆK÷à�a�4ˆKús   ˜	-­9rø   rù   )re   ró   r÷   r  r  s       @r)   Útest_lift_objmode_return_simplez+TestLiftObj.test_lift_objmode_return_simpleƒ  s9   ø€ ò	ô	ô
	ð
 ˆØ×+Ñ+¨C°Ô5Ø×+Ñ+¨M¸3Õ?r+   c                 ó†   ‡— d„ Šˆfd„}t        j                  ddt         j                  ¬«      }| j                  ||«       y )Nc                 ó"   — t        | «       d| z  S rð   rH   r:   s    r)   r  z;TestLiftObj.test_lift_objmode_return_array.<locals>.inverse—  r  r+   c                 ó~   •— t        dd¬«      5   ‰| «      }t        |d   «      }d d d «       | fS # 1 sw Y   ŒxY w)Nú
float64[:]r  )r?   Úzr   )r   Úint)r;   r?   r  r  s      €r)   ró   z7TestLiftObj.test_lift_objmode_return_array.<locals>.foo›  sE   ø€ Ü  <°7Ô;ñ Ù˜A“J�Ü˜˜!™“I�÷ð �a˜�7ˆN÷ð ús   �3³<r6   r8   ©Údtype)rÿ   r   r  rê   )re   ró   r  r  s      @r)   Útest_lift_objmode_return_arrayz*TestLiftObj.test_lift_objmode_return_array–  s5   ø€ ò	ô	ô �i‰i˜˜2¤R§Z¡ZÔ0ˆØ×+Ñ+¨C°Õ5r+   c                 ó6   — d„ }g d¢}| j                  ||«       y )Nc                 óì   — t        d¬«      5  t        | «       d| d<   t        | «       g d¢| z   }t        j                  |D �cg c]  }d|z  ‘Œ	 c}«      }d d d «       | |fS c c}w # 1 sw Y   | fS xY w)Nr  r  é   r   ©r6   rr   é   r6   )r   r1   rÿ   Úasarray)r;   r?   rE   s      r)   ró   z5TestLiftObj.test_lift_objmode_using_list.<locals>.foo¦  sr   € Ü  <Ô0ñ 3Ü�a”Ø��!‘Ü�a”Ú ‘M�Ü—J‘J¨qÖ1¨!  A£Ò1Ó2�÷3ð �a�4ˆKùò  2÷3ð �a�4ˆKús   �6A'ÁA"
ÁA'Á"A'Á'A3r#  rù   ©re   ró   r  s      r)   Útest_lift_objmode_using_listz(TestLiftObj.test_lift_objmode_using_list¤  s   € ò	ò ˆØ×+Ñ+¨C°Õ5r+   c                 ó2   — d„ }d}| j                  ||«       y )Nc                 óð   — t        | «      D ]  } Œ | r| dz  } t        d¬«      5  t        | «       | dz  } t        | «       t        | «      D ]  }| |z  } t        | «       Œ 	 d d d «       | S # 1 sw Y   | S xY w)Nr6   Úintpr:   )rC   r   r1   rD   s     r)   ró   z4TestLiftObj.test_lift_objmode_var_redef.<locals>.foo³  s„   € Ü˜1“Xò �ØðáØ�Q‘�Ü  6Ô*ñ Ü�a”Ø�Q‘�Ü�a”Ü˜q›ò �AØ˜‘F�AÜ˜!•Hñ÷	ð ˆH÷ð ˆHús   ¤<A+Á+A5rø   rù   r&  s      r)   Útest_lift_objmode_var_redefz'TestLiftObj.test_lift_objmode_var_redef²  s   € ò	ð ˆØ×+Ñ+¨C°Õ5r+   c                 ó4   — d„ }| j                  |g d¢d«       y )Nc                 óÊ   — || d<   t        «       5  t        | «       d d d «       t        «       5  d|z  | d<   t        | «       d d d «       | S # 1 sw Y   Œ1xY w# 1 sw Y   | S xY wr	  ©r   r1   ©r;   r  s     r)   ró   z=TestLiftObj.test_case01_mutate_list_ahead_of_ctx.<locals>.fooÆ  óg   € ØˆAˆa‰Dä Ó"ñ ä�a”÷ô !Ó"ñ Ø˜1‘u��!‘ä�a”÷ð
 ˆH÷ð ú÷ð
 ˆHúó   �A®AÁAÁA"r#  é   rù   ©re   ró   s     r)   Ú$test_case01_mutate_list_ahead_of_ctxz0TestLiftObj.test_case01_mutate_list_ahead_of_ctxÄ  s   € ò	ð 	×+Ñ+¨C²¸BÕ?r+   c                 ó^   — d„ }t        j                  g d¢«      }| j                  ||d«       y )Nc                 óÊ   — || d<   t        «       5  t        | «       d d d «       t        «       5  d|z  | d<   t        | «       d d d «       | S # 1 sw Y   Œ1xY w# 1 sw Y   | S xY wr	  r.  r/  s     r)   ró   z>TestLiftObj.test_case02_mutate_array_ahead_of_ctx.<locals>.foo×  r0  r1  r#  r2  ©rÿ   Úarrayrê   ©re   ró   r;   s      r)   Ú%test_case02_mutate_array_ahead_of_ctxz1TestLiftObj.test_case02_mutate_array_ahead_of_ctxÖ  s)   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°°BÕ7r+   c                 ó.   — d„ }| j                  |d«       y )Nc                 óš   — t        d¬«      5  g d¢}d d d «       t        «       5  dd<   d d d «       |S # 1 sw Y   Œ#xY w# 1 sw Y   S xY w©NzList(int64)r  r#  r8   rr   rñ   r>   s     r)   ró   z6TestLiftObj.test_case03_create_and_mutate.<locals>.fooê  óM   € Ü  =Ô1ñ Ú�÷ä Ó"ñ Ø��!‘÷àˆH÷	ð ú÷àˆHúó   �4¤A ´=Á A
r6   rù   r3  s     r)   Útest_case03_create_and_mutatez)TestLiftObj.test_case03_create_and_mutateè  s   € ò	ð 	×+Ñ+¨C°Õ3r+   c                 ó  — d„ }t        j                  g d¢«      }t        |«      }| j                  t        j
                  «      5 } ||«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                 ó`   — t        d¬«      5  t        | «       d d d «       | S # 1 sw Y   | S xY w)Nr  ©Úkr.  r:   s    r)   ró   z=TestLiftObj.test_case04_bogus_variable_type_info.<locals>.fooô  s+   € ä  <Ô0ñ Ü�a”÷àˆH÷àˆHúó   �#£-r#  z1Invalid type annotation on non-outgoing variables)	rÿ   r8  r   r³   r   r¯   r´   rµ   r¶   ©re   ró   r;   Úcfoor¸   s        r)   Ú$test_case04_bogus_variable_type_infoz0TestLiftObj.test_case04_bogus_variable_type_infoò  so   € ò	ô �H‰H’YÓˆÜ�C‹yˆØ×Ñœv×1Ñ1Ó2ð 	°fÙ�ŒG÷	à�‰Ø?Ü�× Ñ Ó!õ	÷	ð 	úó   Á	A<Á<Bc                 óü   — d„ }t        j                  g d¢«      }t        |«      }| j                  t        «      5 } ||«      }d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                 óT   — t        d¬«      5  | dz   }d d d «       |S # 1 sw Y   S xY w)Nr  ©r  y              ð?rñ   r/  s     r)   ró   z4TestLiftObj.test_case05_bogus_type_info.<locals>.foo  s/   € ô ! <Ô0ñ Ø˜‘G�÷àˆH÷àˆHúó   ��'r#  zXcan't unbox array from PyObject into native value.  The object maybe of a different type)rÿ   r8  r   r³   Ú	TypeErrorr´   rµ   r¶   )re   ró   r;   rG  r¸   r¤   s         r)   Útest_case05_bogus_type_infoz'TestLiftObj.test_case05_bogus_type_info  sm   € ò	ô �H‰H’YÓˆÜ�C‹yˆØ×ÑœyÓ)ð 	¨VÙ�q“'ˆC÷	à�‰ð6ä�× Ñ Ó!õ	
÷	ð 	úó   »	A2Á2A;c                 óâ   — d„ }| j                  t        j                  «      5 } t        |«      d«       d d d «       d}| j	                  t        j                  «      |«       y # 1 sw Y   Œ1xY w)Nc                 óš   — t        «       5  t        «       5  t        | «       d d d «       d d d «       | S # 1 sw Y   ŒxY w# 1 sw Y   | S xY wrR   r.  r:   s    r)   ró   z3TestLiftObj.test_case06_double_objmode.<locals>.foo  sJ   € ô !Ó"ñ !ä(Ó*ñ !Ü˜aœ÷!÷!ð ˆH÷!ð !ú÷!ð ˆHús   ‹A –4¢A ´=	¹A Á A
rø   z@During: resolving callee type: type\(ObjModeLiftedWith\(<.*>\)\))r³   r   r¯   r   ÚassertRegexrµ   r¶   )re   ró   r¸   Úpats       r)   Útest_case06_double_objmodez&TestLiftObj.test_case06_double_objmode  sc   € ò	ð ×Ñœv×1Ñ1Ó2ð 	°fØŒD�‹I�cŒN÷	ð4ˆà×Ñœ˜V×-Ñ-Ó.°Õ4÷	ð 	ús   £A%Á%A.c                 ó8  — d„ }t        j                  g d¢«      }t        |«      }| j                  t        j
                  «      5 } ||«       d d d «       t        j                  «      }| j                  d|«       | j                  d|«       y # 1 sw Y   ŒCxY w)Nc                 óV   — t        «       5  d| i}d}d d d «       | fS # 1 sw Y   ŒxY w)Nr
  r$  rñ   )r;   ÚtÚus      r)   ró   z6TestLiftObj.test_case07_mystery_key_error.<locals>.foo)  s8   € Ü Ó"ñ Ø˜!�H�Ø�÷ð �a˜�7ˆN÷ð ús   ‹Ÿ(r#  z;Missing type annotation on outgoing variable(s): ['t', 'u']z9Example code: with objmode(t='<add_type_as_string_here>'))	rÿ   r8  r   r³   r   r¯   rµ   r¶   r´   )re   ró   r;   rG  r¸   Úexstrs         r)   Útest_case07_mystery_key_errorz)TestLiftObj.test_case07_mystery_key_error'  sŽ   € ò	ô
 �H‰H’YÓˆÜ�C‹yˆà×Ñœv×1Ñ1Ó2ð 	°fÙ�ŒG÷	ô �F×$Ñ$Ó%ˆØ�‰ð #àô	ð 	�‰ð 8àõ	÷	ð 	ús   Á	BÂBc                 ó  ‡— t        «       Šˆfd„}t        j                  g d¢«      }t        |«      }| j	                  t
        «      5 } ||«       d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nc                 ó¾   •— t        t        | «      «      D ]8  }t        «       5  t        |«      }| |   }|‰|<   t	        ‰d   «       d d d «       Œ: | S # 1 sw Y   ŒFxY w)NÚ2)rC   rc   r   rµ   r1   )r;   rE   rD  ÚvÚds       €r)   ró   z8TestLiftObj.test_case08_raise_from_external.<locals>.fooA  sg   ø€ Üœ3˜q›6“]ò "�Ü$Ó&ñ "Ü˜A›�AØ˜!™�AØ�A�a‘DÜ˜!˜C™&”M÷	"ð "ð"ð ˆH÷"ð "ús   £$AÁA	r#  z'2')	Údictrÿ   r8  r   r³   ÚKeyErrorrd   rµ   r¶   )re   ró   r;   rG  r¸   r`  s        @r)   Útest_case08_raise_from_externalz+TestLiftObj.test_case08_raise_from_external<  sq   ø€ ô ‹Fˆô	ô �H‰H’YÓˆÜ�C‹yˆØ×ÑœxÓ(ð 	¨FÙ�ŒG÷	à×Ñœ˜V×-Ñ-Ó.°Õ6÷	ð 	ús   Á	A?Á?Bc                 ó  — d„ }t        j                  g d¢«      }t        |«      }| j                  t        j
                  «      5 } ||«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                 óF   — t        «       5  t        «       ‚# 1 sw Y   | S xY wrR   )r   Ú
ValueErrorr:   s    r)   ró   z3TestLiftObj.test_case09_explicit_raise.<locals>.fooQ  s    € Ü Ó"ñ #Ü “lÐ"÷#àˆHús   ‹– r#  zBunsupported control flow due to raise statements inside with block)	rÿ   r8  r   r³   r   r²   r´   rµ   r¶   rF  s        r)   Útest_case09_explicit_raisez&TestLiftObj.test_case09_explicit_raiseP  sq   € ò	ô
 �H‰H’YÓˆÜ�C‹yˆØ×Ñœv×3Ñ3Ó4ð 	¸Ù�ŒG÷	à�‰ðä�× Ñ Ó!õ	
÷	ð 	úrI  c                 ó\   — d„ }t        j                  g d¢«      }| j                  ||«       y )Nc                 óš   — t        d¬«      5  g d¢}d d d «       t        «       5  dd<   d d d «       |S # 1 sw Y   Œ#xY w# 1 sw Y   S xY wr=  rñ   r>   s     r)   ró   z;TestLiftObj.test_case10_mutate_across_contexts.<locals>.fooc  r>  r?  r#  r7  r9  s      r)   Ú"test_case10_mutate_across_contextsz.TestLiftObj.test_case10_mutate_across_contexts`  s'   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ó\   — d„ }t        j                  g d¢«      }| j                  ||«       y )Nc                 óÄ   — t        d¬«      5  t        j                  g d¢d¬«      }d d d «       t        «       5  dd<   d d d «       |S # 1 sw Y   Œ#xY w# 1 sw Y   S xY w)Núint64[:]r  r#  r  r  r8   rr   )r   rÿ   r%  r>   s     r)   ró   zATestLiftObj.test_case10_mutate_array_across_contexts.<locals>.fooo  s\   € Ü  :Ô.ñ 9Ü—J‘Jšy°Ô8�÷9ä Ó"ñ à��!‘÷ð ˆH÷9ð 9ú÷ð ˆHús   �A	¹AÁ	AÁAr#  r7  r9  s      r)   Ú(test_case10_mutate_array_across_contextsz4TestLiftObj.test_case10_mutate_array_across_contextsm  s'   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 óü   — d„ }t        j                  g d¢«      }t        |«      }| j                  t        «      5 } ||«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                 óL   — t        «       5  d„ }d d d «       | S # 1 sw Y   | S xY w)Nc                 ó   — | dz   S rð   r3   r  s    r)   rî   zLTestLiftObj.test_case11_define_function_in_context.<locals>.foo.<locals>.bar~  s   € Ø˜q™5�Lr+   rñ   )r;   rî   s     r)   ró   z?TestLiftObj.test_case11_define_function_in_context.<locals>.foo|  s+   € Ü Ó"ñ !ò!÷!ð ˆH÷!ð ˆHús   ‹™#r#  z global name 'bar' is not defined)rÿ   r8  r   r³   Ú	NameErrorr´   rµ   r¶   rF  s        r)   Ú&test_case11_define_function_in_contextz2TestLiftObj.test_case11_define_function_in_contextz  si   € ò	ô �H‰H’YÓˆÜ�C‹yˆØ×ÑœyÓ)ð 	¨VÙ�ŒG÷	à�‰Ø.Ü�× Ñ Ó!õ	
÷	ð 	úrP  c                 óh   ‡— d„ Šˆfd„}t        j                  g d¢«      }| j                  ||«       y )Nc                 ó   — | dz   S rð   r3   r  s    r)   rî   z>TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.bar�  s   € Ø�q‘5ˆLr+   c                 ó˜   •— t        d¬«      5   t        ‰«      | «      j                  d«      }d d d «       | |z   S # 1 sw Y   | z   S xY w)Nrm  r  r  )r   r   r  ©r;   r?   rî   s     €r)   ró   z>TestLiftObj.test_case12_njit_inside_a_objmode_ctx.<locals>.foo’  sG   ø€ Ü  :Ô.ñ 1Ø”D˜“I˜a“L×'Ñ'¨Ó0�÷1à�q‘5ˆL÷1à�q‘5ˆLús	   Ž!<¼A	r#  r7  )re   ró   r;   rî   s      @r)   Ú%test_case12_njit_inside_a_objmode_ctxz1TestLiftObj.test_case12_njit_inside_a_objmode_ctx‹  s-   ø€ ò	ô	ô
 �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ó®   — d„ } |t        j                  g d¢«      «      }t         j                  j                  t        j                  g d¢«      |«       y )Nc                 óT   — t        d¬«      5  | dz  } | cd d d «       S # 1 sw Y   y xY w)Nrm  r:   r6   rñ   r:   s    r)   ró   zCTestLiftObj.test_case14_return_direct_from_objmode_ctx.<locals>.foo›  s+   € Ü  :Ô.ñ Ø�Q‘�Ø÷÷ ò ús   �ž'r#  )rr   r$  r"  )rÿ   r8  ÚtestingÚassert_array_equal)re   ró   Úresults      r)   Ú*test_case14_return_direct_from_objmode_ctxz6TestLiftObj.test_case14_return_direct_from_objmode_ctxš  s9   € ò	ñ
 ”R—X‘XšiÓ(Ó)ˆÜ
�
‰
×%Ñ%¤b§h¡hªyÓ&9¸6ÕBr+   c                 ó\   — d„ }t        j                  g d¢«      }| j                  ||«       y )Nc                 ó(   ‡— dŠˆfd„} || «      dz   S )Nr8   c                 óh   •— t        d¬«      5  t        | «       | ‰z   cd d d «       S # 1 sw Y   y xY w)Nrm  r:   r.  )r;   Újs    €r)   rî   zHTestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo.<locals>.barª  s.   ø€ Ü$ zÔ2ñ !Ü˜!”HØ˜q™5÷!÷ !ò !ús   Ž(¨1rr   r3   )r;   rî   r‚  s     @r)   ró   z;TestLiftObj.test_case15_close_over_objmode_ctx.<locals>.foo§  s   ø€ ØˆAô!ñ �q“6˜A‘:Ðr+   r#  r7  r9  s      r)   Ú"test_case15_close_over_objmode_ctxz.TestLiftObj.test_case15_close_over_objmode_ctx¤  s'   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ón   ‡— ddl mŠ ˆfd„}t        j                  g d¢«      }| j	                  ||«       y )Nr   )Úsparsec                 ó´   •— t        d¬«      5  t        | «       ‰j                  | «      }t        j                  |d   «      }d d d «       |S # 1 sw Y   S xY w)Nr  rC  )r   r   )r   r1   Ú
csr_matrixrÿ   r  )r;   ÚspxrD  Úsps      €r)   ró   z>TestLiftObj.test_case16_scipy_call_in_objmode_ctx.<locals>.foo¶  sR   ø€ Ü  7Ô+ñ (Ü�a”Ø—m‘m AÓ&�ô —H‘H˜S ™YÓ'�÷(ð ˆH÷(ð ˆHús   Ž5AÁAr#  )Úscipyr…  rÿ   r8  rê   )re   ró   r;   r‰  s      @r)   Ú%test_case16_scipy_call_in_objmode_ctxz1TestLiftObj.test_case16_scipy_call_in_objmode_ctx²  s+   ø€ å&ô	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ón   ‡‡— dd l Šˆˆfd„Št        j                  g d¢«      }| j                  ‰|«       y )Nr   c                 óf   •— t        «       5  ‰j                  ‰«       d d d «       y # 1 sw Y   y xY wrR   )r   Údis)r;   rŽ  ró   s    €€r)   ró   z7TestLiftObj.test_case17_print_own_bytecode.<locals>.fooÅ  s)   ø€ Ü Ó"ñ Ø—‘˜”÷÷ ñ ús   Œ'§0r#  )rŽ  rÿ   r8  rê   )re   r;   rŽ  ró   s     @@r)   Útest_case17_print_own_bytecodez*TestLiftObj.test_case17_print_own_bytecodeÂ  s+   ù€ Ûõ	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 óv   — d„ }t        j                  g d¢«      }t        d„ «      }| j                  |||«       y )Nc                 óX   — t        «       5   | |d   «       d d d «       y # 1 sw Y   y xY wrb   rñ   )r%   r;   s     r)   ró   zCTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.fooÍ  s(   € Ü Ó"ñ Ù�Q�q‘T”
÷÷ ñ ús   ‹  )r#  c                 ó   — | dz   S )NrU   r3   rL  s    r)   ú<lambda>zHTestLiftObj.test_case18_njitfunc_passed_to_objmode_ctx.<locals>.<lambda>Ò  s
   € ˜A ™E€ r+   )rÿ   r8  r   rê   )re   ró   r;   rÂ   s       r)   Ú*test_case18_njitfunc_passed_to_objmode_ctxz6TestLiftObj.test_case18_njitfunc_passed_to_objmode_ctxË  s3   € ò	ô �H‰H’YÓˆÜ‘/Ó"ˆØ×+Ñ+¨C°°QÕ7r+   c                 ó6  ‡— ˆfd„Š| j                  t        j                  t        j                  f«      5 }t	        ‰«      } |t        j                  g d¢«      «       d d d «       d}| j                  |t        j                  «      «       y # 1 sw Y   Œ1xY w)Nc                 ó|   •— t        «       5  | dk(  r
	 d d d «       y	 d d d «        ‰| dz
  «      }|S # 1 sw Y   ŒxY w)Nr   é   r6   rñ   )r;   Úretró   s     €r)   ró   z.TestLiftObj.test_case19_recursion.<locals>.fooÚ  sI   ø€ Ü Ó"ñ Ø˜’6Ø÷ð Ø÷ñ �a˜!‘e“*ˆCØˆJ÷	ð ús   Œ2²;r#  zUntyped global name 'foo')
r³   r   r¯   r²   r   rÿ   r8  r´   rµ   r¶   )re   r¸   rG  r¹   ró   s       @r)   Útest_case19_recursionz!TestLiftObj.test_case19_recursionÕ  sz   ø€ ô
	ð ×Ñ¤× 2Ñ 2´F×4HÑ4HÐIÓJð 	&ÈfÜ˜“9ˆDÙ”—‘š)Ó$Ô%÷	&ð *ˆØ�‰�cœ3˜v×/Ñ/Ó0Õ1÷		&ð 	&ús   ¶)BÂBc                 ó\   — d„ }t        j                  g d¢«      }| j                  ||«       y )Nc                 ó
  — t         j                  j                  d«       t         j                  j                  «       }t	        d¬«      5  t         j                  j                  «       }d d d «       | z   |z   S # 1 sw Y   ŒxY w©Nr   r  rL  ©rÿ   ÚrandomÚseedÚrandr   ©r;   r?   r  s      r)   ró   z1TestLiftObj.test_case20_rng_works_ok.<locals>.fooè  s_   € Ü�I‰I�N‰N˜1ÔÜ—	‘	—‘Ó ˆAÜ  9Ô-ñ %ä—I‘I—N‘NÓ$�÷%ð �q‘5˜1‘9Ð÷%ð %ús   Á
A9Á9Br#  r7  r9  s      r)   Útest_case20_rng_works_okz$TestLiftObj.test_case20_rng_works_okæ  s'   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ó\   — d„ }t        j                  g d¢«      }| j                  ||«       y )Nc                 óH  — t         j                  j                  d«       t         j                  j                  «       }t	        d¬«      5  t         j                  j                  d«       t         j                  j                  «       }d d d «       | z   |z   S # 1 sw Y   ŒxY wrœ  r�  r¡  s      r)   ró   z6TestLiftObj.test_case21_rng_seed_works_ok.<locals>.fooô  so   € Ü�I‰I�N‰N˜1ÔÜ—	‘	—‘Ó ˆAÜ  9Ô-ñ %ä—	‘	—‘˜qÔ!Ü—I‘I—N‘NÓ$�÷%ð �q‘5˜1‘9Ð÷	%ð %ús   Á
>BÂB!r#  r7  r9  s      r)   Útest_case21_rng_seed_works_okz)TestLiftObj.test_case21_rng_seed_works_okó  s'   € ò	ô �H‰H’YÓˆØ×+Ñ+¨C°Õ3r+   c                 ó¦   ‡— d„ Št         ˆfd„«       }| j                   |«       |j                  «       «       | j                  t        t
        «       y )Nc                 ól   — t        j                  t        t        | j	                  «       «      «      «      S rR   )rÿ   r%  ÚlistÚreversedÚtolistr:   s    r)   rî   z'TestLiftObj.test_example01.<locals>.bar  s!   € Ü—:‘:œd¤8¨A¯H©H«JÓ#7Ó8Ó9Ð9r+   c                  óŒ   •— t        j                  d«      } t        d¬«      5  |  ‰| «      z   }d d d «       |S # 1 sw Y   S xY w)NrU   zintp[:]r  )rÿ   r   r   rw  s     €r)   ró   z'TestLiftObj.test_example01.<locals>.foo  sC   ø€ ä—	‘	˜!“ˆAÜ˜9Ô%ñ à™˜A›‘J�÷ð ˆH÷ð ˆHús	   £9¹A)r   rà   Úpy_funcÚassertIsr   r   )re   ró   rî   s     @r)   Útest_example01zTestLiftObj.test_example01   sD   ø€ ò	:ô 
ó	ó 
ð	ð 	×Ñ¡£ s§{¡{£}Ô5Ø�‰”gœÕ/r+   c                 óŒ   ‡— d„ Št        ‰«      d„ «       }t        j                  ˆfd„«       }| j                   |«       d«       y )Nc                  ó   — y rR   r3   )Úss    r)   ró   z1TestLiftObj.test_objmode_in_overload.<locals>.foo  ó   € Ør+   c                 ó   — d„ }|S )Nc                 óT   — t        d¬«      5  | dz   }d d d «       |S # 1 sw Y   S xY w)Nr*  ©r’   r$  ©r   )r±  r’   s     r)   ÚimplzHTestLiftObj.test_objmode_in_overload.<locals>.foo_overload.<locals>.impl  s-   € Ü Ô(ñ  Ø˜a™%�C÷ à�
÷ à�
úrM  r3   )r±  r·  s     r)   Úfoo_overloadz:TestLiftObj.test_objmode_in_overload.<locals>.foo_overload  s   € òð ˆKr+   c                  ó   •—  ‰ d«      S rð   r3   ©ró   s   €r)   Úfz/TestLiftObj.test_objmode_in_overload.<locals>.f  s   ø€ á�q“6ˆMr+   r"  )r   rö   r   rd   )re   r¸  r»  ró   s      @r)   Útest_objmode_in_overloadz$TestLiftObj.test_objmode_in_overload  sL   ø€ ò	ô 
�#‹ñ	ó 
ð	ô 
�‰ó	ó 
ð	ð 	×Ñ™›˜eÕ$r+   c                 óz   — t         d„ «       } |«       }| j                  |t        «       | j                  |d«       y )Nc                  óV   — t        t        ¬«      5  d} d d d «       | S # 1 sw Y    S xY w©N©Úvalçš™™™™™(@)r   Úgv_typerÀ  s    r)   Ú
global_varz8TestLiftObj.test_objmode_gv_variable.<locals>.global_var#  s)   € äœWÔ%ñ Ø�÷àˆJ÷àˆJúó   ‘ž(é   )r   ÚassertIsInstancer  rd   )re   rÄ  r˜  s      r)   Útest_objmode_gv_variablez$TestLiftObj.test_objmode_gv_variable"  s=   € Ü	ñ	ó 
ð	ñ
 ‹lˆà×Ñ˜c¤3Ô'Ø×Ñ˜˜bÕ!r+   c                 ó”   — t         d„ «       }| j                  t        j                  d«      5   |«        d d d «       y # 1 sw Y   y xY w)Nc                  óV   — t        t        ¬«      5  d} d d d «       | S # 1 sw Y    S xY w)NrÀ  rø   )r   Úgv_type2rÀ  s    r)   rÄ  z>TestLiftObj.test_objmode_gv_variable_error.<locals>.global_var/  s)   € äœXÔ&ñ Ø�÷àˆJ÷àˆJúrÅ  zHError handling objmode argument 'val'. Global 'gv_type2' is not defined.©r   ÚassertRaisesRegexr   r²   )re   rÄ  s     r)   Útest_objmode_gv_variable_errorz*TestLiftObj.test_objmode_gv_variable_error.  sN   € Ü	ñ	ó 
ð	ð
 ×#Ñ#Ü× Ñ ð2ó
ñ 	ñ
 ŒL÷	÷ 	ñ 	úó	   ­>¾Ac                 ó  — t         d„ «       }t         d„ «       }||fD ]U  }| j                  t        |«      ¬«      5   |«       }| j                  |t        «       | j                  |d«       d d d «       ŒW y # 1 sw Y   ŒbxY w)Nc                  ój   — t        t        j                  ¬«      5  d} d d d «       | S # 1 sw Y    S xY wr¿  )r   r   r*  rÀ  s    r)   Úmodattr1z6TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr1=  s-   € äœUŸZ™ZÔ(ñ Ø�÷àˆJ÷àˆJúó   ›(¨2c                  ó~   — t        t        j                  j                  ¬«      5  d} d d d «       | S # 1 sw Y    S xY wr¿  )r   rö   r   r*  rÀ  s    r)   Úmodattr2z6TestLiftObj.test_objmode_gv_mod_attr.<locals>.modattr2C  s3   € äœUŸ[™[×-Ñ-Ô.ñ Ø�÷àˆJ÷àˆJús   ¥2²<)rÂ   rÆ  )r   ÚsubTestrµ   rÇ  r  rd   )re   rÒ  rÕ  rÂ   r˜  s        r)   Útest_objmode_gv_mod_attrz$TestLiftObj.test_objmode_gv_mod_attr<  s‘   € Ü	ñ	ó 
ð	ô
 
ñ	ó 
ð	ð
 ˜XÐ&ò 	*ˆBØ—‘¤ R£�Ó)ñ *Ù“d�à×%Ñ% c¬3Ô/Ø× Ñ   bÔ)÷	*ð *ñ	*÷*ð *ús   »0A6Á6A?	c                 ó”   — t         d„ «       }| j                  t        j                  d«      5   |«        d d d «       y # 1 sw Y   y xY w)Nc                  ój   — t        t        j                  ¬«      5  d} d d d «       | S # 1 sw Y    S xY wr¿  )r   r   ÚTHIS_DOES_NOT_EXISTrÀ  s    r)   Úmoderrorz<TestLiftObj.test_objmode_gv_mod_attr_error.<locals>.moderrorQ  s/   € äœU×6Ñ6Ô7ñ Ø�÷àˆJ÷àˆJúrÓ  zQError handling objmode argument 'val'. Getattr cannot be resolved at compile-timerÌ  ©re   rÛ  s     r)   Útest_objmode_gv_mod_attr_errorz*TestLiftObj.test_objmode_gv_mod_attr_errorP  sN   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð:ó
ñ 	ñ
 ŒJ÷	÷ 	ñ 	úrÏ  c                 ó”   — t         d„ «       }| j                  t        j                  d«      5   |«        d d d «       y # 1 sw Y   y xY w)Nc                  ó¾   — t        t        j                  t        j                  t        j                  ¬«      5  d} d}d}d d d «       t
        S # 1 sw Y   t
        S xY w)N©Úv1Úv2Úv3rÂ  )r   r   r*  rÚ  Úfloat32rÁ  rà  s      r)   rÛ  zETestLiftObj.test_objmode_gv_mod_attr_error_multiple.<locals>.moderror^  sL   € äœEŸJ™J¬5×+DÑ+DÜ!ŸM™Mô+ñ à�Ø�Ø�÷	ô
 ˆJ÷ô
 ˆJús   ¹AÁAzPError handling objmode argument 'v2'. Getattr cannot be resolved at compile-timerÌ  rÜ  s     r)   Ú'test_objmode_gv_mod_attr_error_multiplez3TestLiftObj.test_objmode_gv_mod_attr_error_multiple]  sN   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð:ó
ñ 	ñ
 ŒJ÷	÷ 	ñ 	úrÏ  c                 óØ   ‡— d„ Št        ‰«      d„ «       }t        ˆfd„«       }| j                   |«       t        j                  d«      j                  t        j                  «      «       y )Nc                   ó   — y rR   r3   r3   r+   r)   ró   z>TestLiftObj.test_objmode_closure_type_in_overload.<locals>.foon  r²  r+   c                  ó8   ‡— t         j                  d d  Šˆfd„} | S )Nc                  ó°   •— t        ‰¬«      5  t        j                  d«      j                  t        j                  «      } d d d «       | S # 1 sw Y    S xY w©Nrµ  r8   ©r   rÿ   r   r  r  ©r’   Ú	shrubberys    €r)   r·  zUTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overload.<locals>.implt  óA   ø€ Ü Ô+ñ ;ÜŸ)™) B›-×.Ñ.¬r¯z©zÓ:�C÷;à�
÷;à�
úó   Ž3AÁA©r   r  ©r·  rí  s    @r)   r¸  zGTestLiftObj.test_objmode_closure_type_in_overload.<locals>.foo_overloadq  s   ø€ äŸ™¡aÐ(ˆIôð ˆKr+   c                  ó   •—  ‰ «       S rR   r3   rº  s   €r)   rî   z>TestLiftObj.test_objmode_closure_type_in_overload.<locals>.barz  ó
   ø€ á“5ˆLr+   r8   )r   r   rà   rÿ   r   r  r  ©re   r¸  rî   ró   s      @r)   Ú%test_objmode_closure_type_in_overloadz1TestLiftObj.test_objmode_closure_type_in_overloadm  s_   ø€ ò	ô 
�#‹ñ	ó 
ð	ô 
ó	ó 
ð	ð 	×Ñ¡£¤r§y¡y°£}×';Ñ';¼B¿J¹JÓ'GÕHr+   c                 óÂ   ‡— d„ Št        ‰«      d„ «       }t        ˆfd„«       }| j                  t        j                  d«      5   |«        d d d «       y # 1 sw Y   y xY w)Nc                   ó   — y rR   r3   r3   r+   r)   ró   zDTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo�  r²  r+   c                  ó:   ‡— t         j                  d d  Šˆfd„} ‹| S )Nc                  ó°   •— t        ‰¬«      5  t        j                  d«      j                  t        j                  «      } d d d «       | S # 1 sw Y    S xY wrê  rë  rì  s    €r)   r·  z[TestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload.<locals>.impl‡  rî  rï  rð  rñ  s    @r)   r¸  zMTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.foo_overload„  s    ø€ äŸ™¡aÐ(ˆIôð ØˆKr+   c                  ó   •—  ‰ «       S rR   r3   rº  s   €r)   rî   zDTestLiftObj.test_objmode_closure_type_in_overload_error.<locals>.bar�  ró  r+   zIError handling objmode argument 'out'. Freevar 'shrubbery' is not defined)r   r   rÍ  r   r¯   rô  s      @r)   Ú+test_objmode_closure_type_in_overload_errorz7TestLiftObj.test_objmode_closure_type_in_overload_error€  sn   ø€ ò	ô 
�#‹ñ		ó 
ð		ô 
ó	ó 
ð	ð ×#Ñ#Ü×Ñð2ó
ñ 	ñ
 ŒE÷	÷ 	ñ 	ús   ÁAÁAc                 ó”   — t         d„ «       }| j                  t        j                  d«      5   |«        d d d «       y # 1 sw Y   y xY w)Nc                  ó^   — t        d¬«      5  d} d d d «       t        S # 1 sw Y   t        S xY w)Nrr   )Úbadr6   )r   rÁ  rµ  s    r)   rÛ  z6TestLiftObj.test_objmode_invalid_use.<locals>.moderrorœ  s)   € ä˜UÔ#ñ Ø�÷äˆJ÷äˆJús   �ž,z¤Error handling objmode argument 'bad'. The value must be a compile-time constant either as a non-local variable or a getattr expression that refers to a Numba type.rÌ  rÜ  s     r)   Útest_objmode_invalid_usez$TestLiftObj.test_objmode_invalid_use›  sN   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð'ó
ñ 	ñ ŒJ÷	÷ 	ñ 	úrÏ  c                 ó*  ‡— t         j                  d d  Št        ˆfd„«       } |«       \  }}}| j                  |d«       | j                  |d«       | j                  |t	        j
                  d«      j                  t        j                  «      «       y )Nc                  óÈ   •— t        dt        ‰¬«      5  d} | }t        j                  d«      j	                  t        j
                  «      }d d d «        fS # 1 sw Y   ŒxY w)Nr  )Út1Út2Út3ç    :(ArU   )r   rÃ  rÿ   r   r  Úint32)r  r  r  Úarray_tys      €r)   ró   z5TestLiftObj.test_objmode_multi_type_args.<locals>.foo¬  sZ   ø€ ô
 ˜I¬'°hÔ?ñ 3Ø�Ø�Ü—Y‘Y˜q“\×(Ñ(¬¯©Ó2�÷3ð �r˜2�:Ð÷	3ð 3ús   ”7AÁA!r  i  rU   )r   r  r   rà   rÿ   r   r  )re   ró   r  r  r  r  s        @r)   Útest_objmode_multi_type_argsz(TestLiftObj.test_objmode_multi_type_argsª  sx   ø€ Ü—;‘;™q�>ˆÜ	ó	ó 
ð	ñ “U‰
ˆˆB�Ø×Ñ  HÔ-Ø×Ñ  FÔ+Ø×Ñ ¤B§I¡I¨a£L×$7Ñ$7¼¿¹Ó$AÕBr+   c                 óî  ‡‡‡	— dt         j                  fdt         j                  d d  fg}t        |«       G d„ dt        «      «       Šd} ‰|«      Š	d„ Št        ‰«      ˆˆ	fd„«       }t        ˆfd„«       } |«       }| j                  |‰«       | j                  |j                  d	d
«      d«       t        j                  dt        j                  ¬«      d
z   }| j                  |j                  |«       y )NÚvaluer8  c                   ó8   — e Zd Zd„ Zed„ «       Zd„ Zed„ «       Zy)ú.TestLiftObj.test_objmode_jitclass.<locals>.Bagc                 óf   — || _         t        j                  |t        j                  ¬«      | _        y )Nr  )r
  rÿ   Úzerosrä  r8  )re   r
  s     r)   Ú__init__z7TestLiftObj.test_objmode_jitclass.<locals>.Bag.__init__Ä  s   € Ø"�”
ÜŸX™X e´2·:±:Ô>�•
r+   c                 ó.   — | j                   j                  S rR   )r8  Úsizerm   s    r)   r  z3TestLiftObj.test_objmode_jitclass.<locals>.Bag.sizeÈ  s   € à—z‘z—‘Ð&r+   c                 ó|   — t        | j                  «      D ]  }| j                  |xx   |z  cc<   Œ | j                  S rR   )rC   r  r8  )re   rÁ  rE   s      r)   Ú	incrementz8TestLiftObj.test_objmode_jitclass.<locals>.Bag.incrementÌ  s6   € Ü˜tŸy™yÓ)ò )�AØ—J‘J˜q“M SÑ(”Mð)à—z‘zÐ!r+   c                 ó   — | |z   S rR   r3   r>   s     r)   Úaddz2TestLiftObj.test_objmode_jitclass.<locals>.Bag.addÑ  s   € à˜1‘u�r+   N)	rz   r{   r|   r  Úpropertyr  r  Ústaticmethodr  r3   r+   r)   ÚBagr  Â  s4   „ ò?ð ñ'ó ð'ò"ð
 ñó ñr+   r  é   c                   ó   — y rR   r3   r3   r+   r)   ró   z.TestLiftObj.test_objmode_jitclass.<locals>.fooØ  r²  r+   c                  ó.   •‡— ‰j                   Šˆˆfd„} | S )Nc                  ó~   •— t        ‰¬«      5   ‰d«      } | j                  d«       d d d «       | S # 1 sw Y    S xY w)Nrµ  rø   r$  )r   r  )r’   r  rí  s    €€r)   r·  zETestLiftObj.test_objmode_jitclass.<locals>.foo_overload.<locals>.implÞ  s>   ø€ Ü Ô+ñ %Ù˜c›(�CØ—M‘M !Ô$÷%ð �
÷%ð �
ús   Ž2²<)Ú_numba_type_)r·  rí  r  Úmybags    @€€r)   r¸  z7TestLiftObj.test_objmode_jitclass.<locals>.foo_overloadÛ  s   ù€ à×*Ñ*ˆIõð
 ˆKr+   c                  ó   •—  ‰ «       S rR   r3   rº  s   €r)   rî   z.TestLiftObj.test_objmode_jitclass.<locals>.barå  ró  r+   rr   r$  rU   rø   r  )r   r  rä  r    Úobjectr   r   rÇ  rd   r  rÿ   r  rà   r8  )
re   ÚspecÚnr¸  rî   r  Ú	exp_arrayr  ró   r  s
          @@@r)   Útest_objmode_jitclassz!TestLiftObj.test_objmode_jitclass¼  sç   ú€ à”e—k‘kÐ"Ø”e—m‘m¡AÐ&Ð'ð
ˆô
 
�$‹ô	”&ó 	ó 
ð	ð$ ˆÙ�A“ˆò	ô 
�#‹ô	ó 
ð	ô 
ó	ó 
ð	ñ ‹EˆØ×Ñ˜a Ô%Ø×Ñ˜Ÿ™˜q !› eÔ,Ü—H‘H˜S¬¯
©
Ô3°aÑ7ˆ	Ø×Ñ §¡¨Õ3r+   c                 óT   — t        d¬«      5  | dz  }d d d «       |S # 1 sw Y   S xY w©Nr  ©Úoutputr8   r¶  ©r;   r(  s     r)   Úcase_objmode_cachezTestLiftObj.case_objmode_cacheð  s-   € ä˜IÔ&ñ 	Ø˜‘VˆF÷	àˆ÷	àˆúrM  c                 óü   ‡— t        g d¢«      Št        ˆfd„«       }| j                  t        j                  «      5 } |«        d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)N©r6   rr   r$  r"  rU   c                  óT   •— t        ‰¬«      5  g d¢} d d d «       | S # 1 sw Y    S xY w)Nrµ  r,  r¶  )r’   Úret_types    €r)   Útest2z6TestLiftObj.test_objmode_reflected_list.<locals>.test2ø  s*   ø€ ä˜XÔ&ñ &Ú%�÷&àˆJ÷&àˆJúó   Ž�'z”Objmode context failed. Argument 'out' is declared as an unsupported type: reflected list\(int(32|64)\)<iv=None>. Reflected types are not supported.©r   r   r³   r   r²   rS  rµ   r¶   ©re   r/  r¸   r.  s      @r)   Útest_objmode_reflected_listz'TestLiftObj.test_objmode_reflected_listö  sr   ø€ Üš/Ó*ˆÜ	ó	ó 
ð	ð
 ×Ñœv×3Ñ3Ó4ð 	¸ÙŒG÷	à×ÑÜ�× Ñ Ó!ð3õ	
÷	ð 	úó   ¼A2Á2A;c                 óü   ‡— t        h d£«      Št        ˆfd„«       }| j                  t        j                  «      5 } |«        d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)N¾   r6   rr   r$  r"  rU   c                  óT   •— t        ‰¬«      5  h d£} d d d «       | S # 1 sw Y    S xY w)N)r}  r6  r¶  )r}  r.  s    €r)   r/  z5TestLiftObj.test_objmode_reflected_set.<locals>.test2
  s*   ø€ ä Ô)ñ )Ú(�÷)àˆM÷)àˆMúr0  z�Objmode context failed. Argument 'result' is declared as an unsupported type: reflected set\(int(32|64)\). Reflected types are not supported.r1  r2  s      @r)   Útest_objmode_reflected_setz&TestLiftObj.test_objmode_reflected_set  sr   ø€ Üš/Ó*ˆÜ	ó	ó 
ð	ð
 ×Ñœv×3Ñ3Ó4ð 	¸ÙŒG÷	à×ÑÜ�× Ñ Ó!ð3õ	
÷	ð 	úr4  c                 ó2  ‡— t        j                  t         j                  t         j                  «      Št        ˆfd„«       }| j                  t        «      5 } |«        d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nc                  óV   •— t        ‰¬«      5  dddœ} d d d «       | S # 1 sw Y    S xY w)N©Úresr6   rr   )r-   r.   r¶  ©r<  r.  s    €r)   Útest4z2TestLiftObj.test_objmode_typed_dict.<locals>.test4  s/   ø€ ä˜XÔ&ñ 'Ø AÑ&�÷'àˆJ÷'àˆJús   Žž(zFcan't unbox a <class 'dict'> as a <class 'numba.typed.typeddict.Dict'>)
r   ÚDictTypeÚunicode_typer  r   r³   rN  r´   rµ   r¶   ©re   r>  r¸   r.  s      @r)   Útest_objmode_typed_dictz#TestLiftObj.test_objmode_typed_dict  sz   ø€ Ü—>‘>¤%×"4Ñ"4´e·k±kÓBˆÜ	ó	ó 
ð	ð
 ×ÑœyÓ)ð 	¨VÙŒG÷	à�‰ð9ä�× Ñ Ó!õ	
÷	ð 	ús   ÁBÂBc                 ó  ‡— t        j                  t         j                  «      Št        ˆfd„«       }| j	                  t
        «      5 } |«        d d d «       | j                  t        j                  «      d«       y # 1 sw Y   Œ/xY w)Nc                  óT   •— t        ‰¬«      5  ddg} d d d «       | S # 1 sw Y    S xY w)Nr;  r6   rr   r¶  r=  s    €r)   r>  z2TestLiftObj.test_objmode_typed_list.<locals>.test4,  s.   ø€ ä˜XÔ&ñ Ø˜!�f�÷àˆJ÷àˆJúr0  zLcan't unbox a <class 'list'> as a (<class ')?numba.typed.typedlist.List('>)?)	r   ÚListTyper  r   r³   rN  rS  rµ   r¶   rA  s      @r)   Útest_objmode_typed_listz#TestLiftObj.test_objmode_typed_list*  su   ø€ Ü—>‘>¤%§+¡+Ó.ˆÜ	ó	ó 
ð	ð
 ×ÑœyÓ)ð 	¨VÙŒG÷	à×ÑÜ�× Ñ Ó!ð@õ	
÷	ð 	ús   ÁA>Á>Bc                 óØ   — t         d„ «       }t        j                  dt        j                  «      j	                  d«      }|j                  |«      } ||«      }| j                  ||«       y )Nc                 ó€   — t        j                  d¬«      5  | j                  d«      }d d d «       |S # 1 sw Y   S xY w)Nz
int64[::1]r  r  )rö   r   Úviewr>   s     r)   ró   z1TestLiftObj.test_objmode_use_of_view.<locals>.foo=  s5   € ä—‘ Ô.ñ $Ø—F‘F˜7“O�÷$àˆH÷$àˆHús   —3³=r6   r  )r   rÿ   Úonesr  rI  r¬  rà   )re   ró   r
  Úexpectedr¤   s        r)   Útest_objmode_use_of_viewz$TestLiftObj.test_objmode_use_of_view:  s]   € ô 
ñ	ó 
ð	ô
 �G‰G�A”r—x‘xÓ ×%Ñ% iÓ0ˆØ—;‘;˜q“>ˆÙ�!‹fˆØ×Ñ ¨#Õ.r+   N)>rz   r{   r|   r�   rØ   rê   rú   r  r  r  r  rÆ   r'  r+  r4  r:  r@  rH  rO  rU  r[  rc  rg  rj  rn  rs  rx  r~  ÚunittestÚexpectedFailurerƒ  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*  r3  r8  rB  rF  rL  r3   r+   r)   rÌ   rÌ   8  s¹  „ ò<ò!ò5ò$@ò&8ò 6ò@ò&6ð #ñ6ó #ð6ò6ð$ #ñ@ó #ð@ò"8ð$ #ñ4ó #ð4òò"
ò&5ò"ò*7ò(
ð  #ñ
4ó #ð
4ò4ò
ò"4òCð ×Ññ4ó ð4ð ñ4ó ð4ò4ð 'ñ8ó 'ð8ð ØØØñ2ó ó ó ó ð2ð ×Ññ
4ó ð
4ò4ò0ò %ò$
"òò*ò(òò Iò&ò6òCò$14ðh ñó ðò

ò$
ò$
ò 
ó /r+   rÌ   c                 ó   — | dz  S ©Nr8   r3   r:   s    r)   Úcase_inner_pyfuncrQ  I  s   € Øˆr‰6€Mr+   c                 ó`   — t        d¬«      5  t        | «      }d d d «       |S # 1 sw Y   S xY w©Nr  r'  )r   rQ  r)  s     r)   r*  r*  M  s.   € Ü	˜	Ô	"ñ &Ü" 1Ó%ˆ÷&à€M÷&à€MúrE  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLiftObjCachingc                 óL   — t        j                  dt        j                  «       y rÎ   rÐ   rm   s    r)   r�   zTestLiftObjCaching.setUpV  rÔ   r+   c                 ó,   — t        j                  «        y rR   rÖ   rm   s    r)   rØ   zTestLiftObjCaching.tearDownY  rÙ   r+   c                 ó  —  t        d¬«      |«      }| j                   |d«      d«        t        d¬«      |«      }| j                  |j                  «       | j                   |d«      d«       | j	                  |j                  «       y )NT)Úcacherø   rÂ  )r   rd   ÚassertFalseÚ_cache_hitsÚ
assertTrue)re   r¬  ÚfirstÚseconds       r)   ÚcheckzTestLiftObjCaching.check\  sr   € Ø ”˜4Ô  Ó)ˆØ×Ñ™˜s› TÔ*à!”˜DÔ! 'Ó*ˆØ×Ñ˜×+Ñ+Ô,Ø×Ñ™ › dÔ+Ø�‰˜×*Ñ*Õ+r+   c                 ó,   — d„ }| j                  |«       y )Nc                 óT   — t        d¬«      5  | dz  }d d d «       |S # 1 sw Y   S xY wr&  r¶  r)  s     r)   rá   z=TestLiftObjCaching.test_objmode_caching_basic.<locals>.pyfuncf  s-   € Ü 	Ô*ñ  Ø˜R™�÷ àˆM÷ àˆMúrM  ©r_  )re   rá   s     r)   Útest_objmode_caching_basicz-TestLiftObjCaching.test_objmode_caching_basice  s   € ò	ð
 	�
‰
�6Õr+   c                 ó8   ‡— d„ Šˆfd„}| j                  |«       y )Nc                 ó   — | dz  S rP  r3   r:   s    r)   Úother_pyfunczNTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.other_pyfuncn  s   € Ø�r‘6ˆMr+   c                 ó\   •— t        d¬«      5   ‰| «      }d d d «       |S # 1 sw Y   S xY wrS  r¶  )r;   r(  rf  s     €r)   rá   zHTestLiftObjCaching.test_objmode_caching_call_closure_bad.<locals>.pyfuncq  s.   ø€ Ü 	Ô*ñ )Ù% a›�÷)àˆM÷)àˆMús   Ž	!¡+rb  )re   rá   rf  s     @r)   Ú%test_objmode_caching_call_closure_badz8TestLiftObjCaching.test_objmode_caching_call_closure_badm  s   ø€ ò	ô	ð
 	�
‰
�6Õr+   c                 ó.   — | j                  t        «       y rR   )r_  r*  rm   s    r)   Ú&test_objmode_caching_call_closure_goodz9TestLiftObjCaching.test_objmode_caching_call_closure_goodx  s   € Ø�
‰
Ô%Õ&r+   N)	rz   r{   r|   r�   rØ   r_  rc  rh  rj  r3   r+   r)   rU  rU  S  s    „ ò<ò!ò,òò	ó'r+   rU  c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestBogusContextc                 ó0  — t        t        «      }| j                  t        j                  «      5 }t        || j                  | j                  | j                  i ¬«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)NrŠ   z*Undefined variable used as context manager)r*   rY   r³   r   r²   r   rƒ   r…   r†   r´   rµ   r¶   ©re   rg   r¸   s      r)   Útest_undefined_globalz&TestBogusContext.test_undefined_global~  su   € Üœ^Ó,ˆØ×Ñœv×3Ñ3Ó4ð 	¸ÜØ˜Ÿ™¨¯©¸¿
¹
È2õ÷	ð 	�‰Ø8Ü�× Ñ Ó!õ	÷		ð 	úó   ¯/BÂBc                 ó0  — t        t        «      }| j                  t        j                  «      5 }t        || j                  | j                  | j                  i ¬«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)NrŠ   z"Unsupported context manager in use)r*   r^   r³   r   r²   r   rƒ   r…   r†   r´   rµ   r¶   rn  s      r)   Útest_invalidzTestBogusContext.test_invalid‰  su   € Üœ\Ó*ˆØ×Ñœv×3Ñ3Ó4ð 	¸ÜØ˜Ÿ™¨¯©¸¿
¹
È2õ÷	ð 	�‰Ø0Ü�× Ñ Ó!õ	÷		ð 	úrp  c                 óä   — t         d„ «       }| j                  t        j                  «      5 } |«        d d d «       t	        j
                  «      }d}| j                  ||«       y # 1 sw Y   Œ3xY w)Nc                  ó<   — t         5 } 	 d d d «       y # 1 sw Y   y xY wrR   )r   )Úbps    r)   ró   z;TestBogusContext.test_with_as_fails_gracefully.<locals>.foo•  s   € äð  2Ø÷÷ ñ úr[   zGThe 'with (context manager) as (variable):' construct is not supported.)r   r³   r   ÚUnsupportedBytecodeErrorrµ   r¶   r´   )re   ró   r¸   Úexcstrr¹   s        r)   Útest_with_as_fails_gracefullyz.TestBogusContext.test_with_as_fails_gracefully”  sm   € Ü	ñ	ó 
ð	ð ×Ñœv×>Ñ>Ó?ð 	À6ÙŒE÷	ô �V×%Ñ%Ó&ˆðˆà�‰�c˜6Õ"÷	ð 	ús   ¬A&Á&A/N)rz   r{   r|   ro  rr  rx  r3   r+   r)   rl  rl  |  s   „ ò	ò	ó#r+   rl  c                   ó>   — e Zd ZdZeej                  d„ «       «       Zy)ÚTestMiscFc                 ó‚   — t        «       s| j                  d«       d„ }g d¢}t        ||«      }| j                  |«       y )Nzstrace support missingc                  ó&   — t        d«      d„ «       } y )Nzvoid()c                  óX   — t        j                  «       5  	 d d d «       y # 1 sw Y   y xY wrR   rõ   r3   r+   r)   r»  zFTestMisc.test_no_fork_in_compilation.<locals>.force_compile.<locals>.f¶  s#   € ä—]‘]“_ñ Ø÷÷ ñ ús   •  ))r   )r»  s    r)   Úforce_compilez;TestMisc.test_no_fork_in_compilation.<locals>.force_compileµ  s   € Ü�(‹^ñó ñr+   )ÚforkÚcloneÚexecve)r   ÚskipTestr   rZ  )re   r~  ÚsyscallsÚstrace_datas       r)   Útest_no_fork_in_compilationz$TestMisc.test_no_fork_in_compilation¨  s?   € ô  Ô!à�M‰MÐ2Ô3ò	ò /ˆô ˜]¨HÓ5ˆØ×Ñ˜Õ%r+   N)rz   r{   r|   Ú_numba_parallel_test_r   r   Úrun_test_in_subprocessr…  r3   r+   r)   rz  rz  £  s*   „ ð "ÐàØ×$Ñ$ñ&ó %ó ñ&r+   rz  Ú__main__)NrÛ   rÑ   Únumpyrÿ   rö   Únumba.core.transformsr   r   Únumba.core.withcontextsr   r   r   Únumba.core.bytecoder   r	   Únumba.core.interpreterr
   Ú
numba.corer   Únumba.core.registryr   Únumba.core.compilerr   r   r   r   r   r   Únumba.core.extendingr   Únumba.tests.supportr   r   r   r   r   r   r   r   r   r   r   Únumba.core.utilsr   Únumba.experimentalr    rM  r*   r4   r<   r@   rF   rI   rL   rN   rP   rS   rV   rY   r   r]   r^   r*  rÃ  r`   r~   r™   r¡   rÆ   rÊ   rÌ   rQ  r*  rU  rl  rz  rz   Úmainr3   r+   r)   ú<module>r–     sC  ðÛ Û Û ã ß ?ß QÑ Qß :Ý .Ý Ý *ß 9ß .Ó .Ý )÷"÷ "÷ "ñ "õ 'Ý 'Û òòòò"ò"ò,òò	òòòòñ
 “xÐ òð
 �*‰*€ô6�hô 6ô,;˜(ô ;ô:9Ð(ô 9ô..,Ð&ô .,òbòôN/�*˜hô N/òbòô&'˜ Xô &'ôR$#Ð*ô $#ôN&ˆxô &ð@ ˆzÒØ€H‡M�M…Oð r+   