Ë
    èÿæiü—  ã                   ó°  — d dl Z d dlZd dlZd dlZd dlmZmZmZ d dl	m
Z
mZmZ d dlmZmZ d dlmZ d dlmZmZmZmZ ddiZd	diZd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-ed„ «       Z.ed „ «       Z/d!„ Z0d"„ Z1d#„ Z2 G d$„ d%e«      Z3 G d&„ d'e«      Z4 G d(„ d)e«      Z5e6d*k(  r ejn                  «        yy)+é    N)ÚjitÚnjitÚtypeof)ÚutilsÚtypesÚerrors)ÚTestCaseÚtag)Ú	arraydecl)ÚintpÚellipsisÚslice2_typeÚslice3_typeÚforceobjTÚnopythonc                 ó   — | |||…   S ©N© )ÚaÚstartÚstopÚsteps       ún/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_indexing.pyÚslicing_1d_usecaser      s   € ØˆU�4˜ˆ_ÑÐó    c                 óp   — | |||…   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S ©Nr   é   ©ÚrangeÚshape)r   r   r   r   ÚbÚtotalÚis          r   Úslicing_1d_usecase2r%      sI   € Ø	ˆ%��Tˆ/Ñ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ój   — | || }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   r   r   r"   r#   r$   s         r   Úslicing_1d_usecase3r'      sD   € Ø	ˆ%�ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ój   — | d d  }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   r"   r#   r$   s       r   Úslicing_1d_usecase4r)   $   sB   € Ø	‰!ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ój   — | |d  }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   ©r   r   r"   r#   r$   s        r   Úslicing_1d_usecase5r,   +   sD   € Ø	ˆ%ˆ&ˆ	€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ój   — | d | }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   r   r"   r#   r$   s        r   Úslicing_1d_usecase6r.   2   sD   € Ø	ˆ%ˆ4ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 óp   — | |d d…   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S ©Néþÿÿÿr   r   r   r+   s        r   Úslicing_1d_usecase7r2   9   sH   € à	ˆ%ˆ)�ˆ)‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 óp   — | d d d…   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r0   r   r+   s        r   Úslicing_1d_usecase8r4   A   sF   € à	‰$ˆBˆ$‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ó   — | |||…|||…f   S r   r   )r   Ústart1Ústop1Ústep1Ústart2Ústop2Ústep2s          r   Úslicing_2d_usecaser<   J   s    € àˆV�E˜%Ð ¨¨eÐ!3Ð3Ñ4Ð4r   c                 ó   — | |||…|f   S r   r   )r   r6   r7   r8   Úindexs        r   Úslicing_2d_usecase3r?   N   s   € àˆV�E˜%Ð Ð&Ñ'Ð'r   c                 ót   — | ||d …|f   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   Úindex0r6   Úindex2r"   r#   r$   s          r   Úslicing_3d_usecaserC   R   sL   € Ø	ˆ&�&‘'˜6Ð
!Ñ"€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ót   — | |d |…|f   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   rA   r7   rB   r"   r#   r$   s          r   Úslicing_3d_usecase2rE   Y   sN   € Ø	ˆ&�&�5�&˜&Ð
 Ñ!€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ój   — | |   }d}t        |j                  d   «      D ]  }|||   |dz   z  z  }Œ |S r   r   )r   r>   r"   r#   r$   s        r   Úpartial_1d_usecaserG   `   sB   € Ø	ˆ%‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ��1‘˜˜Q™‘Ñ‰ð à€Lr   c                 ó   — | |   S r   r   )r   r$   s     r   Úinteger_indexing_1d_usecaserI   g   s   € ØˆQ‰4€Kr   c                 ó   — | ||f   S r   r   ©r   Úi1Úi2s      r   Úinteger_indexing_2d_usecaserN   j   s   € ØˆR�ˆU‰8€Or   c                 ó   — | |   |   S r   r   rK   s      r   Úinteger_indexing_2d_usecase2rP   m   s   € ØˆR‰5�‰9Ðr   c                 ó   — | ||…df   S ©N.r   ©r   r$   Újs      r   Úellipsis_usecase1rU   p   s   € ØˆQˆqˆS�#ˆX‰;Ðr   c                 ó   — | d||…f   S rR   r   rS   s      r   Úellipsis_usecase2rW   s   s   € ØˆS�!�A�#ˆX‰;Ðr   c                 ó   — | |d|f   S rR   r   rS   s      r   Úellipsis_usecase3rY   v   s   € ØˆQ��QˆY‰<Ðr   c                 ó   — | d    S r   r   ©r   s    r   Únone_index_usecaser\   y   s   € ØˆT‰7€Nr   c                 ó   — | d   S )Nr   r   r[   s    r   Úempty_tuple_usecaser^   |   s   € ØˆR‰5€Lr   c                 ó   — || |<   y r   r   )r   r>   Úvalues      r   Úsetitem_usecasera   €   s   € à€A€e‚Hr   c                 ó   — || d d  y r   r   )r   r`   s     r   Úsetitem_broadcast_usecaserc   …   s   € à€A�a�Dr   c                 ó   — || |||…<   | S r   r   )r   r"   r   r   r   s        r   Úslicing_1d_usecase_setre   Š   s   € Ø€A€eˆD�€oÑØ€Hr   c                 ó"   — | ||xxx |z  ccc | S r   r   )r   r"   r   r   s       r   Úslicing_1d_usecase_addrg   Ž   s   € ð €eˆDƒM�QÑƒMØ€Hr   c                 ó    — || |||…|||…f<   | S r   r   )r   r"   r   r   r   r9   r:   r;   s           r   Úslicing_2d_usecase_setri   ”   s#   € Ø,-€A€eˆD�€o�f˜U 5Ð(Ð(Ñ)Ø€Hr   c                   óª  — e Zd ZdZefd„Zd„ Zefd„Zd„ Zefd„Z	d„ Z
efd„Zd	„ Zd
„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Z d„ Z!efd„Z"d „ Z#ee$fd!„Z%d"„ Z&d#„ Z'd$„ Z(efd%„Z)efd&„Z*d'„ Z+efd(„Z,d)„ Z-efd*„Z.d+„ Z/efd,„Z0d-„ Z1d.„ Z2d/„ Z3efd0„Z4d1„ Z5efd2„Z6d3„ Z7efd4„Z8d5„ Z9y6)7ÚTestGetItemz‰
    Test basic indexed load from an array (returning a view or a scalar).
    Note fancy indexing is tested in test_fancy_indexing.
    c                 ó^  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }dD ]$  } ||g|¢­Ž }| j                   ||g|¢­Ž |«       Œ& y )Nr   ÚCé
   Úi4©Údtype)©r   rn   r   ©é   é   r   ©rn   r   r   ©r   rn   éÿÿÿÿ©r   rn   rt   )é	   r   rx   ©éûÿÿÿr1   r   ©r   rx   r   )r   r   ÚArrayÚint32r   ÚnpÚarangeÚassertPreciseEqual)	ÚselfÚflagsÚpyfuncÚ	arraytypeÚargtysÚcfuncr   ÚindicesÚexpecteds	            r   Útest_1d_slicingzTestGetItem.test_1d_slicingŸ   s”   € Ü#ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆóˆGñ ˜aÐ* 'Ò*ˆHØ×#Ñ#¡E¨!Ð$6¨gÒ$6¸ÕAñr   c                 ó0   — | j                  t        ¬«       y ©N)r„   )r‹   ÚNoflags©rƒ   s    r   Útest_1d_slicing_npmzTestGetItem.test_1d_slicing_npm²   ó   € Ø×Ñ¤7ÐÕ+r   c                 ó8  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }g d¢}|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      d d d	…   }| j                  |j                  d
   «       | j                  |j                  d   «       g d¢}|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ y )Nr   rm   rn   ro   rp   ©rr   rs   rv   rw   ry   ÚAé   rt   ÚC_CONTIGUOUSÚF_CONTIGUOUS)
