
    J/Ph                         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                     dS dS )
    N)njit)typeserrors)TestCasec                     || |||<   d S )N )astartstopstepscalars        [/var/www/html/test/jupyter/venv/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                 4   d}t          j        |          }|                                } 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cfuncs        r   test_usecasezTestStoreSlice.test_usecase   s    (1++||~~4emAAA&
344W==gq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+   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!   s   +aaa.%+u{EK+V]++Iarx(((c!ffa$a#a&&j!R( # ! !
 */ 	* 	*%E4v	!28,,,A	!28,,,AE!UD$///!UD$777##Aq)))) Iarx(((z** 	"bE!Q1b!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"R\**,GHHHHHs   .F

FFN)__name__
__module____qualname__r(   rC   r   r   r   r   r      s7        	7 	7 	7I I I I Ir   r   __main__)numpyr   unittestnumbar   
numba.corer   r   numba.tests.supportr   r   r   r   rD   mainr   r   r   <module>rN      s               $ $ $ $ $ $ $ $ ( ( ( ( ( (     9 9 9+I +I +I +I +IX +I +I +I\ zHMOOOOO r   