§
    fŠtjKR  ã                   ó6  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlm	Z	m
Z
mZ ddlmZ e	e
gZe j        d„ ¦   «         Zej                             de¦  «         G d„ d	¦  «        ¦   «         Zej                             de¦  «         G d
„ d¦  «        ¦   «         ZdS )é    N)Úassert_allcloseÚassert_equal)Ú	csr_arrayÚ	dok_arrayÚSparseEfficiencyWarningé   )Útoarrayc              #   óØ   K  — dV — t          | d¦  «        r| j        sdS | j                             ¦   «         }d| _        |                      ¦   «          t          || j        d¦  «         dS )zDChecks that sorted indices property is retained through an operationNÚhas_sorted_indicesFz'Expected sorted indices, found unsorted)Úhasattrr   ÚindicesÚcopyÚsort_indicesr   )ÚXr   s     ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_indexing1d.pyÚcheck_remains_sortedr      sw   è è € ð 
€E€E€EÝ�1Ð*Ñ+Ô+ð °1Ô3Gð ØˆØŒi�nŠnÑÔ€GØ €AÔØ‡N‚NÑÔÐÝ�˜!œ)Ð%NÑOÔOÐOÐOÐOó    Ú	spcreatorc                   ó„   — e Zd Zd„ Zd„ Zd„ Zej                             dd„ e	j
        d„ gg d¢¬¦  «        d	„ ¦   «         Zd
S )ÚTestGetSet1Dc                 óº  — t          j        g d¢¦  «        } ||¦  «        }|j        d         }t          | |¦  «        D ]š}t	          ||d f                              ¦   «         ||d f         ¦  «         t	          |d |f                              ¦   «         |d |f         ¦  «         t	          |d d |f                              ¦   «         |d d |f         ¦  «         Œ›d S )N©é   é   r   r   )ÚnpÚarrayÚshapeÚranger   r	   )Úselfr   ÚDÚAÚNÚjs         r   Útest_None_indexzTestGetSet1D.test_None_index   sá   € ÝŒH�Y�Y�YÑÔˆØˆI�a‰LŒLˆàŒG�AŒJˆÝ˜�r˜1‘”ð 	Gð 	GˆAÝ˜˜1˜d˜7œ×+Ò+Ñ-Ô-¨q°°D°¬zÑ:Ô:Ð:Ý˜˜4 ˜7œ×+Ò+Ñ-Ô-¨q°°q°¬zÑ:Ô:Ð:Ý˜˜4  q˜=Ô)×1Ò1Ñ3Ô3°Q°t¸TÀ1°}Ô5EÑFÔFÐFÐFð	Gð 	Gr   c                 óì  —  |t          j        d¦  «                             dd¦  «        ¦  «        }|d         j        dk    sJ ‚|ddd…f         j        dk    sJ ‚|d ddd…f         j        d	k    sJ ‚|d
         j        dk    sJ ‚|d         j        d	k    sJ ‚|d         j        dk    sJ ‚|d         j        dk    sJ ‚|d dd d …f         j        dk    sJ ‚|dd d d …f         j        dk    sJ ‚|dd d …d f         j        dk    sJ ‚|j        dk    r_|d         j        dk    sJ ‚|d dd…d df         j        dk    sJ ‚|dd…dd …d f         j        dk    sJ ‚|dd …dd d f         j        dk    sJ ‚d S d S )Né   r   r   )r   é   r   r   r'   ©r   )r   r   )Nr   r'   )Nr   r'   N)Nr   )r   r   )r   N)r   r   Úcoo)Nr'   r   NN)r   r   r   )r   r'   r   )r   r   r   )r   r   r   )r   ÚarangeÚreshapeÚndimr   Úformat©r   r   r!   s      r   Útest_getitem_shapezTestGetSet1D.test_getitem_shape'   sù  € ØˆI•b”i Ñ&Ô&×.Ò.¨q°!Ñ4Ô4Ñ5Ô5ˆØ�ŒwŒ|˜qÒ Ð Ð Ð Ø��A�a�C�ŒyŒ $Ò&Ð&Ð&Ð&Ø��q˜!˜A˜#�ŒÔ$¨Ò.Ð.Ð.Ð.Ø�Œ}Ô" dÒ*Ð*Ð*Ð*ØÐ!Ô"Ô(¨FÒ2Ð2Ð2Ð2ð �ŒzÔ 6Ò)Ð)Ð)Ð)Ø�ŒzÔ 6Ò)Ð)Ð)Ð)Ø��q˜!˜!˜!�Œ}Ô" fÒ,Ð,Ð,Ð,Ø��D˜!˜!˜!�Œ}Ô" fÒ,Ð,Ð,Ð,Ø��A�A�A�t�Œ}Ô" fÒ,Ð,Ð,Ð,ð Œ8�uÒÐØÐ+Ô,Ô2°iÒ?Ð?Ð?Ð?Ø�T˜1˜Q˜3  aÐ'Ô(Ô.°'Ò9Ð9Ð9Ð9Ø�Q�q�S˜!˜"˜"˜d�]Ô#Ô)¨WÒ4Ð4Ð4Ð4Ø�Q�R�R˜˜D $Ð&Ô'Ô-°Ò8Ð8Ð8Ð8ð	 Ðð 9Ð8r   c                 ó
  — t          j        g d¢¦  «        } ||¦  «        }|j        d         }t          | |¦  «        D ]}t	          ||         ||         ¦  «         ŒdD ]J}t          j        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒK|d         dk    sJ ‚t          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r   )r   éüÿÿÿz index (.*) out of (range|bounds)©Úmatch)r   r   ©r   )	r   r   r   r   r   ÚpytestÚraisesÚ