r%   r   r~   r   r   r€   r�   ÚassertEqualÚassertFalser„   ©	rƒ   r„   r…   r†   r‡   rˆ   r   ÚargsÚargs	            r   Útest_1d_slicing2zTestGetItem.test_1d_slicing2µ   sR  € Ü$ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆòˆó ˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ð ô
 —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1òˆó ˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ñ r   c                 ó0   — | j                  t        ¬«       y r�   )r�   rŽ   r�   s    r   Útest_1d_slicing2_npmz TestGetItem.test_1d_slicing2_npmÙ   ó   € Ø×Ñ¤GÐÕ,r   c                 óô  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }g d¢}|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ t        j                  t        j                  dd«      }|t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      d d d	…   }| j                  |j                  d
   «       | j                  |j                  d   «       |D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ y )Nr   rm   rn   ro   rp   ))ru   rn   )rt   ru   )rn   r   ©r   rn   )é   rn   r”   r•   rt   r–   r—   )
r'   r   r~   r   r   r€   r�   r˜   r™   r„   rš   s	            r   Útest_1d_slicing3zTestGetItem.test_1d_slicing3Ü   s=  € Ü$ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+Ð6ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆòˆó ˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ð ô
 —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+Ð6ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1ãˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ñ r   c                 ó0   — | j                  t        ¬«       y r�   )r¤   rŽ   r�   s    r   Útest_1d_slicing3_npmz TestGetItem.test_1d_slicing3_npmú   r    r   c                 óP  — t         }t        j                  t        j                  dd«      }|f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }| j                   ||«       ||«      «       t        j                  t        j                  dd«      }|f} t	        |fi |¤Ž|«      }t        j                  dd¬«      d d d…   }| j                  |j                  d	   «       | j                  |j                  d
   «       | j                   ||«       ||«      «       y )Nr   rm   rn   ro   rp   r”   r•   rt   r–   r—   )
r)   r   r~   r   r   r€   r�   r˜   r™   r„   ©rƒ   r„   r…   r†   r‡   rˆ   r   s          r   Útest_1d_slicing4zTestGetItem.test_1d_slicing4ý   sö   € Ü$ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø�ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆØ×Ñ™ ›¡E¨!£HÔ-ô —K‘K¤§¡¨Q°Ó4ˆ	Ø�ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ™ ›¡E¨!£HÕ-r   c                 ó0   — | j                  t        ¬«       y r�   )r©   rŽ   r�   s    r   Útest_1d_slicing4_npmz TestGetItem.test_1d_slicing4_npm  r    r   c                 óÎ  — t        t        dd«      «      }t        j                  t        j                  dd«      }|t        j                  f} t        |fi |¤Ž|«      }t        j                  dd¬«      }|D ]"  }| j                   |||«       |||«      «       Œ$ t        j                  t        j                  dd«      }|t        j                  f} t        |fi |¤Ž|«      }t        j                  dd¬«      d d d	…   }| j                  |j                  d
   «       | j                  |j                  d   «       |D ]"  }| j                   |||«       |||«      «       Œ$ y )Ni÷ÿÿÿrn   r   rm   ro   rp   r”   r•   rt   r–   r—   )Úlistr    r   r~   r   r   r€   r�   r˜   r™   r„   )	rƒ   r…   r„   r›   r†   r‡   rˆ   r   rœ   s	            r   Úcheck_1d_slicing_with_argz%TestGetItem.check_1d_slicing_with_arg  s+  € Ü”E˜"˜b“MÓ"ˆä—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆÛˆCØ×Ñ™V A s›^©U°1°c«]Õ;ð ô —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1ÛˆCØ×Ñ™V A s›^©U°1°c«]Õ;ñ r   c                 ó4   — t         }| j                  ||«       y r   )r,   r®   ©rƒ   r„   r…   s      r   Útest_1d_slicing5zTestGetItem.test_1d_slicing5)  ó   € Ü$ˆØ×&Ñ& v¨uÕ5r   c                 ó0   — | j                  t        ¬«       y r�   )r±   rŽ   r�   s    r   Útest_1d_slicing5_npmz TestGetItem.test_1d_slicing5_npm-  r    r   c                 ó4   — t         }| j                  ||«       y r   )r.   r®   r°   s      r   Útest_1d_slicing6zTestGetItem.test_1d_slicing60  r²   r   c                 ó0   — | j                  t        ¬«       y r�   )r¶   rŽ   r�   s    r   Útest_1d_slicing6_npmz TestGetItem.test_1d_slicing6_npm4  r    r   c                 ó4   — t         }| j                  ||«       y r   )r2   r®   r°   s      r   Útest_1d_slicing7zTestGetItem.test_1d_slicing77  r²   r   c                 ó0   — | j                  t        ¬«       y r�   )rº   rŽ   r�   s    r   Útest_1d_slicing7_npmz TestGetItem.test_1d_slicing7_npm;  r    r   c                 ó4   — t         }| j                  ||«       y r   )r4   r®   r°   s      r   Útest_1d_slicing8zTestGetItem.test_1d_slicing8>  r²   r   c                 ó0   — | j                  t        ¬«       y r�   )r¾   rŽ   r�   s    r   Útest_1d_slicing8_npmz TestGetItem.test_1d_slicing8_npmB  r    r   c                 ó„  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }dD ]'  }| j                   ||g|¢­Ž  ||g|¢­Ž d|›�¬	«       Œ) y
)z
        arr_2d[a:b:c]
        rt   rm   éd   ro   rp   rn   r“   z	for args )ÚmsgN)	r   r   r~   r   r   r€   r�   Úreshaper‚   )rƒ   r„   r…   r†   r‡   rˆ   r   r›   s           r   Útest_2d_slicingzTestGetItem.test_2d_slicingE  s¨   € ô $ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆó.ˆDà×#Ñ#¡F¨1Ð$4¨tÒ$4±e¸A°oÀ³oÙ9=Ð(?ð $õ Añ.r   c                 ó0   — | j                  t        ¬«       y r�   )rÅ   rŽ   r�   s    r   Útest_2d_slicing_npmzTestGetItem.test_2d_slicing_npmT  r‘   r   c                 ó   — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }g d¢}t        j                  ||«      D ��	cg c]
  \  }}	||	z   ‘Œ }
}}	|
D ]$  } ||g|¢­Ž }| j                   ||g|¢­Ž |«       Œ& t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  d	d¬«      j                  d
d
«      ddd…ddd…f   }|
D ]$  } ||g|¢­Ž }| j                   ||g|¢­Ž |«       Œ& yc c}	}w )z&
        arr_2d[a:b:c, d:e:f]
        rt   rm   rÂ   ro   rp   rn   )	rr   rs   rv   rw   ry   )rn   r   rx   )rz   r   r1   r{   r}   r”   é�  r•   N)r<   r   r~   r   r   r€   r�   rÄ   Ú	itertoolsÚproductr‚   )rƒ   r„   r…   r†   r‡   rˆ   r   r‰   Útup1Útup2r›   rœ   rŠ   s                r   Útest_2d_slicing2zTestGetItem.test_2d_slicing2W  s°  € ô
 $ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{Ü—+‘+œuŸ{™{¬E¯K©Kð9ˆà$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆò	ˆô %.×$5Ñ$5°g¸wÔ$GôIÙ$G‘L�T˜4ð �t“Ø$Gð 	ñ IãˆCÙ˜a� #’ˆHØ×#Ñ#¡E¨! N¨c¢N°HÕ=ð ô
 —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{Ü—+‘+œuŸ{™{¬E¯K©Kð9ˆà$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6±s¸°s¹C¸a¸C°xÑ@ˆãˆCÙ˜a� #’ˆHØ×#Ñ#¡E¨! N¨c¢N°HÕ=ñ ùóIs   ÃH
c                 ó0   — | j                  t        ¬«       y r�   )rÎ   rŽ   r�   s    r   Útest_2d_slicing2_npmz TestGetItem.test_2d_slicing2_npm€  r    r   c                 óF  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }g d¢}|D ]$  } ||g|¢­Ž }	| j                   ||g|¢­Ž |	«       Œ& t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  d	d¬«      j                  d
d
«      ddd…ddd…f   }|D ]$  } ||g|¢­Ž }	| j                   ||g|¢­Ž |	«       Œ& y)z"
        arr_2d[a:b:c, d]
        rt   rm   rÂ   ro   rp   rn   ))r   rn   r   r   )rt   ru   r   r   )rn   r   rx   é   )rz   r   r1   é   )r   rn   rt   ru   )r   rx   ru   r   r”   rÉ   r•   N)	r?   r   r~   r   r   r€   r�   rÄ   r‚   )
