
    sh                         S SK rS SKJr  S SKrS SKJr  \R                  S 5       r " S S\5      r	\
S:X  a  \R                  " 5         gg)    N)cuda)CUDATestCasec                 h    [         R                  " S5      nXR                  :  a  X==   S-  ss'   g g N   r   gridsize)xis     w/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_forall.pyfoor      s(    		!A66z		     c                   ,    \ rS rSrS rS rS rS rSrg)
TestForAll   c                     [         R                  " S5      nUR                  5       n[        R	                  UR
                  5      " U5        [         R                  R                  XS-   5        g )N   r   )nparangecopyr   forallr
   testingassert_array_almost_equal)selfarrorigs      r   test_forall_1TestForAll.test_forall_1   sE    iimxxz

388S!


,,S(;r   c                 x   [         R                  " S5      S 5       n[        R                  " S[        R                  S9n[        R                  " S[        R                  S9nUR                  5       nSnUR                  UR                  5      " XRU5        [        R                  R                  X5U-  U-   SS9  g )Nz%void(float32, float32[:], float32[:])c                 l    [         R                  " S5      nX1R                  :  a  XU   -  X#   -   X#'   g g r   r   )ar   yr   s       r   bar%TestForAll.test_forall_2.<locals>.bar   s0    		!A66zQ4x!$ r      )dtypegX9v?   )decimal)
r   jitr   r   float32r   r   r
   r   r   )r   r$   r   r#   oldyr"   s         r   test_forall_2TestForAll.test_forall_2   s    	9	:	' 
;	'
 IIb

+IIb

+vvx

1661#


,,QAa,Hr   c                 f    [         R                  " S5      n[        R                  S5      " U5        g )Nr   r   )r   r   r   r   )r   r   s     r   test_forall_no_workTestForAll.test_forall_no_work$   s!     iim

1cr   c                     U R                  [        5       n[        R                  S5        S S S 5        U R	                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nz,Can't create ForAll with negative task count)assertRaises
ValueErrorr   r   assertInstr	exception)r   raisess     r   test_forall_negative_work$TestForAll.test_forall_negative_work*   sJ     z*fJJrN +D&**+	- +*s   A
A( N)	__name__
__module____qualname____firstlineno__r   r-   r0   r:   __static_attributes__r<   r   r   r   r      s    <I-r   r   __main__)numpyr   numbar   unittestnumba.cuda.testingr   r*   r   r   r=   mainr<   r   r   <module>rH      sN       +  
!- !-H zMMO r   