Ë
    6Š·jp`  ã                   óö  — d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZmZmZmZ  G d„ d«      Z G d„ d«      Z G d„ d	«      Z G d
„ d«      Z G d„ d«      Z G d„ d«      Zd„ Z G d„ d«      Zd„ Z  G d„ d«      Z!d„ Z"d„ Z#e jH                  jK                  dddddgdg«      d„ «       Z&d„ Z'd „ Z(d!„ Z)d"„ Z*d#„ Z+d$„ Z,d%„ Z-e jH                  jK                  d&g d'¢«      d(„ «       Z.d)„ Z/d*„ Z0y)+é    N)Úc_Údiag_indicesÚdiag_indices_fromÚfill_diagonalÚ	index_expÚix_ÚmgridÚndenumerateÚndindexÚogridÚr_Ús_)Úassert_Úassert_almost_equalÚassert_array_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexc                   ó�   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  dg d	¢«      d
„ «       Zd„ Zd„ Zd„ Zy)ÚTestRavelUnravelIndexc                 ót  — t        t        j                  dd«      d«       t        t        j                  dd¬«      d«       t        t        «      5  t        j                  dd¬«       d d d «       t        t        «      5  t        j                  dd¬«       d d d «       t        t        «      5  t        j                  dd¬	«       d d d «       t        t        «      5  t        j                  dd¬
«       d d d «       t        t        j
                  dd«      d«       t        t        j                  dd«      d«       t        t        j
                  dd«      d«       t        t        t        j                  dd«       t        t        t        j                  dd«       t        t        t        j                  dd«       t        t        t        j
                  dd«       t        t        t        j
                  dd«       t        t        t        j
                  dd«       t        t        t        j
                  dd«       t        t        t        j
                  dd«       t        t        j                  dd«      g d¢«       t        t        j
                  g d¢d«      d«       t        j                  g d¢g d¢g«      }t        t        j
                  |d«      g d¢«       t        t        j
                  |dd¬«      g d¢«       t        t        j
                  |dd¬ «      g d!¢«       t        t        j
                  |d"d#¬ «      g d$¢«       t        t        j
                  d%d&«      d'«       t        t        j                  t        j                  g d¢«      d«      g d¢g d¢g«       t        t        j                  t        j                  g d¢«      dd¬«      g d¢g d¢g«       t        t        j                  d'd&«      g d%¢«       y # 1 sw Y   �ŒŸxY w# 1 sw Y   �Œ}xY w# 1 sw Y   �Œ[xY w# 1 sw Y   �Œ9xY w)(Né   ©r   r   ©é   r   )ÚindicesÚshape)r   Úhape)r   éþ   )é   é^   )Úims)Údims)r   éB   éÿÿÿÿg      à?é   )éýÿÿÿr   )r   r   )r   r(   ©r   r   )çš™™™™™¹?g        é.   )r'   é   é   ©r   r   r'   )r,   r-   r-   )r'   é   r   )é   r-   )é   é)   é%   ÚF©Úorder)é   r2   é   )r'   r-   Úclip©Úmode)r1   é   é   ©r'   r'   )r9   Úwrap)é   r8   r8   )r,   r   r'   r   )r-   r0   é   é	   iU  )r   ÚnpÚunravel_indexr   Ú	TypeErrorÚravel_multi_indexÚ
ValueErrorÚarray)ÚselfÚarrs     úW/root/workspace/.venv/lib/python3.12/site-packages/numpy/lib/tests/test_index_tricks.pyÚ
test_basicz TestRavelUnravelIndex.test_basic   s  € Ü”R×%Ñ% a¨Ó0°&Ô9ô 	”R×%Ñ%¨aØ,2ô4à&,ô	.ô œ9Ó%ñ 	5Ü×Ñ Q¨VÕ4÷	5ô œ9Ó%ñ 	-Ü×Ñ˜Q VÕ,÷	-ô œ9Ó%ñ 	0Ü×Ñ˜S hÕ/÷	0ô œ9Ó%ñ 	1Ü×Ñ˜S xÕ0÷	1ô 	”R×)Ñ)¨&°&Ó9¸1Ô=Ü”R×%Ñ% c¨8Ó4°gÔ>Ü”R×)Ñ)¨'°8Ó<¸cÔBÜ”j¤"×"2Ñ"2°B¸Ô?Ü”i¤×!1Ñ!1°3¸Ô?Ü”j¤"×"2Ñ"2°A°vÔ>Ü”j¤"×"6Ñ"6¸ÀÔHÜ”j¤"×"6Ñ"6¸ÀÔGÜ”j¤"×"6Ñ"6¸ÀÔHÜ”j¤"×"6Ñ"6¸ÀÔGÜ”i¤×!5Ñ!5°yÀ&ÔIä”R×%Ñ%Ð&9¸9ÓEÂyÔQÜÜ× Ñ ¢¨IÓ6Ð8Kô	Mô �h‰hš	¢9Ð-Ó.ˆÜ”R×)Ñ)¨#¨vÓ6ºÔEÜÜ× Ñ   f°CÔ8º,ô	HäÜ× Ñ   f°6Ô:ºLô	Jä”R×)Ñ)¨#¨vÐ<LÔMÚ!ô	#ä”R×)Ñ)¨,¸ÓEÀtÔLä”R×%Ñ%¤b§h¡hª|Ó&<¸fÓEÚ¢Ð+ô	-äÜ×ÑœRŸX™X¢lÓ3°VÀ3ÔGÚš	Ð"ô	$ô 	”R×%Ñ% d¨LÓ9º<ÕH÷W	5ñ 	5ú÷	-ñ 	-ú÷	0ñ 	0ú÷	1ñ 	1ús0   ÁPÂ PÂ/P ÃP-ÐPÐPÐ P*Ð-P7c           	      ó®  — d}d}t        t        |t        j                  g d«       t        t        |t        j                  dd«       t        t        |t        j                  t        j                  g «      d«       t        t        j                  t        j                  g t        ¬«      d«      g g g g«       t        t        |t        j                  g g fd«       t        t        |t        j                  g dgfd«       t        t        |t        j                  t        j                  g «      t        j                  g «      fd«       t        t        j                  t        j                  g t        ¬«      t        j                  g t        ¬«      fd«      g «       t        t        j                  t        j                  g g gt        ¬«      d«      g «       y )	Nz9indices must be integral: the provided empty sequence waszonly int indices permitted)é
   r,   r/   © ©Údtype©rN   r,   Úabc)r/   r,   )r   rE   rC   rD   rH   r   ÚintrF   )rI   Úmsg1Úmsg2s      rK   Útest_empty_indicesz(TestRavelUnravelIndex.test_empty_indicesU   sT  € ØJˆØ+ˆÜœI t¬R×-=Ñ-=¸rÀ:ÔNÜœI t¬R×-=Ñ-=¸rÀ:ÔNÜœI t¬R×-=Ñ-=¼r¿x¹xÈ»|Ø&ô	(ä”R×%Ñ%¤b§h¡h¨r¼Ô&=¸zÓJØ˜"˜b�\ô	#äœI t¬R×-AÑ-AÀBÈÀ8Ø#ô	%äœI t¬R×-AÑ-AÀBÈÈÀ=Ø#ô	%äœI t¬R×-AÑ-AÜ—X‘X˜b“\¤2§8¡8¨B£<Ð0°&ô	:ä”R×)Ñ)Ü—‘˜"¤CÔ(¬"¯(©(°2¼SÔ*AÐBÀFóLØMOô	Qä”R×)Ñ)¬"¯(©(°B¸°8Ä3Ô*GØóØ õ	"ó    c                 óŒ  — t         j                  t         j                  k(  r9ddgddgddgddgdd	gddgd
dgf}t        t        j                  |d«      ddg«       t        t        t         j                  dd«       d
gd
gf}t        j                  t         j                  «      j                  dz  }t        t        j                  ||df«      d
g«       t        t        t         j                  ||dz   df«       t        t        j                  ||dfd¬«      d
g«       t        t        t         j                  ||dz   dfd¬«       y )Nr   é   r,   r/   éu   r=   r   iK	  i  r   )r2   r0   éx   é$   i’
  rA   r-   l   ¼zá l   nm )l   ÿÿ l       r4   r5   )
rC   ÚintpÚint64r   rF   r   rG   rD   ÚiinfoÚmax)rI   rJ   Ú	dummy_arrÚhalf_maxs       rK   Útest_big_indicesz&TestRavelUnravelIndex.test_big_indicesi   s1  € ä�7‰7”b—h‘hÒØ�r�7˜Q ˜F Q¨ H¨r°1¨gØ˜$�< ! Q ¨!¨Q¨ð1ˆCäÜ×$Ñ$ SÐ*FÓGØ˜\Ð*ô,ô
 	”j¤"×"2Ñ"2°AÐ7MÔNð �S˜1˜#�Jˆ	Ü—8‘8œBŸG™GÓ$×(Ñ(¨AÑ-ˆÜÜ× Ñ  ¨X°q¨MÓ:¸Q¸Cô	Aä”jÜ× Ñ  )¨h¸©l¸AÐ->ô	@äÜ× Ñ  ¨X°q¨MÀÔEÈÀsô	Lä”jÜ× Ñ  )¨h¸©l¸AÐ->Àcö	KrX   c           	      óð  — t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  fD �]–  }t        j                  g d¢g d¢g|¬«      }d}d|d   z  |d   z   }t        t        j                  ||«      |«       t        |t        j                  ||«      «       |d   d|d   z  z   }t        t        j                  ||d	¬
«      |«       t        |t        j                  ||d	¬
«      «       t        j                  g d¢g d¢g d¢g|¬«      }d}dd|d   z  |d   z   z  |d   z   }t        t        j                  ||«      |«       t        |t        j                  ||«      «       |d   d|d   d|d   z  z   z  z   }t        t        j                  ||d	¬
«      |«       t        |t        j                  ||d	¬
«      «       �Œ™ y )N)r   r   r   r   r,   r'   )r   r-   r   r,   r   r   rP   )r/   rA   rA   r   r   r/   r4   r5   )r   r,   r   r   rB   r/   )r/   rA   rN   rN   r   )rC   Úint16Úuint16Úint32Úuint32r_   Úuint64rH   r   rF   rD   )rI   rQ   Úcoordsr   Úuncoordss        rK   Útest_dtypesz!TestRavelUnravelIndex.test_dtypes�   sº  € ä—h‘h¤§	¡	¬2¯8©8Ü—i‘i¤§¡¬2¯9©9ð6ó 	OˆEä—X‘XÚ#Ò%7Ð8ÀôGˆFàˆEØ˜6 !™9‘} v¨a¡yÑ0ˆHÜœ×-Ñ-¨f°eÓ<¸hÔGÜ˜¤×!1Ñ!1°(¸EÓ!BÔCØ˜a‘y 1 v¨a¡y¡=Ñ0ˆHÜÜ×$Ñ$ V¨U¸#Ô>ÀôJä˜¤×!1Ñ!1°(¸EÈÔ!MÔNä—X‘XÚ#Ò%7Ò9KÐLØôˆFð ˆEØ˜Q ¨¡™]¨V°A©YÑ6Ñ7¸&À¹)ÑCˆHÜœ×-Ñ-¨f°eÓ<¸hÔGÜ˜¤×!1Ñ!1°(¸EÓ!BÔCØ˜a‘y 1¨¨q©	°A¸¸q¹	±MÑ(AÑ#BÑBˆHÜÜ×$Ñ$ V¨U¸#Ô>ÀôJä˜¤×!1Ñ!1°(¸EÈÔ!MÖNñ/	OrX   c                 ó0  — t        t        j                  g d¢dd¬«      t        j                  g d¢d«      «       t        t        j                  g d¢dd¬«      t        j                  g d¢d«      «       t        t        t        j                  g d¢d«       y )N)r/   r   r&   r   )r'   r,   r0   r@   r?   r:   )r   r   r-   r   )r?   Úraiser9   ro   )r   r   r   r   )r   rC   rF   r   rG   ©rI   s    rK   Útest_clipmodesz$TestRavelUnravelIndex.test_clipmodesœ   s{   € äÜ× Ñ ¢°ÀFÔKÜ× Ñ ¢¨}Ó=ô	?ô 	”R×)Ñ)ª-¸ð0PôQô ×)Ñ)ª,¸ÓFô	Hô 	Üœ×,Ñ,ªm¸]õ	LrX   c                 ó¶   — t        j                  g d¢d«      \  }}t        |j                  j                  «       t        |j                  j                  «       y )N©r   r   r,   )r'   r/   )rC   rD   r   ÚflagsÚ	writeable)rI   ÚxÚys      rK   Útest_writeabilityz'TestRavelUnravelIndex.test_writeability¨   s<   € ä×Ñ¢	¨6Ó2‰ˆˆ1Ü�—‘×!Ñ!Ô"Ü�—‘×!Ñ!Õ"rX   c                 óÐ   — t        j                  dd«      }t        |d«       t        t        dt         j                  dgd«       t        t        dt         j                  dgd«       y )Nr   rO   z0d arrayzout of boundsr   )rC   rD   r   r   rG   ©rI   rv   s     rK   Útest_0dzTestRavelUnravelIndex.test_0d®   sR   € ä×Ñ˜Q Ó#ˆÜ�Q˜ÔäœJ¨
´B×4DÑ4DÀqÀcÈ2ÔNÜÜ˜¬×)9Ñ)9¸A¸3Àõ	DrX   r;   )r9   r?   ro   c                 óZ  — t        j                  t        j                  dt         j                  ¬«      d|¬«      }|j                  dk(  sJ ‚t        t        «      5  t        j                  t        j                  dt         j                  ¬«      d|¬«       d d d «       y # 1 sw Y   y xY w)N)r,   r   rP   ©r   r   r   r:   ©r   )r,   r   )rC   rF   Úzerosr^   r   r   rG   )rI   r;   Úress      rK   Útest_empty_array_ravelz,TestRavelUnravelIndex.test_empty_array_ravel·   s�   € ä×"Ñ"Ü—H‘H˜V¬2¯7©7Ô3°YÀTôKˆà�y‰y˜DÒ Ð Ð äœ:Ó&ñ 	KÜ× Ñ Ü—H‘H˜V¬2¯7©7Ô3°YÀTõK÷	K÷ 	Kñ 	Kús   Á<B!Â!B*c                 ó4  — t        j                  t        j                  dt         j                  ¬«      d«      }t	        |«      dk(  sJ ‚t        d„ |D «       «      sJ ‚t        t        «      5  t        j                  dgd«       d d d «       y # 1 sw Y   y xY w)Nr   rP   r}   r,   c              3   ó:   K  — | ]  }|j                   d k(  –— Œ y­w)r~   N©r   )Ú.0Úas     rK   ú	<genexpr>zATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>Å   s   è ø€ Ò0 q�1—7‘7˜d•?Ñ0ùs   ‚r   )rC   rD   r   r^   ÚlenÚallr   rG   )rI   r€   s     rK   Útest_empty_array_unravelz.TestRavelUnravelIndex.test_empty_array_unravelÁ   sv   € Ü×ÑœrŸx™x¨´·±Ô9¸9ÓEˆä�3‹x˜1Š}Ðˆ}ÜÑ0¨CÔ0Ô0Ð0Ð0äœ:Ó&ñ 	-Ü×Ñ˜a˜S )Ô,÷	-÷ 	-ñ 	-ús   Á-BÂBc                 ó|   — t        j                  t        j                  g d¢gt         j                  ¬«      d«       y )N)r   r   r   r   rP   )r'   )rC   rD   rH   ri   rp   s    rK   Útest_regression_size_1_indexz2TestRavelUnravelIndex.test_regression_size_1_indexÊ   s%   € ô 	×ÑœŸ™¢< .¼¿	¹	ÔBÀDÕIrX   c                 óÈ   — t        j                  dt         j                  ¬«      d d …d f   }t        j                  |d«      }t	        t        j
                  |d«      |«       y )Ni'  rP   )éd   rŽ   )rC   Úaranger^   rD   r   rF   )rI   r   rk   s      rK   Ú"test_unravel_index_buffer_boundaryz8TestRavelUnravelIndex.test_unravel_index_buffer_boundaryÏ   sL   € Ü—)‘)˜F¬"¯'©'Ô2²1°d°7Ñ;ˆÜ×!Ñ! '¨:Ó6ˆäÜ× Ñ  ¨Ó4Øõ	
rX   N)Ú__name__Ú
__module__Ú__qualname__rL   rW   rd   rm   rq   rx   r{   ÚpytestÚmarkÚparametrizer�   rŠ   rŒ   r�   rO   rX   rK   r   r      sd   „ ò5Iòn"ò(Kò0Oò6
Lò#òDð ‡[�[×Ñ˜VÒ%>Ó?ñKó @ðKò-òJó

rX   r   c                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  dddg«      d„ «       Z
d	„ Zd
„ Zd„ Zy)ÚTestGridc                 óz  — t         ddd…   }t         ddd…   }t        |j                  dk(  «       t        |j                  dk(  «       t        |d   dk(  «       t        |d   d«       t        |d   dk(  «       t        |d   |d   z
  dd«       t        |d   |d   d	z   d«       t        |d   |d   z
  d
d«       y )Nr&   r   ù              $@r*   )rN   )é   r   é   ggfffffþ?gÇqÇqÌ?)r	   r   r   r   )rI   r†   Úbs      rK   rL   zTestGrid.test_basicÚ   s¸   € Ü�"�Q�s�(‰OˆÜ�"�Q�s�(‰OˆÜ�—‘˜5Ñ Ô!Ü�—‘˜5Ñ Ô!Ü��!‘˜‘
ÔÜ˜A˜b™E 1Ô%Ü��!‘˜‘
ÔÜ˜A˜a™D 1 Q¡4™K¨¨bÔ1Ü˜A˜b™E 1 Q¡4¨(¡?°BÔ7Ü˜A˜a™D 1 Q¡4™K¨°BÕ7rX   c                 ó€   — t        j                  ddd¬«      \  }}t        |d«       t        |t        ddd…   d«       y )Nr   rN   T)Úretstepg9/§àåÄ?y              I@r8   )rC   Úlinspacer   r   r	   )rI   rw   Ústs      rK   Útest_linspace_equivalencez"TestGrid.test_linspace_equivalenceæ   s8   € Ü—‘˜A˜r¨4Ô0‰ˆˆ2Ü˜B Ô)Ü! !¤U¨1¨R°¨8¡_°bÕ9rX   c                 óæ  — t         ddd…ddd…f   }t         ddd…ddd…f   }t        |j                  dk(  «       t        |j                  d	k(  «       t        |d
   d
d d …f   t	        j
                  dd«       «       t        |d   d d …d
f   dt	        j
                  dd«      z  «       t        |d
   dd d …f   t	        j
                  dd«      d«       t        |d   d d …df   dt	        j
                  dd«      z  d«       t        |d
dd d …f   |d
d
d d …f   z
  dt	        j
                  dd«      z  d«       t        |dd d …df   |dd d …d
f   z
  dt	        j
                  dd«      z  d«       y )Nr&   r   rš   éþÿÿÿr   r*   gš™™™™™É?)r   rN   rN   )r   r›   r›   r   rN   Údrœ   r›   )r	   r   r   r   rC   Úonesr   )rI   Úcr¥   s      rK   Útest_ndzTestGrid.test_ndë   s_  € Ü�"�Q�s�(˜B˜q ˜HÐ$Ñ%ˆÜ�"�Q�s�(˜B˜q ˜HÐ$Ñ%ˆÜ�—‘˜;Ñ&Ô'Ü�—‘˜;Ñ&Ô'Ü˜1˜Q™4 ¢1 ™:¬¯©°°CÓ(8Ð'8Ô9Ü˜1˜Q™4¢ 1 ™: r¬B¯G©G°B¸Ó,<Ñ'<Ô=Ü! ! A¡$ rª1 u¡+¬r¯w©w°r¸3Ó/?ÀÔDÜ! ! A¡$¢q¨" u¡+¨q´2·7±7¸2¸sÓ3CÑ/CÀRÔHÜ! ! A qª! G¡*¨q°°A²q°©zÑ"9Ø"%¬¯©°°CÓ(8Ñ"8¸"ô	>ä! ! A¢q¨! G¡*¨q°²A°q°©zÑ"9Ø"%¬¯©°°CÓ(8Ñ"8¸"õ	>rX   c                 ó¬   — t         ddd…ddd…f   }t        ddd…ddd…f   }t        j                  |Ž }t	        ||«      D ]  \  }}t        ||«       Œ y )Nr&   r   rš   r¤   r   )r	   r   rC   Úbroadcast_arraysÚzipr   )rI   Ú	grid_fullÚgrid_sparseÚgrid_broadcastÚfr�   s         rK   Útest_sparsezTestGrid.test_sparseù   sn   € Ü˜"˜Q˜s˜( B q¨ HÐ,Ñ-ˆ	Ü˜B˜q ˜H b¨¨3 hÐ.Ñ/ˆô ×,Ñ,¨kÐ:ˆÜ˜	 >Ó2ò 	‰DˆAˆqÜ˜˜AÕñ	rX   zstart, stop, step, expected)NrN   rš   )éÈ   rN   )iöÿÿÿr›   N)i  é   c                 ó¢   — t         |||…|||…f   }t         |||…   }t        |j                  |d   «       t        |j                  |d   «       y )Nr   r   )r	   r   Úsize)rI   ÚstartÚstopÚstepÚexpectedÚgridÚ
grid_smalls          rK   Útest_mgrid_size_none_handlingz&TestGrid.test_mgrid_size_none_handling  sU   € ô �U˜4 �_ e¨D° oÐ5Ñ6ˆô ˜5  d˜?Ñ+ˆ
Ü�T—Y‘Y ¨¡Ô,Ü�Z—_‘_ h¨q¡kÕ2rX   c                 óD  — t         ddd…f   }t         t        j                  d«      t        j                  d«      t        j                  d«      …f   }t        ||«       |j                  t        j                  k(  sJ ‚|j                  t        j
                  k(  sJ ‚t         ddd…   }t         t        j                  d«      t        j                  d«      t        j                  d«      …   }t        |j                  t        j
                  k(  «       t        ||«       y )Nr*   ç…ëQ¸Õ?)r	   rC   Úfloat32r   rQ   Úfloat64r   )rI   Úgrid64Úgrid32s      rK   Útest_accepts_npfloatingz TestGrid.test_accepts_npfloating  sÒ   € ä�s˜4 �|�}Ñ&ˆÜ”r—z‘z #“¤r§z¡z°$Ó'7¼¿
¹
À3»ÐGÐHÑJˆÜ! &¨&Ô1à�|‰|œrŸz™zÒ)Ð)Ð)Ø�|‰|œrŸz™zÒ)Ð)Ð)ô �s˜4 �|Ñ$ˆÜ”r—z‘z #“¤r§z¡z°$Ó'7¼¿
¹
À3»ÐGÑHˆÜ�—‘¤§
¡
Ñ*Ô+Ü! &¨&Õ1rX   c                 ó&  — t         ddd…f   }t         t        j                  d«      t        j                  d«      t        j                  d«      …f   }t        |j                  t        j                  k(  «       t        ||«       t         dt        j                  d«      d…   }t         dt        j                  d«      d…f   }t        |j                  |j                  cxk(  xr t        j                  k(  nc «       t        ||d   «       t         ddd…   }t         t        j                  d«      t        j                  d«      t        j                  d«      …   }t        |j                  t        j                  k(  «       t        ||«       y )Nr*   r½   r   r   y        333333@)r	   rC   Ú
longdoubler   rQ   r   r   )rI   rÀ   Úgrid128Ú
grid128c_aÚ
grid128c_bs        rK   Útest_accepts_longdoublez TestGrid.test_accepts_longdouble!  s0  € ä�s˜4 �|�}Ñ&ˆÜÜ�M‰M˜#ÓœrŸ}™}¨TÓ2´2·=±=ÀÓ3EÐEÐFñ
ˆô 	�—‘¤§¡Ñ.Ô/Ü! &¨'Ô2ä˜1œRŸ]™]¨1Ó-¨dÐ2Ñ3ˆ
Ü˜1œRŸ]™]¨1Ó-¨dÐ2Ð3Ñ5ˆ
Ü�
× Ñ  J×$4Ñ$4ÖE¼¿¹ÔEÔFÜ˜: z°!¡}Ô5ô �s˜4 �|Ñ$ˆÜÜ�M‰M˜#ÓœrŸ}™}¨TÓ2´2·=±=ÀÓ3EÐEñ
ˆô 	�—‘¤§¡Ñ.Ô/Ü! &¨'Õ2rX   c           	      ó¬  — t        t        ddd…f   t        ddt        j                  d«      …f   «       t        t        ddd…   t        ddt        j                  d«      …   «       t        ddd…   }t        ddd…f   d   }t	        |j
                  |j
                  cxk(  xr t        j                  k(  nc «       t        ||«       t        ddt        j                  d«      …   }t        ddt        j                  d«      …f   d   }t	        |j
                  |j
                  cxk(  xr t        j                  k(  nc «       t        ||«       y )Nr*   g333333Ó?y              @y        ffffff
@r   )
r   r	   rC   Ú	complex64r   rQ   r¿   r   ÚclongdoublerÄ   )rI   Úgrid64_aÚgrid64_bÚ	grid128_aÚ	grid128_bs        rK   Útest_accepts_npcomplexfloatingz'TestGrid.test_accepts_npcomplexfloating7  s  € ä!Ü�#�c˜"�*�+Ñ¤ s¨3¬r¯|©|¸BÓ/?Ð'?Ð'@Ñ!Bô	
ô
 	"Ü�#�c˜"�*Ñœu S¨¬R¯\©\¸"Ó-=Ð%=Ñ>ô	
ô
 ˜˜S ˜Ñ&ˆÜ˜˜S ˜˜Ñ(¨Ñ+ˆÜ�—‘ (§.¡.Ö>´B·J±JÔ>Ô?Ü˜8 XÔ.ä˜#˜c¤"§.¡.°Ó"6Ð6Ñ7ˆ	Ü˜#˜c¤"§.¡.°Ó"6Ð6Ð7Ñ9¸!Ñ<ˆ	Ü�	—‘ 9§?¡?ÖC´b·m±mÔCÔDÜ˜8 XÕ.rX   N)r‘   r’   r“   rL   r¢   r¨   r°   r”   r•   r–   r»   rÂ   rÈ   rÐ   rO   rX   rK   r˜   r˜   Ù   sV   „ ò
8ò:ò
>òð ‡[�[×ÑÐ:Ø"Ø#ð=
ó ñ
3ó	ð
3ò2ò3ó,/rX   r˜   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConcatenatorc                 ó´   — t        t        d   t        j                  g d¢«      «       t        j                  d«      }t        |dd|f   }t        |g d¢«       y )N)r   r   r,   r'   r/   r-   r/   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rC   rH   r¦   )rI   r�   r§   s      rK   Útest_1dzTestConcatenator.test_1dO  sE   € Üœ2Ð.Ñ/´·±Ò:LÓ1MÔNÜ�G‰G�A‹JˆÜˆq�!�Q˜ˆz‰NˆÜ˜1ÒBÕCrX   c                 óN   — t         ddd…f   }t        |j                  dk(  «       y )Ng333333$@r   rN   Úf8)r   r   rQ   ©rI   Úgs     rK   Útest_mixed_typez TestConcatenator.test_mixed_typeU  s#   € Üˆt�Q�r�Tˆz‰NˆÜ�—‘˜4‘Õ rX   c                 ó    — t         dt        j                  dg«      t        j                  g d¢«      df   }t        |j                  dk(  «       y )Ng333333$Àr   )r   r,   r'   g      $@rÖ   )r   rC   rH   r   rQ   r×   s     rK   Útest_more_mixed_typez%TestConcatenator.test_more_mixed_typeY  s8   € Üˆu”b—h‘h ˜s“m¤R§X¡XªiÓ%8¸$Ð>Ñ?ˆÜ�—‘˜4‘Õ rX   c                 óº   — t         ddd…   }t        |j                  dk(  «       t         ddt        j                  d«      …   }t        |j                  dk(  «       y )Nr   r]   y              Y@)rŽ   )r   r   r   rC   rÊ   r×   s     rK   Útest_complex_stepz"TestConcatenator.test_complex_step]  sO   € äˆq��Dˆy‰MˆÜ�—‘˜6Ñ!Ô"ô ˆq�”B—L‘L Ó&Ð&Ñ'ˆÜ�—‘˜6Ñ!Õ"rX   c                 óº  — t         j                  j                  dd«      }t         j                  j                  dd«      }t        d||f   }t	        |j
                  dk(  «       t        |d d …d d…f   |«       t        |d d …dd …f   |«       t        ||f   }t	        |j
                  dk(  «       t        |d d…d d …f   |«       t        |dd …d d …f   |«       y )Nr/   Ú1)r/   rN   )rN   r/   )rC   ÚrandomÚrandr   r   r   r   )rI   r�   r§   r¥   s       rK   Útest_2dzTestConcatenator.test_2df  s¼   € Ü�I‰I�N‰N˜1˜aÓ ˆÜ�I‰I�N‰N˜1˜aÓ ˆÜˆs�A�qˆy‰MˆÜ�—‘˜7Ñ"Ô#Ü˜1šQ   ˜U™8 QÔ'Ü˜1šQ ¡˜U™8 QÔ'Üˆq�!ˆt‰HˆÜ�—‘˜7Ñ"Ô#Ü˜1˜R˜a˜R¢˜U™8 QÔ'Ü˜1˜Q™R¢˜U™8 QÕ'rX   c                 ó
  — t        t        dt        j                  d«      df   g d¢«       t        t        g d¢t        j                  d«      f   g d¢«       t        t        t        j                  d«      g d¢f   g d¢«       y )Nr   r   r   ©r   r   r   r,   )r   r   r   r,   rs   )r   r   rC   rH   rp   s    rK   r{   zTestConcatenator.test_0dr  sX   € Ü”R˜œ2Ÿ8™8 A›;¨Ð)Ñ*ªIÔ6Ü”Rš	¤2§8¡8¨A£;Ð.Ñ/²Ô>Ü”RœŸ™ ›¢YÐ.Ñ/²Õ>rX   N)	r‘   r’   r“   rÔ   rÙ   rÛ   rÝ   râ   r{   rO   rX   rK   rÒ   rÒ   N  s!   „ òDò!ò!ò#ò
(ó?rX   rÒ   c                   ó   — e Zd Zd„ Zy)ÚTestNdenumeratec                 óz   — t        j                  ddgddgg«      }t        t        t	        |«      «      g d¢«       y )Nr   r   r,   r'   ))©r   r   r   ))r   r   r   )r   r,   ))r   r   r'   )rC   rH   r   Úlistr
   ©rI   r†   s     rK   rL   zTestNdenumerate.test_basicy  s4   € Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ”Tœ+ a›.Ó)ÚIõ	KrX   N)r‘   r’   r“   rL   rO   rX   rK   ræ   ræ   x  s   „ óKrX   ræ   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestIndexExpressionc                 ó’   — t        j                  d«      }t        |d d |t        d d    «       t        |d d |t        d d    «       y )Nr   r&   )rC   r�   r   r   r   rê   s     rK   Útest_regression_1z%TestIndexExpression.test_regression_1€  sD   € ä�I‰I�a‹LˆÜ�Q�s˜�V˜Qœr # 2˜w™ZÔ(Ü�Q�s˜�V˜Qœy¨¨"˜~Ñ.Õ/rX   c           	      óò   — t         j                  j                  ddd«      }t        |d d …d d…ddgf   |t        d d …d d…ddgf      «       t        |d d …d d…ddgf   |t
        d d …d d…ddgf      «       y )Nr'   r/   r-   r,   r   r   )rC   rà   rá   r   r   r   rê   s     rK   Útest_simple_1z!TestIndexExpression.test_simple_1†  s‚   € Ü�I‰I�N‰N˜1˜a Ó#ˆä�Q’q˜"˜1˜"˜q !˜f�}Ñ% q¬²1°b°q°b¸1¸a¸&°=Ñ)AÑ'BÔCÜ�Q’q˜"˜1˜"˜q !˜f�}Ñ% q¬ªA¨r°¨r°A°q°6¨MÑ):Ñ';Õ<rX   N)r‘   r’   r“   rî   rð   rO   rX   rK   rì   rì     s   „ ò0ó=rX   rì   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestIx_c                 ó¾  — t        j                  t        d«      «      \  }t        |j                  t         j
                  «       t        j                  g «      \  }t        |j                  t         j
                  «       t        j                  t        j                  g t         j                  ¬«      «      \  }t        |j                  t         j                  «       y )Nr   rP   )rC   r   Úranger   rQ   r^   rH   r¾   rê   s     rK   rî   zTestIx_.test_regression_1Ž  s|   € ä�V‰V”E˜!“HÓ‰ˆÜ�Q—W‘WœbŸg™gÔ&ä�V‰V�B‹Z‰ˆÜ�Q—W‘WœbŸg™gÔ&ô �V‰V”B—H‘H˜R¤r§z¡zÔ2Ó3‰ˆÜ�Q—W‘WœbŸj™jÕ)rX   c           
      óÖ  ‡— d}t         t        j                  fD ]È  }t        j                  |D �cg c]
  } ||«      ‘Œ c}Ž }t	        t        ||«      «      D ]ˆ  \  Š\  }}t        |j                  ‰   |«       t        t        ˆfd„t	        |j                  «      D «       «      «       t        t        j                  |j                  t        j                  «      «       ŒŠ ŒÊ y c c}w )N)r'   r/   r,   r   c              3   ó:   •K  — | ]  \  }}|‰k7  sŒ|d k(  –— Œ y­w)r   NrO   )r…   ÚjÚshÚks      €rK   r‡   z/TestIx_.test_shape_and_dtype.<locals>.<genexpr>¡  s   øè ø€ ÒN©¨¨2ÀqÈAÃv˜B !�GÑNùs   ƒ‘
)rô   rC   r�   r   Ú	enumerater«   r   r   r   r‰   Ú
issubdtyperQ   Úinteger)rI   ÚsizesÚfuncÚszÚarraysr†   rù   s         @rK   Útest_shape_and_dtypezTestIx_.test_shape_and_dtypeš  s¬   ø€ ØˆäœBŸI™IÐ&ò 	<ˆDÜ—V‘V°Ö7¨2™d 2�hÒ7Ð8ˆFÜ'¬¨F°EÓ(:Ó;ò <‘
�‘7�A�rÜ˜QŸW™W Q™Z¨Ô,ÜœÓN´¸1¿7¹7Ó1CÔNÓNÔOÜœŸ™ a§g¡g¬r¯z©zÓ:Õ;ñ<ñ	<ùÚ7s   °C&
c                 ó~   — g d¢}t        j                  |«      \  }t        t        j                  |«      d   |«       y )N)TFTTr   )rC   Únonzeror   r   )rI   Úbool_aÚint_as      rK   Ú	test_boolzTestIx_.test_bool¤  s.   € Ú*ˆÜ—‘˜FÓ#‰ˆÜ”R—V‘V˜F“^ AÑ&¨Õ.rX   c                 óR   — g d¢g d¢g}t        t        t        j                  |«       y )Nrs   ©r'   r/   r-   )r   rG   rC   r   )rI   Úidx2ds     rK   Útest_1d_onlyzTestIx_.test_1d_only©  s   € ÚšIÐ&ˆÜ”j¤"§&¡&¨%Õ0rX   c                 óä   — d}t        j                  |«      }t        ||«      }t        |d   j                  |df«       t        |d   j                  d|f«       t        |j                  |f«       y )Nr/   r   r   )rC   r�   r   r   r   )rI   Úlength_of_vectorrv   Úouts       rK   Útest_repeated_inputzTestIx_.test_repeated_input­  sd   € ØÐÜ�I‰IÐ&Ó'ˆÜ�!�Q‹iˆÜ�S˜‘V—\‘\Ð$4°aÐ#8Ô9Ü�S˜‘V—\‘\ AÐ'7Ð#8Ô9ä�Q—W‘WÐ/Ð1Õ2rX   N)r‘   r’   r“   rî   r  r  r
  r  rO   rX   rK   rò   rò   �  s   „ ò
*ò<ò/ò
1ó3rX   rò   c                  ó”   — t         t        j                  g d¢g«      ddt        j                  g d¢g«      f   } t        | g d¢g«       y )Nrs   r   r  )r   r   r,   r   r   r'   r/   r-   )r   rC   rH   r   )r†   s    rK   Útest_c_r  ·  s9   € Ü
Œ2�8‰8’Y�KÓ  ! Q¬¯©²)°Ó(=Ð=Ñ>€AÜ�Ò-Ð.Õ/rX   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestFillDiagonalc           	      ó    — t        j                  dt        «      }t        |d«       t	        |t        j
                  g d¢g d¢g d¢g«      «       y )N)r,   r,   r/   ©r/   r   r   ©r   r/   r   ©r   r   r/   ©rC   r   rT   r   r   rH   rê   s     rK   rL   zTestFillDiagonal.test_basic½  s?   € Ü�H‰H�VœSÓ!ˆÜ�a˜ÔÜØŒr�x‰xšÚ"Ú"ð$ó %õ	rX   c                 óÊ   — t        j                  dt        «      }t        |d«       t	        |t        j
                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
«      «       y )NrR   r/   r  r  r  ©r   r   r   r  rê   s     rK   Útest_tall_matrixz!TestFillDiagonal.test_tall_matrixÆ  sT   € Ü�H‰H�WœcÓ"ˆÜ�a˜ÔÜØŒr�x‰xšÚ"Ú"Ú"Ú"Ú"Ú"Ú"Ú"Ú"ð	$ó 	%õ	rX   c                 óÌ   — t        j                  dt        «      }t        |dd«       t	        |t        j
                  g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
«      «       y )NrR   r/   Tr  r  r  r  r  rê   s     rK   Útest_tall_matrix_wrapz&TestFillDiagonal.test_tall_matrix_wrapÖ  sV   € Ü�H‰H�WœcÓ"ˆÜ�a˜˜DÔ!ÜØŒr�x‰xšÚ"Ú"Ú"Ú"Ú"Ú"Ú"Ú"Ú"ð	$ó 	%õ	rX   c           	      ó    — t        j                  dt        «      }t        |d«       t	        |t        j
                  g d¢g d¢g d¢g«      «       y )N)r,   rN   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   r   r  rê   s     rK   Útest_wide_matrixz!TestFillDiagonal.test_wide_matrixæ  s@   € Ü�H‰H�WœcÓ"ˆÜ�a˜ÔÜØŒr�x‰xÒ7Ú7Ú7ð9ó :õ	rX   c                 óÊ   — t        j                  dt        «      }t        |d«       t        j                  g d¢«      }t        t        j                  |dk7  «      ||||f«       y )N)r,   r,   r,   r,   r'   rä   r   )rC   r   rT   r   rH   r   Úwhere)rI   r†   Úis      rK   Útest_operate_4d_arrayz&TestFillDiagonal.test_operate_4d_arrayï  sI   € Ü�H‰H�\¤3Ó'ˆÜ�a˜ÔÜ�H‰H’YÓˆÜ”R—X‘X˜a 1™fÓ%¨¨1¨a° |Õ4rX   c                 óš   — t        j                  dt        «      }t        t        d«      5  t        |d«       d d d «       y # 1 sw Y   y xY w)Nr,   úat least 2-dr/   ©rC   r   rT   r   rG   r   rê   s     rK   Útest_low_dim_handlingz&TestFillDiagonal.test_low_dim_handlingõ  s;   € ä�H‰H�QœÓˆÜ ¤¨^Ó<ñ 	 Ü˜!˜QÔ÷	 ÷ 	 ñ 	 úó   «AÁA
c                 óš   — t        j                  dt        «      }t        t        d«      5  t        |d«       d d d «       y # 1 sw Y   y xY w)N)r,   r,   r0   r,   úequal lengthr   r%  rê   s     rK   Útest_hetero_shape_handlingz+TestFillDiagonal.test_hetero_shape_handlingû  s=   € ô �H‰H�\¤3Ó'ˆÜ ¤¨^Ó<ñ 	 Ü˜!˜QÔ÷	 ÷ 	 ñ 	 úr'  N)
r‘   r’   r“   rL   r  r  r  r"  r&  r*  rO   rX   rK   r  r  ¼  s%   „ òòò ò ò5ò ó rX   r  c            
      ól  — t        d«      } t        j                  g d¢g d¢g d¢g d¢g«      }d|| <   t        |t        j                  g d¢g d¢g d	¢g d
¢g«      «       t        dd«      }t        j                  dt
        «      }d||<   t        |t        j                  ddgddggddgddggg«      «       y )Nr'   )r   r   r,   r'   )r/   r-   r0   rA   )rB   rN   rœ   r@   )r8   é   é   é   rŽ   )rŽ   r   r,   r'   )r/   rŽ   r0   rA   )rB   rN   rŽ   r@   )r8   r,  r-  rŽ   r   r,   )r   r   r   r   r   )r   rC   rH   r   r   rT   )Údir†   Úd3s      rK   Útest_diag_indicesr1    sÃ   € Ü	�a‹€BÜ
�‰’,ÚÚ!Ú"ð$ó 	%€Að €A€b�EÜØ	Œ2�8‰8’^Ú#Ú%Ú&ð(ó )ô
ô 
�a˜Ó	€Bô 	�‰�œCÓ €AØ€A€b�EÜØ	Œ2�8‰8�q˜!�fØ˜!�fðà˜!�fØ˜!�fððó  õ
rX   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestDiagIndicesFromc                 óÚ   — t         j                  j                  d«      }t        |«      \  }}t        |t        j                  d«      «       t        |t        j                  d«      «       y )Nr>   r'   )rC   rà   r   r   r�   )rI   rv   Úrr§   s       rK   Útest_diag_indices_fromz*TestDiagIndicesFrom.test_diag_indices_from!  sH   € Ü�I‰I×Ñ˜VÓ$ˆÜ  Ó#‰ˆˆ1Ü˜1œbŸi™i¨›lÔ+Ü˜1œbŸi™i¨›lÕ+rX   c                 óŽ   — t        j                  d«      }t        t        d«      5  t	        |«       d d d «       y # 1 sw Y   y xY w)Nr0   r$  )rC   r¦   r   rG   r   rz   s     rK   Útest_error_small_inputz*TestDiagIndicesFrom.test_error_small_input'  s6   € Ü�G‰G�A‹JˆÜ ¤¨^Ó<ñ 	!Ü˜aÔ ÷	!÷ 	!ñ 	!ús	   ¦;»Ac                 ó˜   — t        j                  dt        «      }t        t        d«      5  t        |«       d d d «       y # 1 sw Y   y xY w)N)r,   r,   r   r,   r)  )rC   r   rT   r   rG   r   rz   s     rK   Útest_error_shape_mismatchz-TestDiagIndicesFrom.test_error_shape_mismatch,  s9   € Ü�H‰H�\¤3Ó'ˆÜ ¤¨^Ó<ñ 	!Ü˜aÔ ÷	!÷ 	!ñ 	!ús   «A Á A	N)r‘   r’   r“   r6  r8  r:  rO   rX   rK   r3  r3    s   „ ò,ò!ó
!rX   r3  c                  ó  — t        t        ddd«      «      } t        t        j                  d«      «      D ��cg c]  \  }}|‘Œ	 }}}t        | |«       t        t        d«      «      } t        | |«       t        t        d«      «      } t        | t        t        d«      «      «       t        t        «       «      } t        | dg«       t        t        d«      «      } t        | dg«       t        t        dgŽ «      } t        | g «       y c c}}w )Nr   r   r,   rs   ©r,   rO   r   )ré   r   r
   rC   r   r   r   )rv   ÚixÚer¸   s       rK   Útest_ndindexr?  2  sÕ   € ÜŒW�Q˜˜1ÓÓ€AÜ +¬B¯H©H°YÓ,?Ó @×A‘u�r˜1’ÐA€HÑAÜ�q˜(Ô#äŒW�YÓÓ €AÜ�q˜(Ô#ô 	ŒW�T‹]Ó€AÜ�qœ$œw q›zÓ*Ô+ô 	ŒW‹Y‹€AÜ��R�DÔäŒW�R‹[Ó€AÜ��R�DÔô 	ŒW�q�cˆ]Ó€AÜ��BÕùó' Bs   ¸Dc                  óÜ   — t        t        j                  dd«      «      g k(  sJ ‚t        t        j                  ddd«      «      g k(  sJ ‚t        t        j                  d«      «      g k(  sJ ‚y)zNTest ndindex produces empty iterators for explicit
    zero-length dimensions.r   r,   r   N)ré   rC   r   rO   rX   rK   Ú%test_ndindex_zero_dimensions_explicitrA  J  s]   € ô ”—
‘
˜1˜aÓ Ó! RÒ'Ð'Ð'Ü”—
‘
˜1˜a Ó#Ó$¨Ò*Ð*Ð*Ü”—
‘
˜1“Ó "Ò$Ð$Ñ$rX   Ú	bad_shapeg      @Ú2r   r,   )g       @r,   c                 óœ   — t        j                  t        «      5  t        t	        j
                  | «      «       ddd«       y# 1 sw Y   yxY w)z1Test that non-integer dimensions raise TypeError.N)r”   ÚraisesrE   ré   rC   r   )rB  s    rK   Ú#test_ndindex_non_integer_dimensionsrF  R  s8   € ô 
�‰”yÓ	!ñ $ô 	ŒR�Z‰Z˜	Ó"Ô#÷$÷ $ñ $úó   šAÁAc                  ó¸   — t        j                  dd«      } t        | «       t        j                  t
        «      5  t        | «       ddd«       y# 1 sw Y   yxY w)z<Test that StopIteration is raised properly after exhaustion.r   N)rC   r   ré   r”   rE  ÚStopIterationÚnext)Úits    rK   Ú$test_ndindex_stop_iteration_behaviorrL  [  sA   € ä	�‰�A�qÓ	€Bäˆ„Hä	�‰”}Ó	%ñ ÜˆRŒ÷÷ ñ ús   »AÁAc                  óÐ   — d} t        j                  | Ž }t        j                  | Ž }t        |«       t        |«       t        t        |«      d«       t        t        |«      d«       y)z>Test that each ndindex instance creates independent iterators.©r   r,   rè   r)   N©rC   r   rJ  r   )r   Úiter1Úiter2s      rK   Ú"test_ndindex_iterator_independencerR  e  sM   € à€EÜ�J‰J˜Ð€EÜ�J‰J˜Ð€Eäˆ„KÜˆ„Kä”�e“˜fÔ%Ü”�e“˜fÕ%rX   c                  óœ  — t        t        t        j                  d«      «      t        t        j                  d«      «      «       t        t        t        j                  dd«      «      t        t        j                  d«      «      «       d} t        t        t        j                  | Ž «      t        t        j                  | «      «      «       y)zBTest that ndindex(shape) and ndindex(*shape) produce same results.r/   )r/   r   r,   rN  r.   N)r   ré   rC   r   r„   s    rK   Ú&test_ndindex_tuple_vs_args_consistencyrT  r  s€   € ô ””b—j‘j “mÓ$¤d¬2¯:©:°dÓ+;Ó&<Ô=ô ””b—j‘j  AÓ&Ó'¬¬b¯j©j¸Ó.@Ó)AÔBð €EÜ””b—j‘j %Ð(Ó)¬4´·
±
¸5Ó0AÓ+BÕCrX   c                  óæ   — dD ]f  } t        t        j                  | «      «      }t        j                  t        j                  | «      «      D ��cg c]  \  }}|‘Œ	 }}}t        ||«       Œh yc c}}w )z2Test ndindex produces same indices as ndenumerate.)rs   r<  r   rO   N)ré   rC   r   r
   r   r   )r   Úndindex_resultr=  Ú_Úndenumerate_indicess        rK   Ú.test_ndindex_against_ndenumerate_compatibilityrY    s]   € à.ò @ˆÜœbŸj™j¨Ó/Ó0ˆÜ/1¯~©~¼b¿h¹hÀu»oÓ/N×O¡e b¨!šrÐOÐÑOÜ˜>Ð+>Õ?ñ@ùãOs   ÁA-c                  ó^   — d} t        t        j                  | Ž «      }g d¢}t        ||«       y)zBTest ndindex produces correct indices for multidimensional arrays.)r   r   r,   )r  )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   N)ré   rC   r   r   )r   Úresultr¸   s      rK   Ú)test_ndindex_multidimensional_correctnessr\  ‡  s-   € à€EÜ”"—*‘*˜eÐ$Ó%€Fò€Hô �˜Õ"rX   c                  óZ   — d} t        j                  | Ž }t        |«      }t        |d«       y)zFTest ndindex behaves correctly when initialized with large dimensions.)éè  r^  rè   NrO  )Úlarge_shapeÚiter_objÚfirst_elements      rK   Ú&test_ndindex_large_dimensions_behaviorrb  –  s(   € à€KÜ�z‰z˜;Ð'€HÜ˜“N€MÜ� Õ'rX   c                  óú   — t        j                  dd«      } t        t        | «      g «       t        j                  ddd«      }t	        j
                  t        «      5  t        |«       ddd«       y# 1 sw Y   yxY w)z*Test detailed behavior of empty iterators.r   r/   r,   r   N)rC   r   r   ré   r”   rE  rI  rJ  )Ú
empty_iterÚempty_iter2s     rK   Ú$test_ndindex_empty_iterator_behaviorrf  ž  s\   € ä—‘˜A˜qÓ!€JÜ”�jÓ! 2Ô&ä—*‘*˜Q  1Ó%€KÜ	�‰”}Ó	%ñ Üˆ[Ô÷÷ ñ ús   ÁA1Á1A:Únegative_shape_arg))r&   )r   r(   r'   )r/   r   r¤   c                 óv   — t        j                  t        «      5  t        | «       ddd«       y# 1 sw Y   yxY w)z/Test that negative dimensions raise ValueError.N)r”   rE  rG   r   )rg  s    rK   Ú test_ndindex_negative_dimensionsri  ¨  s.   € ô 
�‰”zÓ	"ñ $ÜÐ"Ô#÷$÷ $ñ $ús   š/¯8c                  óŽ   — dd l } t         | j                  «       «      dgk(  sJ ‚t         | j                  d«      «      dgk(  sJ ‚y )Nr   rO   )Únumpyré   r   )rC   s    rK   Útest_ndindex_empty_shaperl  ¶  sA   € Ûä�
�—
‘
“Ó " Ò%Ð%Ð%Ü�
�—
‘
˜2“Ó B 4Ò'Ð'Ñ'rX   c                  óœ   — t        j                  t        «      5  t        t	        j
                  d«      «       d d d «       y # 1 sw Y   y xY w)Nr&   )r”   rE  rG   ré   rC   r   rO   rX   rK   Ú test_ndindex_negative_dim_raisesrn  ¼  s3   € ä	�‰”zÓ	"ñ ÜŒR�Z‰Z˜‹^Ô÷÷ ñ úrG  )1r”   rk  rC   Únumpy.lib._index_tricks_implr   r   r   r   r   r   r	   r
   r   r   r   r   Únumpy.testingr   r   r   r   r   r   r   r   r˜   rÒ   ræ   rì   rò   r  r  r1  r3  r?  rA  r•   r–   rF  rL  rR  rT  rY  r\  rb  rf  ri  rl  rn  rO   rX   rK   ú<module>rq     s,  ðÛ ã ÷÷ ÷ ó ÷÷ ñ ÷y
ñ y
÷xr/ñ r/÷j'?ñ '?÷TKñ K÷=ñ =÷'3ñ '3òT0÷
D ñ D òN
÷8!ñ !ò&ò0%ð ‡�×Ñ˜ s¨C°!°Q°¸Ð&BÓCñ$ó Dð$òò
&ò
Dò@ò#ò(òð ‡�×ÑØòóñ$óð$ò(órX   