+
    :i                         R t ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt R tR tR tR	 tR
 t ! R R]4      t ! R R]4      t]R8X  d   ]P*                  ! 4        R# R# )z!
Testing object mode specifics.

N)jittypes)utils)	PYVERSION)TestCasec                 &    V ^,           pVR,           # )   y              @ )ntmps   & Z/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_object_mode.pycomplex_constantr      s    
a%C8O    c                     V R ,           # )l         4LEh*r-P3OF r	   r
   s   &r   long_constantr      s    ???r   c                     V R  R# ):NNNNr	   xs   &r   delitem_usecaser      s	    	!r   c                     ^ p\        V 4       F<  p\        V4       F*  p\        W,           4       F  pW#V,          ,          pK  	  K,  	  K>  	  V#     )range)r   yr
   ijks   &&    r   loop_nest_3r      sE    	A1XqA15\U
 "  
 Hr   c                     V # Nr	   r   s   &r   array_of_objectr!   &   s    Hr   c                   P   a  ] tR t^*t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestObjectModec                t    \         p\        RR R7      ! V4      pV P                  V! ^4      V! ^4      4       R# TforceobjNr	   )r   r   assertPreciseEqualselfpyfunccfuncs   &  r   test_complex_constant$TestObjectMode.test_complex_constant,   s0    !B&v.r
E"I6r   c                t    \         p\        RR R7      ! V4      pV P                  V! ^4      V! ^4      4       R# r%   )r   r   r(   r)   s   &  r   test_long_constant!TestObjectMode.test_long_constant1   s0    B&v.r
E"I6r   c                   aa \         o\        RRR7      ! S4      oV P                  S! ^^4      S! ^^4      4       V3R lpV3R lp\        P                  ! V4       \        P                  ! V4       R# )zU
Test bug that decref the iterator early.
If the bug occurs, a segfault should occur
Tr&   c                     < S ! ^^4       R#    Nr	   )r+   s   r   	bm_pyfunc0TestObjectMode.test_loop_nest.<locals>.bm_pyfunc?   s    1aLr   c                     < S ! ^^4       R# r4   r	   )r,   s   r   bm_cfunc/TestObjectMode.test_loop_nest.<locals>.bm_cfuncB   s    !QKr   Nr	   )r   r   assertEqualr   	benchmark)r*   r6   r9   r,   r+   s   &  @@r   test_loop_nestTestObjectMode.test_loop_nest6   s[    
 B&v.1uQ{3		 		"!r   c                    \        R R7      ! \        4      p\        P                  ! \	        4       .^
,          4      pV P                  V! V4      V4       R# )Tr&   N)r   r!   nparrayobjectassertIs)r*   r,   objarrs   &  r   test_array_of_object#TestObjectMode.test_array_of_objectH   s9    T"?368*r/*eFmV,r   c                   \        RR7      R 4       pV P                  V! ^^ ^.4      4       V P                  V! ^ ^ ^.4      4       V P                  V! ^^ ^.4      4       V P                  \        4      ;_uu_ 4       pV! RR4       RRR4       \
        R9   d   RpM\
        R9   d   RpM\        \
        4      hV P                  V\        XP                  4      4       R#   + '       g   i     Lb; i)	z&
Test handling of the `in` comparison
Tr&   c                 
    W9   # r    r	   )r   r   s   &&r   foo2TestObjectMode.test_sequence_contains.<locals>.fooQ   s	    6Mr   Nzis not a container or iterablezis not iterable))      ))rK   
   )rK      )rK      )rK      )
r   
assertTrueassertFalseassertRaises	TypeErrorr   NotImplementedErrorassertInstr	exception)r*   rI   raisesexpected_snippets   &   r   test_sequence_contains%TestObjectMode.test_sequence_containsM   s     
d		 
	 	A1v'A1v'QA(y))VdO *
 #?>>0%i00&F,<,<(=> *)s   >
C""C2	c                    \         p\        RR R7      ! V4      p. ROpV! V4       V P                  V. 4       V P                  \        4      ;_uu_ 4        V! ^*4       RRR4       R#   + '       g   i     R# ; i)Tr&   Nr	   )rK   r   r5   )r   r   r(   rS   rT   )r*   r+   r,   ls   &   r   test_delitemTestObjectMode.test_delitemg   s[     B&v.a2&y))"I *)))s   	A((A9	c                   a R  o\        RR7      V3R l4       pRpV! V4      pVP                  V4      pV P                  V\        V4      4       V P                  W44       R# )c                      V # r    r	   r   s   *r   consumer8TestObjectMode.test_starargs_non_tuple.<locals>.consumerr       Hr   Tr&   c                    < S! V !  # r    r	   )r   rc   s   &r   rI   3TestObjectMode.test_starargs_non_tuple.<locals>.foou   s    Q<r   ijoN)r   py_funcr;   tuple)r*   rI   arggotexpectrc   s   &    @r   test_starargs_non_tuple&TestObjectMode.test_starargs_non_tupleq   sa    	 
d		  
	  #hS!eCj)%r   c                t    \        R R7      R 4       pV P                  V! 4       VP                  4       4       R# )Tr&   c                  .    R U u. uF  q NK  	  up # u up i )   )rr      r	   r   s    r   rI   +TestObjectMode.test_expr_undef.<locals>.foo   s      &&v!Av&&&s   
