
    ܙdJ                         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 Zd Z G d de
          Zed	k    r ej                     dS dS )
    N)compile_isolatedFlags)typeserrors)TestCasec                     || |||<   d S )N )astartstopstepscalars        ;lib/python3.11/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 <   d S )N   r   iA     )nparange)obsnPointscenters      r   usecaser      sW    \FIf%%C&MCK7V#3a#788C!r   c                       e Zd Zd Zd ZdS )TestStoreSlicec                 f   d}t          j        |          }|                                }t                      }d|_        t          t          t          j        d d          t          j	        f|          }|
                    ||           t          ||           |                     ||           d S )N
   T)flags)r   zeroscopyr   nrtr   r   r   float64intpentry_pointassertPreciseEqual)selfnobs_gotobs_expectedr   cress         r   test_usecasezTestStoreSlice.test_usecase   s    (1++||~~	%-*:EJ)G&+- - -!$$$a   66666r   c           
         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          |
||||	           |                     ||
           t	          j        |t          j                  }| 	                    t                    5 }|                    |dddd           d d d            n# 1 swxY w Y   |                     t          |j                  d           d S )Nr   )dtype)r      r      )r   r/   r0   r   M   )r2      X   )r2   r4   i'  )r4   r2      r6   )r4   r2   r6   )      r   r6   )r:   r;   r2   r6   r5   r/   r   r6   zslice step cannot be zero)r   int64r   r   r   r   lenr%   r&   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$   s   +aaa.%+u{EK+v66Iarx(((c!ffa$a#a&&j!R( # ! !
 */ 	* 	*%E4v	!28,,,A	!28,,,AQtT6:::!UD$777##Aq)))) Iarx(((z** 	-bQ1a,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-R\**,GHHHHHs   0FFFN)__name__
__module____qualname__r,   rG   r	   r   r   r   r      s7        7 7 7I I I I Ir   r   __main__)numpyr   unittestnumba.core.compilerr   r   
numba.corer   r   numba.tests.supportr   r   r   r   rH   mainr	   r   r   <module>rR      s         7 7 7 7 7 7 7 7 $ $ $ $ $ $ $ $ ( ( ( ( ( (     9 9 9.I .I .I .I .IX .I .I .Ib zHMOOOOO r   