§
    1@Äj¡  ã                   óˆ   — d dl Zd dlmZmZ d dlmZmZmZ d„ Z	d„ Z
 G d„ de¦  «        Zedk    r ej        ¦   «          dS dS )	é    N)ÚcudaÚerrors)ÚunittestÚCUDATestCaseÚskip_on_cudasimc                 óV   — t          |j        d         ¦  «        D ]}| |         ||<   Œd S ©Nr   )ÚrangeÚshape©ÚinpÚoutÚis      úUC:\Projects\Historical\venv\Lib\site-packages\numba/cuda/tests/cudapy/test_slicing.pyÚfoor      s8   € Ý�3”9˜Q”<Ñ Ô ð ð ˆØ�Q”ˆˆA‰ˆðð ó    c                 óv   — t          j        d¦  «        }t          | |d d …f         ||d d …f         ¦  «         d S )Né   )r   ÚgridÚcufoor   s      r   Úcopyr      s=   € ÝŒ	�!‰Œ€AÝ	ˆ#ˆa���ˆdŒ)�S˜˜A˜A˜A˜”YÑÔÐÐÐr   c                   óH   — e Zd Zd„ Zd„ Zd„ Z ed¦  «        d„ ¦   «         ZdS )ÚTestCudaSlicingc                 óF  —  t          j        dd¬¦  «        t          ¦  «        a t          j        d¦  «        t          ¦  «        }t          j        dt
          j        ¬¦  «                             dd¦  «        }t          j	        |¦  «        } |d         ||¦  «         d S )	Nzvoid(int32[:], int32[:])T)Údevicezvoid(int32[:,:], int32[:,:])éd   )Údtypeé
   )r   r   )
r   Újitr   r   r   ÚnpÚarangeÚint32ÚreshapeÚ
zeros_like)ÚselfÚcucopyr   r   s       r   Útest_slice_as_argz!TestCudaSlicing.test_slice_as_arg   sŒ   € àA•”Ð3¸DÐAÑAÔAÅ#ÑFÔFˆØ9•”Ð8Ñ9Ô9½$Ñ?Ô?ˆåŒi˜¥2¤8Ð,Ñ,Ô,×4Ò4°R¸Ñ<Ô<ˆÝŒm˜CÑ Ô ˆàˆˆuŒ�c˜3ÑÔÐÐÐr   c                 óœ   — d}t          |¦  «        }t          j        t          |¦  «        ¦  «        }t          j        |¦  «        |d d …<   d S r	   )r
   r   Údevice_arrayÚlenÚ	to_device)r%   ÚNÚaÚarrs       r   Útest_assign_empty_slicez'TestCudaSlicing.test_assign_empty_slice   sE   € ð ˆÝ�!‰HŒHˆÝÔ¥ A¡¤Ñ'Ô'ˆÝ” Ñ"Ô"ˆˆAˆAˆA‰ˆˆr   c                 ó@   — t          j        d¦  «        d„ ¦   «         }d S )Nzvoid(f4[:, :, :], i4, i4)c                 ó   — d| ||f<   d S )N)r   r   r   © )Útmpr-   Úbs      r   Úcheck_sequence_setslicezqTestCudaSlicing.test_array_slice_assignment_from_sequence_error_handling_codegen.<locals>.check_sequence_setslice;   s   € àˆC��1�‰IˆIˆIr   )r   r   )r%   r5   s     r   Ú@test_array_slice_assignment_from_sequence_error_handling_codegenzPTestCudaSlicing.test_array_slice_assignment_from_sequence_error_handling_codegen7   s3   € õ 
ŒÐ-Ñ	.Ô	.ð	 ð 	 ñ 
/Ô	.ð	 ð 	 ð 	 r   z$No NRT codegen in the CUDA simulatorc                 ó  — |                       t          j        ¦  «        5 }t          j        d¦  «        d„ ¦   «         }d d d ¦  «         n# 1 swxY w Y   d}|                      |t          |j        ¦  «        ¦  «         d S )Nz void(f4[:, :, :], f4[:], i4, i4)c                 ó   — || ||f<   d S )Nr2   )r3   Úvaluer-   r4   s       r   Úcheck_array_setslicezkTestCudaSlicing.test_array_slice_assignment_from_array_error_handling_codegen.<locals>.check_array_setsliceD   s   € à!��A�q�D‘	�	�	r   zNRT required but not enabled)ÚassertRaisesr   ÚNumbaRuntimeErrorr   r   ÚassertInÚstrÚ	exception)r%   Úraisesr:   Úmsgs       r   Ú=test_array_slice_assignment_from_array_error_handling_codegenzMTestCudaSlicing.test_array_slice_assignment_from_array_error_handling_codegen?   s¾   € ð ×Ò�vÔ7Ñ8Ô8ð 	"¸FÝŒXÐ8Ñ9Ô9ð"ð "ñ :Ô9ð"ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð
 -ˆØ�Š�c�3˜vÔ/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1s    A
Á
AÁAN)Ú__name__Ú
__module__Ú__qualname__r'   r/   r6   r   rB   r2   r   r   r   r      sh   € € € € € ð ð  ð  ð#ð #ð #ð8 ð  ð  ð €_Ð;Ñ<Ô<ð	2ð 	2ñ =Ô<ð	2ð 	2ð 	2r   r   Ú__main__)Únumpyr    Únumbar   r   Únumba.cuda.testingr   r   r   r   r   r   rC   Úmainr2   r   r   ú<module>rK      s¶   ðØ Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð
 ð  ð  ð
92ð 92ð 92ð 92ð 92�lñ 92ô 92ð 92ðx ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   