IndexErrorÚ__getitem__)r   r   r    r!   r"   r#   Úijs          r   Útest_getelementzTestGetSet1D.test_getelement=   s�  € ÝŒH�Y�Y�YÑÔˆØˆI�a‰LŒLˆàŒG�AŒJˆÝ˜�r˜1‘”ð 	%ð 	%ˆAÝ˜˜1œ˜q œtÑ$Ô$Ð$Ð$àð 	"ð 	"ˆBÝ”�zÐ1SÐTÑTÔTð "ð "Ø—’˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "øð �Œw˜!Š|ˆ|ˆ|ˆ|åŒ]�:Ð-OÐPÑPÔPð 	 ð 	 Ø�MŠM˜$ÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s$   Á>B Â B$	Â'B$	ÃC8Ã8C<Ã?C<Úscalar_containerc                 óH   — t          t          j        | gg¦  «        ¦  «        S ©N)r   r   r   ©Úxs    r   ú<lambda>zTestGetSet1D.<lambda>Q   s   € •9�RœX¨ s e™_œ_Ñ-Ô-€ r   c                 ó   — | S r=   © r>   s    r   r@   zTestGetSet1D.<lambda>Q   s   € À1€ r   )ÚsparseÚdenseÚscalar)Úidsc                 ó”  — t           j        } |d|¬¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «          | |d¦  «        ¦  «        |d<    | |d¦  «        ¦  «        |d<    | |d¦  «        ¦  «        |d	<    | |d
¦  «        ¦  «        |d<    |d¦  «        |d<    | |d	¦  «        ¦  «        |d<    | |d¦  «        ¦  «        |d<   dD ]K}t          j        t          d¬¦  «        5  | 	                    |d¦  «         d d d ¦  «         n# 1 swxY w Y   ŒL	 d d d ¦  «         d S # 1 swxY w Y   d S )N©r&   ©ÚdtypeÚignoreú2Changing the sparsity structure of .* is expensiver   r   r   g      "@é   é   éþÿÿÿé	   é   )i÷ÿÿÿr(   )é   éòÿÿÿ©rR   )é   zout of (range|bounds)r2   ç     À^@)
r   Úfloat64ÚwarningsÚcatch_warningsÚfilterwarningsr   r5   r6   r7   Ú__setitem__)r   r   r;   rJ   r!   r9   s         r   Útest_setelementzTestGetSet1D.test_setelementO   s  € õ ”
ˆØˆI�e 5Ð)Ñ)Ô)ˆÝÔ$Ñ&Ô&ð 	-ð 	-ÝÔ#ØØDÝ'ñô ð ð
 $Ð# E E¨!¡H¤HÑ-Ô-ˆAˆa‰DØ#Ð# E E¨!¡H¤HÑ-Ô-ˆAˆa‰DØ#Ð# E E¨#¡J¤JÑ/Ô/ˆAˆa‰DØ$Ð$ U U¨1¡X¤XÑ.Ô.ˆAˆb‰EØ#Ð# AÑ&Ô&ˆAˆa‰Dà%Ð% e e¨A¡h¤hÑ/Ô/ˆAˆc‰FØ$Ð$ U U¨1¡X¤XÑ.Ô.ˆAˆb‰Eà-ð -ð -�Ý”]¥:Ð5LÐMÑMÔMð -ð -Ø—M’M " eÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -øð-ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s6   ­CD=Ä D#ÄD=Ä#D'Ä'D=Ä*D'Ä+D=Ä=EÅEN)Ú__name__Ú
__module__Ú__qualname__r$   r/   r:   r5   ÚmarkÚparametrizer   r   r\   rB   r   r   r   r      s–   € € € € € ðGð Gð Gð9ð 9ð 9ð, ð  ð  ð$ „[×ÒØØ	-Ð	-¨r¬x¸¸ÐEØ)Ð)Ð)ð ñ ô ð
-ð -ñô ð
-ð -ð -r   r   c                   óž   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestSlicingAndFancy1Dc                 ó>  — t          j        g d¢¦  «        } ||¦  «        }t          |d                              ¦   «         |d         ¦  «         dD ]J}t	          j        t          d¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒKd S )Nr   rB   )©r   r   ©r   z"out of (range|bounds)|many indicesr2   )r   r   r   r	   r5   r6   r7   r8   )r   r   r    r!   r9   s        r   Útest_get_array_indexz*TestSlicingAndFancy1D.test_get_array_indexp   sÙ   € ÝŒH�Y�Y�YÑÔˆØˆI�a‰LŒLˆå�Q�r”U—]’]‘_”_ a¨¤eÑ,Ô,Ð,Ø ð 	"ð 	"ˆBÝ”�zÐ1UÐVÑVÔVð "ð "Ø—’˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "øð	"ð 	"s   Á/BÂB	ÂB	c                 ó   — t           j        } |d|¬¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «          |d¦  «        |t          j        d¦  «        <    |d¦  «        |t          j        d¦  «        <   t          |                     ¦   «         g d¢¦  «         d	D ]K}t          j
        t          d
¬¦  «        5  |                     |d¦  «         d d d ¦  «         n# 1 swxY w Y   ŒLddg d¢t          j        g d¢¦  «        fD ]M}d}t          j
        t          |¬¦  «        5  |                     d|¦  «         d d d ¦  «         n# 1 swxY w Y   ŒN	 d d d ¦  «         d S # 1 swxY w Y   d S )NrH   rI   rK   rL   g      @é   g       @)r   r   r   r   r   r   r'   r   r   r   r   r   )rT   )rS   zindex .* out of (range|bounds)r2   rV   rB   re   )r   r'   r   ú&Trying to assign a sequence to an itemr   )r   rW   rX   rY   rZ   r   r   r   r	   r5   r6   r7   r[   Ú
ValueError)r   r   rJ   r!   r9   ÚvÚmsgs          r   Útest_set_array_indexz*TestSlicingAndFancy1D.test_set_array_indexy   sE  € Ý”
ˆØˆI�e 5Ð)Ñ)Ô)ˆÝÔ$Ñ&Ô&ð 	(ð 	(ÝÔ#ØØDÝ'ñô ð ð
 #˜U 3™ZœZˆA�bŒh�q‰kŒk‰NØ"˜U 3™ZœZˆA�bŒh�q‰kŒk‰NÝ˜Ÿš™œÐ&JÐ&JÐ&JÑKÔKÐKà%ð -ð -�Ý”]¥:Ð5UÐVÑVÔVð -ð -Ø—M’M " eÑ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -øð ˜& ) ) )­R¬X°i°i°iÑ-@Ô-@ÐAð (ð (�Ø>�Ý”]¥:°SÐ9Ñ9Ô9ð (ð (Ø—M’M ! QÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (øð(ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(sZ   ­BE3ÃC/Ã#E3Ã/C3Ã3E3Ã6C3Ã7?E3Ä6EÅE3ÅEÅE3Å EÅ!E3Å3E7Å:E7c                 óp  — t           |dt          j        ¬¦  «        dd…         j        t          j        ¦  «         t           |dt          j        ¬¦  «        ddd…         j        t          j        ¦  «         t           |dt          j        ¬¦  «        d d …         j        t          j        ¦  «         d S )N©é
   rI   r   rQ   )ri   r   r'   )r   r   Úint16rJ   Úint32Úint64)r   r   s     r   Útest_dtype_preservationz-TestSlicingAndFancy1D.test_dtype_preservation’   s—   € Ý�Y�Y˜u­B¬HÐ5Ñ5Ô5°a¸°cÔ:Ô@Å"Ä(ÑKÔKÐKÝ�Y�Y˜t­2¬8Ð4Ñ4Ô4°Q°q¸°UÔ;ÔAÅ2Ä8ÑLÔLÐLÝ�Y�Y˜t­2¬8Ð4Ñ4Ô4°Q°Q°QÔ7Ô=½r¼xÑHÔHÐHÐHÐHr   c                 ó°  — t          j        d¦  «        } ||¦  «        }t          |d d …         |d d …                              ¦   «         ¦  «         t          |dd…         |dd…                              ¦   «         ¦  «         t          j        g d¢¦  «        } ||¦  «        }t          |dd…         |dd…                              ¦   «         ¦  «         t          j        g d¢¦  «        } ||¦  «        }t          |dd…         |dd…                              ¦   «         ¦  «         t          |dd …         |dd …                              ¦   «         ¦  «         t          |d d …         |d d …                              ¦   «         ¦  «         t          |t          d ¦  «                 |t          d ¦  «                                      ¦   «         ¦  «         d S )	Ng      I@r'   rQ   )	r   r   ri   r   r   r   r   r   r   r   r   )r   r   r   r   r   rO   )r   r*   r   r	   r   Úslice)r   r   ÚBr!   ÚCr    ÚEÚFs           r   Útest_get_1d_slicez'TestSlicingAndFancy1D.test_get_1d_slice—   s�  € ÝŒI�c‰NŒNˆØˆI�a‰LŒLˆÝ�Q�q�q�q”T˜1˜Q˜Q˜Qœ4Ÿ<š<™>œ>Ñ*Ô*Ð*Ý�Q�q˜�s”V˜Q˜q ˜sœVŸ^š^Ñ-Ô-Ñ.Ô.Ð.åŒHÐ0Ð0Ð0Ñ1Ô1ˆØˆI�a‰LŒLˆÝ�Q�q˜�s”V˜Q˜q ˜sœVŸ^š^Ñ-Ô-Ñ.Ô.Ð.õ ŒH�_�_�_Ñ%Ô%ˆØˆI�a‰LŒLˆÝ�Q�q˜�s”V˜Q˜q ˜sœVŸ^š^Ñ-Ô-Ñ.Ô.Ð.Ý�Q�r�s�s”V˜Q˜r˜s˜sœVŸ^š^Ñ-Ô-Ñ.Ô.Ð.Ý�Q�q�q�q”T˜1˜Q˜Q˜Qœ4Ÿ<š<™>œ>Ñ*Ô*Ð*Ý�Q•u˜T‘{”{”^ Q¥u¨T¡{¤{¤^×%;Ò%;Ñ%=Ô%=Ñ>Ô>Ð>Ð>Ð>r   c                 óv  — t          j        d¦  «        } ||¦  «        }t          |d         |d         ¦  «         t          |d         |d         ¦  «         t          |t          j        d¦  «                 |d         ¦  «         t          |d d …                              ¦   «         |d d …         ¦  «         t          |dd…                              ¦   «         |dd…         ¦  «         t          |ddd…                              ¦   «         |ddd…         ¦  «         t          t          j        d¦  «        t          j        d¦  «        d ¦  «        }t          ||                              ¦   «         |dd…         ¦  «         t           j        }|d d…         |d	d…         |dd …         |dd d…         |d