rƒ   r„   r…   r†   r‡   rˆ   r   r›   rœ   rŠ   s
             r   Útest_2d_slicing3zTestGetItem.test_2d_slicing3ƒ  s[  € ô
 %ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{Ü—+‘+ðˆà$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆò
ˆó ˆCÙ˜a� #’ˆHØ×#Ñ#¡E¨! N¨c¢N°HÕ=ð ô
 —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{Ü—+‘+ðˆà$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6±s¸°s¹C¸a¸C°xÑ@ˆãˆCÙ˜a� #’ˆHØ×#Ñ#¡E¨! N¨c¢N°HÕ=ñ r   c                 ó0   — | j                  t        ¬«       y r�   )rÔ   rŽ   r�   s    r   Útest_2d_slicing3_npmz TestGetItem.test_2d_slicing3_npm¨  r    r   c                 óü  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  ddd«      }g d¢}|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  d	d¬«      d d d
…   j                  ddd«      }|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ y ©Nru   rm   iè  ro   rp   rn   ))r   rz   r   rs   )rz   r   r   )r   rz   rx   )r   rz   rt   r”   iÐ  rt   )	rC   r   r~   r   r   r€   r�   rÄ   r˜   rš   s	            r   Útest_3d_slicingzTestGetItem.test_3d_slicing«  s9  € ä#ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�d $Ô'×/Ñ/°°B¸Ó;ˆò
ˆó ˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ð ô —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�d $Ô'©¨!¨Ñ,×4Ñ4°R¸¸RÓ@ˆãˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ñ r   c                 ó0   — | j                  t        ¬«       y r�   )rÙ   rŽ   r�   s    r   Útest_3d_slicing_npmzTestGetItem.test_3d_slicing_npmÈ  r‘   r   c                 óü  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  ddd«      }g d¢}|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  d	d¬«      d d d
…   j                  ddd«      }|D ]"  }| j                   ||g|¢­Ž  ||g|¢­Ž «       Œ$ y rØ   )	rE   r   r~   r   r   r€   r�   rÄ   r˜   rš   s	            r   Útest_3d_slicing2zTestGetItem.test_3d_slicing2Ë  s9  € ä$ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�d $Ô'×/Ñ/°°B¸Ó;ˆò
ˆó ˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ð ô —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+´u·{±{ÐCˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�d $Ô'©¨!¨Ñ,×4Ñ4°R¸¸RÓ@ˆãˆCØ×Ñ™V A˜_¨š_©e°A¨n¸ªnÕ=ñ r   c                 ó0   — | j                  t        ¬«       y r�   )rÝ   rŽ   r�   s    r   Útest_3d_slicing2_npmz TestGetItem.test_3d_slicing2_npmè  r    r   c                 ót  — t         }t        j                  t        j                  dd«      }|t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }| j                   ||d«       ||d«      «       | j                   ||d«       ||d«      «       | j                   ||d«       ||d«      «       t        j                  t        j                  dd	«      }|t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      d d d
…   }| j                  |j                  d   «       | j                  |j                  d   «       | j                   ||d«       ||d«      «       | j                   ||d
«       ||d
«      «       | j                   ||d«       ||d«      «       t        j                  t        j                  dd«      }t        j                  t        j                  dd«      }||f} t	        |fi |¤Ž|«      }t        j                  ddt
        j                  ¬«      }dD ]e  }t        j                  |«      j                  t
        j                  «      }	|	j                  dk(  sJ ‚| j                   |||	«       |||	«      «       Œg y )Nr   rm   rn   ro   rp   r   rz   rx   r”   rt   r–   r—   ru   é   )r   rz   r1   )rI   r   r~   r   r   r€   r�   r˜   r™   r„   Úint16ÚarrayÚastypeÚndim)
rƒ   r„   r…   r†   r‡   rˆ   r   Ú	indextyper$   Úidxs
             r   Útest_1d_integer_indexingz$TestGetItem.test_1d_integer_indexingë  s2  € ä,ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%ˆØ×Ñ™  1›¡u¨Q°£{Ô3Ø×Ñ™  1›¡u¨Q°£{Ô3Ø×Ñ™  2›©¨a°«Ô5ô —K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ™  1›¡u¨Q°£{Ô3Ø×Ñ™  1›¡u¨Q°£{Ô3Ø×Ñ™  2›©¨a°«Ô5ô —K‘K¤§¡¨Q°Ó4ˆ	Ü—K‘K¤§¡¨Q°Ó4ˆ	Ø˜YÐ'ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�a˜¤2§8¡8Ô,ˆÛˆAÜ—(‘(˜1“+×$Ñ$¤R§X¡XÓ.ˆCØ—8‘8˜q’=Ð �=Ø×Ñ™V A s›^©U°1°c«]Õ;ñ r   c                 ó0   — | j                  t        ¬«       y r�   )rè   rŽ   r�   s    r   Útest_1d_integer_indexing_npmz(TestGetItem.test_1d_integer_indexing_npm  ó   € Ø×%Ñ%¬GÐ%Õ4r   c                 óÜ  — t         }t        j                  t        j                  dd«      }|t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }| j                   ||d«       ||d«      «       | j                   ||d«       ||d«      «       | j                   ||d	«       ||d	«      «       t        j                  t        j                  dd
«      }|t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      d d d…   }| j                   ||d«       ||d«      «       y )Nrt   rm   rÂ   ro   rp   rn   r   rz   rx   r”   r•   r£   rÓ   )	rI   r   r~   r   r   r€   r�   rÄ   r‚   r¨   s          r   Útest_integer_indexing_1d_for_2dz+TestGetItem.test_integer_indexing_1d_for_2d  s.  € ä,ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆØ×Ñ¡ q¨!£©e°A°q«kÔ:Ø×Ñ¡ q¨!£©e°A°q«kÔ:Ø×Ñ¡ q¨"£©u°Q¸«|Ô<ä—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�b Ô%×-Ñ-¨a°Ó3±C°a°CÑ8ˆØ×Ñ¡ q¨!£©e°A°q«kÕ:r   c                 ó0   — | j                  t        ¬«       y r�   )rí   rŽ   r�   s    r   Ú#test_integer_indexing_1d_for_2d_npmz/TestGetItem.test_integer_indexing_1d_for_2d_npm%  s   € Ø×,Ñ,´7Ð,Õ;r   c           	      óV  — t        j                  dd¬«      j                  dd«      }t        j                  t        j
                  dd«      }|t        j
                  t        j
                  f} t        |fi |¤Ž|«      }| j                   ||dd«       ||dd«      «       | j                   ||d	d	«       ||d	d	«      «       | j                   ||d
d«       ||d
d«      «       t        j                  dd¬«      j                  dd«      d d d…d d d…f   }| j                  |j                  d   «       | j                  |j                  d   «       t        j                  t        j
                  dd«      }|t        j
                  t        j
                  f} t        |fi |¤Ž|«      }| j                   ||dd«       ||dd«      «       | j                   ||dd«       ||dd«      «       | j                   ||d
d«       ||d
d«      «       t        j                  dd¬«      j                  dd«      }t        j                  t        j
                  dd«      }t        j                  t        j
                  dd«      }|||f} t        |fi |¤Ž|«      }dD ]‹  \  }}	t        j                  |«      j                  t         j
                  «      }t        j                  |	«      j                  t         j
                  «      }	| j                   ||||	«       ||||	«      «       Œ� y )NrÂ   ro   rp   rn   rt   rm   r   ru   rz   r1   rx   r–   r—   r”   r   ))r   ru   )rÒ   rz   )r1   rx   )r€   r�   rÄ   r   r~   r   r   r˜   r™   r„   rã   rä   )
