o
    Z۷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   Q/home/ubuntu/vllm_env/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 sw   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    .