d…         |dd…         |ddd…         |dd d…         |d dd…         dd	|d d …         |d	d…         dddt          j        d¦  «        t          j        d¦  «        g}t          |¦  «        D ]†\  }}||         }	||         }
|
j	        dk    rt          |	|
t          |¦  «        ¦  «         Œ?|	j        dk    r|
j        dk    rŒVt          |	                     ¦   «         |
t          |¦  «        ¦  «         Œ‡d S )Né2   r'   éÿÿÿÿrO   rQ   r&   r   r   r   é   é   rM   r   éûÿÿÿéýÿÿÿrB   )r   r*   r   r   r	   rw   Úint8Ús_Ú	enumerater   ÚreprÚsize)r   r   rx   r!   Úsr…   Úslicesr#   Úar?   Úys              r   Útest_slicing_idx_slicez,TestSlicingAndFancy1D.test_slicing_idx_slice©   s|  € ÝŒI�b‰MŒMˆØˆI�a‰LŒLˆõ 	�Q�q”T˜1˜Qœ4Ñ Ô Ð Ý�Q�r”U˜A˜bœEÑ"Ô"Ð"Ý�Q•r”x ‘|”|”_ a¨¤eÑ,Ô,Ð,õ 	�Q�q�q�q”T—\’\‘^”^ Q q q q¤TÑ*Ô*Ð*Ý�Q�q˜�t”W—_’_Ñ&Ô&¨¨!¨B¨$¬Ñ0Ô0Ð0Ý�Q�q˜˜A�v”Y×&Ò&Ñ(Ô(¨!¨A¨b°¨F¬)Ñ4Ô4Ð4õ •"”'˜!‘*”*�bœg a™jœj¨$Ñ/Ô/ˆÝ�Q�q”T—\’\‘^”^ Q q¨ s¤VÑ,Ô,Ð,õ ŒUˆØ�R�a�R”&˜"˜Q˜q˜Sœ' 2 a b b¤6¨2¨a¨d°¨d¬8Ø�R˜�U”)˜R  ! œWØ�Q�q˜�V”*˜b   B œi¨¨E¨Q¨r¨E¬Ø�Q˜˜1˜1˜1œ˜r ! A #œw¨¨B°Ý”(˜2‘,”,¥¤¨¡¤ð	-ˆõ ˜fÑ%Ô%ð 		:ð 		:‰DˆAˆqØ�!”ˆAØ�!”ˆAØŒw˜"Š}ˆ}Ý˜Q ¥4¨¡7¤7Ñ+Ô+Ð+Ð+à”6˜Q’;�; 1¤6¨Q¢; ;Øå  §¢¡¤¨aµ°a±´Ñ9Ô9Ð9Ð9ð		:ð 		:r   c                 óü   — t          j        d¦  «        } ||¦  «        }t          |d                              ¦   «         |d         ¦  «         t          |d                              ¦   «         |d         ¦  «         d S )Nr~   .).)r   r*   r   r	   ©r   r   rx   r!   s       r   Útest_ellipsis_1d_slicingz.TestSlicingAndFancy1D.test_ellipsis_1d_slicingÎ   sf   € ÝŒI�b‰MŒMˆØˆI�a‰LŒLˆÝ�Q�s”V—^’^Ñ%Ô% q¨¤vÑ.Ô.Ð.Ý�Q�t”W—_’_Ñ&Ô&¨¨$¬Ñ0Ô0Ð0Ð0Ð0r   c                 ól  —  |d¦  «        }t          j        d¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «         ||fD ]&}d|dd…<   d|dd…<   d|dd	…<   d|d	d …<   d|d	d d
…<   Œ'	 d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d S )N©rQ   rK   rL   r   r   r   r'   rP   r   r   )r   ÚzerosrX   rY   rZ   r   r   r	   )r   r   r!   rx   ry   s        r   Útest_slice_scalar_assignz.TestSlicingAndFancy1D.test_slice_scalar_assign×   s  € ØˆI�d‰OŒOˆÝŒH�T‰NŒNˆÝÔ$Ñ&Ô&ð 	ð 	ÝÔ#ØØDÝ'ñô ð ð
 ˜�Vð ð �Ø��!�A�#‘Ø��!�A�#‘Ø��!�A�#‘Ø��!�"�"‘Ø��!�%�R�%‘�ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	�Q—Y’Y‘[”[ !Ñ$Ô$Ð$Ð$Ð$s   ³ABÂBÂBc                 óž  — d}t          d¦  «        t          d dd¦  «        t          dd¦  «        fD ]š} ||¦  «        }t          j        ¦   «         5  t          j        ddt          ¦  «         d	||<   d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «        }d	||<   d