N)r   r;   ri   )r*   rI   s   & r   test_expr_undefTestObjectMode.test_expr_undef   s3    	d		' 
	' 	.r   r	   N)__name__
__module____qualname____firstlineno__r-   r0   r=   rE   r[   r_   rn   ru   __static_attributes____classdictcell____classdict__s   @r   r#   r#   *   s2     7
7
"$-
?4&/ /r   r#   c                   B   a  ] tR t^t o RtR tR tR tR tR t	Rt
V tR# )	TestObjectModeInvalidRewritezE
Tests to ensure that rewrite passes didn't affect objmode lowering.
c                r    V P                  VP                  4       V P                  VP                  4       V# r    )rQ   
signaturesrR   nopython_signatures)r*   disps   &&r   _ensure_objmode,TestObjectModeInvalidRewrite._ensure_objmode   s+    (112r   c                   a R oV3R lp\        RR7      ! V4      pV P                  V! ^
4      V! ^
4      4       V P                  V4       R# )zW
Test code based on user submitted issue at
https://github.com/numba/numba/issues/2159
c                     V # r    r	   r   s   &r   test0QTestObjectModeInvalidRewrite.test_static_raise_in_objmode_fallback.<locals>.test0   re   r   c                 6   < V ^ 8X  d   \        4       hS! V 4      # r   )
ValueError)r
   r   s   &r   test1QTestObjectModeInvalidRewrite.test_static_raise_in_objmode_fallback.<locals>.test1   s    Av !l"8Or   Tr&   N)r   r;   r   )r*   r   compiledr   s   &  @r   %test_static_raise_in_objmode_fallbackBTestObjectModeInvalidRewrite.test_static_raise_in_objmode_fallback   sD    
		 %e,rHRL1X&r   c                   a R oV3R lp\        RR7      ! V4      p\        P                  ! ^.4      \        P                  ! ^.4      3pV P                  V! V!  V! V!  4       V P	                  V4       R# )zW
Test code based on user submitted issue at
https://github.com/numba/numba/issues/2169
c                     V # r    r	   r   s   &r   r   STestObjectModeInvalidRewrite.test_static_setitem_in_objmode_fallback.<locals>.test0   re   r   c                    < \         P                  ! V 4      p ^V^ &   S! V P                  4       VP                  4       ,           4      # )rr   )r@   asarraysum)a1a2r   s   &&r   testRTestObjectModeInvalidRewrite.test_static_setitem_in_objmode_fallback.<locals>.test   s7    BB BqEBFFH,--r   Tr&   N)r   r@   rA   r;   r   )r*   r   r   argsr   s   &   @r   'test_static_setitem_in_objmode_fallbackDTestObjectModeInvalidRewrite.test_static_setitem_in_objmode_fallback   sb    		. %d+xx}bhhsm+tho6X&r   c                    RpVR,          p/ pR\         /p\        WV4       VR,          p\        RR7      ! V4      pV! 4        R# )z7
Test issue https://github.com/numba/numba/issues/3355
zdef func():
z    np.array([1,2,3])
r@   funcTr&   N)r@   execr   )r*   	func_textloc_varscustom_globalsr   jitteds   &     r   test_dynamic_func_objmode6TestObjectModeInvalidRewrite.test_dynamic_func_objmode   sJ     $	..	Y1d#D)r   c                ^   \        R R7      R 4       pV! 4        V P                  V4       VP                  VP                  ^ ,          ,          P                  ^ ,          pV P                  VP                  4       V P                  VP                  \        P                  ! R4      3.4       R# )Tr&   c                  D    R F  p R Uu. uF  p^ NK  	   pK  	  R # u upi )Nr	   r    r	   )_r   s     r   fFTestObjectModeInvalidRewrite.test_issue_9725_label_renaming.<locals>.f   s!    #$GqG$ $s   Nr	   )
r   r   	overloadsr   liftedrR   r   r;   r   Tuple)r*   r   r   s   &  r   test_issue_9725_label_renaming;TestObjectModeInvalidRewrite.test_issue_9725_label_renaming   s     
d		% 
	% 	
QQ\\!_-44Q7334**ekk"o-?,@Ar   r	   N)rw   rx   ry   rz   __doc__r   r   r   r   r   r{   r|   r}   s   @r   r   r      s*     
'&'*B Br   r   __main__)r   numpyr@   unittestnumbar   r   
numba.corer   numba.core.utilsr   numba.tests.supportr   r   r   r   r   r!   r#   r   rw   mainr	   r   r   <module>r      sp   
     & (
@[/X [/|JB8 JBZ zMMO r   