
    sh                         S SK r S SKJrJr  S SKJr  S SKJr  SS0rSS0r	S r
S	 rS
 rS rS rS rS rS rS rS r " S S\5      r\S:X  a  \ R,                  " 5         gg)    N)jitnjit)types)TestCaseforceobjTnopythonc                 "    [        U 5      =pX-   $ Nstrabcs      m/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_dataflow.pyassignmentsr      s    FNA5L    c                 ,    [        U 5      =n=p#X-   U-   $ r
   r   )r   r   r   ds       r   assignments2r      s    AA519r   c                     X:  a  U OUS-   nU$ N    r   s      r   var_propagate1r      s    eaAHr   c                 *    SX:  a  U OUS-   S-  -   nU$ )Nr      g       @r   r   s      r   var_propagate2r      s     	!%QQVs**AHr   c                 8    SX:  =(       a    U =(       d    U-   nU$ r   r   r   s      r   var_propagate3r    !   s    	QU[qAAHr   c                 ^    SU S-
  =(       a    US-   -   =(       d    U S-   =(       a    US-
  nU$ )Nr      r   r   s      r   var_propagate4r#   &   s.    	QU_q1u2!a%/AEAHr   c                 ,    SU s=:  =(       a    S:  $ s  $ )Nr"      r   )r   s    r   chained_comparer&   ,   s    q99199r   c                 D    SnSnX:X  a  [        S5       H  nUnM     X-   $ )N   r"   r%   range)xir   s      r   stack_effect_errorr-   1   s+    	A	AvqAA 5Lr   c                 F    [        U 5       H  nSn X!:X  d  M    X 4$    Wn X 4$ )Nr   r)   )nr+   r,   s      r   	for_breakr0   :   s4    1X6 4K 
 4Kr   c                 6    XpXBUpCnXX04u  pp#X-   U-   U-   U-   $ r
   r   )r   r   r   r   es        r   var_swappingr3   D   s2    qA!AqJA!519q=!r   c                       \ rS rSr\4S jr\4S jrS rS rS r	S r
S r\4S	 jrS
 r\4S jrS r\4S jrS r\4S jrS rSrg)TestDataFlowJ   c                     [         n[        [        R                  440 UD6" U5      nS H!  nU R	                  U" U5      U" U5      5        M#     g )Nr   r"   )r   r   r   int32assertPreciseEqualselfflagspyfunccfuncr+   s        r   test_assignmentsTestDataFlow.test_assignmentsL   sC    U[[N,e,V4A##F1IuQx8 r   c                     [         n[        [        R                  440 UD6" U5      nS H!  nU R	                  U" U5      U" U5      5        M#     U[
        L a	  U" S5        g g )Nr8   r   )r   r   r   r:   r;   force_pyobj_jit_optr<   s        r   test_assignments2TestDataFlow.test_assignments2R   sZ    U[[N,e,V4A##F1IuQx8  ''#J (r   c                 H    U R                  U" U6 UR                  " U6 5        g r
   )r;   py_func)r=   funcargss      r   run_propagate_funcTestDataFlow.run_propagate_func^   s    dT\\4-@Ar   c                     [        [        R                  [        R                  45      " [        5      nU R	                  US5        U R	                  US5        g Nr(   r%   r%   r(   )r   r   intpr   rK   r=   r@   s     r   test_var_propagate1 TestDataFlow.test_var_propagate1a   >    ejj%**-.~>v.v.r   c                     [        [        R                  [        R                  45      " [        5      nU R	                  US5        U R	                  US5        g rN   )r   r   rQ   r   rK   rR   s     r   test_var_propagate2 TestDataFlow.test_var_propagate2f   rU   r   c                 B   [        [        R                  [        R                  45      " [        5      nU R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        g )NrO   rP   )r(   r   r9   r   )r   r(   r   r9   )r   r   rQ   r    rK   rR   s     r   test_var_propagate3 TestDataFlow.test_var_propagate3k   s~    ejj%**-.~>v.v.v.w/v.w/r   c                    [        [        R                  [        R                  45      " [        5      nU R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US5        U R	                  US	5        g )
N)r"   r"   )r"   r   )r"   r9   )r   r"   )r   r   r[   )r9   r"   rZ   )r9   r9   )r   r   rQ   r#   rK   rR   s     r   test_var_propagate4 TestDataFlow.test_var_propagate4t   s    ejj%**-.~>v.v.w/v.v.w/w/w/x0r   c                     [         n[        [        R                  440 UD6" U5      nS H!  nU R	                  U" U5      U" U5      5        M#     g )N)r   r"   r(   r%      )r&   r   r   r:   r;   r<   s        r   test_chained_compare!TestDataFlow.test_chained_compare   sC     U[[N,e,V4 A##F1IuQx8 !r   c                 .    U R                  [        5        g r
   )rc   no_pyobj_jit_optr=   s    r   test_chained_compare_npm%TestDataFlow.test_chained_compare_npm   s    !!"23r   c                     [         n[        [        R                  440 UD6" U5      nS H!  nU R	                  U" U5      U" U5      5        M#     g )N)r   r"   r(   r%   )r-   r   r   r:   r;   r<   s        r   test_stack_effect_error$TestDataFlow.test_stack_effect_error   sE     $U[[N,e,V4A##F1IuQx8 r   c                 .    U R                  [        5        g r
   )rk   rf   rg   s    r   test_stack_effect_error_npm(TestDataFlow.test_stack_effect_error_npm   s    $$%56r   c                     [         n[        [        R                  4S-  40 UD6" U5      n[	        [        SSS5      5      nU R                  U" U6 U" U6 5        g )Nr   r   
   r(   )r3   r   r   r:   tupler*   r;   )r=   r>   r?   r@   rJ   s        r   test_var_swappingTestDataFlow.test_var_swapping   sP    U[[NQ&0%08U1b!_%ud|<r   c                 .    U R                  [        5        g r
   )rs   rf   rg   s    r   test_var_swapping_npm"TestDataFlow.test_var_swapping_npm   s    /0r   c                     [         n[        [        R                  [        R                  440 UD6" U5      nS H#  u  pEU R	                  U" XE5      U" XE5      5        M%     g )N))rb   r(   )rb      )r0   r   r   rQ   r;   )r=   r>   r?   r@   r/   r+   s         r   test_for_breakTestDataFlow.test_for_break   sL    UZZ,66v>&FQ##F1L%+> 'r   c                 .    U R                  [        5        g r
   )rz   rf   rg   s    r   test_for_break_npmTestDataFlow.test_for_break_npm   s    ,-r   r   N)__name__
__module____qualname____firstlineno__rD   rA   rE   rK   rS   rW   r\   r_   rc   rh   rk   rn   rs   rv   rz   r}   __static_attributes__r   r   r   r5   r5   J   sk    %8 9 ': B/
/
0
1 *= 94 -@ 97 ': =1 $7 ?.r   r5   __main__)unittestnumbar   r   
numba.corer   numba.tests.supportr   rD   rf   r   r   r   r   r    r#   r&   r-   r0   r3   r5   r   mainr   r   r   <module>r      s       ( "4( % 




[.8 [.| zMMO r   