|›�}t          |                     ¦   «         ||¬¦  «         Œ›d S )Nrp   r   rq   r   rQ   rO   rK   rL   r   zidx=)Úerr_msg)	rw   rX   rY   rZ   r   r   r“   r   r	   )r   r   r   Úidxr!   rx   rm   s          r   Útest_slice_assign_2z)TestSlicingAndFancy1D.test_slice_assign_2è   s   € Øˆå˜!‘H”H�e D¨"¨aÑ0Ô0µ%¸¸2±,´,Ð?ð 	9ð 	9ˆCØ�	˜%Ñ Ô ˆAÝÔ(Ñ*Ô*ð ð ÝÔ'ØØHÝ+ñô ð ð
 ��#‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ”˜‘”ˆAØˆAˆc‰FØ ˜�.�.ˆCÝ˜AŸIšI™KœK¨°CÐ8Ñ8Ô8Ð8Ð8ð	9ð 	9s   Á!A?Á?B	ÂB	c                 óÔ  —  |d¦  «        }t          j        ¦   «         5  t          j        ddt          ¦  «         d|d<   d|d<   d|d<   d|d<   |dz  }|d d …         |d d …<   t	          |d d …                              ¦   «         |d d …                              ¦   «         ¦  «         |dz  }|d d…         |d d …<   t	          t          j        d¦  «        |d         z   |                     ¦   «         ¦  «         |dz  }|dd …         |d d	…<   t	          |dd …                              ¦   «         |d d	…                              ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr’   rK   rL   r'   r   r   r   rq   r   )rX   rY   rZ   r   r   r	   r   r“   r�   s       r   Útest_self_self_assignmentz/TestSlicingAndFancy1D.test_self_self_assignmentù   s«  € àˆI�d‰OŒOˆÝÔ$Ñ&Ô&ð 	<ð 	<ÝÔ#ØØDÝ'ñô ð ð
 ˆAˆa‰DØˆAˆa‰DØˆAˆa‰DØˆAˆa‰Dà�B‘ˆAØ�Q�Q�Q”4ˆAˆaˆaˆa‰DÝ˜˜1˜1˜1œŸš™œ¨¨1¨1¨1¬¯ª©¬Ñ8Ô8Ð8à�B‘ˆAØ�R�a�R”5ˆAˆaˆaˆa‰DÝ�œ $™œ¨!¨A¬$Ñ.°·	²	±´Ñ<Ô<Ð<à�B‘ˆAØ�q�r�r”UˆAˆcˆrˆc‰FÝ˜˜1˜2˜2œŸš™œ¨!¨C¨R¨C¬&¯.ª.Ñ*:Ô*:Ñ;Ô;Ð;ð+	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð 	<ð 	<s   ŸD1EÅE!Å$E!c                 óÆ  —  |d¦  «        }t          j        g d¢¦  «        }ddg}t          j        ¦   «         5  t          j        ddt
          ¦  «         d|d<   d	|d<   ||z   |d d …<   t          |                     ¦   «         |¦  «         t          |¦  «        |d d…<   t          |                     ¦   «         d d…         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr4   )rq   r   rU   r   r'   r   rK   rL   rQ   r   rN   )	r   r   rX   rY   rZ   r   r   r	   r   )r   r   rx   ÚexpectedÚblocks        r   Útest_slice_assignmentz+TestSlicingAndFancy1D.test_slice_assignment  s.  € ØˆI�d‰OŒOˆÝ”8˜N˜N˜NÑ+Ô+ˆØ�A�ˆåÔ$Ñ&Ô&ð 	1ð 	1ÝÔ#ØØDÝ'ñô ð ð
 ˆAˆa‰DØˆAˆa‰DØ�q‘5ˆAˆaˆaˆa‰DÝ˜Ÿš™œ hÑ/Ô/Ð/å˜eÑ$Ô$ˆAˆbˆqˆb‰EÝ˜Ÿš™œ R a Rœ¨%Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   ¹BCÃCÃCc                 ó®  —  |d¦  «        }t          j        dt          ¦  «        }t           j        }|d d…         |dd…         |dd …         |dd d…         |ddd…         |dd d	…         |d dd…         d
d|d d …         |dd…         dd	dt          j        d¦  «        t          j        d¦  «        g}t          j        ¦   «         5  t          j        ddt          ¦  «         t          |¦  «        D ]?\  }}|||<   |||<   t          |                     ¦   «         |t          |¦  «        ¦  «         Œ@t          ddd¦  «        |ddd…<   t          ddd¦  «        |ddd…<   t          |                     ¦   «         |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¦  «        ¦  «        }t!          j        t$          d¬¦  «        5  |                     d
|¦  «         d d d ¦  «         n# 1 swxY w Y   t!          j        t$          d¬¦  «        5  |                     t)          d ¦  «        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr’   rQ   r'   r   r   rM   r   r   rO   r   r‚   rƒ   rK   rL   rq   éd   rj   r2   zcould not be broadcast together)r   r“   Úfloatr…   r   r„   rX   rY   rZ   r   r†   r   r	   r‡   r   Úlistr5   r6   rk   r[   rw   )	r   r   r!   rx   r…   rŠ   r#   r‹   Útoobigs	            r   Útest_set_slicez$TestSlicingAndFancy1D.test_set_slice&  sú  € ØˆI�d‰OŒOˆÝŒH�Q�ÑÔˆÝŒUˆØ�R�a�R”&˜"˜Q˜q˜Sœ' 2 a b b¤6¨2¨a¨d°¨d¬8Ø�Q�q˜�V”*˜b   B œi¨¨E¨Q¨r¨E¬Ø�Q˜˜1˜1˜1œ˜r ! A #œw¨¨B°Ý”(˜2‘,”,¥¤¨¡¤ð-ˆõ
 Ô$Ñ&Ô&ð 	)ð 	)ÝÔ#ØØDÝ'ñô ð õ
 " &Ñ)Ô)ð 6ð 6‘��1Ø��!‘Ø��!‘Ý˜QŸYšY™[œ[¨!­T°!©W¬WÑ5Ô5Ð5Ð5å˜a  A™œˆAˆa��1ˆf‰IÝ˜a  A™œˆAˆa��1ˆf‰IÝ˜Ÿš™œ aÑ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)õ  •e˜C‘j”jÑ!Ô!ˆÝŒ]�:Ð-UÐVÑVÔVð 	%ð 	%Ø�MŠM˜!˜VÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åŒ]�:Ð-NÐOÑOÔOð 	/ð 	/Ø�MŠM�% ™+œ+ vÑ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s7   ÃB;FÆFÆFÇG3Ç3G7Ç:G7È$I
