
    J/Phb                         d dl Zd dlmZmZmZ d dlmZmZ d Z	 G d de          Z
edk    r ej                     dS dS )    N)cudafloat32void)unittestCUDATestCasec                     t          j        t          j        | | z                                | |           t           j                  }t          j        t          j        |           dz   |j                  }||fS )Ndtyper   )nparrayarangereshaper   r
   )nABs      c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_nondet.pygenerate_inputr      sb    
1q5!!))!Q//rzBBBA
1!111Aa4K    c                       e Zd Zd ZdS )TestCudaNonDetc           	         t          j        t          t          ddddf         t          ddddf         t          dd                             d             }d}t	          |          \  }}t          j        |j        |j                  }d}d}t          j	        |          }t          j	        |          }	t          j	        |d          }
 |||f         |
||	           t          j
        |t          j        |                    }t
          j                            |
                                |           dS )	ziTest issue with loop not running due to bad sign-extension at the for
        loop precondition.
        Nc                 t   t          j        d          \  }}t           j        j        t           j        j        z  }t           j        j        t           j        j        z  }| j        d         }| j        d         }t          |||          D ].}	t          |||          D ]}
||
|	f         ||	         z  | |
|	f<   /d S )N   r      )r   gridgridDimxblockDimyshaperange)cabstartXstartYgridXgridYheightwidthr   r   s              r   diagproductz0TestCudaNonDet.test_for_pre.<locals>.diagproduct   s    !Yq\\NFFLNT]_4ELNT]_4EWQZFGAJE65522 - -vv77 - -A1g!nAadGG-- -r      r	   )    r,   )r   r   F)copy)r   jitr   r   r   r   emptyr    r
   	to_devicedotdiagtestingassert_array_almost_equalcopy_to_host)selfr+   Nr   r   FblockdimgriddimdAdBdFEs               r   test_for_prezTestCudaNonDet.test_for_pre   s(   
 
$wqqq!!!t}gaaadmWQQQZ@@	A	A		- 		- 
B	A		- a  1HQWAG,,,^A^A^AE***&GX%&r2r222F1bgajj!!

,,R__->->BBBBBr   N)__name__
__module____qualname__r@    r   r   r   r      s(         C  C  C  C  Cr   r   __main__)numpyr   numbar   r   r   numba.cuda.testingr   r   r   r   rA   mainrD   r   r   <module>rJ      s        % % % % % % % % % % 5 5 5 5 5 5 5 5  !C !C !C !C !C\ !C !C !CH zHMOOOOO r   