rƒ   r„   r…   r   r†   r‡   rˆ   ræ   r$   rT   s
             r   Útest_2d_integer_indexingz$TestGetItem.test_2d_integer_indexing(  s–  € ô �I‰I�c Ô&×.Ñ.¨r°2Ó6ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+Ð6ˆØ$”�FÑ$˜eÑ$ VÓ,ˆà×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  2 rÓ*©E°!°R¸Ó,<Ô=ô �I‰I�c Ô&×.Ñ.¨r°2Ó6±s¸°s¹C¸a¸C°xÑ@ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1ä—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[¬%¯+©+Ð6ˆØ$”�FÑ$˜eÑ$ VÓ,ˆà×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  2 rÓ*©E°!°R¸Ó,<Ô=ô �I‰I�c Ô&×.Ñ.¨r°2Ó6ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ü—K‘K¤§¡¨Q°Ó4ˆ	Ø˜Y¨	Ð2ˆØ$”�FÑ$˜eÑ$ VÓ,ˆã.‰DˆAˆqÜ—‘˜“×"Ñ"¤2§8¡8Ó,ˆAÜ—‘˜“×"Ñ"¤2§8¡8Ó,ˆAØ×Ñ™V A q¨!›_©e°A°q¸!«nÕ=ñ /r   c                 ó0   — | j                  t        ¬«       y r�   )rñ   rŽ   r�   s    r   Útest_2d_integer_indexing_npmz(TestGetItem.test_2d_integer_indexing_npmM  rë   r   c                 óf   — | j                  t        ¬«       | j                  t        t        ¬«       y )N)r…   )r„   r…   )rñ   rP   rŽ   r�   s    r   Útest_2d_integer_indexing2z%TestGetItem.test_2d_integer_indexing2P  s-   € Ø×%Ñ%Ô-IÐ%ÔJØ×%Ñ%¬GÜ-Ið 	&õ 	Kr   c                 óD  ‡— t         d„ «       Št         ˆfd„«       }t        j                  d«      j                  dd«      }| j	                   ||dd«      |d   d   «       | j	                   ||dd«      |d   d   «       | j	                   ||dd«      |d   d   «       y )	Nc                 ó   — | |   S r   r   )ÚXÚi0s     r   Úindex1z=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index1V  s   € à�R‘5ˆLr   c                 ó   •—  ‰| |   |«      S r   r   )rø   rù   rL   rú   s      €r   rB   z=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index2Y  s   ø€ á˜!˜B™% Ó$Ð$r   rn   rt   r£   r   r   rx   )r   r€   r�   rÄ   r˜   )rƒ   rB   r   rú   s      @r   Ú!test_2d_integer_indexing_via_callz-TestGetItem.test_2d_integer_indexing_via_callU  s¢   ø€ Ü	ñ	ó 
ð	ä	ó	%ó 
ð	%ä�I‰I�b‹M×!Ñ! ! QÓ'ˆØ×Ñ™  1 a›¨!¨A©$¨q©'Ô2Ø×Ñ™  1 a›¨!¨A©$¨q©'Ô2Ø×Ñ™  2 rÓ*¨A¨b©E°"©IÕ6r   c                 óÚ  — t        j                  dd¬«      j                  dd«      }t        }t	        j
                  t        j                  dd«      }|t        j                  t        j                  f} t        |fi |¤Ž|«      }| j                   ||dd«       ||dd«      «       | j                   ||dd«       ||dd«      «       | j                   ||d	d	«       ||d	d	«      «       y )
NrÂ   ro   rp   rn   rt   rm   r   rz   rx   )
r€   r�   rÄ   rN   r   r~   r   Úfloat32r   r˜   )rƒ   r„   r   r…   r†   r‡   rˆ   s          r   Útest_2d_float_indexingz"TestGetItem.test_2d_float_indexinga  sÆ   € Ü�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆÜ,ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ØœUŸ]™]¬E¯K©KÐ8ˆØ$”�FÑ$˜eÑ$ VÓ,ˆà×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  1 a›©%°°1°a«.Ô9Ø×Ñ™  2 rÓ*©E°!°R¸Ó,<Õ=r   c                 ó<  ‡ ‡‡— t         Šˆˆˆ fd„}t        j                  dd¬«      j                  d«      }t	        j
                  t        j                  dd«      } |||«       t        j                  dd¬«      j                  d«      j                  }t	        j
                  t        j                  dd	«      } |||«       t        j                  dd¬«      j                  d«      d d d…   }t	        j
                  t        j                  dd
«      } |||«       y )Nc                 ó2  •— |t         j                  f} t        |fi ‰¤Ž‰«      }‰j                   ‰| d«       || d«      «       | j                  d   dz
  }‰j                   ‰| |«       || |«      «       ‰j                   ‰| d«       || d«      «       y )Nr   r   rx   )r   r   r   r˜   r!   )Úarrr†   r‡   rˆ   Únr„   r…   rƒ   s        €€€r   Úcheckz3TestGetItem.test_partial_1d_indexing.<locals>.checko  s�   ø€ Ø¤§¡Ð-ˆFØ(”C˜Ñ( %Ñ(¨Ó0ˆEØ×Ñ™V C¨›^©U°3¸«]Ô;Ø—	‘	˜!‘˜qÑ ˆAØ×Ñ™V C¨›^©U°3¸«]Ô;Ø×Ñ™V C¨›_©e°C¸«nÕ=r   é   ro   rp   )rÓ   ru   rt   rm   )ru   rÓ   ÚFr”   )rG   r€   r�   rÄ   r   r~   r   ÚT)rƒ   r„   r  r   r†   r…   s   ``   @r   Útest_partial_1d_indexingz$TestGetItem.test_partial_1d_indexingl  sÏ   ú€ Ü#ˆö	>ô �I‰I�b Ô%×-Ñ-¨fÓ5ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ùˆa�Ôä�I‰I�b Ô%×-Ñ-¨fÓ5×7Ñ7ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ùˆa�Ôä�I‰I�b Ô%×-Ñ-¨fÓ5±c¸°cÑ:ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ùˆa�Õr   c                 óØ   ‡‡‡— ˆˆfd„Šˆˆfd„} |t        j                  dd¬«      j                  dd«      «        |t        j                  dd¬«      j                  ddd«      «       y )	Nc                 ó|   •— t        | «      t        j                  t        j                  f} t        |fi ‰¤Ž‰«      S r   )r   r   r   r   )r  r‡   r„   r…   s     €€r   Úcompile_funcz0TestGetItem.check_ellipsis.<locals>.compile_func„  s2   ø€ Ü˜S“k¤5§:¡:¬u¯z©zÐ:ˆFØ'”3�vÑ' Ñ'¨Ó/Ð/r   c           	      óÊ   •— d} ‰| «      }t        j                  ||«      D ]?  \  }} || ||«      }t        j                  j	                   ‰| ||«       || ||«      «       ŒA y )N)r   r   rt   rx   r1   )rÊ   rË   r€   ÚtestingÚassert_equal)r   Úboundsrˆ   r$   rT   Úxr  r…   s         €€r   Úrunz'TestGetItem.check_ellipsis.<locals>.runˆ  s]   ø€ Ø&ˆFÙ  “OˆEÜ!×)Ñ)¨&°&Ö9‘��1Ù˜!˜Q “N�Ü—
‘
×'Ñ'©¨q°!°Q«¹¸qÀ!ÀQ»ÕHñ :r   é   ro   rp   rÓ   é   ru   )r€   r�   rÄ   )rƒ   r…   r„   r  r  s    `` @r   Úcheck_ellipsiszTestGetItem.check_ellipsisƒ  sR   ú€ õ	0õ	Iñ 	ŒB�I‰I�b Ô%×-Ñ-¨a°Ó3Ô4ÙŒB�I‰I�b Ô%×-Ñ-¨a°°AÓ6Õ7r   c                 ó0   — | j                  t        |«       y r   )r  rU   ©rƒ   r„   s     r   Útest_ellipsis1zTestGetItem.test_ellipsis1’  ó   € Ø×ÑÔ-¨uÕ5r   c                 ó0   — | j                  t        ¬«       y r�   )r  rŽ   r�   s    r   Útest_ellipsis1_npmzTestGetItem.test_ellipsis1_npm•  ó   € Ø×Ñ¤'ÐÕ*r   c                 ó0   — | j                  t        |«       y r   )r  rW   r  s     r   Útest_ellipsis2zTestGetItem.test_ellipsis2˜  r  r   c                 ó0   — | j                  t        ¬«       y r�   )r  rŽ   r�   s    r   Útest_ellipsis2_npmzTestGetItem.test_ellipsis2_npm›  r  r   c                 ó0   — | j                  t        |«       y r   )r  rY   r  s     r   Útest_ellipsis3zTestGetItem.test_ellipsis3ž  r  r   c                 ó0   — | j                  t        ¬«       y r�   )r!  rŽ   r�   s    r   Útest_ellipsis3_npmzTestGetItem.test_ellipsis3_npm¡  r  r   c                 óì   — t         d„ «       }|j                  }d}d}t        j                  ||z  «      j	                  ||«      } ||«      } ||«      }t        j
                  j                  ||«       y )Nc                 óˆ   — t        j                  | «      }d}t        j                  | d|f   «      D ]  \  }}|||   |<   Œ |S )Nr   .)r€   Ú
