§
    ƒÛgJ  ã                   ó˜   — 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        úQ/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_storeslice.pyÚsetitem_slicer   	   s   € Ø€A€eˆD�€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Ý”I˜fÑ%Ô%€Cˆˆ&ˆ�MØ€Cˆ�KÝœ 7¨VÑ#3°aÑ#7Ñ8Ô8€Cˆ�!‰ˆˆÑÐÐ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‘+”+ˆØ—|’|‘~”~ˆå‘”ˆØˆŒ	Ý¥­%¬-¸¸¸Ô*:½E¼JÐ)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ê  € ØˆÝ”+˜a˜a˜a”.¥%¤+­u¬{½E¼KÝ”+ðˆå¥¨vÑ6Ô6ˆÝŒI�a�rœxÐ(Ñ(Ô(ˆàØØ•c˜!‘f”f˜a Ð$Ø�a�#˜a™&œ&‘j ! RÐ(Ø Ø#Ø Ø!Ø Ø!ð
ˆð */ð 	*ð 	*Ñ%ˆE�4˜˜vÝ”	˜!¥2¤8Ð,Ñ,Ô,ˆAÝ”	˜!¥2¤8Ð,Ñ,Ô,ˆAØ×Ò˜Q  t¨T°6Ñ:Ô:Ð:Ý˜!˜U D¨$°Ñ7Ô7Ð7Ø×#Ò# A qÑ)Ô)Ð)Ð)õ ŒI�a�rœxÐ(Ñ(Ô(ˆØ×Ò�zÑ*Ô*ð 	-¨bØ×Ò˜Q  1 a¨Ñ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-à×Ò�˜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ÒÐØ€H„M�O„O€O€O€Oð Ðr   