ó
    „ñ:iÉ–  ã                   ó²  • S SK r S SKrS SKrS SKrS SKJrJrJr  S SK	J
r
JrJr  S SKJrJr  S SKJr  S SKJrJrJrJr  SS0rS	S0rS
 rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-\S 5       r.\S  5       r/S! r0S" r1S# r2 " S$ S%\5      r3 " S& S'\5      r4 " S( S)\5      r5\6S*:X  a  \Rn                  " 5         gg)+é    N)ÚjitÚnjitÚtypeof)ÚutilsÚtypesÚerrors)ÚTestCaseÚtag)Ú	arraydecl)ÚintpÚellipsisÚslice2_typeÚslice3_typeÚforceobjTÚnopythonc                 ó   • XX#2   $ ©N© )ÚaÚstartÚstopÚsteps       Ú\/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_indexing.pyÚslicing_1d_usecaser      s   € Ø�4ˆ_ÑÐó    c                 ón   • XX#2   nSn[        UR                  S   5       H  nXTU   US-   -  -  nM     U$ ©Nr   é   ©ÚrangeÚshape)r   r   r   r   ÚbÚtotalÚis          r   Úslicing_1d_usecase2r%      sC   € Ø	�ˆ/Ñ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ój   • XU nSn[        UR                  S   5       H  nXCU   US-   -  -  nM     U$ r   r   )r   r   r   r"   r#   r$   s         r   Úslicing_1d_usecase3r'      s@   € Ø	�ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ól   • U S S  nSn[        UR                  S   5       H  nX!U   US-   -  -  nM     U$ r   r   )r   r"   r#   r$   s       r   Úslicing_1d_usecase4r)   $   s@   € Ø	‰!ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ój   • XS  nSn[        UR                  S   5       H  nX2U   US-   -  -  nM     U$ r   r   ©r   r   r"   r#   r$   s        r   Úslicing_1d_usecase5r,   +   s@   € Ø	ˆ&ˆ	€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ól   • U S U nSn[        UR                  S   5       H  nX2U   US-   -  -  nM     U$ r   r   )r   r   r"   r#   r$   s        r   Úslicing_1d_usecase6r.   2   sB   € Ø	ˆ%ˆ4ˆ€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 óp   • XS S2   nSn[        UR                  S   5       H  nX2U   US-   -  -  nM     U$ ©Néþÿÿÿr   r   r   r+   s        r   Úslicing_1d_usecase7r2   9   sD   € à	ˆ)�ˆ)‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ór   • U S S S2   nSn[        UR                  S   5       H  nX2U   US-   -  -  nM     U$ r0   r   r+   s        r   Úslicing_1d_usecase8r4   A   sD   € à	‰$ˆBˆ$‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ó   • XX#2XEU24   $ r   r   )r   Ústart1Ústop1Ústep1Ústart2Ústop2Ústep2s          r   Úslicing_2d_usecaser<   J   s   € à�EÐ ¨eÐ!3Ð3Ñ4Ð4r   c                 ó   • XX#2U4   $ r   r   )r   r6   r7   r8   Úindexs        r   Úslicing_2d_usecase3r?   N   s   € à�EÐ Ð&Ñ'Ð'r   c                 ót   • XUS 2U4   nSn[        UR                  S   5       H  nXTU   US-   -  -  nM     U$ r   r   )r   Úindex0r6   Úindex2r"   r#   r$   s          r   Úslicing_3d_usecaserC   R   sH   € Ø	�&‘'˜6Ð
!Ñ"€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ót   • XS U2U4   nSn[        UR                  S   5       H  nXTU   US-   -  -  nM     U$ r   r   )r   rA   r7   rB   r"   r#   r$   s          r   Úslicing_3d_usecase2rE   Y   sJ   € Ø	�&�5�&˜&Ð
 Ñ!€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ój   • X   nSn[        UR                  S   5       H  nX2U   US-   -  -  nM     U$ r   r   )r   r>   r"   r#   r$   s        r   Úpartial_1d_usecaserG   `   s>   € Ø	‰€AØ€EÜ�1—7‘7˜1‘:ÖˆØ�1‘˜˜Q™‘ÑŠñ à€Lr   c                 ó
   • X   $ r   r   )r   r$   s     r   Úinteger_indexing_1d_usecaserI   g   s	   € Ø‰4€Kr   c                 ó   • XU4   $ r   r   ©r   Úi1Úi2s      r   Úinteger_indexing_2d_usecaserN   j   s   € Ø�ˆU‰8€Or   c                 ó   • X   U   $ r   r   rK   s      r   Úinteger_indexing_2d_usecase2rP   m   s   € Ø‰5�‰9Ðr   c                 ó   • XU2S4   $ ©N.r   ©r   r$   Újs      r   Úellipsis_usecase1rU   p   s   € ØˆqˆS�#ˆX‰;Ðr   c                 ó   • U SX24   $ rR   r   rS   s      r   Úellipsis_usecase2rW   s   s   € ØˆS�!�#ˆX‰;Ðr   c                 ó   • XSU4   $ rR   r   rS   s      r   Úellipsis_usecase3rY   v   s   € Ø��QˆY‰<Ðr   c                 ó   • U S    $ r   r   ©r   s    r   Únone_index_usecaser\   y   s   € ØˆT‰7€Nr   c                 ó   • U S   $ )Nr   r   r[   s    r   Úempty_tuple_usecaser^   |   s   € ØˆR‰5€Lr   c                 ó   • X U'   g r   r   )r   r>   Úvalues      r   Úsetitem_usecasera   €   s	   € à€e‚Hr   c                 ó   • XS S & g r   r   )r   r`   s     r   Úsetitem_broadcast_usecaserc   …   s	   € à�a�Dr   c                 ó   • XX#U2'   U $ r   r   )r   r"   r   r   r   s        r   Úslicing_1d_usecase_setre   Š   s   € Ø€e�€oÑØ€Hr   c                 ó    • XU=== U-  sss& U $ r   r   )r   r"   r   r   s       r   Úslicing_1d_usecase_addrg   Ž   s   € ð ˆDƒM�QÑƒMØ€Hr   c                 ó   • XX#U2XVU24'   U $ r   r   )r   r"   r   r   r   r9   r:   r;   s           r   Úslicing_2d_usecase_setri   ”   s   € Ø,-€e�€o�f 5Ð(Ð(Ñ)Ø€Hr   c                   óÐ  • \ rS rSrSr\4S jrS r\4S jrS r	\4S jr