É
IÉIc                 ó¬   —  |t          j        d¦  «        ¦  «        } |d¦  «        }||d d…<   t          |                     ¦   «         g d¢¦  «         d S )Nr   ©r'   r'   )r   r   r   )r   Úonesr   r	   )r   r   r!   rx   s       r   Útest_assign_emptyz'TestSlicingAndFancy1D.test_assign_emptyE  sU   € ØˆI•b”g˜a‘j”jÑ!Ô!ˆØˆI�d‰OŒOˆØˆˆ"ˆ1ˆ"‰Ý�Q—Y’Y‘[”[ ) ) )Ñ,Ô,Ð,Ð,Ð,r   c                 óÌ   —  |dt           j        ¬¦  «        }t          |ddg         j        t           j        ¦  «         t          |g          j        t           j        ¦  «         d S )Nr¦   rI   F)r   rr   r   rJ   r.   s      r   Ú#test_dtype_preservation_empty_indexz9TestSlicingAndFancy1D.test_dtype_preservation_empty_indexN  sT   € ØˆI�d¥"¤(Ð+Ñ+Ô+ˆÝ�Q˜˜u�~Ô&Ô,­b¬hÑ7Ô7Ð7Ý�Q�r”U”[¥"¤(Ñ+Ô+Ð+Ð+Ð+r   c                 ób  —  |t          j        d¦  «        ¦  «        }t          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   zIndex dimension must be 1 or 2r2   Úfooztuple index out of range)r'   r¬   )r   r“   r5   r6   r7   r8   r.   s      r   Útest_bad_indexz$TestSlicingAndFancy1D.test_bad_indexS  s"  € ØˆI•b”h˜q‘k”kÑ"Ô"ˆÝŒ]�:Ð-MÐNÑNÔNð 	!ð 	!Ø�MŠM˜%Ñ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�:Ð-GÐHÑHÔHð 	&ð 	&Ø�MŠM˜*Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð 	&ð 	&s#   ¹AÁAÁ"AÂB$Â$B(Â+B(c           
      ó  — t          j        d¦  «                             d¦  «        } ||¦  «        }t          |ddg                              ¦   «         |ddg         ¦  «         t          |dddgf                              ¦   «         |dddgf         ¦  «         t          |dddgf                              ¦   «         |dddgf         ¦  «         t          |t          j        d¦  «        ddgf                              ¦   «         |dddgf         ¦  «         t          |dt          j        ddg¦  «        f                              ¦   «         |dddgf         ¦  «         t          |t          j        d¦  «        t          j        ddg¦  «        f                              ¦   «         |dddgf         ¦  «         t          |d d …g d¢f                              ¦   «         |d d …g d¢f         ¦  «         t          |dd	…d
