Ë
    èÿæið  ã                   óÄ   — d dl Z d dlmZmZ d dlmZ d dlmZ ddiZddiZ	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ de«      Zedk(  r e j,                  «        yy)é    N)ÚjitÚnjit)Útypes)ÚTestCaseÚforceobjTÚnopythonc                 ó&   — t        | «      x}}||z   S ©N©Ústr©ÚaÚbÚcs      ún/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_dataflow.pyÚassignmentsr      s   € Ü�‹F€N€AˆØˆq‰5€Ló    c                 ó0   — t        | «      x}x}}||z   |z   S r
   r   )r   r   r   Úds       r   Úassignments2r      s#   € Ü�A“Ð€AÐˆˆAØˆq‰5�1‰9Ðr   c                 ó   — | |kD  r| n|dz   }|S ©Né   © r   s      r   Úvar_propagate1r      s   € Ø�!Še‰˜˜aÑ€AØ€Hr   c                 ó*   — d| |kD  r| n|dz   dz  z   }|S )Nr   é   g       @r   r   s      r   Úvar_propagate2r      s"   € Ø	�!�a’%‰Q˜Q ™V sÑ*Ñ*€AØ€Hr   c                 ó&   — d| |kD  xr | xs |z   }|S r   r   r   s      r   Úvar_propagate3r    !   s   € Ø	ˆQ�‰UŠ[�qÒ˜AÑ€AØ€Hr   c                 ó@   — d| dz
  xr |dz   z   xs | dz   xr |dz
  }|S )Nr   é   r   r   s      r   Úvar_propagate4r#   &   s.   € Ø	ˆQ�‰UŠ_�q˜1‘uÑÒ2 ! a¡%¢/¨A°©E€AØ€Hr   c                 ó"   — d| cxk  xr dk  S c S )Nr"   é   r   )r   s    r   Úchained_comparer&   ,   s   € ØˆqŽ9�1‰9Ð‰9Ðr   c                 óB   — d}d}|| k(  rt        d«      D ]  }|}Œ ||z   S )Né   r"   r%   ©Úrange)ÚxÚir   s      r   Ústack_effect_errorr-   1   s/   € Ø	€AØ	€AØˆA‚vÜ�q–ˆAØ‰Að àˆq‰5€Lr   c                 óF   — t        | «      D ]  }d} ||k(  sŒ || fS  } || fS )Nr   r)   )Únr+   r,   s      r   Ú	for_breakr0   :   s:   € Ü�1ŽXˆØˆØ�‹6Øð ˆaˆ4€Kð ð
 ˆØˆaˆ4€Kr   c                 óH   — || }} |||}}}|||| f\  } }}}| |z   |z   |z   |z   S r
   r   )r   r   r   r   Úes        r   Úvar_swappingr3   D   sD   € Øˆa€q€AØ��Aˆ!€q€AØ�A�q˜!��J€A€qˆ!ˆQØˆq‰5�1‰9�q‰=˜!ÑÐr   c                   ó~   — e Zd Zefd„Zefd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
efd„Zd	„ Zefd
„Zd„ Zefd„Zd„ Zefd„Zd„ Zy)ÚTestDataFlowc                 óœ   — t         } t        t        j                  ffi |¤Ž|«      }dD ]   }| j	                   ||«       ||«      «       Œ" y )N©éÿÿÿÿr   r"   )r   r   r   Úint32ÚassertPreciseEqual©ÚselfÚflagsÚpyfuncÚcfuncr+   s        r   Útest_assignmentszTestDataFlow.test_assignmentsL   sE   € ÜˆØ,””U—[‘[�NÑ, eÑ,¨VÓ4ˆÛˆAØ×#Ñ#¡F¨1£I©u°Q«xÕ8ñ r   c                 ó¾   — t         } t        t        j                  ffi |¤Ž|«      }dD ]   }| j	                   ||«       ||«      «       Œ" |t
        u r	 |d«       y y )Nr7   r   )r   r   r   r9   r:   Úforce_pyobj_jit_optr;   s        r   Útest_assignments2zTestDataFlow.test_assignments2R   s\   € ÜˆØ,””U—[‘[�NÑ, eÑ,¨VÓ4ˆÛˆAØ×#Ñ#¡F¨1£I©u°Q«xÕ8ð ð Ô'Ñ'Ù�#�Jð (r   c                 óH   — | j                   ||Ž  |j                  |Ž «       y r
   )r:   Úpy_func)r<   ÚfuncÚargss      r   Úrun_propagate_funczTestDataFlow.run_propagate_func^   s!   € Ø×Ñ¡ d ¨\¨T¯\©\¸4Ð-@ÕAr   c                 ó²   —  t        t        j                  t        j                  f«      t        «      }| j	                  |d«       | j	                  |d«       y ©N©r(   r%   ©r%   r(   )r   r   Úintpr   rH   ©r<   r?   s     r   Útest_var_propagate1z TestDataFlow.test_var_propagate1a   ó@   € Ø.””e—j‘j¤%§*¡*Ð-Ó.¬~Ó>ˆØ×Ñ  vÔ.Ø×Ñ  vÕ.r   c                 ó²   —  t        t        j                  t        j                  f«      t        «      }| j	                  |d«       | j	                  |d«       y rJ   )r   r   rM   r   rH   rN   s     r   Útest_var_propagate2z TestDataFlow.test_var_propagate2f   rP   r   c                 óB  —  t        t        j                  t        j                  f«      t        «      }| j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       y )NrK   rL   )r(   r   ©r8   r   )r   r(   ©r   r8   )r   r   rM   r    rH   rN   s     r   Útest_var_propagate3z TestDataFlow.test_var_propagate3k   s€   € Ø.””e—j‘j¤%§*¡*Ð-Ó.¬~Ó>ˆØ×Ñ  vÔ.Ø×Ñ  vÔ.Ø×Ñ  vÔ.Ø×Ñ  wÔ/Ø×Ñ  vÔ.Ø×Ñ  wÕ/r   c                 ó®  —  t        t        j                  t        j                  f«      t        «      }| j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d«       | j	                  |d	«       y )
