
    xKg                         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 Z
d Z G d de	      Zed	k(  r ej                          yy)
    N)njit)typeserrors)TestCasec                     || |||<   y )N )astartstopstepscalars        _/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_storeslice.pysetitem_slicer   	   s    AeDo    c                     |dz  }t        j                  |      | d| d| |<   t        j                  ||z
  dz
        | |dz   d  y )N   r   iA     )nparange)obsnPointscenters      r   usecaser      sK    \FIIf%C&MCK7V#3a#78C!r   c                       e Zd Zd Zd Zy)TestStoreSlicec                    d}t        j                  |      }|j                         } t        t        j
                  d d  t        j                  f      t              } |||       t        ||       | j                  ||       y )N
   )	r   zeroscopyr   r   float64intpr   assertPreciseEqual)selfnobs_gotobs_expectedcfuncs        r   test_usecasezTestStoreSlice.test_usecase   sf    ((1+||~4emmA&

34W=gqa 6r   c           
      t   d}t         j                  d d  t         j                  t         j                  t         j                  t         j                  f} t        |      t              }t	        j
                  |t        j                        }dddt        |      ddfddt        |      z  ddfdd	d
dddf
}|D ]~  \  }}}}	t	        j
                  |t        j                        }t	        j
                  |t        j                        }
 ||||||	       t        |
||||	       | j                  ||
        t	        j
                  |t        j                        }| j                  t              5 } ||dddd       d d d        | j                  t        j                        d       y # 1 sw Y   /xY w)Nr   )dtype)r      r      )r   r+   r,   r   M   )r.      X   )r.   r0   i'  )r0   r.      r2   )r0   r.   r2   )      r   r2   )r6   r7   r.   r2   r1   r+   r   r2   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cms               r   test_array_slice_setitemz'TestStoreSlice.test_array_slice_setitem!   sd   ++a.%++u{{EKK++V]+IIarxx(c!fa$a#a&j!R( # ! !
 */%E4v		!288,A		!288,A!UD$/!UD$7##Aq) */ IIarxx(z*b!Q1b! +R\\*,GH +*s   3F..F7N)__name__
__module____qualname__r(   rC   r   r   r   r   r      s    	7Ir   r   __main__)numpyr   unittestnumbar   
numba.corer   r   numba.tests.supportr   r   r   r   rD   mainr   r   r   <module>rN      sG       $ ( 9+IX +I\ zHMMO r   