
    it                     0   S SK r S SKrS SKJr  S SKrS SKJr  S SKJr  S SK	J
r
  Sr\(       a  S SKJr  \R                  " SS	5        S
SS.r\R"                  " \ R$                  " 5       S:g  S5       " S S\
5      5       r\S:X  a  \R*                  " 5         gg)    N)types)njit)config)TestCaseF)binding z--debug-only=loop-vectorizeskylake-avx512)NUMBA_CPU_NAMENUMBA_CPU_FEATURESx86_64zx86_64 only testc                       \ rS rSrSrSS jr\R                  " \S9S 5       r	\R                  " SS0\ES9S 5       r
\R                  " \S9S	 5       rS
rg)TestVectorization   zH
Tests to assert that code which should vectorize does indeed vectorize
c                     U R                  [        R                  S5        U R                  [        R                  S5        [	        X#S9" U5      nUR                  U5      $ )Nr	   r   fastmath)assertEqualr   CPU_NAMECPU_FEATURESr   inspect_llvm)selffunc
args_tupler   jitteds        Y/var/www/html/trading/venv/lib/python3.13/site-packages/numba/tests/test_vectorization.pygen_irTestVectorization.gen_ir   sM    *:;,,b1j4T:"":..    )envvarsc                     S nU R                  U[        R                  S S S2   4SS9nU R                  SU5        U R                  SU5        g )Nc                 h    Sn[         R                  " U 5       H  nXR                  5       -  nM     U$ )Nr   )npnditeritem)xaccvs      r   do_sum2TestVectorization.test_nditer_loop.<locals>.do_sum%   s+    CYYq\vvx "Jr      Tr   vector.bodyllvm.loop.isvectorized)r   r   float64assertIn)r   r(   llvm_irs      r   test_nditer_loop"TestVectorization.test_nditer_loop"   sJ    	 ++fu}}SqS'9&;d+KmW-.8r   NUMBA_SLP_VECTORIZE1c                     S n[         R                  nU R                  X4S-  US S S2   4-   SS9nU R                  SU5        g )Nc                 T    X U-   -  US'   XU-   -  US'   X U-   -  US'   XU-   -  US'   g )Nr   r*          )a1a2b1b2As        r   foo'TestVectorization.test_slp.<locals>.foo8   s>    b>AaDb>AaDb>AaDb>AaDr      r*   Tr   z
2 x double)r   r-   r   r.   )r   r>   tyr/   s       r   test_slpTestVectorization.test_slp1   sG    	" ]]++cEAICaC
$:d+KlG,r   c                     S nU R                  U[        R                  " [        R                  5      4SS9nU R	                  SU5        U R	                  SU5        g )Nc                 N    SnU  H  nU[         R                  " U5      -  nM     U$ )Ng        )r"   sqrt)lstr&   r$   s      r   sum_sqrt_list@TestVectorization.test_instcombine_effect.<locals>.sum_sqrt_listJ   s(    Crwwt}$ Jr   Tr   r+   r,   )r   r   ListTyper-   r.   )r   rH   r/   s      r   test_instcombine_effect)TestVectorization.test_instcombine_effectB   sP    	 ++mennU]].K-M'+  -mW-.8r   r8   N)F)__name__
__module____qualname____firstlineno____doc__r   r   run_test_in_subprocess_skylake_envr0   rB   rK   __static_attributes__r8   r   r   r   r      sv    / $$\:
9 ;
9 $$&<|<-- $$\:9 ;9r   r   __main__)platformnumpyr"   numbar   unittestr   
numba.corer   numba.tests.supportr   _DEBUGllvmliter   llvm
set_optionrS   skipIfmachiner   rM   mainr8   r   r   <module>rc      s          (		(OOB56 ' 
!!#x/1CD<9 <9 E<9~ zMMO r   