zeros_likeÚndenumerate)r  Úoutr$   r>   Úvals        r   Úudtz0TestGetItem.test_ellipsis_issue1498.<locals>.udt§  sH   € ä—-‘- Ó$ˆCØˆAÜ Ÿn™n¨S°°a°©[Ö9‘
��sØ #��E‘
˜1’ð :ð ˆJr   rÓ   )r   Úpy_funcr€   r�   rÄ   r  r  )rƒ   r*  r+  Ú	outersizeÚ	innersizer  ÚgotrŠ   s           r   Útest_ellipsis_issue1498z#TestGetItem.test_ellipsis_issue1498¤  sq   € ô 
ñ	ó 
ð	ð —+‘+ˆàˆ	Øˆ	Ü�i‰i˜	 IÑ-Ó.×6Ñ6°yÀ)ÓLˆÙ�#‹hˆÙ˜3“<ˆÜ
�
‰
×Ñ  XÕ.r   c                 ó¸   — t         d„ «       }t        j                  d«      } ||«      }|j                  |«      }t        j                  j                  ||«       y )Nc                 ó   — | d   S )N).r   r   )r  s    r   r*  z0TestGetItem.test_ellipsis_issue1499.<locals>.udt¼  s   € à�v‘;Ðr   ru   )r   r€   r�   r+  r  r  )rƒ   r*  r  r.  rŠ   s        r   Útest_ellipsis_issue1499z#TestGetItem.test_ellipsis_issue1499¹  sP   € ô 
ñ	ó 
ð	ô �i‰i˜‹lˆÙ�#‹hˆØ—;‘;˜sÓ#ˆÜ
�
‰
×Ñ  XÕ.r   c                 ó  — t         }t        j                  t        j                  dd«      }|f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }| j                   ||«       ||«      «       y )Nrt   rm   rÂ   ro   rp   rn   ©	r\   r   r~   r   r   r€   r�   rÄ   r‚   r¨   s          r   Útest_none_indexzTestGetItem.test_none_indexÅ  so   € Ü#ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø�ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�c Ô&×.Ñ.¨r°2Ó6ˆØ×Ñ¡ q£	©5°«8Õ4r   c                 ó0   — | j                  t        ¬«       y r�   )r5  rŽ   r�   s    r   Útest_none_index_npmzTestGetItem.test_none_index_npmÎ  r‘   r   c                 ó  — t         }t        j                  t        j                  dd«      }|f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  d«      }| j                   ||«       ||«      «       y ©Nr   rm   r   ro   rp   r   r4  r¨   s          r   Útest_none_index_0dzTestGetItem.test_none_index_0dÑ  sm   € Ü#ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø�ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�a˜tÔ$×,Ñ,¨RÓ0ˆØ×Ñ¡ q£	©5°«8Õ4r   c                 ó0   — | j                  t        ¬«       y r�   )r:  rŽ   r�   s    r   Útest_none_index_0d_npmz"TestGetItem.test_none_index_0d_npmÚ  s   € Ø×Ñ¤gÐÕ.r   c                 ó  — t         }t        j                  t        j                  dd«      }|f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  d«      }| j                   ||«       ||«      «       y r9  )	r^   r   r~   r   r   r€   r�   rÄ   r‚   r¨   s          r   Útest_empty_tuple_indexingz%TestGetItem.test_empty_tuple_indexingÝ  sm   € Ü$ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø�ˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�I‰I�a˜tÔ$×,Ñ,¨RÓ0ˆØ×Ñ¡ q£	©5°«8Õ4r   c                 ó0   — | j                  t        ¬«       y r�   )r>  rŽ   r�   s    r   Útest_empty_tuple_indexing_npmz)TestGetItem.test_empty_tuple_indexing_npmæ  ó   € Ø×&Ñ&¬WÐ&Õ5r   N):Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úenable_pyobj_flagsr‹   r�   r�   rŸ   r¤   r¦   r©   r«   r®   r±   r´   r¶   r¸   rº   r¼   r¾   rÀ   rÅ   rÇ   rÎ   rÐ   rÔ   rÖ   rÙ   rÛ   rÝ   rß   rè   rê   rí   rï   rN   rñ   ró   rõ   rü   rÿ   r  r  r  r  r  r  r!  r#  r/  r2  r5  r7  r:  r<  r>  r@  r   r   r   rk   rk   ™   s“  „ ñð
 %7ó Bò&,ð &8ó ">òH-ð &8ó >ò<-ð &8ó .ò&-ò<ð, &8ó 6ò-ð &8ó 6ò-ð &8ó 6ò-ð &8ó 6ò-ð %7ó Aò,ð &8ó '>òR-ð &8ó #>òJ-ð %7ó >ò:,ð &8ó >ò:-ð .@ó "<òH5ð 5Gó ;ò&<ð .@Ø(Có#>òJ5òKò

7ð ,>ó 	>ð .@ó ò.8ð $6ó 6ò+ð $6ó 6ò+ð $6ó 6ò+ò/ò*
/ð %7ó 5ò,ð (:ó 5ò/ð /Aó 5ó6r   rk   c                   ó®   — e Zd ZdZefd„Zefd„Zd„ Zefd„Zefd„Z	efd„Z
efd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zefd„Zefd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestSetItemzk
    Test basic indexed store into an array.
    Note fancy indexing is tested in test_fancy_indexing.
    c                 óÄ   — ddl m} d„ }  |di |¤Ž|«      }t        j                  dd¬«      }|j	                  «       } ||«        ||«       | j                  ||«       y)	z9 this used to work, and was used in one of the tutorials r   )r   c                 ól   — t        t        | «      «      D ]  }|t        j                  d«      z  | |<   Œ y )NrÂ   )r    ÚlenÚdecimalÚDecimal)rã   r>   s     r   r…   z3TestSetItem.test_conversion_setitem.<locals>.pyfuncô  s,   € Üœs 5›zÖ*�Ø$¤w§¡°sÓ';Ñ;��e’ñ +r   rÂ   rL   rp   N)zvoid(i8[:]))Únumbar   r€   r�   Úcopyr‚   )rƒ   r„   r   r…   rˆ   r*  Úcontrols          r   Útest_conversion_setitemz#TestSetItem.test_conversion_setitemð  sY   € åò	<ð ,‘Ñ+ UÑ+¨FÓ3ˆä�i‰i˜ 4Ô(ˆØ—(‘(“*ˆÙˆwŒÙˆcŒ
Ø×Ñ  WÕ-r   c                 ó6  ‡— t         }t        j                  t        j                  dd«      }t        j                  t        j                  dd«      }||t        j                  t        j                  t        j                  f} t        |fi |¤Ž|«      }d}t        j                  |d¬«      dz   Šdd	|d	z
  ||dz   |d
z   d| d	z   | | dz
  | d
z
  g}ˆfd„}	t        j                  ||«      D ]O  \  }
}dD ]E  }|
||f}t        |Ž } | |	«       ‰|   g|¢­Ž } | |	«       ‰|   g|¢­Ž }| j                  ||«       ŒG ŒQ | j                  t        «      5   |t        j                  ‰t        j                  ¬«      ‰ddd«       ddd«       y# 1 sw Y   yxY w)z+
        1d to 1d slice assignment
        r   rm   r”   rn   rM   rp   é(   r   rt   ru   r1   c                  ó2   •— t        j                  ‰ d¬«      S )Nro   rp   )r€   r&  )rœ   s   €r   Ú	make_destz2TestSetItem.test_1d_slicing_set.<locals>.make_dest  s   ø€ Ü—=‘= ¨DÔ1Ð1r   ©r   rt   rx   r1   N)re   r   r~   r   râ   r   r€   r�   rÊ   rË   Úslicer‚   ÚassertRaisesÚ
