
    `i                         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                     dS dS )    N)cuda)CUDATestCasec                 h    t          j        d          }|| j        k     r| |xx         dz  cc<   d S d S N   r   gridsize)xis     w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_forall.pyfoor      s:    	!A16zz	!	 z    c                   &    e Zd Zd Zd Zd Zd ZdS )
TestForAllc                     t          j        d          }|                                }t                              |j                  |           t           j                            ||dz              d S )N   r   )nparangecopyr   forallr
   testingassert_array_almost_equal)selfarrorigs      r   test_forall_1zTestForAll.test_forall_1   sZ    immxxzz

38S!!!

,,S$(;;;;;r   c                    t          j        d          d             }t          j        dt          j                  }t          j        dt          j                  }|                                }d} |                    |j                  |||           t          j        	                    |||z  |z   d           d S )Nz%void(float32, float32[:], float32[:])c                 v    t          j        d          }||j        k     r| ||         z  ||         z   ||<   d S d S r   r   )ar   yr   s       r   barz%TestForAll.test_forall_2.<locals>.bar   s>    	!A16zz1Q4x!A$! zr      )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	:	:	' 	' 
;	:	'
 Ib
+++Ib
+++vvxx

161a###

,,QAa,HHHHHr   c                 r    t          j        d          }t                              d          |           d S )Nr   r   )r   r   r   r   )r   r   s     r   test_forall_no_workzTestForAll.test_forall_no_work$   s/     imm

1cr   c                     |                      t                    5 }t                              d           d d d            n# 1 swxY w Y   |                     dt          |j                             d S )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*   s     z** 	fJJrNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	D&*++	- 	- 	- 	- 	-s   AA	AN)__name__
__module____qualname__r   r*   r,   r5    r   r   r   r      sS        < < <I I I  - - - - -r   r   __main__)numpyr   numbar   unittestnumba.cuda.testingr   r'   r   r   r6   mainr9   r   r   <module>r@      s               + + + + + +   
!- !- !- !- !- !- !- !-H zHMOOOOO r   