U
    Ã9%eJ  ã                   @   sp   d dl Zd dlZd dlmZ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rle ¡  dS )é    N)Úcompile_isolatedÚFlags)ÚtypesÚerrors)ÚTestCasec                 C   s   || |||…< d S )N© )ÚaÚstartÚstopÚstepÚscalarr   r   úZ/var/www/html/Darija-Ai-API/env/lib/python3.8/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)ZobsZnPointsÚcenterr   r   r   Úusecase   s    r   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚTestStoreSlicec                 C   sf   d}t  |¡}| ¡ }tƒ }d|_tttjd d … tj	f|d}| 
||¡ t||ƒ |  ||¡ d S )Né
   T)Úflags)r   ZzerosÚcopyr   Znrtr   r   r   Zfloat64ZintpÚentry_pointÚassertPreciseEqual)ÚselfÚnZobs_gotZobs_expectedr   Úcresr   r   r   Útest_usecase   s    
ÿ
zTestStoreSlice.test_usecasec              
   C   s   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 ]Z\}}}}	tj|tjd}tj|tjd}
| |||||	¡ t|
||||	ƒ |  ||
¡ qvtj|tjd}|  	t
¡}| |dddd¡ W 5 Q R X |  t|jƒd¡ d S )Nr   )Zdtype)r   é   r   é   )r   r   éÿÿÿÿr    éþÿÿÿr   éM   )r"   éúÿÿÿé   éX   )r"   r$   éýÿÿÿi'  )r$   r"   é   r&   )r$   r"   éüÿÿÿr&   )é   é   r   r&   )r*   r+   r"   r&   r%   r   r   r&   zslice step cannot be zero)r   Zint64r   r   r   r   Úlenr   r   ÚassertRaisesÚ
ValueErrorÚassertEqualÚstrÚ	exception)r   r   Zargtysr   r   Útestsr	   r
   r   r   ÚbÚcmr   r   r   Útest_array_slice_setitem$   s6    ÿ
÷z'TestStoreSlice.test_array_slice_setitemN)Ú__name__Ú
__module__Ú__qualname__r   r5   r   r   r   r   r      s   r   Ú__main__)Únumpyr   ZunittestZnumba.core.compilerr   r   Z
numba.corer   r   Znumba.tests.supportr   r   r   r   r6   Úmainr   r   r   r   Ú<module>   s   1