ValueErrorr&  )rƒ   r„   r…   Ú	dest_typeÚsrc_typer‡   rˆ   ÚNr  rU  r   r   r   r›   r>   ÚpyleftÚcleftrœ   s                    @r   Útest_1d_slicing_setzTestSetItem.test_1d_slicing_set   s{  ø€ ô (ˆô —K‘K¤§¡¨Q°Ó4ˆ	Ü—;‘;œuŸ{™{¨A¨sÓ3ˆØ˜X¤u§{¡{´E·K±KÄÇÁÐMˆØ$”�FÑ$˜eÑ$ VÓ,ˆàˆÜ�i‰i˜ Ô&¨Ñ+ˆØ�Q˜˜A™˜q ! a¡%¨¨Q©Ø�q�b˜1‘f˜q˜b 1 " q¡&¨1¨"¨q©&ð2ˆô	2ä$×,Ñ,¨V°VÖ<‰KˆE�4Û&�Ø˜d DÐ(�Ü˜t˜�Ù¡	£¨S°©ZÐ?¸$Ò?�Ù™i›k¨3¨u©:Ð=¸Ò=�Ø×'Ñ'¨°Õ6ñ 'ð =ð ×ÑœzÕ*Ù”"—-‘- ¬2¯8©8Ô4°c¸1¸aÀÔC÷ +×*Ñ*ús   Å0FÆFc                 ó^  — t         }t        j                  t        j                  dd«      }||t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      j
                  |   j                  }d}t        |«      }	t        j                  |t        j                  ¬«      }
|d| |	z   dz   df} ||
j                  «       g|¢­Ž } ||
j                  «       g|¢­Ž }| j                  ||«       |d| |	z   df}| j                  t        «      5 } ||
j                  «       g|¢­Ž  ddd«       |j                  dd«      rLt        |
t        d| |	z   d«         «      }d|	› d	|› d
�}| j!                  |t#        j$                  «      «       yy# 1 sw Y   ŒhxY w)z9
        Generic sequence to 1d slice assignment
        r   rm   rn   rp   Nr   Fzcannot assign slice of shape (z,) from input of shape (z,))re   r   r~   r   r   Ú	overloadsÚentry_pointrK  r€   r�   rO  r‚   rX  rY  ÚgetrW  ÚassertInÚstrÚ	exception)rƒ   r„   ÚseqtyÚseqr…   rZ  r‡   rˆ   r\  Úkrœ   r›   rŠ   r.  ÚraisesÚ
slice_sizerÃ   s                    r   Úcheck_1d_slicing_set_sequencez)TestSetItem.check_1d_slicing_set_sequence  sƒ  € ô (ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø˜U¤E§K¡K´·±¼e¿k¹kÐJˆð %”�FÑ$˜eÑ$ VÓ,×6Ñ6°vÑ>×JÑJˆàˆÜ�‹HˆÜ�i‰i˜¤§¡Ô*ˆØ�Q˜˜˜Q™ ™
 AÐ&ˆÙ˜#Ÿ(™(›*Ð, tÒ,ˆÙ�C—H‘H“JÐ& Ò&ˆØ×Ñ ¨#Ô.à�Q˜˜˜Q™ Ð"ˆØ×ÑœzÔ*¨fÙ�#—(‘(“*Ð$˜tÓ$÷ +ð �9‰9�Z Ô'ä˜S¤ q¨1¨"¨q©&°!Ó!4Ñ5Ó6ˆJØ3°A°3ð 7Ø!�l "ð&ˆCà�M‰M˜#œs 6×#3Ñ#3Ó4Õ5ð (÷ +Ð*ús   Ä$F#Æ#F,c                 ón   — | j                  |t        j                  t        j                  d«      d«       y)z.
        Tuple to 1d slice assignment
        rt   )rÒ   éÖÿÿÿN)rl  r   ÚUniTuplerâ   r  s     r   Útest_1d_slicing_set_tuplez%TestSetItem.test_1d_slicing_set_tuple=  s(   € ð 	×*Ñ*Ø”5—>‘>¤%§+¡+¨qÓ1°8õ	=r   c                 óp   — | j                  |t        j                  t        j                  «      ddg«       y)z-
        List to 1d slice assignment
        rÒ   rn  N)rl  r   ÚListrâ   r  s     r   Útest_1d_slicing_set_listz$TestSetItem.test_1d_slicing_set_listD  s*   € ð 	×*Ñ*Ø”5—:‘:œeŸk™kÓ*¨Q°¨Hõ	6r   c                 óN  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  f} t        |fi |¤Ž|«      }d}t        j                  |d¬«      }d}dd|dz
  ||dz   |d	z   d
