Ë
    ›2Úi O  ã                   ó  — 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
 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  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!y)é    N)Úassert_Úassert_equalÚassert_array_equalÚassert_almost_equalÚassert_array_almost_equalÚassert_raisesÚassert_raises_regex)ÚmgridÚogridÚndenumerateÚfill_diagonalÚdiag_indicesÚdiag_indices_fromÚ	index_expÚndindexÚr_Ús_Úix_c                   ó„   — 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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)é   r.   é   )r%   r*   Úclip©Úmode)r-   é   é   ©r%   r%   )r5   Úwrap)é   r4   r4   )r)   r   r%   r   )r*   r,   é   é	   iU  )r   ÚnpÚunravel_indexr   Ú	TypeErrorÚravel_multi_indexÚ
ValueErrorÚarray)ÚselfÚarrs     úX/var/www/html/acx/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×%Ñ% o°yÓAÂ9ÔMÜÜ× Ñ ¢¨IÓ6¸ô	Iô �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©rJ   r)   Úabc)r+   r)   )r	   rA   r?   r@   rD   r   ÚintrB   )rE   Úmsg1Úmsg2s      rG   Útest_empty_indicesz(TestRavelUnravelIndex.test_empty_indicesF   sT  € ØJˆØ+ˆÜœI t¬R×-=Ñ-=¸rÀ:ÔNÜœI t¬R×-=Ñ-=¸rÀ:ÔNÜœI t¬R×-=Ñ-=¼r¿x¹xÈ»|Ø&ô	(ä”R×%Ñ%¤b§h¡h¨r¼Ô&<¸jÓIØ˜"˜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   r9   r   iK	  i  r   )r.   r,   éx   é$   i’
  r=   r*   l   ¼zá l   nm )l   ÿÿ l       r0   r1   )