S r\4S	 jrS
 rS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r\4S jrS r \4S jr!S r"\4S  jr#S! r$\\%4S" jr&S# r'S$ r(S% r)\4S& jr*\4S' jr+S( r,\4S) jr-S* r.\4S+ jr/S, r0\4S- jr1S. r2S/ r3S0 r4\4S1 jr5S2 r6\4S3 jr7S4 r8S5r9g6)7ÚTestGetItemé™   z}
Test basic indexed load from an array (returning a view or a scalar).
Note fancy indexing is tested in test_fancy_indexing.
c                 ó`  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9nS H%  nU" U/UQ76 nU R                  U" U/UQ76 U5        M'     g )Nr   ÚCé
   Úi4©Údtype)©r   ro   r   ©é   é   r   ©ro   r   r   ©r   ro   éÿÿÿÿ©r   ro   ru   )é	   r   ry   ©éûÿÿÿr1   r   ©r   ry   r   )r   r   ÚArrayÚint32r   ÚnpÚarangeÚassertPreciseEqual)	ÚselfÚflagsÚpyfuncÚ	arraytypeÚargtysÚcfuncr   ÚindicesÚexpecteds	            r   Útest_1d_slicingÚ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                 ó*   • U R                  [        S9  g ©N)r…   )rŒ   ÚNoflags©r„   s    r   Útest_1d_slicing_npmÚTestGetItem.test_1d_slicing_npm²   ó   € Ø×Ñ¤7ÐÒ+r   c                 ó<  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9n/ SQnU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     [        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9S S S	2   nU R                  UR                  S
   5        U R                  UR                  S   5        / SQnU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     g )Nr   rn   ro   rp   rq   ©rs   rt   rw   rx   rz   ÚAé   ru   Ú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_slicing2ÚTestGetItem.test_1d_slicing2µ   sN  € Ü$ˆÜ—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                 ó*   • U R                  [        S9  g r�   )r    r�   r‘   s    r   Útest_1d_slicing2_npmÚ TestGetItem.test_1d_slicing2_npmÙ   ó   € Ø×Ñ¤GÐÒ,r   c                 óø  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9n/ SQnU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     [        R                  " [        R                  SS5      nU[        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9S S S	2   nU R                  UR                  S
   5        U R                  UR                  S   5        U H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     g )Nr   rn   ro   rp   rq   ))rv   ro   )ru   rv   )ro   r   ©r   ro   )é   ro   r—   r˜   ru   r™   rš   )
r'   r   r   r€   r   r�   r‚   r›   rœ   r…   r�   s	            r   Útest_1d_slicing3ÚTestGetItem.test_1d_slicing3Ü   s9  € Ü$ˆÜ—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                 ó*   • U R                  [        S9  g r�   )r©   r�   r‘   s    r   Útest_1d_slicing3_npmÚ TestGetItem.test_1d_slicing3_npmú   r¥   r   c                 óL  • [         n[        R                  " [        R                  SS5      nU4n[	        U40 UD6" U5      n[
        R                  " SSS9nU R                  U" U5      U" U5      5        [        R                  " [        R                  SS5      nU4n[	        U40 UD6" U5      n[
        R                  " SSS9S S S2   nU R                  UR                  S	   5        U R                  UR                  S
   5        U R                  U" U5      U" U5      5        g )Nr   rn   ro   rp   rq   r—   r˜   ru   r™   rš   )
r)   r   r   r€   r   r�   r‚   r›   rœ   r…   ©r„   r…   r†   r‡   rˆ   r‰   r   s          r   Útest_1d_slicing4Ú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                 ó*   • U R                  [        S9  g r�   )r°   r�   r‘   s    r   Útest_1d_slicing4_npmÚ TestGetItem.test_1d_slicing4_npm  r¥   r   c                 óÊ  • [        [        SS5      5      n[        R                  " [        R                  SS5      nU[        R                  4n[        U40 UD6" U5      n[        R                  " SSS9nU H!  nU R                  U" Xx5      U" Xx5      5        M#     [        R                  " [        R                  SS5      nU[        R                  4n[        U40 UD6" U5      n[        R                  " SSS9S S S	2   nU R                  UR                  S
   5        U R                  UR                  S   5        U H!  nU R                  U" Xx5      U" Xx5      5        M#     g )Ni÷ÿÿÿro   r   rn   rp   rq   r—   r˜   ru   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_argÚ%TestGetItem.check_1d_slicing_with_arg  s  € Ü”E˜"˜b“MÓ"ˆä—K’K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆÜ�FÑ$˜eÒ$ VÓ,ˆä�IŠI�b Ñ%ˆÛˆCØ×Ñ™V A›^©U°1«]Ö;ñ ô —K’K¤§¡¨Q°Ó4ˆ	ØœUŸ[™[Ð)ˆÜ�FÑ$˜eÒ$ VÓ,ˆä�IŠI�b Ñ%¡c¨ cÑ*ˆØ×Ñ˜Ÿ™ Ñ0Ô1Ø×Ñ˜Ÿ™ Ñ0Ô1ÛˆCØ×Ñ™V A›^©U°1«]Ö;ò r   c                 ó2   • [         nU R                  X!5        g r   )r,   r·   ©r„   r…   r†   s      r   Útest_1d_slicing5ÚTestGetItem.test_1d_slicing5)  ó   € Ü$ˆØ×&Ñ& vÕ5r   c                 ó*   • U R                  [        S9  g r�   )r»   r�   r‘   s    r   Útest_1d_slicing5_npmÚ TestGetItem.test_1d_slicing5_npm-  r¥   r   c                 ó2   • [         nU R                  X!5        g r   )r.   r·   rº   s      r   Útest_1d_slicing6ÚTestGetItem.test_1d_slicing60  r½   r   c                 ó*   • U R                  [        S9  g r�   )rÂ   r�   r‘   s    r   Útest_1d_slicing6_npmÚ TestGetItem.test_1d_slicing6_npm4  r¥   r   c                 ó2   • [         nU R                  X!5        g r   )r2   r·   rº   s      r   Útest_1d_slicing7ÚTestGetItem.test_1d_slicing77  r½   r   c                 ó*   • U R                  [        S9  g r�   )rÈ   r�   r‘   s    r   Útest_1d_slicing7_npmÚ TestGetItem.test_1d_slicing7_npm;  r¥   r   c                 ó2   • [         nU R                  X!5        g r   )r4   r·   rº   s      r   Útest_1d_slicing8ÚTestGetItem.test_1d_slicing8>  r½   r   c                 ó*   • U R                  [        S9  g r�   )rÎ   r�   r‘   s    r   Útest_1d_slicing8_npmÚ TestGetItem.test_1d_slicing8_npmB  r¥   r   c                 ó‚  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      nS H&  nU R                  U" U/UQ76 U" U/UQ76 SU< 3S	9  M(     g
)z
arr_2d[a:b:c]
ru   rn   éd   rp   rq   ro   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_slicingÚ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                 ó*   • U R                  [        S9  g r�   )r×   r�   r‘   s    r   Útest_2d_slicing_npmÚTestGetItem.test_2d_slicing_npmT  r”   r   c                 ó&  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      n/ SQn[        R                  " Xw5       VV	s/ s H	  u  p‰X‰-   PM     n
nn	U
 H%  nU" U/UQ76 nU R                  U" U/UQ76 U5        M'     [        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " S	SS9R                  S
S
5      SSS2SSS24   nU
 H%  nU" U/UQ76 nU R                  U" U/UQ76 U5        M'     gs  sn	nf )z
arr_2d[a:b:c, d:e:f]
ru   rn   rÔ   rp   rq   ro   )	rs   rt   rw   rx   rz   )ro   r   ry   )r{   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_slicing2Ú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Ô$GôIÚ$G‘L�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                 ó*   • U R                  [        S9  g r�   )râ   r�   r‘   s    r   Útest_2d_slicing2_npmÚ TestGetItem.test_2d_slicing2_npm€  r¥   r   c                 óJ  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      n/ SQnU H%  nU" U/UQ76 n	U R                  U" U/UQ76 U	5        M'     [        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " S	SS9R                  S
S
5      SSS2SSS24   nU H%  nU" U/UQ76 n	U R                  U" U/UQ76 U	5        M'     g)z
arr_2d[a:b:c, d]
ru   rn   rÔ   rp   rq   ro   ))r   ro   r   r   )ru   rv   r   r   )ro   r   ry   é   )r{   r   r1   é   )r   ro   ru   rv   )r   ry   rv   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_slicing3ÚTestGetItem.test_2d_slicing3ƒ  sW  € ô
 %ˆÜ—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                 ó*   • U R                  [        S9  g r�   )rê   r�   r‘   s    r   Útest_2d_slicing3_npmÚ TestGetItem.test_2d_slicing3_npm¨  r¥   r   c                 ó   • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SSS5      n/ SQnU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     [        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " S	SS9S S S
2   R                  SSS5      nU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     g ©Nrv   rn   iè  rp   rq   ro   ))r   r{   r   rt   )r{   r   r   )r   r{   ry   )r   r{   ru   r—   iÐ  ru   )	rC   r   r   r€   r   r�   r‚   rÖ   r›   r�   s	            r   Útest_3d_slicingÚTestGetItem.test_3d_slicing«  s5  € ä#ˆÜ—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                 ó*   • U R                  [        S9  g r�   )rñ   r�   r‘   s    r   Útest_3d_slicing_npmÚTestGetItem.test_3d_slicing_npmÈ  r”   r   c                 ó   • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SSS5      n/ SQnU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     [        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " S	SS9S S S
2   R                  SSS5      nU H#  nU R                  U" U/UQ76 U" U/UQ76 5        M%     g rð   )	rE   r   r   r€   r   r�   r‚   rÖ   r›   r�   s	            r   Útest_3d_slicing2ÚTestGetItem.test_3d_slicing2Ë  s5  € ä$ˆÜ—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                 ó*   • U R                  [        S9  g r�   )r÷   r�   r‘   s    r   Útest_3d_slicing2_npmÚ TestGetItem.test_3d_slicing2_npmè  r¥   r   c                 ór  • [         n[        R                  " [        R                  SS5      nU[        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9nU R                  U" US5      U" US5      5        U R                  U" US5      U" US5      5        U R                  U" US5      U" US5      5        [        R                  " [        R                  SS	5      nU[        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9S S S
2   nU R                  UR                  S   5        U R                  UR                  S   5        U R                  U" US5      U" US5      5        U R                  U" US
5      U" US
5      5        U R                  U" US5      U" US5      5        [        R                  " [        R                  SS5      n[        R                  " [        R                  SS5      nX74n[	        U40 UD6" U5      n[
        R                  " SS[
        R                  S9nS Hf  n[
        R                  " U5      R                  [
        R                  5      n	U	R                  S:X  d   eU R                  U" Xi5      U" Xi5      5        Mh     g )Nr   rn   ro   rp   rq   r   r{   ry   r—   ru   r™   rš   rv   é   )r   r{   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_indexingÚ$TestGetItem.test_1d_integer_indexingë  s&  € ä,ˆÜ—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ˆ	ØÐ'ˆÜ�FÑ$˜eÒ$ VÓ,ˆä�IŠI�a˜¤2§8¡8Ñ,ˆÛˆAÜ—(’(˜1“+×$Ñ$¤R§X¡XÓ.ˆCØ—8‘8˜q“=Ð �=Ø×Ñ™V A›^©U°1«]Ö;ò r   c                 ó*   • U R                  [        S9  g r�   )r  r�   r‘   s    r   Útest_1d_integer_indexing_npmÚ(TestGetItem.test_1d_integer_indexing_npm  ó   € Ø×%Ñ%¬GÐ%Ò4r   c                 óØ  • [         n[        R                  " [        R                  SS5      nU[        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      nU R                  U" US5      U" US5      5        U R                  U" US5      U" US5      5        U R                  U" US	5      U" US	5      5        [        R                  " [        R                  SS
5      nU[        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      S S S2   nU R                  U" US5      U" US5      5        g )Nru   rn   rÔ   rp   rq   ro   r   r{   ry   r—   r˜   r¨   ré   )	rI   r   r   r€   r   r�   r‚   rÖ   rƒ   r¯   s          r   Útest_integer_indexing_1d_for_2dÚ+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                 ó*   • U R                  [        S9  g r�   )r  r�   r‘   s    r   Ú#test_integer_indexing_1d_for_2d_npmÚ/TestGetItem.test_integer_indexing_1d_for_2d_npm%  s   € Ø×,Ñ,´7Ð,Ò;r   c           	      óR  • [         R                  " SSS9R                  SS5      n[        R                  " [        R
                  SS5      nU[        R
                  [        R
                  4n[        U40 UD6" U5      nU R                  U" USS5      U" USS5      5        U R                  U" US	S	5      U" US	S	5      5        U R                  U" US
S5      U" US
S5      5        [         R                  " SSS9R                  SS5      S S S2S S S24   nU R                  UR                  S   5        U R                  UR                  S   5        [        R                  " [        R
                  SS5      nU[        R
                  [        R
                  4n[        U40 UD6" U5      nU R                  U" USS5      U" USS5      5        U R                  U" USS5      U" USS5      5        U R                  U" US
S5      U" US
S5      5        [         R                  " SSS9R                  SS5      n[        R                  " [        R
                  SS5      n[        R                  " [        R
                  SS5      nXGU4n[        U40 UD6" U5      nS H‹  u  p‰[         R                  " U5      R                  [         R
                  5      n[         R                  " U	5      R                  [         R
                  5      n	U R                  U" X8U	5      U" X8U	5      5        M�     g )NrÔ   rp   rq   ro   ru   rn   r   rv   r{   r1   ry   r™   rš   r—   r   ))r   rv   )rè   r{   )r1   ry   )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_indexingÚ$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ˆ	Ø¨	Ð2ˆÜ�FÑ$˜eÒ$ VÓ,ˆã.‰DˆAÜ—’˜“×"Ñ"¤2§8¡8Ó,ˆAÜ—’˜“×"Ñ"¤2§8¡8Ó,ˆAØ×Ñ™V A¨!›_©e°A¸!«nÖ=ò /r   c                 ó*   • U R                  [        S9  g r�   )r  r�   r‘   s    r   Útest_2d_integer_indexing_npmÚ(TestGetItem.test_2d_integer_indexing_npmM  r	  r   c                 óZ   • U R                  [        S9  U R                  [        [        S9  g )N)r†   )r…   r†   )r  rP   r�   r‘   s    r   Útest_2d_integer_indexing2Ú%TestGetItem.test_2d_integer_indexing2P  s-   € Ø×%Ñ%Ô-IÐ%ÑJØ×%Ñ%¬GÜ-Ið 	&ò 	Kr   c                 óH  ^• [         S 5       m[         U4S j5       n[        R                  " S5      R                  SS5      nU R	                  U" USS5      US   S   5        U R	                  U" USS5      US   S   5        U R	                  U" USS5      US   S   5        g )	Nc                 ó
   • X   $ r   r   )ÚXÚi0s     r   Úindex1Ú=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index1V  s	   € à‘5ˆLr   c                 ó   >• T" X   U5      $ r   r   )r  r  rL   r  s      €r   rB   Ú=TestGetItem.test_2d_integer_indexing_via_call.<locals>.index2Y  s   ø€ á˜!™% Ó$Ð$r   ro   ru   r¨   r   r   ry   )r   r�   r‚   rÖ   r›   )r„   rB   r   r  s      @r   Ú!test_2d_integer_indexing_via_callÚ-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                 óØ  • [         R                  " SSS9R                  SS5      n[        n[        R
                  " [        R                  SS5      nU[        R                  [        R                  4n[        U40 UD6" U5      nU R                  U" USS5      U" USS5      5        U R                  U" USS5      U" USS5      5        U R                  U" US	S	5      U" US	S	5      5        g )
NrÔ   rp   rq   ro   ru   rn   r   r{   ry   )
r�   r‚   rÖ   rN   r   r   r€   Úfloat32r   r›   )r„   r…   r   r†   r‡   rˆ   r‰   s          r   Útest_2d_float_indexingÚ"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                 ó2  ^ ^^• [         mUUU 4S jn[        R                  " SSS9R                  S5      n[        R
                  " [        R                  SS5      nU" X45        [        R                  " SSS9R                  S5      R                  n[        R
                  " [        R                  SS	5      nU" X45        [        R                  " SSS9R                  S5      S S S2   n[        R
                  " [        R                  SS
5      nU" X45        g )Nc                 ó.  >• U[         R                  4n[        U40 TD6" T5      nTR                  T" U S5      U" U S5      5        U R                  S   S-
  nTR                  T" X5      U" X5      5        TR                  T" U S5      U" U S5      5        g )Nr   r   ry   )r   r€   r   r›   r!   )Úarrr‡   rˆ   r‰   Únr…   r†   r„   s        €€€r   ÚcheckÚ3TestGetItem.test_partial_1d_indexing.<locals>.checko  s‡   ø€ Ø¤§¡Ð-ˆFÜ˜Ñ( %Ò(¨Ó0ˆEØ×Ñ™V C¨›^©U°3¸«]Ô;Ø—	‘	˜!‘˜qÑ ˆAØ×Ñ™V C›^©U°3«]Ô;Ø×Ñ™V C¨›_©e°C¸«nÕ=r   é   rp   rq   )ré   rv   ru   rn   )rv   ré   ÚFr—   )rG   r�   r‚   rÖ   r   r   r€   ÚT)r„   r…   r+  r   r‡   r†   s   ``   @r   Útest_partial_1d_indexingÚ$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                 óÔ   ^^^• UU4S jmUU4S jnU" [         R                  " SSS9R                  SS5      5        U" [         R                  " SSS9R                  SSS5      5        g )	Nc                 ó|   >• [        U 5      [        R                  [        R                  4n[        U40 TD6" T5      $ r   )r   r   r   r   )r)  rˆ   r…   r†   s     €€r   Úcompile_funcÚ0TestGetItem.check_ellipsis.<locals>.compile_func„  s0   ø€ Ü˜S“k¤5§:¡:¬u¯z©zÐ:ˆFÜ�vÑ' Ò'¨Ó/Ð/r   c           	      óÆ   >• SnT" U 5      n[         R                  " X5       H<  u  p4U" XU5      n[        R                  R	                  T" XU5      U" XU5      5        M>     g )N)r   r   ru   ry   r1   )rÞ   rß   r�   ÚtestingÚassert_equal)r   Úboundsr‰   r$   rT   Úxr4  r†   s         €€r   ÚrunÚ'TestGetItem.check_ellipsis.<locals>.runˆ  sS   ø€ Ø&ˆFÙ  “OˆEÜ!×)Ò)¨&Ö9‘�Ù˜! “N�Ü—
‘
×'Ñ'©¨q°Q«¹¸qÀQ»ÖHò :r   é   rp   rq   ré   é   rv   )r�   r‚   rÖ   )r„   r†   r…   r;  r4  s    `` @r   Úcheck_ellipsisÚTestGetItem.check_ellipsisƒ  sR   ú€ ö	0ö	Iñ 	ŒB�IŠI�b Ñ%×-Ñ-¨a°Ó3Ô4ÙŒB�IŠI�b Ñ%×-Ñ-¨a°°AÓ6Õ7r   c                 ó0   • U R                  [        U5        g r   )r?  rU   ©r„   r…   s     r   Útest_ellipsis1ÚTestGetItem.test_ellipsis1’  ó   € Ø×ÑÔ-¨uÕ5r   c                 ó*   • U R                  [        S9  g r�   )rC  r�   r‘   s    r   Útest_ellipsis1_npmÚTestGetItem.test_ellipsis1_npm•  ó   € Ø×Ñ¤'ÐÒ*r   c                 ó0   • U R                  [        U5        g r   )r?  rW   rB  s     r   Útest_ellipsis2ÚTestGetItem.test_ellipsis2˜  rE  r   c                 ó*   • U R                  [        S9  g r�   )rK  r�   r‘   s    r   Útest_ellipsis2_npmÚTestGetItem.test_ellipsis2_npm›  rI  r   c                 ó0   • U R                  [        U5        g r   )r?  rY   rB  s     r   Útest_ellipsis3ÚTestGetItem.test_ellipsis3ž  rE  r   c                 ó*   • U R                  [        S9  g r�   )rQ  r�   r‘   s    r   Útest_ellipsis3_npmÚTestGetItem.test_ellipsis3_npm¡  rI  r   c                 óè   • [         S 5       nUR                  nSnSn[        R                  " X4-  5      R	                  X45      nU" U5      nU" U5      n[        R
                  R                  Xg5        g )Nc                 óŒ   • [         R                  " U 5      nSn[         R                  " U SU4   5       H  u  p4XAU   U'   M     U$ )Nr   .)r�   Ú
zeros_likeÚndenumerate)r)  Úoutr$   r>   Úvals        r   ÚudtÚ0TestGetItem.test_ellipsis_issue1498.<locals>.udt§  sD   € ä—-’- Ó$ˆCØˆAÜ Ÿnšn¨S°°a°©[Ö9‘
�Ø #�E‘
˜1“ñ :ð ˆJr   ré   )r   Úpy_funcr�   r‚   rÖ   r7  r8  )r„   r\  r^  Ú	outersizeÚ	innersizer)  Úgotr‹   s           r   Útest_ellipsis_issue1498Ú#TestGetItem.test_ellipsis_issue1498¤  sk   € ô 
ñ	ó 
ð	ð —+‘+ˆàˆ	Øˆ	Ü�iŠi˜	Ñ-Ó.×6Ñ6°yÓLˆÙ�#‹hˆÙ˜3“<ˆÜ
�
‰
×Ñ Õ.r   c                 ó¸   • [         S 5       n[        R                  " S5      nU" U5      nUR                  U5      n[        R                  R                  X45        g )Nc                 ó   • U S   $ )N).r   r   )r)  s    r   r\  Ú0TestGetItem.test_ellipsis_issue1499.<locals>.udt¼  s   € à�v‘;Ðr   rv   )r   r�   r‚   r^  r7  r8  )r„   r\  r)  ra  r‹   s        r   Útest_ellipsis_issue1499Ú#TestGetItem.test_ellipsis_issue1499¹  sN   € ô 
ñ	ó 
ð	ô �iŠi˜‹lˆÙ�#‹hˆØ—;‘;˜sÓ#ˆÜ
�
‰
×Ñ Õ.r   c                 ó  • [         n[        R                  " [        R                  SS5      nU4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      nU R                  U" U5      U" U5      5        g )Nru   rn   rÔ   rp   rq   ro   )	r\   r   r   r€   r   r�   r‚   rÖ   rƒ   r¯   s          r   Útest_none_indexÚTestGetItem.test_none_indexÅ  sm   € Ü#ˆÜ—K’K¤§¡¨Q°Ó4ˆ	à�ˆÜ�FÑ$˜eÒ$ VÓ,ˆä�IŠI�c Ñ&×.Ñ.¨r°2Ó6ˆØ×Ñ¡ q£	©5°«8Õ4r   c                 ó~   • U R                  5          U R                  [        S9  S S S 5        g ! , (       d  f       g = fr�   )ÚassertTypingErrorrj  r�   r‘   s    r   Útest_none_index_npmÚTestGetItem.test_none_index_npmÏ  s+   € Ø×#Ñ#Õ%Ø× Ñ ¤wÐ Ñ/÷ &×%Ö%ús   ‘.®
<c                 ó
  • [         n[        R                  " [        R                  SS5      nU4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  S5      nU R                  U" U5      U" U5      5        g )Nr   rn   r   rp   rq   r   )	r^   r   r   r€   r   r�   r‚   rÖ   rƒ   r¯   s          r   Útest_empty_tuple_indexingÚ%TestGetItem.test_empty_tuple_indexingÓ  sk   € Ü$ˆÜ—K’K¤§¡¨Q°Ó4ˆ	Ø�ˆÜ�FÑ$˜eÒ$ VÓ,ˆä�IŠI�a˜tÑ$×,Ñ,¨RÓ0ˆØ×Ñ¡ q£	©5°«8Õ4r   c                 ó*   • U R                  [        S9  g r�   )rq  r�   r‘   s    r   Útest_empty_tuple_indexing_npmÚ)TestGetItem.test_empty_tuple_indexing_npmÜ  ó   € Ø×&Ñ&¬WÐ&Ò5r   r   N):Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__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%  r0  r?  rC  rG  rK  rN  rQ  rT  rb  rg  rj  rn  rq  rt  Ú__static_attributes__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ò0ð /Aô 5õ6r   rk   c                   óÆ   • \ rS rSrSr\4S jr\4S jrS r\4S jr	\4S jr
\4S jr\4S	 jrS
 rS rS rS rS r\4S jr\4S jrS rS rS rS rS rS rS rSrg)ÚTestSetItemià  z_
Test basic indexed store into an array.
Note fancy indexing is tested in test_fancy_indexing.
c                 ó¾   • SSK Jn  S nU" S0 UD6" U5      n[        R                  " SSS9nUR	                  5       nU" U5        U" U5        U R                  XV5        g)	z8this used to work, and was used in one of the tutorials r   )r   c                 óp   • [        [        U 5      5       H  nU[        R                  " S5      -  X'   M      g )NrÔ   )r    ÚlenÚdecimalÚDecimal)rÿ   r>   s     r   r†   Ú3TestSetItem.test_conversion_setitem.<locals>.pyfuncê  s*   € Üœs 5›zÖ*�Ø$¤w§¢°sÓ';Ñ;�“ò +r   rÔ   rL   rq   N)zvoid(i8[:]))Únumbar   r�   r‚   Úcopyrƒ   )r„   r…   r   r†   r‰   r\  Úcontrols          r   Útest_conversion_setitemÚ#TestSetItem.test_conversion_setitemæ  sU   € åò	<ñ Ñ+ UÒ+¨FÓ3ˆä�iŠi˜ 4Ñ(ˆØ—(‘(“*ˆÙˆwŒÙˆcŒ
Ø×Ñ Õ-r   c                 ó>  ^• [         n[        R                  " [        R                  SS5      n[        R                  " [        R                  SS5      nX4[        R                  [        R                  [        R                  4n[        U40 UD6" U5      nSn[        R                  " USS9S-   mSS	US	-
  XwS-   US
-   SU* S	-   U* U* S-
  U* S
-
  /nU4S jn	[        R                  " Xˆ5       HP  u  p«S HE  nX«U4n[        U6 nU" U	" 5       TU   /UQ76 nU" U	" 5       TU   /UQ76 nU R                  UU5        MG     MR     U R                  [        5         U" [        R                  " T[        R                  S9TSSS5        SSS5        g! , (       d  f       g= f)z
1d to 1d slice assignment
r   rn   r—   ro   rM   rq   é(   r   ru   rv   r1   c                  ó.   >• [         R                  " T SS9$ )Nrp   rq   )r�   rX  )rŸ   s   €r   Ú	make_destÚ2TestSetItem.test_1d_slicing_set.<locals>.make_dest  s   ø€ Ü—=’= ¨DÑ1Ð1r   ©r   ru   ry   r1   N)re   r   r   r€   rþ   r   r�   r‚   rÞ   rß   Úslicerƒ   ÚassertRaisesÚ
ValueErrorrX  )r„   r…   r†   Ú	dest_typeÚsrc_typerˆ   r‰   ÚNr9  rŽ  r   r   r   rž   r>   ÚpyleftÚcleftrŸ   s                    @r   Útest_1d_slicing_setÚTestSetItem.test_1d_slicing_setö  so  ø€ ô (ˆô —K’K¤§¡¨Q°Ó4ˆ	Ü—;’;œuŸ{™{¨A¨sÓ3ˆØ¤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Ö<‰KˆEÛ&�Ø DÐ(�Ü˜t˜�Ù¡	£¨S°©ZÐ?¸$Ò?�Ù™i›k¨3¨u©:Ð=¸Ò=�Ø×'Ñ'¨°Ö6ó 'ñ =ð ×ÑœzÕ*Ù”"—-’- ¬2¯8©8Ñ4°c¸1¸aÀÔC÷ +×*Ö*ús   Å.FÆ
Fc                 ól  • [         n[        R                  " [        R                  SS5      nXR[        R                  [        R                  [        R                  4n[	        U40 UD6" U5      R
                  U   R                  nSn[        U5      n	[        R                  " U[        R                  S9n
USU* U	-   S-   S4nU" U
R                  5       /UQ76 nU" U
R                  5       /UQ76 nU R                  XÍ5        USU* U	-   S4nU R                  [        5       nU" U
R                  5       /UQ76   SSS5        UR                  SS5      (       aL  [        U
[        SU* U	-   S5         5      nSU	 S	U S
3nU R!                  U[#        WR$                  5      5        gg! , (       d  f       Nr= f)z)
Generic sequence to 1d slice assignment
r   rn   ro   rq   Nr   Fzcannot assign slice of shape (z,) from input of shape (z,))re   r   r   r€   r   Ú	overloadsÚentry_pointr‚  r�   r‚   r‡  rƒ   r’  r“  Úgetr‘  ÚassertInÚstrÚ	exception)r„   r…   ÚseqtyÚseqr†   r”  rˆ   r‰   r–  ÚkrŸ   rž   r‹   ra  ÚraisesÚ
slice_sizerÕ   s                    r   Úcheck_1d_slicing_set_sequenceÚ)TestSetItem.check_1d_slicing_set_sequence  s€  € ô (ˆÜ—K’K¤§¡¨Q°Ó4ˆ	Ø¤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%Æ%
F3c                 óp   • U R                  U[        R                  " [        R                  S5      S5        g)z
Tuple to 1d slice assignment
ru   )rè   éÖÿÿÿN)r§  r   ÚUniTuplerþ   rB  s     r   Útest_1d_slicing_set_tupleÚ%TestSetItem.test_1d_slicing_set_tuple3  s(   € ð 	×*Ñ*Ø”5—>’>¤%§+¡+¨qÓ1°8õ	=r   c                 ór   • U R                  U[        R                  " [        R                  5      SS/5        g)z
List to 1d slice assignment
rè   rª  N)r§  r   ÚListrþ   rB  s     r   Útest_1d_slicing_set_listÚ$TestSetItem.test_1d_slicing_set_list:  s*   € ð 	×*Ñ*Ø”5—:’:œeŸk™kÓ*¨Q°¨Hõ	6r   c                 óJ  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  4n[        U40 UD6" U5      nSn[        R                  " USS9nSnSSUS-
  XfS-   US	-   S
U* S-   U* U* S-
  U* S	-
  /n	[        R                  " X™5       HQ  u  p«S HF  nXŠX¼4nU" UR                  5       /UQ76 nU" UR                  5       /UQ76 nU R                  Xï5        MH     MS     g)z
scalar to 1d slice assignment
r   rn   ro   rp   rq   é*   r   ru   rv   r1   r�  N)re   r   r   r€   rþ   r   r�   r‚   rÞ   rß   r‡  rƒ   )r„   r…   r†   r‡   rˆ   r‰   r–  rŸ   r[  r9  r   r   r   rž   r—  r˜  s                   r   Útest_1d_slicing_broadcastÚ%TestSetItem.test_1d_slicing_broadcastA  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Ö<‰KˆEÛ&�Ø 4Ð-�Ù §¡£
Ð2¨TÒ2�Ù˜cŸh™h›jÐ0¨4Ò0�Ø×'Ñ'¨Ö6ó	 'ò =r   c                 ó¼  • [         n[        R                  " [        R                  SS5      nX3[        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9nS Hb  nU" [
        R                  " U5      U[        U6    /UQ76 nU" [
        R                  " U5      U[        U6    /UQ76 n	U R                  X‰5        Md     g )Nr   rn   ro   rp   rq   )r§   )ru   r¨   )
rg   r   r   r€   r   r�   r‚   rX  r‘  rƒ   )
r„   r…   r†   r‡   rˆ   r‰   rŸ   Útestr—  r˜  s
             r   Útest_1d_slicing_addÚTestSetItem.test_1d_slicing_addX  s³   € Ü'ˆÜ—K’K¤§¡¨Q°Ó4ˆ	Ø¬¯©´U·[±[ÐAˆÜ�FÑ$˜eÒ$ VÓ,ˆä�iŠi˜ $Ñ'ˆÛ%ˆDÙœBŸMšM¨#Ó.°´E¸4°LÑ0AÐIÀDÒIˆFÙœ"Ÿ-š-¨Ó,¨c´%¸°,Ñ.?ÐGÀ$ÒGˆEØ×#Ñ# FÖ2ò &r   c                 ó*   • U R                  [        S9  g r�   )r™  r�   r‘   s    r   Útest_1d_slicing_set_npmÚ#TestSetItem.test_1d_slicing_set_npmd  ó   € Ø× Ñ ¤wÐ Ò/r   c                 ó*   • U R                  [        S9  g r�   )r°  r�   r‘   s    r   Útest_1d_slicing_set_list_npmÚ(TestSetItem.test_1d_slicing_set_list_npmg  r	  r   c                 ó*   • U R                  [        S9  g r�   )r¬  r�   r‘   s    r   Útest_1d_slicing_set_tuple_npmÚ)TestSetItem.test_1d_slicing_set_tuple_npmj  rv  r   c                 ó*   • U R                  [        S9  g r�   )r´  r�   r‘   s    r   Útest_1d_slicing_broadcast_npmÚ)TestSetItem.test_1d_slicing_broadcast_npmm  rv  r   c                 ó*   • U R                  [        S9  g r�   )r¸  r�   r‘   s    r   Útest_1d_slicing_add_npmÚ#TestSetItem.test_1d_slicing_add_npmp  r½  r   c                 ó”  • [         n[        R                  " [        R                  SS5      nX3[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  4n[	        U40 UD6" U5      n[
        R                  " SSS9R                  SS5      n/ SQnU H~  nU" [
        R                  " U5      U[        USS	 6 [        US	S
 6 4   /UQ76 n	U" [
        R                  " U5      U[        USS	 6 [        US	S
 6 4   /UQ76 n
U R                  X©5        M€     g)z
2d to 2d slice assignment
ru   r—   rÔ   rp   rq   ro   ©)r   ro   r   r   ro   r   )ru   rv   r   ru   rv   r   )ro   r   r   ro   r   r   )r   ro   ry   r   ro   ry   )r   ro   ru   r   ro   ru   r   rv   é   N)ri   r   r   r€   r   r�   r‚   rÖ   rX  r‘  rƒ   )r„   r…   r†   r‡   rˆ   r‰   rŸ   Útestsr·  r—  r˜  s              r   Útest_2d_slicing_setÚTestSetItem.test_2d_slicing_sets  s  € ô (ˆÜ—K’K¤§¡¨Q°Ó4ˆ	Ø¬¯©´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Ö2ò r   c                 óB  • [         n[        R                  " [        R                  SS5      nU[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  4n[        U40 UD6" U5      n[        R                  " SSS9R                  SS5      nSn/ SQnU HD  n	U" UR                  5       U/U	Q76 n
U" UR                  5       U/U	Q76 nU R                  Xº5        MF     g	)
z
scalar to 2d slice assignment
ru   rn   rÔ   rp   rq   ro   r³  rË  N)ri   r   r   r€   rþ   r   r�   r‚   rÖ   r‡  rƒ   )r„   r…   r†   r‡   rˆ   r‰   rŸ   r[  rÍ  r·  r—  r˜  s               r   Útest_2d_slicing_broadcastÚ%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Ö2ò r   c                 ó*   • U R                  [        S9  g r�   )rÎ  r�   r‘   s    r   Útest_2d_slicing_set_npmÚ#TestSetItem.test_2d_slicing_set_npm¤  r½  r   c                 ó*   • U R                  [        S9  g r�   )rÑ  r�   r‘   s    r   Útest_2d_slicing_broadcast_npmÚ)TestSetItem.test_2d_slicing_broadcast_npm§  rv  r   c                 ó  • [         R                  " S5      n[        USS5        U R                  UR	                  5       / SQ5        [        U[         R
                  " S5      R                  [         R                  5      S5        U R                  UR	                  5       / SQ5        [         R                  " S5      R                  SS5      n[        USS5        U R                  UR	                  5       / S	Q/ S
Q/ SQ/5        g)z
scalar indexed assignment
r¨   r   r³  )r   r³  ru   rv   ré   rv   rè   )r   r³  ru   rè   ré   r{   )r   r   ru   )r³  r³  r³  )rÌ  é   rè   N)	r�   r‚   ra   r›   Útolistrÿ   r   Úuint16rÖ   )r„   r)  s     r   Útest_setitemÚ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           	      óZ  • [         R                  " S5      n[        US5        U R                  UR	                  5       S/S-  5        [         R                  " S5      R                  SS5      n[        U[         R                  " SS5      5        U R                  UR	                  5       / SQ/ SQ/5        [         R                  " S5      R                  SS5      n[        U[         R                  " SS5      R                  SS5      5        U R                  UR	                  5       / SQ/ SQ/5        [         R                  " S	5      R                  SSSS5      n[        U[         R                  " SS5      R                  SS5      5        / SQ/ SQ/nU R                  UR	                  5       U//S-  5        [         R                  " S5      n[        U[         R                  " SS5      R                  SS5      5        U R                  UR	                  5       / S
Q5        [         R                  " S5      R                  SS5      n[        U[         R                  " SSUR                  -   5      R                  SSSS5      5        U R                  UR	                  5       / SQ/ SQ/5        g)z
broadcasted array assignment
r¨   r³  rÌ  ru   rv   r   ré   )r   ru   rv   r-  )r   ru   rv   ré   r¨   )ré   r¨   rÌ  N)r�   r‚   rc   r›   rÛ  rÖ   Úsize)r„   ÚdstÚinner2s      r   Útest_setitem_broadcastÚ"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                 óÖ  • [         R                  " S5      n[         R                  " S5      R                  SS5      nU R                  [        5       n[        X5        S S S 5        [        WR                  5      nU R                  SU5        [         R                  " S5      R                  SS5      n[         R                  " S5      R                  SSS5      nU R                  [        5       n[        X5        S S S 5        [        UR                  5      nU R                  SU5        [         R                  " S5      R                  SS5      n[         R                  " S5      nU R                  [        5       n[        X5        S S S 5        [        UR                  5      nU R                  SU5        g ! , (       d  f       GN`= f! , (       d  f       NÔ= f! , (       d  f       NY= f)	Nr¨   ro   ru   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Ö   r’  r“  rc   r   r¡  r›   )r„   rá  Úsrcr¥  Úerrmsgs        r   Útest_setitem_broadcast_errorÚ(TestSetItem.test_setitem_broadcast_error×  sn  € ô �iŠi˜‹lˆÜ�iŠi˜‹m×#Ñ# A qÓ)ˆØ×ÑœzÔ*¨fÜ% cÔ/÷ +ä�V×%Ñ%Ó&ˆØ×ÑÐGØô	!ô �iŠi˜‹l×"Ñ" 1 aÓ(ˆÜ�iŠi˜‹m×#Ñ# A q¨!Ó,ˆØ×ÑœzÔ*¨fÜ% cÔ/÷ +ä�V×%Ñ%Ó&ˆØ×Ñð )àô	!ô
 �iŠi˜‹m×#Ñ# A qÓ)ˆÜ�iŠi˜‹lˆØ×ÑœzÔ*¨fÜ% cÔ/÷ +ä�V×%Ñ%Ó&ˆØ×Ñð (àõ	 ÷+ +Ö*ú÷ +Õ*ú÷ +Õ*ús$   ÁF7Ã/G	Å;GÆ7
GÇ	
GÇ
G(c                 óÜ  • [         R                  " S5      R                  SS5      n[         R                  " SS5      n[        XSSS5        U R	                  UR                  5       SS/SS/SS//5        [         R                  " S5      R                  SS5      n[         R                  " SS5      n[        XSS S5        U R	                  UR                  5       SS/SS/SS//5        [         R                  " S5      R                  SS5      n[         R                  " SS5      R                  SS5      n[        XS SS5        U R	                  UR                  5       SS/SS/SS//5        g )NrÌ  rv   ru   r   r   ré   r¨   )r�   r‚   rÖ   re   r›   rÛ  )r„   rá  ræ  s      r   Útest_slicing_1d_broadcastÚ%TestSetItem.test_slicing_1d_broadcastõ  s/  € ä�iŠi˜‹l×"Ñ" 1 aÓ(ˆÜ�iŠi˜˜1‹oˆÜ˜s¨¨A¨qÔ1Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Ô@ä�iŠi˜‹l×"Ñ" 1 aÓ(ˆÜ�iŠi˜˜1‹oˆÜ˜s¨¨D°!Ô4Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Ô@ä�iŠi˜‹l×"Ñ" 1 aÓ(ˆÜ�iŠi˜˜1‹o×%Ñ% a¨Ó+ˆÜ˜s¨¨q°!Ô4Ø×Ñ˜Ÿ™›¨¨A¨°°A°¸¸A¸Ð'?Õ@r   c                 ó4  • [         R                  " S5      nSUR                  l        U R	                  [
        [        R                  45       n[        USS5        S S S 5        U R                  S[        WR                  5      5        g ! , (       d  f       N4= f)Nr¨   Fr   r³  z%Cannot modify readonly array of type:)r�   r‚   r…   Ú	writeabler’  Ú	TypeErrorr   ÚTypingErrorra   rŸ  r   r¡  )r„   r)  r¥  s      r   Útest_setitem_readonlyÚ!TestSetItem.test_setitem_readonly  so   € Ü�iŠi˜‹lˆØ#ˆ�	‰	ÔØ×Ñ¤	¬6×+=Ñ+=Ð>Ô?À6Ü˜C  BÔ'÷ @à�‰Ð=Ü˜&×*Ñ*Ó+õ	-÷ @Õ?ús   ÁB	Â	
Br   N)rw  rx  ry  rz  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  à  sŸ   † ñð
 -?ô .ð  );ô Dò<6ð> /Aô =ð .@ô 6ð /Aô 7ð. );ô 
3ò0ò5ò6ò6ò0ð );ô 3ð. /Aô 3ò40ò6òMò?ò< ò<Aõ"-r   r  c                   ó   • \ rS rSrSrS rSrg)Ú
TestTypingi  z+
Check typing of basic indexing operations
c                 ó¦  • [         R                  n[        R                  " [        R                  SS5      n[        R                  " [        R                  SS5      n[        R                  " [        R                  SS5      nS[
        4SS4[        4SS4[        4SS4[        [        4SS4[        [        4SS4[        [        4SS4[        [        4SS4[        4SS4[
        [        4SS4[
        [        4SS4[
        [        [        4SS4[
        [        [        4SS4[
        [        [        4SS4[
        [        4SS4[
        [        [        4SS4[        [
        [        4SS4[        [
        [        4SS4[        [        [        4SS4[        [
        [        [        4SS4[        [        [        4SS4[        [        [
        [        4SS4[        [        [        4SS4[        [        [        4SS4[        [        [        4SS4/nU H”  u  pgn[        R                  " U5      n	U" X)5      n
U R                  [        U
R                  5      U5        U R                  U
R                  R                  U(       a  SOSU5        U R                  U
R                   5        M–     U H”  u  phn[        R                  " U5      n	U" X95      n
U R                  [        U
R                  5      U5        U R                  U
R                  R                  U(       a  SOSU5        U R                  U
R                   5        M–     U H‹  u  n  n[        R                  " U5      n	U" XI5      n
U R                  [        U
R                  5      U5        U R                  U
R                  R                  S5        U R                  U
R                   5        M�     g)	zK
Check an appropriate layout is inferred for the result of array
indexing.
rv   rn   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_layoutÚTestTyping.test_layout  s4  € ô ×-Ñ-ˆä�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   r   N)rw  rx  ry  rz  r{  r  r}  r   r   r   rô  rô    s   † ñõG)r   rô  Ú__main__)8rƒ  rÞ   Únumpyr�   Úunittestr†  r   r   r   Ú
numba.corer   r   r   Únumba.tests.supportr	   r
   Únumba.core.typingr   Únumba.core.typesr   r   r   r   r|  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   r  rô  rw  Úmainr   r   r   Ú<module>r     s%  ðÛ Û ã ã ß #Ñ #ß +Ñ +ß -Ý 'ß EÓ Eð ! $Ð'Ð à�tÐ
€òòòòòòòòò5ò(òòòòòòòòòòòð ñó ðð ñó ðòòòô
D	6�(ô D	6ôNl-�(ô l-ô^	L)�ô L)ð^ ˆzÓØ‡M‚M…Oð r   