Ë
    èÿæi¾‰  ã                   ó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/Volumes/fast/ai/experiments/voice-extract-mac/.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   $   s.   € Ü	ˆ#„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   s7   € Ø	€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   sY   € Ø	€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   }   sr   € Ø	€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   ‘   sT   € Ü�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÷   sd   € ô �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  sw   € Ü×$Ñ$¤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'  sV   ø€ Ø×Ñœv×1Ñ1Ô2°fÙˆtÐ%�dÒ%˜fÒ%÷ 3à�‰Ð2Ü˜&×*Ñ*Ó+õ	-÷ 3Ð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  sV   ø€ Ø×Ñœv×1Ñ1Ô2°fÙˆtÐ%�dÒ%˜fÒ%÷ 3à�‰Ð6Ü˜&×*Ñ*Ó+õ	-÷ 3Ð2ú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  s3   ø€ Ø�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\  s7   ø€ Ø�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  sK   ø€ Ü—)‘)˜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  s?   ø€ Ü Õ"Ø˜‘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ˆ  s1   ø€ Ü  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�  s5   ø€ Ü—‘ Ö+Ù˜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›  s>   ø€ Ü  <°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¦  sq   € Ü  <Ö0Ü�a”Ø��!‘Ü�a”Ú ‘M�Ü—J‘J©qÓ1©q¨!  A£¨qÑ1Ó2�÷ 1ð �a�4ˆKùò  2÷ 1ð �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³  su   € Ü˜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Æ  ó[   € Øˆ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ê  ó?   € Ü  =Ö1Ú�÷ 2ä Õ"Ø��!‘÷ #àˆH÷	 2Ð1úç"àˆ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”÷ 1àˆH÷ 1àˆ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ò  sh   € ò	ô �H‰H’YÓˆÜ�C‹yˆØ×Ñœv×1Ñ1Ô2°fÙ�ŒG÷ 3à�‰Ø?Ü�× Ñ Ó!õ	÷ 3Ð2úó   Á	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�÷ 1àˆH÷ 1àˆ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  sf   € ò	ô �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  s>   € ô !Õ"ä(Õ*Ü˜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  s\   € ò	ð ×Ñœv×1Ñ1Ô2°fØŒD�‹I�cŒN÷ 3ð4ˆà×Ñœ˜V×-Ñ-Ó.°Õ4÷ 3Ð2ú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)  s1   € Ü Õ"Ø˜!�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÷ 3ô �F×$Ñ$Ó%ˆØ�‰ð #àô	ð 	�‰ð 8àõ	÷ 3Ð2ú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  sY   ø€ Üœ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<  sj   ø€ ô ‹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  sj   € ò	ô
 �H‰H’YÓˆÜ�C‹yˆØ×Ñœv×3Ñ3Ô4¸Ù�ŒG÷ 5à�‰ðä�× Ñ Ó!õ	
÷ 5Ð4ú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  sN   € Ü  :Ö.Ü—J‘Jšy°Ô8�÷ /ä Õ"à��!‘÷ #ð ˆH÷ /Ð.úç"ð ˆ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  sb   € ò	ô �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’  sB   ø€ Ü  :Ö.Ø”D˜“I˜a“L×'Ñ'¨Ó0�÷ /à�q‘5ˆL÷ /à�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÷ 3×2Ò2ú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¶  sM   ø€ Ü  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 šEr+   )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Ú  s@   ø€ Ü Õ"Ø˜’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Õ  su   ø€ ô
	ð ×Ñ¤× 2Ñ 2´F×4HÑ4HÐIÔJÈfÜ˜“9ˆDÙ”—‘š)Ó$Ô%÷ Kð *ˆØ�‰�cœ3˜v×/Ñ/Ó0Õ1÷	 KÐJú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è  sX   € Ü�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ô  sh   € Ü�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  s>   ø€ ä—	‘	˜!“ˆ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.  sI   € Ü	ñ	ó 
ð	ð
 ×#Ñ#Ü× Ñ ð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  s.   € äœ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Ø�÷ 8àˆJ÷ 8àˆ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  sI   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð:õ
ñ
 Œ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^  sG   € äœ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]  sI   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð:õ
ñ
 Œ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  ó<   ø€ Ü Ö+ÜŸ)™) 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€  si   ø€ ò	ô 
�#‹ñ		ó 
ð		ô 
ó	ó 
ð	ð ×#Ñ#Ü×Ñð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›  sI   € Ü	ñ	ó 
ð	ð ×#Ñ#Ü× Ñ ð'õ
ñ Œ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¬  sU   ø€ ô
 ˜I¬'°hÖ?Ø�Ø�Ü—Y‘Y˜q“\×(Ñ(¬¯©Ó2�÷ @ð �r˜2�:Ð÷	 @Ð?ú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Ì  s1   € Ü˜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Þ  s9   ø€ Ü Ö+Ù˜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ö  sk   ø€ Üš/Ó*ˆÜ	ó	ó 
ð	ð
 ×Ñœv×3Ñ3Ô4¸ÙŒG÷ 5à×ÑÜ�× Ñ Ó!ð3õ	
÷ 5Ð4úó   ¼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  sk   ø€ Üš/Ó*ˆÜ	ó	ó 
ð	ð
 ×Ñœv×3Ñ3Ô4¸ÙŒG÷ 5à×ÑÜ�× Ñ Ó!ð3õ	
÷ 5Ð4ú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  ss   ø€ Ü—>‘>¤%×"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*  sn   ø€ Ü—>‘>¤%§+¡+Ó.ˆÜ	ó	ó 
ð	ð
 ×Ñœ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=  s0   € ä—‘ Ö.Ø—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~  sn   € Üœ^Ó,ˆØ×Ñœv×3Ñ3Ô4¸ÜØ˜Ÿ™¨¯©¸¿
¹
È2õ÷ 5ð 	�‰Ø8Ü�× Ñ Ó!õ	÷	 5Ð4úó   ¯/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‰  sn   € Üœ\Ó*ˆØ×Ñœv×3Ñ3Ô4¸ÜØ˜Ÿ™¨¯©¸¿
¹
È2õ÷ 5ð 	�‰Ø0Ü�× Ñ Ó!õ	÷	 5Ð4ú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”  sh   € Ü	ñ	ó 
ð	ð ×Ñœ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+   