N)r"   r"   )r"   r   )r"   r8   )r   r"   )r   r   rU   )r8   r"   rT   )r8   r8   )r   r   rM   r#   rH   rN   s     r   Útest_var_propagate4z TestDataFlow.test_var_propagate4t   s°   € Ø.””e—j‘j¤%§*¡*Ð-Ó.¬~Ó>ˆØ×Ñ  vÔ.Ø×Ñ  vÔ.Ø×Ñ  wÔ/Ø×Ñ  vÔ.Ø×Ñ  vÔ.Ø×Ñ  wÔ/Ø×Ñ  wÔ/Ø×Ñ  wÔ/Ø×Ñ  xÕ0r   c                 óœ   — t         } t        t        j                  ffi |¤Ž|«      }dD ]   }| j	                   ||«       ||«      «       Œ" y )N)r   r"   r(   r%   é   )r&   r   r   r9   r:   r;   s        r   Útest_chained_comparez!TestDataFlow.test_chained_compare€   sE   € Ü ˆØ,””U—[‘[�NÑ, eÑ,¨VÓ4ˆÛ ˆAØ×#Ñ#¡F¨1£I©u°Q«xÕ8ñ !r   c                 ó.   — | j                  t        «       y r
   )r[   Úno_pyobj_jit_opt©r<   s    r   Útest_chained_compare_npmz%TestDataFlow.test_chained_compare_npm†   s   € Ø×!Ñ!Ô"2Õ3r   c                 óœ   — t         } t        t        j                  ffi |¤Ž|«      }dD ]   }| j	                   ||«       ||«      «       Œ" y )N)r   r"   r(   r%   )r-   r   r   r9   r:   r;   s        r   Útest_stack_effect_errorz$TestDataFlow.test_stack_effect_error‰   sG   € ô $ˆØ,””U—[‘[�NÑ, eÑ,¨VÓ4ˆÛˆAØ×#Ñ#¡F¨1£I©u°Q«xÕ8ñ r   c                 ó.   — | j                  t        «       y r
   )ra   r]   r^   s    r   Útest_stack_effect_error_npmz(TestDataFlow.test_stack_effect_error_npm‘   s   € Ø×$Ñ$Ô%5Õ6r   c                 ó´   — t         } t        t        j                  fdz  fi |¤Ž|«      }t	        t        ddd«      «      }| j                   ||Ž  ||Ž «       y )Nr   r   é
   r(   )r3   r   r   r9   Útupler*   r:   )r<   r=   r>   r?   rG   s        r   Útest_var_swappingzTestDataFlow.test_var_swapping”   sR   € ÜˆØ0””U—[‘[�N QÑ&Ñ0¨%Ñ0°Ó8ˆÜ”U˜1˜b !“_Ó%ˆØ×Ñ¡¨ ©u°d¨|Õ<r   c                 ó.   — | j                  t        «       y r
   )rg   r]   r^   s    r   Útest_var_swapping_npmz"TestDataFlow.test_var_swapping_npmš   s   € Ø×ÑÔ/Õ0r   c                 óÄ   — t         } t        t        j                  t        j                  ffi |¤Ž|«      }dD ]%  \  }}| j	                   |||«       |||«      «       Œ' y )N))rZ   r(   )rZ   é   )r0   r   r   rM   r:   )r<   r=   r>   r?   r/   r+   s         r   Útest_for_breakzTestDataFlow.test_for_break�   sT   € äˆØ6””U—Z‘Z¤§¡Ð,Ñ6°Ñ6°vÓ>ˆÛ&‰FˆQ�Ø×#Ñ#¡F¨1¨a£L±%¸¸1³+Õ>ñ 'r   c                 ó.   — | j                  t        «       y r
   )rl   r]   r^   s    r   Útest_for_break_npmzTestDataFlow.test_for_break_npm¤   s   € Ø×ÑÔ,Õ-r   N)Ú__name__Ú
__module__Ú__qualname__rB   r@   rC   rH   rO   rR   rV   rX   r[   r_   ra   rc   rg   ri   rl   rn   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   rB   r]   r   r   r   r   r    r#   r&   r-   r0   r3   r5   ro   Úmainr   r   r   Ú<module>rx      s„   ðÛ ß Ý Ý (ð " 4Ð(Ð Ø Ð%Ð òò
òò
ò
ò
òò
òòô[.�8ô [.ð| ˆzÒØ€H‡M�M…Oð r   