gf                              ¦   «         |dd	…d
gf         ¦  «         t          |dd	…ddgf                              ¦   «         |dd	…ddgf         ¦  «         t          |dd	…t          j        ddg¦  «        f                              ¦   «         |dd	…ddgf         ¦  «         t          |ddgdf                              ¦   «         |ddgdf         ¦  «         t          |ddgdf                              ¦   «         |ddgdf         ¦  «         t          |t          j        ddg¦  «        df                              ¦   «         |ddgdf         ¦  «         t          |ddgt          j        d¦  «        f                              ¦   «         |ddgdf         ¦  «         t          |t          j        ddg¦  «        t          j        d¦  «        f                              ¦   «         |ddgdf         ¦  «         t          |ddgd d …f                              ¦   «         |ddgd d …f         ¦  «         t          |ddgdd…f                              ¦   «         |ddgdd…f         ¦  «         t          |t          j        ddg¦  «        dd…f                              ¦   «         |ddgdd…f         ¦  «         t          t	          |ddgdd	gf         ¦  «        |ddgdd	gf         ¦  «         t          t	          |ddgddgf         ¦  «        |ddgddgf         ¦  «         t          t	          |t          j        ddg¦  «        ddgf         ¦  «        |ddgddgf         ¦  «         t          t	          |ddgt          j        ddg¦  «        f         ¦  «        |ddgddgf         ¦  «         t          t	          |t          j        ddg¦  «        t          j        ddg¦  «        f         ¦  «        |ddgddgf         ¦  «         t          |dgdggdd	gf                              ¦   «         |dgdggdd	gf         ¦  «         t          |dgdgdggddgf                              ¦   «         |dgdgdggddgf         ¦  «         t          |t          j        dgdgdgg¦  «        ddgf                              ¦   «         |dgdgdggddgf         ¦  «         t          |dgdgdggt          j        ddg¦  «        f                              ¦   «         |dgdgdggddgf         ¦  «         t          |t          j        dgdgdgg¦  «        t          j        ddg¦  «        f                              ¦   «         |dgdgdggddgf         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |t          j        ddg¦  «                                      ¦   «         |ddg         ¦  «         t          |ddgd d …f         d d …dd	gf                              ¦   «         |ddgd d …f         d d …dd	gf         ¦  «         t          |ddgd d …f         d d …ddgf                              ¦   «         |ddgd d …f         d d …ddgf         ¦  «         t          |t          j        ddg¦  «        d d …f         d d …t          j        ddg¦  «        f                              ¦   «         |ddgd d …f         d d …ddgf         ¦  «         t          |d d …ddgf         dd	gd d …f                              ¦   «         |d d …ddgf         dd	gd d …f         ¦  «         t          |d d …ddgf         ddgd d …f                              ¦   «         |d d …ddgf         ddgd d …f         ¦  «         t          |d d …t          j        ddg¦  «        f         t          j        ddg¦  «        d d …f                              ¦   «         |d d …ddgf         ddgd d …f         ¦  «         d S )Nr~   )rQ   rq   r   r   r   r'   r‚   )r'   rM   r   r   r   rP   r1   rM   rƒ   rO   )r   r*   r+   r   r	   r   r�   s       r   Útest_fancy_indexing_2darrayz1TestSlicingAndFancy1D.test_fancy_indexing_2darrayZ  s   € ÝŒI�b‰MŒM×!Ò! 'Ñ*Ô*ˆØˆI�a‰LŒLˆõ 	�Q˜˜1�v”Y×&Ò&Ñ(Ô(¨!¨Q°¨F¬)Ñ4Ô4Ð4õ 	�Q�q˜1˜a˜&�y”\×)Ò)Ñ+Ô+¨Q¨q°1°a°&¨y¬\Ñ:Ô:Ð:Ý�Q�r˜A˜r˜7�{”^×+Ò+Ñ-Ô-¨q°°a¸°W°¬~Ñ>Ô>Ð>Ý�Q•r”x ‘|”| a¨ WÐ,Ô-×5Ò5Ñ7Ô7¸¸2ÀÀ2¸w¸;¼ÑHÔHÐHÝ�Q�r�2œ8 Q¨ GÑ,Ô,Ð,Ô-×5Ò5Ñ7Ô7¸¸2ÀÀ2¸w¸;¼ÑHÔHÐHÝ�Q•r”x ‘|”|¥R¤X¨q°"¨gÑ%6Ô%6Ð6Ô7×?Ò?ÑAÔAÀ1ÀRÈ!ÈRÈÀ[Ä>ÑRÔRÐRõ 	�Q�q�q�q˜-˜-˜-Ð'Ô(×0Ò0Ñ2Ô2°A°a°a°a¸¸¸Ð6FÔ4GÑHÔHÐHÝ�Q�q˜�s˜Q˜C�x”[×(Ò(Ñ*Ô*¨A¨a°¨c°A°3¨h¬KÑ8Ô8Ð8Ý�Q�q˜�s˜R ˜H�}Ô%×-Ò-Ñ/Ô/°°1°Q°3¸¸R¸°=Ô1AÑBÔBÐBÝ�Q�q˜�s�BœH b¨" XÑ.Ô.Ð.Ô/×7Ò7Ñ9Ô9¸1¸Q¸q¸SÀ2ÀrÀ(¸]Ô;KÑLÔLÐLõ 	�Q˜˜1�v˜q�y”\×)Ò)Ñ+Ô+¨Q°°1¨v°q¨y¬\Ñ:Ô:Ð:Ý�Q˜˜2�w �{”^×+Ò+Ñ-Ô-¨q°!°R°¸"°¬~Ñ>Ô>Ð>Ý�Q•r”x  B Ñ(Ô(¨"Ð,Ô-×5Ò5Ñ7Ô7¸¸A¸r¸7ÀB¸;¼ÑHÔHÐHÝ�Q˜˜2�w¥¤¨¡¤Ð,Ô-×5Ò5Ñ7Ô7¸¸A¸r¸7ÀB¸;¼ÑHÔHÐHÝ�Q•r”x  B Ñ(Ô(­"¬(°2©,¬,Ð6Ô7×?Ò?ÑAÔAÀ1ÀaÈÀWÈbÀ[Ä>ÑRÔRÐRõ 	�Q˜˜1�v˜q˜q˜q�y”\×)Ò)Ñ+Ô+¨Q°°1¨v°q°q°q¨y¬\Ñ:Ô:Ð:Ý�Q˜˜2�w  " �}Ô%×-Ò-Ñ/Ô/°°A°r°7¸A¸b¸D°=Ô1AÑBÔBÐBÝ�Q•r”x  B Ñ(Ô(¨!¨B¨$Ð.Ô/×7Ò7Ñ9Ô9¸1¸aÀ¸WÀaÈÀd¸]Ô;KÑLÔLÐLõ 	•W˜Q  1˜v¨¨1 v˜~Ô.Ñ/Ô/°°A°q°6¸A¸q¸6°>Ô1BÑCÔCÐCÝ•W˜Q  B˜x¨!¨R¨Ð0Ô1Ñ2Ô2°A°r¸2°hÀÀBÀÐ6GÔ4HÑIÔIÐIÝÝ�A•b”h  B˜xÑ(Ô(¨1¨b¨'Ð1Ô2Ñ3Ô3°Q¸¸B°xÀ!ÀRÀÐ7HÔ5Iñ	
ô 	
ð 	
õ 	Ý�A�r˜2�h¥¤¨!¨R¨Ñ 1Ô 1Ð1Ô2Ñ3Ô3°Q¸¸B°xÀ!ÀRÀÐ7HÔ5Iñ	
ô 	
ð 	
õ 	Ý�A•b”h  B˜xÑ(Ô(­"¬(°A°r°7Ñ*;Ô*;Ð;Ô<Ñ=Ô=¸qÀ"ÀbÀÈAÈrÈ7ÐARÔ?Sñ	
ô 	
ð 	
õ
 	�Q˜˜˜a˜S�z A q 6Ð)Ô*×2Ò2Ñ4Ô4°a¸!¸¸q¸c¸
ÀQÈÀFÐ8JÔ6KÑLÔLÐLÝØ�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*×2Ò2Ñ4Ô4Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�bŒh˜˜˜r˜d R DÐ)Ñ*Ô*¨Q°¨GÐ3Ô4×<Ò<Ñ>Ô>Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�ˆt�b�T˜B˜4Ð ¥"¤(¨A¨r¨7Ñ"3Ô"3Ð3Ô4×<Ò<Ñ>Ô>Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�bŒh˜˜˜r˜d R DÐ)Ñ*Ô*­B¬H°a¸°WÑ,=Ô,=Ð=Ô>×FÒFÑHÔHØ�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	�Q˜˜1�v”Y×&Ò&Ñ(Ô(¨!¨Q°¨F¬)Ñ4Ô4Ð4Ý�Q˜˜B�x”[×(Ò(Ñ*Ô*¨A¨r°2¨h¬KÑ8Ô8Ð8Ý�Q•r”x  R Ñ)Ô)Ô*×2Ò2Ñ4Ô4°a¸¸R¸´kÑBÔBÐBõ 	Øˆq�!ˆf�a�a�aˆiŒL˜˜˜˜Q ˜F˜Ô#×+Ò+Ñ-Ô-¨q°!°Q°¸¸¸°¬|¸A¸A¸AÀÀ1¸v¸IÔ/Fñ	
ô 	
ð 	
õ 	Øˆr�2ˆh˜˜˜ˆkŒN˜1˜1˜1˜q "˜g˜:Ô&×.Ò.Ñ0Ô0°!°R¸°H¸a¸a¸a°K´.ÀÀÀÀQÈÀGÀÔ2Lñ	
ô 	
ð 	
õ 	Ø�bŒh˜˜B�xÑ Ô  ! ! !Ð#Ô$ Q Q Q­¬°!°R°Ñ(9Ô(9Ð%9Ô:×BÒBÑDÔDØˆr�2ˆh˜˜˜ˆkŒN˜1˜1˜1˜q "˜g˜:Ô&ñ	
ô 	
ð 	
õ 	Øˆaˆaˆa�!�Q�ˆiŒL˜!˜Q˜   ˜Ô#×+Ò+Ñ-Ô-¨q°°°°Q¸°F°¬|¸QÀ¸FÀAÀAÀA¸IÔ/Fñ	
ô 	
ð 	
õ 	Øˆaˆaˆa�"�b�ˆkŒN˜A˜r˜7 A A A˜:Ô&×.Ò.Ñ0Ô0°!°A°A°A¸¸B°x°K´.À!ÀRÀÈ!È!È!ÀÔ2Lñ	
ô 	
ð 	
õ 	Øˆaˆaˆa•”˜2˜r˜(Ñ#Ô#Ð#Ô$¥R¤X¨q°"¨gÑ%6Ô%6¸¸¸Ð%9Ô:×BÒBÑDÔDØˆaˆaˆa�"�b�ˆkŒN˜A˜r˜7 A A A˜:Ô&ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óD  — t          j        d¦  «        } ||¦  «        }t          |dg                              ¦   «         |dg         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |t          j        d¦  «                 |d         ¦  «         t          |t          j        ddg¦  «                                      ¦   «         |ddg         ¦  «         t          |t          j        d¦  «                 |t          j        d¦  «                 ¦  «         t          j        dgdgg¦  «        }t          ||                              ¦   «         ||         ¦  «         t          j        dgdgd	gg¦  «        }t          ||                              ¦   «         ||         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |ddg                              ¦   «         |ddg         ¦  «         t          |t          j        ddg¦  «                                      ¦   «         |ddg         ¦  «         t          |g d
¢         ddg                              ¦   «         |g d
¢         ddg         ¦  «         t          |g d¢         ddg                              ¦   «         |g d¢         ddg         ¦  «         d S )Nr~   r   r   r'   r‚   r   rQ   rƒ   rO   )r   rQ   r'   rM   )r   r‚   r'   rM   r1   )r   r*   r   r	   r   )r   r   rx   r!   Úinds        r   Útest_fancy_indexingz)TestSlicingAndFancy1D.test_fancy_indexing·  s¿  € ÝŒI�b‰MŒMˆØˆI�a‰LŒLˆõ 	�Q˜�s”V—^’^Ñ%Ô% q¨!¨¤vÑ.Ô.Ð.õ 	�Q˜˜1�v”Y×&Ò&Ñ(Ô(¨!¨Q°¨F¬)Ñ4Ô4Ð4Ý�Q˜˜2�w”Z×'Ò'Ñ)Ô)¨1¨a°¨W¬:Ñ6Ô6Ð6Ý�Q•r”x ‘|”|”_ a¨¤eÑ,Ô,Ð,Ý�Q•r”x  Q Ñ(Ô(Ô)×1Ò1Ñ3Ô3°Q¸¸A°w´ZÑ@Ô@Ð@Ý�Q•r”x ‘{”{”^ Q¥r¤x°¡{¤{¤^Ñ4Ô4Ð4õ Œh˜˜˜a˜S�zÑ"Ô"ˆÝ�Q�s”V—^’^Ñ%Ô% q¨¤vÑ.Ô.Ð.ÝŒh˜˜˜r˜d R DÐ)Ñ*Ô*ˆÝ�Q�s”V—^’^Ñ%Ô% q¨¤vÑ.Ô.Ð.õ 	�Q˜˜1�v”Y×&Ò&Ñ(Ô(¨!¨Q°¨F¬)Ñ4Ô4Ð4Ý�Q˜˜B�x”[×(Ò(Ñ*Ô*¨A¨r°2¨h¬KÑ8Ô8Ð8Ý�Q•r”x  R Ñ)Ô)Ô*×2Ò2Ñ4Ô4°a¸¸R¸´kÑBÔBÐBõ 	�Q�|�|�|”_ a¨ VÔ,×4Ò4Ñ6Ô6Ø�|�|�|”_ a¨ VÔ,ñ	.ô 	.ð 	.å�Q�~�~�~Ô&¨¨2 wÔ/×7Ò7Ñ9Ô9Ø�~�~�~Ô&¨¨2 wÔ/ñ	1ô 	1ð 	1ð 	1ð 	1r   c                 ó  — t           j                             d¦  «         t          j        d¦  «        } ||¦  «        }t          j        t           j                             ddd¬¦  «        t          ¬¦  «        }t          t          ||         ¦  «        ||         ¦  «         t          t          ||dk             ¦  «        ||dk             ¦  «         t          j	        dt          ¬¦  «        }t          j	        dt          ¬¦  «        }d	|d
<   t          j	        dt          ¬¦  «        }d	|d<   d}t          j        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |                     |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NéÒ  r~   r   r'   ©rˆ   rI   rP   é3   Tr   z3bool index .* has shape|boolean index did not matchr2   )r   ÚrandomÚseedr*   r   ÚrandintÚboolr   r	   r“   r5   r6   r7   r8   )	r   r   rx   r!   ÚIÚZ1ÚZ2ÚZ3rm   s	            r   Útest_fancy_indexing_booleanz1TestSlicingAndFancy1D.test_fancy_indexing_booleanÖ  sw  € Ý
Œ	�Š�tÑÔÐåŒI�b‰MŒMˆØˆI�a‰LŒLˆåŒH•R”Y×&Ò& q¨!°"Ð&Ñ5Ô5½TÐBÑBÔBˆå•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)Ý•W˜Q˜q 1šuœXÑ&Ô&¨¨!¨aª%¬Ñ1Ô1Ð1åŒX�b¥Ð%Ñ%Ô%ˆÝŒX�b¥Ð%Ñ%Ô%ˆØˆˆ2‰ÝŒX�b¥Ð%Ñ%Ô%ˆØˆˆ1‰àCˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�MŠM˜"ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�MŠM˜"ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�MŠM˜"ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s6   ÅE.Å.E2Å5E2ÆF6Æ6F:Æ=F:ÇG?Ç?HÈHc                 ó„  — t           j                             d¦  «         t          j        d¦  «        } ||¦  «        }t          j        t           j                             ddd¬¦  «        t          ¬¦  «        }t          |¦  «        }t          t          ||         ¦  «        ||         ¦  «         t          t          ||dk             ¦  «        ||dk             ¦  «         t          j        t           j                             ddd¬¦  «        t          ¬¦  «        }t          |¦  «        }t          j        t          d	¬
¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬
¦  «        5  |                     |df¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr´   r�   r   r'   rµ   rI   rP   é<   z%bool index .* has shape|only integersr2   z&tuple index out of range|only integersr   )r   r·   r¸   r*   r   r¹   rº   r   r   r	   r5   r6   r7   r8   )r   r   rx   r!   r   ÚXspÚYÚYsps           r   Ú"test_fancy_indexing_sparse_booleanz8TestSlicingAndFancy1D.test_fancy_indexing_sparse_booleanï  sï  € Ý
Œ	�Š�tÑÔÐåŒI�b‰MŒMˆØˆI�a‰LŒLˆåŒH•R”Y×&Ò& q¨!°"Ð&Ñ5Ô5½TÐBÑBÔBˆÝ˜‰lŒlˆå•W˜Q˜sœV‘_”_ a¨¤dÑ+Ô+Ð+Ý•W˜Q˜q 1šuœXÑ&Ô&¨¨!¨aª%¬Ñ1Ô1Ð1åŒH•R”Y×&Ò& q¨!°"Ð&Ñ5Ô5½TÐBÑBÔBˆå˜‰lŒlˆåŒ]�:Ð-TÐUÑUÔUð 	ð 	Ø�MŠM˜#ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ð-UÐVÑVÔVð 	$ð 	$Ø�MŠM˜3 ˜(Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s$   ÅE*Å*E.Å1E.ÆF5Æ5F9Æ<F9c                 ó   —  |t          j        ddg¦  «        ¦  «        }t          j        t          d¬¦  «        5  |                     dt          j        ddg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   rj   r2   r'   )r   r   r5   r6   rk   r[   )r   r   Úmats      r   Útest_fancy_indexing_seq_assignz4TestSlicingAndFancy1D.test_fancy_indexing_seq_assign  s»   € Øˆi�œ ! Q Ñ(Ô(Ñ)Ô)ˆÝŒ]�:Ð-UÐVÑVÔVð 	1ð 	1Ø�OŠO˜A�rœx¨¨A¨Ñ/Ô/Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1s   »+A3Á3A7Á:A7c                 óò  — t          j        d¦  «        }d|dd…<   d|d<    ||¦  «        }t          j        dgdz  ¦  «        }t          t	          ||         ¦  «        ||         ¦  «         t          j        g t
          ¬¦  «        }t          t	          ||         ¦  «        ||         ¦  «         t          j        g d¢t
          ¬¦  «        }t          t	          ||         ¦  «        ||         ¦  «         d S )	Nr~   r   r   rP   é   FrI   )r   r   r'   r   r   ©r   r*   r   r   r	   Úint)r   r   rx   r!   ÚKÚJs         r   Útest_fancy_indexing_emptyz/TestSlicingAndFancy1D.test_fancy_indexing_empty	  sÓ   € ÝŒI�b‰MŒMˆØˆˆ!ˆAˆ#‰Øˆˆ"‰ØˆI�a‰LŒLˆåŒH�e�W˜r‘\Ñ"Ô"ˆÝ•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)ÝŒH�R�sÐ#Ñ#Ô#ˆÝ•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)ÝŒH�_�_�_­CÐ0Ñ0Ô0ˆÝ•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)Ð)Ð)r   c                 óò   —  |t          j        d¦  «        ¦  «        }d}t          j        t          t
          t          f|¬¦  «        5  |                     dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrQ   z,Index dimension must be 1 or 2|only integersr2   r¬   r'   )r   r“   r5   r6   r7   rk   Ú	TypeErrorr[   )r   r   r!   rm   s       r   Útest_bad_index_assignz+TestSlicingAndFancy1D.test_bad_index_assign  s²   € ØˆI•b”h˜q‘k”kÑ"Ô"ˆØ<ˆÝŒ]�J­