| dz   | | dz
  | d	z
  g}	t        j                  |	|	«      D ]R  \  }
}dD ]H  }||
||f} ||j                  «       g|¢­Ž } ||j                  «       g|¢­Ž }| j                  ||«       ŒJ ŒT y)z/
        scalar to 1d slice assignment
        r   rm   rn   ro   rp   é*   r   rt   ru   r1   rV  N)re   r   r~   r   râ   r   r€   r�   rÊ   rË   rO  r‚   )rƒ   r„   r…   r†   r‡   rˆ   r\  rœ   r)  r  r   r   r   r›   r]  r^  s                   r   Útest_1d_slicing_broadcastz%TestSetItem.test_1d_slicing_broadcastK  s  € ô (ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ð œUŸ[™[¬%¯+©+´u·{±{ÄEÇKÁKÐPˆØ$”�FÑ$˜eÑ$ VÓ,ˆàˆÜ�i‰i˜ Ô&ˆØˆØ�Q˜˜A™˜q ! a¡%¨¨Q©Ø�q�b˜1‘f˜q˜b 1 " q¡&¨1¨"¨q©&ð2ˆä$×,Ñ,¨V°VÖ<‰KˆE�4Û&�Ø˜E 4¨Ð-�Ù §¡£
Ð2¨TÒ2�Ù˜cŸh™h›jÐ0¨4Ò0�Ø×'Ñ'¨°Õ6ñ	 'ñ =r   c                 óº  — t         }t        j                  t        j                  dd«      }||t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      }dD ]`  } |t        j                  |«      |t        |Ž    g|¢­Ž } |t        j                  |«      |t        |Ž    g|¢­Ž }	| j                  ||	«       Œb y )Nr   rm   rn   ro   rp   )r¢   )rt   r£   )
rg   r   r~   r   r   r€   r�   r&  rW  r‚   )
rƒ   r„   r…   r†   r‡   rˆ   rœ   Útestr]  r^  s
             r   Útest_1d_slicing_addzTestSetItem.test_1d_slicing_addb  s¹   € Ü'ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø˜Y¬¯©´U·[±[ÐAˆØ$”�FÑ$˜eÑ$ VÓ,ˆä�i‰i˜ $Ô'ˆÛ%ˆDÙœBŸM™M¨#Ó.°´E¸4°LÑ0AÐIÀDÒIˆFÙœ"Ÿ-™-¨Ó,¨c´%¸°,Ñ.?ÐGÀ$ÒGˆEØ×#Ñ# F¨EÕ2ñ &r   c                 ó0   — | j                  t        ¬«       y r�   )r_  rŽ   r�   s    r   Útest_1d_slicing_set_npmz#TestSetItem.test_1d_slicing_set_npmn  ó   € Ø× Ñ ¤wÐ Õ/r   c                 ó0   — | j                  t        ¬«       y r�   )rs  rŽ   r�   s    r   Útest_1d_slicing_set_list_npmz(TestSetItem.test_1d_slicing_set_list_npmq  rë   r   c                 ó0   — | j                  t        ¬«       y r�   )rp  rŽ   r�   s    r   Útest_1d_slicing_set_tuple_npmz)TestSetItem.test_1d_slicing_set_tuple_npmt  rA  r   c                 ó0   — | j                  t        ¬«       y r�   )rv  rŽ   r�   s    r   Útest_1d_slicing_broadcast_npmz)TestSetItem.test_1d_slicing_broadcast_npmw  rA  r   c                 ó0   — | j                  t        ¬«       y r�   )ry  rŽ   r�   s    r   Útest_1d_slicing_add_npmz#TestSetItem.test_1d_slicing_add_npmz  r|  r   c                 ó’  — t         }t        j                  t        j                  dd«      }||t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  f} t	        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }g d¢}|D ]|  } |t        j                  |«      |t        |dd	 Ž t        |d	d
 Ž f   g|¢­Ž }	 |t        j                  |«      |t        |dd	 Ž t        |d	d
 Ž f   g|¢­Ž }
| j                  |
|	«       Œ~ y)z+
        2d to 2d slice assignment
        rt   r”   rÂ   ro   rp   rn   ©)r   rn   r   r   rn   r   )rt   ru   r   rt   ru   r   )rn   r   r   rn   r   r   )r   rn   rx   r   rn   rx   )r   rn   rt   r   rn   rt   r   ru   é   N)ri   r   r~   r   r   r€   r�   rÄ   r&  rW  r‚   )rƒ   r„   r…   r†   r‡   rˆ   rœ   Útestsrx  r]  r^  s              r   Útest_2d_slicing_setzTestSetItem.test_2d_slicing_set}  s   € ô (ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø˜Y¬¯©´U·[±[Ä%Ç+Á+Ü—+‘+œuŸ{™{¬E¯K©Kð9ˆà$”�FÑ$˜eÑ$ VÓ,ˆä�i‰i˜ TÔ*×2Ñ2°2°bÓ9ˆò
ˆó ˆDÙœBŸM™M¨#Ó.°´E¸4ÀÀ!¸9Ð4EÄuÈdÐSTÐUVÈiÐGXÐ4XÑ0YÐaÐ\`ÒaˆFÙœ"Ÿ-™-¨Ó,¨c´%¸¸aÀ¸Ð2CÄUÈDÐQRÐSTÈIÐEVÐ2VÑ.WÐ_ÐZ^Ò_ˆEØ×#Ñ# E¨6Õ2ñ r   c                 óB  — t         }t        j                  t        j                  dd«      }|t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  f} t        |fi |¤Ž|«      }t        j                  dd¬«      j                  dd«      }d}g d¢}|D ]D  }	 ||j                  «       |g|	¢­Ž }
 ||j                  «       |g|	¢­Ž }| j                  ||
«       ŒF y	)
z/
        scalar to 2d slice assignment
        rt   rm   rÂ   ro   rp   rn   ru  r†  N)ri   r   r~   r   râ   r   r€   r�   rÄ   rO  r‚   )rƒ   r„   r…   r†   r‡   rˆ   rœ   r)  rˆ  rx  r]  r^  s               r   Útest_2d_slicing_broadcastz%TestSetItem.test_2d_slicing_broadcast”  sß   € ô (ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	ð œUŸ[™[¬%¯+©+´u·{±{ÄEÇKÁKÜ—+‘+œuŸ{™{¬E¯K©Kð9ˆà$”�FÑ$˜eÑ$ VÓ,ˆä�i‰i˜ TÔ*×2Ñ2°2°bÓ9ˆØˆò
ˆó ˆDÙ˜CŸH™H›J¨Ð3¨dÒ3ˆFÙ˜#Ÿ(™(›* cÐ1¨DÒ1ˆEØ×#Ñ# E¨6Õ2ñ r   c                 ó0   — | j                  t        ¬«       y r�   )r‰  rŽ   r�   s    r   Útest_2d_slicing_set_npmz#TestSetItem.test_2d_slicing_set_npm®  r|  r   c                 ó0   — | j                  t        ¬«       y r�   )r‹  rŽ   r�   s    r   Útest_2d_slicing_broadcast_npmz)TestSetItem.test_2d_slicing_broadcast_npm±  rA  r   c                 ó   — t        j                  d«      }t        |dd«       | j                  |j	                  «       g d¢«       t        |t        j
                  d«      j                  t         j                  «      d«       | j                  |j	                  «       g d¢«       t        j                  d«      j                  dd«      }t        |dd«       | j                  |j	                  «       g d	¢g d
¢g d¢g«       y)z+
        scalar indexed assignment
        r£   r   ru  )r   ru  rt   ru   rÓ   ru   rÒ   )r   ru  rt   rÒ   rÓ   rz   )r   r   rt   )ru  ru  ru  )r‡  é   rÒ   N)	r€   r�   ra   r˜   Útolistrã   rä   Úuint16rÄ   )rƒ   r  s     r   Útest_setitemzTestSetItem.test_setitem´  s±   € ô �i‰i˜‹lˆÜ˜˜Q Ô#Ø×Ñ˜Ÿ™›Ò'7Ô8ä˜œRŸX™X a›[×/Ñ/´·	±	Ó:¸AÔ>Ø×Ñ˜Ÿ™›Ò'7Ô8ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ˜˜Q Ô#Ø×Ñ˜Ÿ™›ª	²<ÂÐ'KÕLr   c           	      óD  — t        j                  d«      }t        |d«       | j                  |j	                  «       dgdz  «       t        j                  d«      j                  dd«      }t        |t        j                  dd«      «       | j                  |j	                  «       g d¢g d¢g«       t        j                  d«      j                  dd«      }t        |t        j                  dd«      j                  dd«      «       | j                  |j	                  «       g d¢g d¢g«       t        j                  d	«      j                  dddd«      }t        |t        j                  dd«      j                  dd«      «       g d¢g d¢g}| j                  |j	                  «       |ggdz  «       t        j                  d«      }t        |t        j                  dd«      j                  dd«      «       | j                  |j	                  «       g d
¢«       t        j                  d«      j                  dd«      }t        |t        j                  dd|j                  z   «      j                  dddd«      «       | j                  |j	                  «       g d¢g d¢g«       y)z.
        broadcasted array assignment
        r£   ru  r‡  rt   ru   r   rÓ   )r   rt   ru   r  )r   rt   ru   rÓ   r£   )rÓ   r£   r‡  N)r€   r�   rc   r˜   r’  rÄ   Úsize)rƒ   ÚdstÚinner2s      r   Útest_setitem_broadcastz"TestSetItem.test_setitem_broadcastÃ  sæ  € ô
 �i‰i˜‹lˆÜ! # rÔ*Ø×Ñ˜Ÿ™›¨ t¨a¡xÔ0ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ! #¤r§y¡y°°A£Ô7Ø×Ñ˜Ÿ™›ª	²9Ð'=Ô>ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ! #¤r§y¡y°°A£×'>Ñ'>¸qÀ!Ó'DÔEØ×Ñ˜Ÿ™›ª	²9Ð'=Ô>ä�i‰i˜‹m×#Ñ# A q¨!¨QÓ/ˆÜ! #¤r§y¡y°°A£×'>Ñ'>¸qÀ!Ó'DÔEÚšYÐ'ˆØ×Ñ˜Ÿ™›¨¨ z°A¡~Ô6ä�i‰i˜‹lˆÜ! #¤r§y¡y°°A£×'>Ñ'>¸qÀ!Ó'DÔEØ×Ñ˜Ÿ™›¢Ô7ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ! #¤r§y¡y°°A¸¿¹±LÓ'A×'IÑ'IÈ!ÈQÐPQÐSTÓ'UÔVØ×Ñ˜Ÿ™›ª	²9Ð'=Õ>r   c                 ó²  — t        j                  d«      }t        j                  d«      j                  dd«      }| j                  t        «      5 }t        ||«       d d d «       t        j                  «      }| j                  d|«       t        j                  d«      j                  dd«      }t        j                  d«      j                  ddd«      }| j                  t        «      5 }t        ||«       d d d «       t        |j                  «      }| j                  d|«       t        j                  d«      j                  dd«      }t        j                  d«      }| j                  t        «      5 }t        ||«       d d d «       t        |j                  «      }| j                  d|«       y # 1 sw Y   �ŒYxY w# 1 sw Y   ŒÉxY w# 1 sw Y   ŒJxY w)	Nr£   rn   rt   z,cannot broadcast source array for assignmentr   z>cannot assign slice of shape (2, 5) from input of shape (1, 5)rÓ   z>cannot assign slice of shape (2, 4) from input of shape (2, 5))	r€   r�   rÄ   rX  rY  rc   re  rf  r˜   )rƒ   r—  Úsrcrj  Úerrmsgs        r   Útest_setitem_broadcast_errorz(TestSetItem.test_setitem_broadcast_errorá  st  € ô �i‰i˜‹lˆÜ�i‰i˜‹m×#Ñ# A qÓ)ˆØ×ÑœzÔ*¨fÜ% c¨3Ô/÷ +ä�V×%Ñ%Ó&ˆØ×ÑÐGØô	!ô �i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ�i‰i˜‹m×#Ñ# A q¨!Ó,ˆØ×ÑœzÔ*¨fÜ% c¨3Ô/÷ +ä�V×%Ñ%Ó&ˆØ×Ñð )àô	!ô
 �i‰i˜‹m×#Ñ# A qÓ)ˆÜ�i‰i˜‹lˆØ×ÑœzÔ*¨fÜ% c¨3Ô/÷ +ä�V×%Ñ%Ó&ˆØ×Ñð (àõ	 ÷+ +Ñ*ú÷ +Ð*ú÷ +Ð*ús$   ÁF4Ã,GÅ7GÆ4F>ÇG
