
    wg                         d dl Zd dlmZ d dlZd dlmZ ej                  d        Z G d de      Z	e
dk(  r ej                          yy)    N)cuda)CUDATestCasec                 h    t        j                  d      }|| j                  k  r| |xx   dz  cc<   y y N   r   gridsize)xis     h/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_forall.pyfoor      s,    		!A166z	!	     c                   $    e Zd Zd Zd Zd Zd Zy)
TestForAllc                     t        j                  d      }|j                         }t        j	                  |j
                        |       t         j                  j                  ||dz          y )N   r   )nparangecopyr   forallr
   testingassert_array_almost_equal)selfarrorigs      r   test_forall_1zTestForAll.test_forall_1   sG    iimxxz

388S!


,,S$(;r   c                    t        j                  d      d        }t        j                  dt        j                        }t        j                  dt        j                        }|j                         }d} |j                  |j                        |||       t        j                  j                  |||z  |z   d       y )Nz%void(float32, float32[:], float32[:])c                 p    t        j                  d      }||j                  k  r| ||   z  ||   z   ||<   y y r   r   )ar   yr   s       r   barz%TestForAll.test_forall_2.<locals>.bar   s8    		!A166z1Q4x!A$! r      )dtypegX9v?   )decimal)
r   jitr   r   float32r   r   r
   r   r   )r   r"   r   r!   oldyr    s         r   test_forall_2zTestForAll.test_forall_2   s    	9	:	' 
;	'
 IIb

+IIb

+vvx

1661a#


,,QAa,Hr   c                 b    t        j                  d      }t        j                  d      |       y )Nr   r   )r   r   r   r   )r   r   s     r   test_forall_no_workzTestForAll.test_forall_no_work$   s!     iim

1cr   c                     | j                  t              5 }t        j                  d       d d d        | j	                  dt        j                               y # 1 sw Y   /xY w)Nz,Can't create ForAll with negative task count)assertRaises
ValueErrorr   r   assertInstr	exception)r   raisess     r   test_forall_negative_workz$TestForAll.test_forall_negative_work*   sQ     z* 	fJJrN	D&**+	-	 	s   AA#N)__name__
__module____qualname__r   r*   r,   r5    r   r   r   r      s    <I-r   r   __main__)numpyr   numbar   unittestnumba.cuda.testingr   r'   r   r   r6   mainr9   r   r   <module>r@      sP       +  
!- !-H zHMMO r   