µIÐ>ÀcÐJÑJÔJð 	$ð 	$Ø�MŠM˜% Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð 	$ð 	$s   ÁA,Á,A0Á3A0c                 ó  — d}g d¢t          d dd¦  «        t          j        d¦  «        t          dd¦  «        t          dd¦  «        fD ]º} ||¦  «        }t          j        |¦  «        }t	          j        ¦   «         5  t	          j        d	d
t          ¦  «         d||<   t          |¦  «        5  d||<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          | 
                    ¦   «         |¦  «         Œ»d S )Nr’   )r'   r   r   rq   r   r   rQ   rO   r'   rK   rL   r   )rw   r   r*   r“   rX   rY   rZ   r   r   r   r	   )r   r   ÚMr#   r!   rx   s         r   Útest_fancy_indexing_setz-TestSlicingAndFancy1D.test_fancy_indexing_set  sˆ  € Øˆð �)�)�U 4¨¨QÑ/Ô/µ´¸1±´Ý˜1˜b‘\”\¥5¨¨A¡;¤;ð0ð 	,ð 	,ˆAà�	˜!‘”ˆAÝ”˜‘”ˆAÝÔ(Ñ*Ô*ð ð ÝÔ'ØØHÝ+ñô ð ð
 ��!‘Ý)¨!Ñ,Ô,ð ð Ø�A�a‘Dðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜AŸIšI™KœK¨Ñ+Ô+Ð+Ð+ð	,ð 	,s6   Á=0CÂ-B?Â3CÂ?CÃCÃCÃCÃC	ÃC	c                 óD  —  |d¦  «        } |d¦  «        }g d¢}d}t          j        |¦  «        }t          j        ¦   «         5  t          j        ddt
          ¦  «         t          |¦  «        5  ||         ||<   d}t          j        t          |¬¦  «        5  | 
                    |¦  «         d d d ¦  «         n# 1 swxY w Y   ||         ||<   d d d ¦  «         n# 1 swxY w Y   t          |d d…                              ¦   «         |                     ¦   «         ¦  «         |j        dk    sJ ‚ |d¦  «        }t          |¦  «        5  d	d