r?   ÚintpÚint64r   rB   r   rC   r@   ÚiinfoÚmax)rE   rF   Ú	dummy_arrÚhalf_maxs       rG   Útest_big_indicesz&TestRavelUnravelIndex.test_big_indicesZ   s.  € ä�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Ð7IÔJð �S˜!˜�Iˆ	Ü—8‘8œBŸG™GÓ$×(Ñ(¨AÑ-ˆÜÜ× Ñ  ¨X°q¨MÓ:¸Q¸Cô	Aä”jÜ× Ñ  )¨h°q©j¸!¨_ô	>äÜ× Ñ  ¨X°q¨MÀÔEÈÀsô	Lä”jÜ× Ñ  )¨h°q©j¸!¨_ÀCö	IrT   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   rL   )r+   r=   r=   r   r   r+   r0   r1   )r   r)   r   r   r>   r+   )r+   r=   rJ   rJ   r   )r?   Úint16Úuint16Úint32Úuint32r[   Úuint64rD   r   rB   r@   )rE   rM   Úcoordsr   Úuncoordss        rG   Útest_dtypesz!TestRavelUnravelIndex.test_dtypesr   sº  € ä—h‘h¤§	¡	¬2¯8©8Ü—i‘i¤§¡¬2¯9©9ð6ó 	OˆEä—X‘XÚ#Ò%7Ð8ÀôGˆFàˆEØ˜ ™‘{ 6¨!¡9Ñ,ˆHÜœ×-Ñ-¨f°eÓ<¸hÔGÜ˜¤×!1Ñ!1°(¸EÓ!BÔCØ˜a‘y  6¨!¡9¡Ñ,ˆHÜÜ×$Ñ$ V¨U¸#Ô>ÀôJä˜¤×!1Ñ!1°(¸EÈÔ!MÔNä—X‘XÚ#Ò%7Ò9KÐLØôˆFð ˆEØ˜1˜V A™Y™; v¨a¡yÑ0Ñ1°&¸±)Ñ;ˆHÜœ×-Ñ-¨f°eÓ<¸hÔGÜ˜¤×!1Ñ!1°(¸EÓ!BÔCØ˜a‘y  F¨1¡I¨a°°q±	©kÑ$9Ñ!:Ñ:ˆHÜÜ×$Ñ$ V¨U¸#Ô>ÀôJä˜¤×!1Ñ!1°(¸EÈÔ!MÖNñ/	OrT   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)   r,   r<   r;   r6   )r   r   r*   r   )r;   Úraiser5   rk   )r   r   r   r   )r   r?   rB   r   rC   ©rE   s    rG   Útest_clipmodesz$TestRavelUnravelIndex.test_clipmodes�   s{   € äÜ× Ñ ¢°ÀFÔKÜ× Ñ ¢¨}Ó=ô	?ô 	”R×)Ñ)ª-¸ð0PôQô ×)Ñ)ª,¸ÓFô	Hô 	Üœ×,Ñ,ªm¸]õ	LrT   c                 ó¶   — t        j                  g d¢d«      \  }}t        |j                  j                  «       t        |j                  j                  «       y )N©r   r   r)   )r%   r+   )r?   r@   r   ÚflagsÚ	writeable)rE   ÚxÚys      rG   Útest_writeabilityz'TestRavelUnravelIndex.test_writeability™   s<   € ä×Ñ¢	¨6Ó2‰ˆˆ1Ü�—‘×!Ñ!Ô"Ü�—‘×!Ñ!Õ"rT   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   rK   z0d arrayzout of boundsr   )r?   r@   r   r	   rC   ©rE   rr   s     rG   Útest_0dzTestRavelUnravelIndex.test_0dŸ   sR   € ä×Ñ˜Q Ó#ˆÜ�Q˜ÔäœJ¨
´B×4DÑ4DÀqÀcÈ2ÔNÜÜ˜¬×)9Ñ)9¸A¸3Àõ	DrT   r7   )r5   r;   rk   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   rL   ©r   r   r   r6   ©r   )r)   r   )r?   rB   ÚzerosrZ   r   r   rC   )rE   r7   Úress      rG   Ú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   rL   ry   r)   c              3   ó:   K  — | ]  }|j                   d k(  –— Œ y­w)rz   N)r   )Ú.0Úas     rG   ú	<genexpr>zATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>¶   s   è ø€ Ò0 q�1—7‘7˜d•?Ñ0ùs   ‚r   )r?   r@   r{   rZ   ÚlenÚallr   rC   )rE   r|   s     rG   Útest_empty_array_unravelz.TestRavelUnravelIndex.test_empty_array_unravel²   sv   € Ü×ÑœrŸx™x¨´·±Ô9¸9ÓEˆä�3‹x˜1Š}Ðˆ}ÜÑ0¨CÔ0Ô0Ð1Ð0äœ:Ó&ñ 	-Ü×Ñ˜a˜S )Ô,÷	-÷ 	-ñ 	-ús   Á-BÂBN)Ú__name__Ú
__module__Ú__qualname__rH   rS   r`   ri   rm   rt   rw   ÚpytestÚmarkÚparametrizer}   r…   rK   rT   rG   r   r      sY   „ ò5Iòn"ò(Iò0Oò6
Lò#òDð ‡[�[×Ñ˜VÒ%>Ó?ñKó @ðKó-rT   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'   )rJ   )é   r   é   ggfffffþ?gÇqÇqÌ?)r
   r   r   r   )rE   r�   Úbs      rG   rH   zTestGrid.test_basic¼   s¸   € Ü�"�Q�s�(‰OˆÜ�"�Q�s�(‰OˆÜ�—‘˜5Ñ Ô!Ü�—‘˜5Ñ Ô!Ü��!‘˜‘
ÔÜ˜A˜b™E 1Ô%Ü��!‘˜‘
ÔÜ˜A˜a™D  1¡™I s¨BÔ/Ü˜A˜b™E 1 Q¡4¨¡;°Ô3Ü˜A˜a™D  1¡™I w°Õ3rT   c                 ó€   — t        j                  ddd¬«      \  }}t        |d«       t        |t        ddd…   d«       y )Nr   rJ   T)Úretstepg9/§àåÄ?y              I@r4   )r?   Úlinspacer   r   r
   )rE   rs   Ústs      rG   Útest_linspace_equivalencez"TestGrid.test_linspace_equivalenceÈ   s8   € Ü—‘˜A˜r¨4Ô0‰ˆˆ2Ü˜B Ô'Ü! !¤U¨1¨R°¨8¡_°bÕ9rT   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   rJ   rJ   )r   r�   r�   r   rJ   Údr‘   r�   )r
   r   r   r   r?   Úonesr   )rE   Úcrš   s      rG   Ú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¬"¯'©'°"°cÓ*:Ñ':Ô;Ü! ! A¡$ rª1 u¡+¬r¯w©w°r¸3Ó/?ÀÔDÜ! ! A¡$¢q¨" u¡+¨q´·±¸¸SÓ1AÑ/AÀ2ÔFÜ! ! A qª! G¡*¨q°°A²q°©zÑ"9Ø"%¤b§g¡g¨b°#Ó&6Ñ"6¸ô	<ä! ! A¢q¨! G¡*¨q°²A°q°©zÑ"9Ø"%¤b§g¡g¨b°#Ó&6Ñ"6¸õ	<rT   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   r?   Úbroadcast_arraysÚzipr   )rE   Ú	grid_fullÚgrid_sparseÚgrid_broadcastÚfr’   s         rG   Útest_sparsezTestGrid.test_sparseÛ   sn   € Ü˜B˜q ˜H b¨¨3 hÐ.Ñ/ˆ	Ü˜B˜q ˜H b¨¨3 hÐ.Ñ/ˆô ×,Ñ,¨kÐ:ˆÜ˜	 >Ó2ò 	‰DˆAˆqÜ˜˜AÕñ	rT   zstart, stop, step, expected)NrJ   r�   )éÈ   rJ   )iöÿÿÿr�   N)i  é   c                 ó¢   — t         |||…|||…f   }t         |||…   }t        |j                  |d   «       t        |j                  |d   «       y )Nr   r   )r
   r   Úsize)rE   ÚstartÚstopÚstepÚexpectedÚgridÚ
grid_smalls          rG   Ú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Õ2rT   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dd…   }t         t        j                  d«      t        j                  d«      t        j                  d«      …   }t        |j                  t        j
                  k(  «       t        ||«       y )Nr'   ç…ëQ¸Õ?)r
   r?   Úfloat32r   rM   Úfloat64r   )rE   Úgrid64Úgrid32s      rG   Útest_accepts_npfloatingz TestGrid.test_accepts_npfloatingô   s»   € ä�s˜4 �|�}Ñ&ˆÜ”r—z‘z #“¤r§z¡z°$Ó'7¼¿
¹
À3»ÐGÐHÑJˆÜ�—‘¤§
¡
Ñ*Ô+Ü! &¨&Ô1ô �s˜4 �|Ñ$ˆÜ”r—z‘z #“¤r§z¡z°$Ó'7¼¿
¹
À3»ÐGÑHˆÜ�—‘¤§
¡
Ñ*Ô+Ü! &¨&Õ1rT   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
   r?   Ú
longdoubler   rM   r   r   )rE   rµ   Úgrid128Ú
grid128c_aÚ
grid128c_bs        rG   Ú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ñ
ˆô 	�—‘¤§¡Ñ.Ô/Ü! &¨'Õ2rT   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
   r?   Ú	complex64r   rM   r´   r   Úclongdoubler¹   )rE   Úgrid64_aÚgrid64_bÚ	grid128_aÚ	grid128_bs        rG   Útest_accepts_npcomplexfloatingz'TestGrid.test_accepts_npcomplexfloating  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Õ.rT   N)r†   r‡   rˆ   rH   r—   r�   r¥   r‰   rŠ   r‹   r°   r·   r½   rÅ   rK   rT   rG   r�   r�   »   sV   „ ò
4ò:ò
<òð ‡[�[×ÑÐ:Ø"Ø#ð=
ó ñ
3ó	ð
3ò2ò3ó,/rT   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   r?   rD   r›   )rE   r’   rœ   s      rG   Útest_1dzTestConcatenator.test_1d/  sE   € Üœ2Ð.Ñ/´·±Ò:LÓ1MÔNÜ�G‰G�A‹JˆÜˆq�!�Q˜ˆz‰NˆÜ˜1ÒBÕCrT   c                 óN   — t         ddd…f   }t        |j                  dk(  «       y )Ng333333$@r   rJ   Úf8)r   r   rM   ©rE   Úgs     rG   Útest_mixed_typez TestConcatenator.test_mixed_type5  s#   € Üˆt�Q�r�Tˆz‰NˆÜ�—‘˜4‘Õ rT   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   r?   rD   r   rM   rÌ   s     rG   Útest_more_mixed_typez%TestConcatenator.test_more_mixed_type9  s8   € Üˆu”b—h‘h ˜s“m¤R§X¡XªiÓ%8¸$Ð>Ñ?ˆÜ�—‘˜4‘Õ rT   c                 óº   — t         ddd…   }t        |j                  dk(  «       t         ddt        j                  d«      …   }t        |j                  dk(  «       y )Nr   rY   y              Y@)éd   )r   r   r   r?   r¿   rÌ   s     rG   Útest_complex_stepz"TestConcatenator.test_complex_step=  sO   € äˆq��Dˆy‰MˆÜ�—‘˜6Ñ!Ô"ô ˆq�”B—L‘L Ó&Ð&Ñ'ˆÜ�—‘˜6Ñ!Õ"rT   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+   rJ   )rJ   r+   )r?   ÚrandomÚrandr   r   r   r   )rE   r’   rœ   rš   s       rG   Ú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Õ'rT   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)   ro   )r   r   r?   rD   rl   s    rG   rw   zTestConcatenator.test_0dR  sX   € Ü”R˜œ2Ÿ8™8 A›;¨Ð)Ñ*ªIÔ6Ü”Rš	¤2§8¡8¨A£;Ð.Ñ/²Ô>Ü”RœŸ™ ›¢YÐ.Ñ/²Õ>rT   N)	r†   r‡   rˆ   rÉ   rÎ   rÐ   rÓ   rØ   rw   rK   rT   rG   rÇ   rÇ   .  s!   „ òDò!ò!ò#ò
(ó?rT   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%   )r?   rD   r   Úlistr   ©rE   r�   s     rG   rH   zTestNdenumerate.test_basicY  s4   € Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&ˆÜ”Tœ+ a›.Ó)ÚIõ	KrT   N)r†   r‡   rˆ   rH   rK   rT   rG   rÜ   rÜ   X  s   „ óKrT   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$   )r?   Úaranger   r   r   rß   s     rG   Ú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¨¨"˜~Ñ.Õ/rT   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   )r?   rÖ   r×   r   r   r   rß   s     rG   Útest_simple_1z!TestIndexExpression.test_simple_1f  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Ñ):Ñ';Õ<rT   N)r†   r‡   rˆ   rä   ræ   rK   rT   rG   rá   rá   _  s   „ ò0ó=rT   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   rL   )r?   r   Úranger   rM   rZ   rD   r³   rß   s     rG   rä   zTestIx_.test_regression_1n  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Õ)rT   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   NrK   )r€   ÚjÚshÚks      €rG   r‚   z/TestIx_.test_shape_and_dtype.<locals>.<genexpr>�  s   øè ø€ ÒN©¨¨2ÀqÈAÃv˜B !�GÑNùs   ƒ‘
)rê   r?   rã   r   Ú	enumerater    r   r   r   r„   Ú
issubdtyperM   Úinteger)rE   ÚsizesÚfuncÚszÚarraysr�   rï   s         @rG   Útest_shape_and_dtypezTestIx_.test_shape_and_dtypez  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   )r?   Únonzeror   r   )rE   Úbool_aÚint_as      rG   Ú	test_boolzTestIx_.test_bool„  s.   € Ú*ˆÜ—‘˜FÓ#‰ˆÜ”R—V‘V˜F“^ AÑ&¨Õ.rT   c                 óR   — g d¢g d¢g}t        t        t        j                  |«       y )Nro   ©r%   r+   r*   )r   rC   r?   r   )rE   Úidx2ds     rG   Útest_1d_onlyzTestIx_.test_1d_only‰  s   € ÚšIÐ&ˆÜ”j¤"§&¡&¨%Õ0rT   c                 óä   — d}t        j                  |«      }t        ||«      }t        |d   j                  |df«       t        |d   j                  d|f«       t        |j                  |f«       y )Nr+   r   r   )r?   rã   r   r   r   )rE   Úlength_of_vectorrr   Úouts       rG   Ú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Õ2rT   N)r†   r‡   rˆ   rä   r÷   rü   r   r  rK   rT   rG   rè   rè   m  s   „ ò
*ò<ò/ò
1ó3rT   rè   c                  ó¨   — t         j                  t        j                  g d¢g«      ddt        j                  g d¢g«      f   } t        | g d¢g«       y )Nro   r   rþ   )r   r   r)   r   r   r%   r+   r*   )r?   Úc_rD   r   )r�   s    rG   Útest_c_r  —  s=   € Ü
�‰Œb�h‰hš	�{Ó# Q¨¬2¯8©8²Y°KÓ+@Ð@ÑA€AÜ�Ò-Ð.Õ/rT   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+   ©r?   r{   rP   r   r   rD   rß   s     rG   rH   zTestFillDiagonal.test_basic�  s?   € Ü�H‰H�VœSÓ!ˆÜ�a˜ÔÜØŒr�x‰xšÚ"Ú"ð$ó %õ	rT   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 )NrN   r+   r  r  r  ©r   r   r   r  rß   s     rG   Útest_tall_matrixz!TestFillDiagonal.test_tall_matrix¦  sT   € Ü�H‰H�WœcÓ"ˆÜ�a˜ÔÜØŒr�x‰xšÚ"Ú"Ú"Ú"Ú"Ú"Ú"Ú"Ú"ð	$ó 	%õ	rT   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 )NrN   r+   Tr  r  r  r  r  rß   s     rG   Útest_tall_matrix_wrapz&TestFillDiagonal.test_tall_matrix_wrap¶  sV   € Ü�H‰H�WœcÓ"ˆÜ�a˜˜DÔ!ÜØŒr�x‰xšÚ"Ú"Ú"Ú"Ú"Ú"Ú"Ú"Ú"ð	$ó 	%õ	rT   c           	      ó    — t        j                  dt        «      }t        |d«       t	        |t        j
                  g d¢g d¢g d¢g«      «       y )N)r)   rJ   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     rG   Útest_wide_matrixz!TestFillDiagonal.test_wide_matrixÆ  s@   € Ü�H‰H�WœcÓ"ˆÜ�a˜ÔÜØŒr�x‰xÒ7Ú7Ú7ð9ó :õ	rT   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   )r?   r{   rP   r   rD   r   Úwhere)rE   r�   Úis      rG   Ú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° |Õ4rT   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+   ©r?   r{   rP   r	   rC   r   rß   s     rG   Ú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)   r,   r)   úequal lengthr   r  rß   s     rG   Útest_hetero_shape_handlingz+TestFillDiagonal.test_hetero_shape_handlingÛ  s=   € ô �H‰H�Y¤Ó$ˆÜ ¤¨^Ó<ñ 	 Ü˜!˜QÔ÷	 ÷ 	 ñ 	 úr  N)
r†   r‡   rˆ   rH   r  r  r  r  r  r!  rK   rT   rG   r	  r	  œ  s%   „ òòò ò ò5ò ó rT   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*   r,   r=   )r>   rJ   r‘   r<   )r4   é   é   é   rÒ   )rÒ   r   r)   r%   )r+   rÒ   r,   r=   )r>   rJ   rÒ   r<   )r4   r#  r$  rÒ   r   r)   )r   r   r   r   r   )r   r?   rD   r   r{   rP   )Údir�   Úd3s      rG   Útest_diag_indicesr(  ã  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ððó  õ
rT   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%   )r?   rÖ   r   r   rã   )rE   rr   Úrrœ   s       rG   Útest_diag_indices_fromz*TestDiagIndicesFrom.test_diag_indices_from  sH   € Ü�I‰I×Ñ˜VÓ$ˆÜ  Ó#‰ˆˆ1Ü˜1œbŸi™i¨›lÔ+Ü˜1œbŸi™i¨›lÕ+rT   c                 óŽ   — t        j                  d«      }t        t        d«      5  t	        |«       d d d «       y # 1 sw Y   y xY w)Nr,   r  )r?   r›   r	   rC   r   rv   s     rG   Ú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   )r?   r{   rP   r	   rC   r   rv   s     rG   Útest_error_shape_mismatchz-TestDiagIndicesFrom.test_error_shape_mismatch  s9   € Ü�H‰H�\¤3Ó'ˆÜ ¤¨^Ó<ñ 	!Ü˜aÔ ÷	!÷ 	!ñ 	!ús   «A Á A	N)r†   r‡   rˆ   r-  r/  r1  rK   rT   rG   r*  r*  ÿ  s   „ ò,ò!ó
!rT   r*  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)   ro   )r)   rK   r   )rÞ   r   r   r?   r{   r   r   )rr   ÚixÚer­   s       rG   Útest_ndindexr5    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)"r‰   Únumpyr?   Únumpy.testingr   r   r   r   r   r   r	   Únumpy.lib.index_tricksr
   r   r   r   r   r   r   r   r   r   r   r   r�   rÇ   rÜ   rá   rè   r  r	  r(  r*  r5  rK   rT   rG   ú<module>r9     sš   ðÛ ã ÷÷ ñ ÷÷ ÷ ñ ÷k-ñ k-÷Zp/ñ p/÷f'?ñ '?÷TKñ K÷=ñ =÷'3ñ '3òT0÷
D ñ D òN
÷8!ñ !ó&rT   