o
    ¦¸¢i”  ã                   @   sp   d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	 dd„ Z
dd„ ZG d	d
„ d
e	ƒZedkr6e ¡  dS dS )é    N)Únjit)ÚtypesÚerrors)ÚTestCasec                 C   s   || |||…< d S )N© )ÚaÚstartÚstopÚstepÚscalarr   r   úY/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/numba/tests/test_storeslice.pyÚsetitem_slice	   s   r   c                 C   sD   |d }t  |¡| d|…< d| |< t  || d ¡| |d d …< d S )Né   r   iA  é   )ÚnpÚarange)ÚobsÚnPointsÚcenterr   r   r   Úusecase   s   "r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestStoreSlicec                 C   sV   d}t  |¡}| ¡ }ttjd d … tjfƒtƒ}|||ƒ t||ƒ |  ||¡ d S )Né
   )	r   ÚzerosÚcopyr   r   Úfloat64Úintpr   ÚassertPreciseEqual)ÚselfÚnÚobs_gotÚobs_expectedÚcfuncr   r   r   Útest_usecase   s   


zTestStoreSlice.test_usecasec              
   C   s2  d}t jd d … t jt jt jt jf}t|ƒtƒ}tj|tjd}dddt|ƒddfddt|ƒ ddfdd	d
dddf
}|D ],\}}}}	tj|tjd}tj|tjd}
||||||	ƒ t|
||||	ƒ |  ||
¡ q<tj|tjd}|  t	¡}||ddddƒ W d   ƒ n1 s‰w   Y  |  
t|jƒd¡ d S )Nr   )Údtype)r   é   r   é   )r   r$   éÿÿÿÿr%   éþÿÿÿr   éM   )r'   éúÿÿÿé   éX   )r'   r)   éýÿÿÿi'  )r)   r'   é   r+   )r)   r'   éüÿÿÿr+   )é   é   r   r+   )r/   r0   r'   r+   r*   r$   r   r+   zslice step cannot be zero)r   Úint64r   r   r   r   Úlenr   ÚassertRaisesÚ
ValueErrorÚassertEqualÚstrÚ	exception)r   r   Úargtysr!   r   Útestsr   r	   r
   r   ÚbÚcmr   r   r   Útest_array_slice_setitem!   s8   ÿ÷ÿz'TestStoreSlice.test_array_slice_setitemN)Ú__name__Ú
__module__Ú__qualname__r"   r<   r   r   r   r   r      s    r   Ú__main__)Únumpyr   ÚunittestÚnumbar   Ú
numba.corer   r   Únumba.tests.supportr   r   r   r   r=   Úmainr   r   r   r   Ú<module>   s    .ÿ