§
    1@Äj“  ã                   ó‚   — 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      úTC:\Projects\Historical\venv\Lib\site-packages\numba/cuda/tests/cudapy/test_nondet.pyÚgenerate_inputr      sb   € Ý
Œ•”˜1˜q™5Ñ!Ô!×)Ò)¨!¨QÑ/Ô/µr´zÐBÑBÔB€AÝ
Œ•”˜1‘” Ñ!¨¬Ð1Ñ1Ô1€AØˆaˆ4€Kó    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±   € å!œY q™\œ\‰NˆF�FÝ”L”N¥T¤]¤_Ñ4ˆEÝ”L”N¥T¤]¤_Ñ4ˆEØ”W˜Q”ZˆFØ”G˜A”JˆEå˜6 5¨5Ñ2Ô2ð -ð -�Ý˜v v°Ñ7Ô7ð -ð -�AØ  1 œg¨¨!¬™n�A�a˜�d‘G�Gð-ð-ð -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(  € õ
 
Œ•$•w˜q˜q˜q ! ! !˜t”}¥g¨a¨a¨a°°°¨d¤mµW¸Q¸Q¸Q´ZÑ@Ô@Ñ	AÔ	Að		-ð 		-ñ 
BÔ	Að		-ð ˆå˜aÑ Ô ‰ˆˆ1åŒH�Q”W A¤GÐ,Ñ,Ô,ˆàˆØˆåŒ^˜AÑÔˆÝŒ^˜AÑÔˆÝŒ^˜A EÐ*Ñ*Ô*ˆØ&ˆ�G˜XÐ%Ô& r¨2¨rÑ2Ô2Ð2åŒF�1•b”g˜a‘j”jÑ!Ô!ˆÝ
Œ
×,Ò,¨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ÒÐØ€H„M�O„O€O€O€Oð Ðr   