ÇGc                 óÖ  — t        j                  d«      j                  dd«      }t        j                  dd«      }t        ||ddd«       | j	                  |j                  «       ddgddgddgg«       t        j                  d«      j                  dd«      }t        j                  dd«      }t        ||dd d«       | j	                  |j                  «       ddgddgddgg«       t        j                  d«      j                  dd«      }t        j                  dd«      j                  dd«      }t        ||d dd«       | j	                  |j                  «       ddgddgddgg«       y )Nr‡  ru   rt   r   r   rÓ   r£   )r€   r�   rÄ   re   r˜   r’  )rƒ   r—  r›  s      r   Útest_slicing_1d_broadcastz%TestSetItem.test_slicing_1d_broadcastÿ  s5  € ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ�i‰i˜˜1‹oˆÜ˜s C¨¨A¨qÔ1Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Ô@ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ�i‰i˜˜1‹oˆÜ˜s C¨¨D°!Ô4Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Ô@ä�i‰i˜‹l×"Ñ" 1 aÓ(ˆÜ�i‰i˜˜1‹o×%Ñ% a¨Ó+ˆÜ˜s C¨¨q°!Ô4Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Õ@r   c                 ó(  — t        j                  d«      }d|j                  _        | j	                  t
        t        j                  f«      5 }t        |dd«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)Nr£   Fr   ru  z%Cannot modify readonly array of type:)r€   r�   r„   Ú	writeablerX  Ú	TypeErrorr   ÚTypingErrorra   rd  re  rf  )rƒ   r  rj  s      r   Útest_setitem_readonlyz!TestSetItem.test_setitem_readonly  so   € Ü�i‰i˜‹lˆØ#ˆ�	‰	ÔØ×Ñ¤	¬6×+=Ñ+=Ð>Ô?À6Ü˜C  BÔ'÷ @à�‰Ð=Ü˜&×*Ñ*Ó+õ	-÷ @Ð?ús   ÁBÂBN)rB  rC  rD  rE  rF  rQ  r_  rl  rp  rs  rv  ry  r{  r~  r€  r‚  r„  r‰  r‹  r�  r�  r”  r™  r�  rŸ  r¤  r   r   r   rH  rH  ê  sŸ   „ ñð
 -?ó .ð  );ó Dò<6ð> /Aó =ð .@ó 6ð /Aó 7ð. );ó 
3ò0ò5ò6ò6ò0ð );ó 3ð. /Aó 3ò40ò6òMò?ò< ò<Aó"-r   rH  c                   ó   — e Zd ZdZd„ Zy)Ú
TestTypingz3
    Check typing of basic indexing operations
    c                 ó„  — t         j                  }t        j                  t        j                  dd«      }t        j                  t        j                  dd«      }t        j                  t        j                  dd«      }dt
        fddft        fddft        fddft        t        fddft        t        fddft        t        fddft        t        fddft        fddft
        t        fddft
        t        fddft
        t        t        fddft
        t        t        fddft
        t        t        fddft
        t        fddft
        t        t        fddft        t
        t        fddft        t
        t        fddft        t        t        fddft        t
        t        t        fddft        t        t        fddft        t        t
        t        fddft        t        t        fddft        t        t        fddft        t        t        fddfg}|D ]�  \  }}}t        j                  |«      }	 |||	«      }
| j                  t        |
j                  «      |«       | j                  |
j                  j                  |rdnd|«       | j                  |
j                   «       Œ‘ |D ]�  \  }}}t        j                  |«      }	 |||	«      }
| j                  t        |
j                  «      |«       | j                  |
j                  j                  |rdnd|«       | j                  |
j                   «       Œ‘ |D ]Š  \  }}}t        j                  |«      }	 |||	«      }
| j                  t        |
j                  «      |«       | j                  |
j                  j                  d«       | j                  |
j                   «       ŒŒ y)	zc
        Check an appropriate layout is inferred for the result of array
        indexing.
        ru   rm   r  r”   )r   TTTFN)r   Úget_array_index_typer   r~   Úfloat64r   r   r   r   ÚTupler˜   Útupler>   ÚresultÚlayoutr™   Úadvanced)rƒ   ÚfuncÚctyÚftyÚatyr‰   Úindex_tupleÚkeep_cÚ_r>   ÚrÚkeep_fs               r   Útest_layoutzTestTyping.test_layout  s>  € ô ×-Ñ-ˆä�k‰kœ%Ÿ-™-¨¨CÓ0ˆÜ�k‰kœ%Ÿ-™-¨¨CÓ0ˆÜ�k‰kœ%Ÿ-™-¨¨CÓ0ˆð Üˆ[˜$ Ð%ô ˆW�d˜EÐ"Üˆ^˜T 5Ð)Ü”KÐ  $¨Ð.Üœ4Ð  %¨Ð/Üœ;Ð'¨°Ð6ä”KÐ  %¨Ð/Üˆ^˜U EÐ*ô œÐ  tÐ,ÜœÐ% u¨dÐ3ÜœœkÐ+¨U°EÐ:Üœ¤TÐ+¨U°DÐ9Üœ¤[Ð2°E¸5ÐAäœÐ% u¨eÐ4Üœ¤TÐ+¨U°EÐ:ô ”HœdÐ$ e¨UÐ3Üœ8¤[Ð2°E¸5ÐAÜ”Dœ+Ð'¨¨uÐ5Ü”Hœd¤KÐ1°4¸Ð?Üœ4¤Ð'¨°Ð5Üœ4¤¬4Ð1°5¸$Ð?Ü”K¤Ð'¨°Ð6äœ4¤Ð'¨°Ð6Ü”Dœ+Ð'¨°Ð6ðG$ˆóL '.Ñ"ˆK˜ Ü—K‘K Ó,ˆEÙ�S˜%Ó ˆAØ×ÑœU 1§7¡7›^¨[Ô9Ø×Ñ˜QŸX™XŸ_™_±V©cÀØ(ô*à×Ñ˜QŸZ™ZÕ(ð '.ó '.Ñ"ˆK˜˜FÜ—K‘K Ó,ˆEÙ�S˜%Ó ˆAØ×ÑœU 1§7¡7›^¨[Ô9Ø×Ñ˜QŸX™XŸ_™_±V©cÀØ(ô*à×Ñ˜QŸZ™ZÕ(ð '.ó ")ÑˆK˜˜AÜ—K‘K Ó,ˆEÙ�S˜%Ó ˆAØ×ÑœU 1§7¡7›^¨[Ô9Ø×Ñ˜QŸX™XŸ_™_¨cÔ2Ø×Ñ˜QŸZ™ZÕ(ñ ")r   N)rB  rC  rD  rE  r¸  r   r   r   r¦  r¦    s   „ ñóG)r   r¦  Ú__main__)8rL  rÊ   Únumpyr€   ÚunittestrN  r   r   r   Ú
numba.corer   r   r   Únumba.tests.supportr	   r
   Únumba.core.typingr   Únumba.core.typesr   r   r   r   rF  rŽ   r   r%   r'   r)   r,   r.   r2   r4   r<   r?   rC   rE   rG   rI   rN   rP   rU   rW   rY   r\   r^   ra   rc   re   rg   ri   rk   rH  r¦  rB  Úmainr   r   r   Ú<module>rÁ     s'  ðÛ Û ã ã ß #Ñ #ß +Ñ +ß -Ý 'ß EÓ Eð ! $Ð'Ð à�tÐ
€òòòòòòòòò5ò(òòòòòòòòòòòð ñó ðð ñó ðòòòô
N	6�(ô N	6ôbl-�(ô l-ô^	L)�ô L)ð^ ˆzÒØ€H‡M�M…Oð r   