g|dd…<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         g d¢¦  «          |d¦  «        }t          j        d¦  «        }t          |¦  «        5  ||fD ]}g d¢|g d¢<   Œ	 d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr4   rf   )r   r   r'   rK   rL   z3Too many indices for array|tuple index out of ranger2   r   rq   r�   r   )r   rq   r�   r   r   )r   rQ   ri   )r   r   rX   rY   rZ   r   r   r5   r6   r7   r8   r   r	   r   r“   )	r   r   r!   rx   Úi0Úi1Úi2rm   ry   s	            r   Útest_sequence_assignmentz.TestSlicingAndFancy1D.test_sequence_assignment2  sd  € ØˆI�d‰OŒOˆØˆI�d‰OŒOˆàˆYˆYˆØˆÝŒX�b‰\Œ\ˆåÔ$Ñ&Ô&ð 	)ð 	)ÝÔ#ØØDÝ'ñô ð õ
 & aÑ(Ô(ð ð Ø˜"œ��"‘ØK�Ý”]¥:°SÐ9Ñ9Ô9ð &ð &Ø—M’M "Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &à˜"œ��"‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜˜2˜A˜2œŸš™œ¨!¯)ª)©+¬+Ñ6Ô6Ð6Ø”7˜d’?�?�?�?ð �	˜$‘”ˆAÝ% aÑ(Ô(ð "ð "Ø˜b˜��!�A�#‘ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "å˜Ÿš™œ n n nÑ5Ô5Ð5ð �	˜$‘”ˆAÝ”˜‘”ˆAÝ% aÑ(Ô(ð -ð -Ø˜Q˜ð -ð -�AØ#, 9 9�A�i�i�i‘L�Lð-ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ ˜Ÿš™œ aÑ(Ô(Ð(ð7	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)ð 	)ð 	)s¤   Á+HÁ/)CÂB:Â.CÂ:B>Â>CÃB>ÃCÃHÃC 	Ã HÃ#C 	Ã$A&HÅ

E ÅHÅ E$	Å$HÅ'E$	Å(AHÆ=GÇHÇG	ÇHÇ"G	Ç#%HÈHÈHc                 ó^  — t          j        d¦  «        }d|d<   d|ddg<    ||¦  «        }t          j        dgdz  ¦  «        }d||<   t          |                     ¦   «         |¦  «         t          j        g t
          ¬¦  «        }d||<   t          |                     ¦   «         |¦  «         d S )	Nr~   r   r'   r   ri   Fé*   rI   rË   )r   r   rx   r!   rÍ   s        r   Útest_fancy_assign_emptyz-TestSlicingAndFancy1D.test_fancy_assign_emptyW  s£   € ÝŒI�b‰MŒMˆØˆˆ!‰Øˆˆ1ˆaˆ&‰	ØˆI�a‰LŒLˆåŒH�e�W˜r‘\Ñ"Ô"ˆØˆˆ!‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$åŒH�R�sÐ#Ñ#Ô#ˆØˆˆ!‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$Ð$Ð$r   N)r]   r^   r_   rg   rn   ru   r|   r�   r�   r”   r˜   rš   rž   r¤   r¨   rª   r­   r¯   r²   r¿   rÅ   rÈ   rÏ   rÒ   rÕ   rÚ   rÝ   rB   r   r   rc   rc   k   s…  € € € € € ð
"ð "ð "ð(ð (ð (ð2Ið Ið Ið
?ð ?ð ?ð$#:ð #:ð #:ðJ1ð 1ð 1ð%ð %ð %ð"9ð 9ð 9ð"<ð <ð <ð41ð 1ð 1ð&/ð /ð /ð>-ð -ð -ð,ð ,ð ,ð
&ð &ð &ð[
ð [
ð [
ðz1ð 1ð 1ð>ð ð ð2$ð $ð $ð*1ð 1ð 1ð
*ð *ð *ð $ð $ð $ð,ð ,ð ,ð&#)ð #)ð #)ðJ%ð %ð %ð %ð %r   rc   )Ú
contextlibrX   r5   Únumpyr   Únumpy.testingr   r   Úscipy.sparser   r   r   Útest_arithmetic1dr	   Úformats_for_index1dÚcontextmanagerr   r`   ra   r   rc   rB   r   r   ú<module>rå      sS  ðØ Ð Ð Ð Ø €€€à €€€Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ &Ð &Ð &Ð &Ð &Ð &ð ! )Ð,Ð ð ÔðPð Pñ ÔðPð „×Ò˜Ð&9Ñ:Ô:ðL-ð L-ð L-ð L-ð L-ñ L-ô L-ñ ;Ô:ðL-ð^ „×Ò˜Ð&9Ñ:Ô:ðw%ð w%ð w%ð w%ð w%ñ w%ô w%ñ ;Ô:ðw%ð w%ð w%r   