
    shb                     |    S SK rS SKJrJrJr  S SKJrJr  S r	 " S S\5      r
\S:X  a  \R                  " 5         gg)    N)cudafloat32void)unittestCUDATestCasec                    [         R                  " [         R                  " X -  5      R                  X 5      [         R                  S9n[         R                  " [         R                  " U 5      S-   UR
                  S9nX4$ )Ndtyper   )nparrayarangereshaper   r
   )nABs      w/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_nondet.pygenerate_inputr      sT    
15!))!/rzzBA
1!1A4K    c                       \ rS rSrS rSrg)TestCudaNonDet   c           	      Z   [         R                  " [        [        SS2SS24   [        SS2SS24   [        SS 5      5      S 5       nSn[	        U5      u  p4[
        R                  " UR                  UR                  S9nSnSn[         R                  " U5      n[         R                  " U5      n	[         R                  " USS9n
XU4   " XU	5        [
        R                  " U[
        R                  " U5      5      n[
        R                  R                  U
R                  5       U5        g)	zYTest issue with loop not running due to bad sign-extension at the for
loop precondition.
Nc                    [         R                  " S5      u  p4[         R                  R                  [         R                  R                  -  n[         R                  R
                  [         R                  R
                  -  nU R                  S   nU R                  S   n[        X8U5       H%  n	[        XGU5       H  n
XU	4   X)   -  X
U	4'   M     M'     g )N   r      )r   gridgridDimxblockDimyshaperange)cabstartXstartYgridXgridYheightwidthr   r    s              r   diagproduct0TestCudaNonDet.test_for_pre.<locals>.diagproduct   s    !YYq\NFLLNNT]]__4ELLNNT]]__4EWWQZFGGAJE652v7A1gnAdG 8 3r      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_preTestCudaNonDet.test_for_pre   s    
 
$wq!t}gadmWQZ@	A		- 
B		- a HHQWWAGG,^^A^^A^^AE*X%&rr2FF1bggaj!


,,R__->Br    N)__name__
__module____qualname____firstlineno__rB   __static_attributes__rD   r   r   r   r      s     Cr   r   __main__)numpyr   numbar   r   r   numba.cuda.testingr   r   r   r   rE   mainrD   r   r   <module>rO      s=     % % 5!C\ !CH zMMO r   