§
    ¡éUgíç ã                   ó0  — d Z ddlZddlZddlZddlZddlZddlZddlZddlm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m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"Z#ddl$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/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5m6Z6m7Z7m8Z8 dd	l9m:Z:m;Z;m<Z< dd
l=m>Z> ddl?m@Z@ dejA        v ZBd]d„ZCd„ ZD eEdg¦  «        ZFd„ ZG e!¦   «         ZHeH I                    e@¦  «         	 	 d^d„ZJd„ ZK G d„ d¦  «        ZL G d„ d¦  «        ZM G d„ d¦  «        ZN G d„ d¦  «        ZO G d„ d¦  «        ZP G d„ d¦  «        ZQ G d „ d!¦  «        ZR G d"„ d#¦  «        ZS G d$„ d%¦  «        ZT G d&„ d'¦  «        ZUejV        d(„ ¦   «         ZW G d)„ d*¦  «        ZX G d+„ d,¦  «        ZY G d-„ d.¦  «        ZZ G d/„ d0¦  «        Z[ G d1„ d2¦  «        Z\ G d3„ d4¦  «        Z]d_d6„Z^	 	 	 	 d`d7„Z_ G d8„ d9 e_¦   «         ¦  «        Z`e` a                    ¦   «           G d:„ d; e_¦   «         ¦  «        Zbeb a                    ¦   «           G d<„ d= e_dd¬>¦  «        ¦  «        Zcec a                    ¦   «           G d?„ d@ e_d¬A¦  «        ¦  «        Zded a                    ¦   «           G dB„ dC e_ddddd¬D¦  «        ¦  «        Zeee a                    ¦   «           G dE„ dF e_ddddddd¬G¦  «        ¦  «        Zfef a                    ¦   «           G dH„ dI e_dddddd¬J¦  «        ¦  «        Zgeg a                    ¦   «          dK„ Zh G dL„ dM¦  «        Zi G dN„ dOei¦  «        Zj G dP„ dQej¦  «        Zk G dR„ dSeke`¦  «        Zl G dT„ dUekeb¦  «        Zm G dV„ dWejeg¦  «        Zn G dX„ dYeiee¦  «        ZodZ„ Zp G d[„ d\¦  «        ZqdS )azò Test functions for sparse matrices. Each class in the "Matrix class
based tests" section become subclasses of the classes in the "Generic
tests" section. This is done by the functions in the "Tailored base
class for generic tests" section.

é    N)Úraises)ÚarangeÚzerosÚarrayÚdotÚasarrayÚvstackÚndarrayÚ	transposeÚdiagÚkronÚinfÚ	conjugateÚint8)Úassert_equalÚassert_array_equalÚassert_array_almost_equalÚassert_almost_equalÚassert_Úassert_allcloseÚsuppress_warnings)Ú
csc_matrixÚ
csr_matrixÚ
dok_matrixÚ
coo_matrixÚ
lil_matrixÚ
dia_matrixÚ
bsr_matrixÚeyeÚissparseÚSparseEfficiencyWarningÚsparray)Ú_formats)Úsupported_dtypesÚisscalarlikeÚget_index_dtypeÚasmatrixÚmatrix)ÚspluÚexpmÚinv)Ú	decorator)ÚComplexWarningzgoogle.colabc                 óB   — |�|n| ›d|›�}t          | |v |¬¦  «         d S )Nz not found in )Úmsg)r   )ÚmemberÚ
collectionr/   Úmessages       ú[/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/sparse/tests/test_base.pyÚ	assert_inr4   2   s;   € Ø�_ˆcˆc¨VÐ*SÐ*SÀZÐ*SÐ*S€GÝˆF�jÐ  gÐ.Ñ.Ô.Ð.Ð.Ð.ó    c                 ó\   — t          | j        |j        k    ¦  «         t          | |fi |¤Ž d S ©N)r   Údtyper   )ÚxÚyÚkwargss      r3   Úassert_array_equal_dtyper<   7   s7   € ÝˆAŒG�q”wÒÑÔÐÝ�q˜!Ð&Ð&˜vÐ&Ð&Ð&Ð&Ð&r5   Údokc                 óv   — d„ } || ¦  «        D ])} ||¦  «        D ]}t          j        ||¦  «        r  dS ŒŒ*dS )Nc                 ó¸   — g }| j                              ¦   «         D ]=}t          |t          j        t          j        f¦  «        r|                     |¦  «         Œ>|S r7   )Ú__dict__ÚvaluesÚ
isinstanceÚnpr
   ÚgenericÚappend)r9   ÚarraysÚas      r3   Ú_underlying_arraysz3sparse_may_share_memory.<locals>._underlying_arraysA   sY   € ð ˆØ”×"Ò"Ñ$Ô$ð 	!ð 	!ˆAÝ˜!�bœj­"¬*Ð5Ñ6Ô6ð !Ø—’˜aÑ Ô Ð øØˆr5   TF)rC   Úmay_share_memory)ÚAÚBrH   rG   Úbs        r3   Úsparse_may_share_memoryrM   >   sv   € ðð ð ð  Ð Ñ"Ô"ð ð ˆØ#Ð# AÑ&Ô&ð 	ð 	ˆAÝÔ" 1 aÑ(Ô(ð Ø�t�t�tðð	ð ˆ5r5   Fc                 ó  ‡ ‡‡‡‡‡— ‰ €t          j        d¦  «        Š nt          j        ‰ ¦  «        Š |rdd„Šn8‰�dˆfd„	Šn/|r't           j                             d¬¦  «        Šdˆfd	„	Šndˆ fd
„	Š‰�ˆfd„Št          ˆˆˆfd„¦   «         }|S )z‚
    Monkeypatch the maxval threshold at which scipy.sparse switches to
    64-bit index arrays, or make it (pseudo-)random.

    Né
   © Fc                 ó  — t          | ||¦  «        }t          t          j        |¦  «        j        t          j        t          j        ¦  «        j        ¦  «         t          |t          j        k    p|t          j        k    ¦  «         |S r7   )r&   r   rC   ÚiinfoÚmaxÚint32r   Úintc)rF   ÚmaxvalÚcheck_contentsÚtps       r3   Únew_get_index_dtypez4with_64bit_maxval_limit.<locals>.new_get_index_dtypee   sa   € Ý  ¨°Ñ@Ô@ˆBÝ�œ "™œÔ)­2¬8µB´HÑ+=Ô+=Ô+AÑBÔBÐBÝ�B�"œ(’NÐ3 b­B¬G¢mÑ4Ô4Ð4ØˆIr5   c                 ó   •— ‰S r7   rP   )rF   rV   rW   Úfixed_dtypes      €r3   rY   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypek   s	   ø€ ØÐr5   éÒ  )Úseedc                 óf   •— t           j        t           j        f‰                     d¦  «                 S )Né   )rC   rT   Úint64Úrandint)rF   rV   rW   Úcounters      €r3   rY   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypep   s#   ø€ Ý”H�bœhÐ'¨¯ª¸Ñ(:Ô(:Ô;Ð;r5   c                 óŒ  •— t           j        }|�|‰k    rt           j        }| D ]Ÿ}t          j        |¦  «        }|j        t           j        k    rt|rf|j        dk    rŒ9t          j        |j        t           j        ¦  «        r6|                     ¦   «         }| 	                    ¦   «         }|‰ k    r|‰k    rŒ“t           j        }Œ |S ©Nr   )
rC   rT   r`   r   r8   ÚsizeÚ
issubdtypeÚintegerrS   Úmin)rF   rV   rW   r8   ÚarrÚminvalÚmaxval_limits         €r3   rY   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypes   s¼   ø€ Ý”HˆEØÐ!Ø˜LÒ(Ð(ÝœH�EØð %ð %�Ý”j ‘o”o�Ø”9�rœxÒ'Ð'Ø%ð 	)Øœ8 qš=˜=à$Ýœ]¨3¬9µb´jÑAÔAð )Ø%(§W¢W¡Y¤Y˜FØ%(§W¢W¡Y¤Y˜FØ%¨,¨Ò6Ð6¸6À\Ò;QÐ;Qà (ÝœH�EøØˆLr5   c                 ó�   •— |                       ¦   «         ‰k    rt          d¦  «        ‚|                      t          j        ¦  «        S )Nzdowncast limited)rS   ÚAssertionErrorÚastyperC   Úintp)ri   Údowncast_maxvals    €r3   Únew_downcast_intp_indexz8with_64bit_maxval_limit.<locals>.new_downcast_intp_index‰   s9   ø€ Ø�wŠw‰yŒy˜?Ò*Ð*Ý$Ð%7Ñ8Ô8Ð8Ø—:’:�bœgÑ&Ô&Ð&r5   c           
      óÆ  •— g }t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j	        t           j        j
        t           j        j        g
}	 |D ]t}|                     |dt          |dd ¦  «        f¦  «         t          |d‰
¦  «         ‰�8|                     |dt          |dd ¦  «        f¦  «         t          |d‰	¦  «         Œu | |i |¤Ž|D ]\  }}}|�t          |||¦  «         ŒS # |D ]\  }}}|�t          |||¦  «         Œw xY w)Nr&   Údowncast_intp_index)ÚscipyÚsparseÚ_bsrÚ_cooÚ_cscÚ_csrÚ_diaÚ_dokÚ_lilÚ_sputilsÚ_compressedÚ
_constructrE   ÚgetattrÚsetattr)ÚfuncrG   ÚkwÚbackupÚmodulesÚmodÚnameÚoldfuncrp   rq   rY   s           €€€r3   Údecoz%with_64bit_maxval_limit.<locals>.decoŽ   s�  ø€ àˆÝ”<Ô$¥e¤lÔ&7½¼Ô9JÝ”<Ô$¥e¤lÔ&7½¼Ô9JÝ”<Ô$¥e¤lÔ&;Ý”<Ô+­U¬\Ô-DðFˆð	0Øð Qð Q�Ø—’˜sÐ$5Ý& sÐ,=¸tÑDÔDðFñ Gô Gð Gå˜Ð.Ð0CÑDÔDÐDØ"Ð.Ø—M’M 3Ð(=Ý#*¨3Ð0EÀtÑ#LÔ#Lð#Nñ Oô Oð Oå˜CÐ!6Ð8OÑPÔPÐPøØ�4˜�>˜b�>�>à&,ð 0ð 0Ñ"��T˜7ØÐ&Ý˜C  wÑ/Ô/Ð/øð0ø fð 0ð 0Ñ"��T˜7ØÐ&Ý˜C  wÑ/Ô/Ð/øð0øøøs   Â'A>E ÅE )rP   NF)rC   r`   ÚrandomÚRandomStater,   )	rk   rŠ   r[   rp   Úassert_32bitr‰   rb   rq   rY   s	   ` ``  @@@r3   Úwith_64bit_maxval_limitr�   V   s4  øøøøøø€ ð ÐÝ”x ‘|”|ˆˆõ ”x Ñ-Ô-ˆàð "ð	ð 	ð 	ð 	ð 	ð
 
Ð	 ð	ð 	ð 	ð 	ð 	ð 	ð 	à	ð Ý”)×'Ò'¨TÐ'Ñ2Ô2ˆð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð	ð 	ð 	ð 	ð 	ð 	ð* Ð"ð	'ð 	'ð 	'ð 	'ð 	'õ
 ð0ð 0ð 0ð 0ð 0ð 0ñ „Yð0ð* €Kr5   c                 ó€   — t          | t          j        ¦  «        st          | ¦  «        r| S |                      ¦   «         S r7   )rB   rC   r
   r%   Útoarray©rG   s    r3   r�   r�   §   s6   € Ý�!•R”ZÑ Ô ð ¥L°¡O¤Oð ØˆØ�9Š9‰;Œ;Ðr5   c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚBinopTesterc                 ó   — dS ©Númatrix on the rightrP   ©ÚselfÚmats     r3   Ú__add__zBinopTester.__add__°   ó   € Ø$Ð$r5   c                 ó   — dS r”   rP   r–   s     r3   Ú__mul__zBinopTester.__mul__³   rš   r5   c                 ó   — dS r”   rP   r–   s     r3   Ú__sub__zBinopTester.__sub__¶   rš   r5   c                 ó   — dS ©Númatrix on the leftrP   r–   s     r3   Ú__radd__zBinopTester.__radd__¹   ó   € Ø#Ð#r5   c                 ó   — dS r    rP   r–   s     r3   Ú__rmul__zBinopTester.__rmul__¼   r£   r5   c                 ó   — dS r    rP   r–   s     r3   Ú__rsub__zBinopTester.__rsub__¿   r£   r5   c                 ó   — dS r”   rP   r–   s     r3   Ú
__matmul__zBinopTester.__matmul__Â   rš   r5   c                 ó   — dS r    rP   r–   s     r3   Ú__rmatmul__zBinopTester.__rmatmul__Å   r£   r5   N)Ú__name__Ú
__module__Ú__qualname__r™   rœ   rž   r¢   r¥   r§   r©   r«   rP   r5   r3   r’   r’   ­   sŒ   € € € € € ð%ð %ð %ð%ð %ð %ð%ð %ð %ð$ð $ð $ð$ð $ð $ð$ð $ð $ð%ð %ð %ð$ð $ð $ð $ð $r5   r’   c                   óP   — 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S )ÚBinopTester_with_shapec                 ó   — || _         d S r7   ©Ú_shape)r—   Úshapes     r3   Ú__init__zBinopTester_with_shape.__init__Ë   s   € ØˆŒˆˆr5   c                 ó   — | j         S r7   r²   ©r—   s    r3   r´   zBinopTester_with_shape.shapeÎ   s
   € ØŒ{Ðr5   c                 ó*   — t          | j        ¦  «        S r7   )Úlenr³   r·   s    r3   ÚndimzBinopTester_with_shape.ndimÑ   s   € Ý�4”;ÑÔÐr5   c                 ó   — dS r”   rP   r–   s     r3   r™   zBinopTester_with_shape.__add__Ô   rš   r5   c                 ó   — dS r”   rP   r–   s     r3   rœ   zBinopTester_with_shape.__mul__×   rš   r5   c                 ó   — dS r”   rP   r–   s     r3   rž   zBinopTester_with_shape.__sub__Ú   rš   r5   c                 ó   — dS r    rP   r–   s     r3   r¢   zBinopTester_with_shape.__radd__Ý   r£   r5   c                 ó   — dS r    rP   r–   s     r3   r¥   zBinopTester_with_shape.__rmul__à   r£   r5   c                 ó   — dS r    rP   r–   s     r3   r§   zBinopTester_with_shape.__rsub__ã   r£   r5   c                 ó   — dS r”   rP   r–   s     r3   r©   z!BinopTester_with_shape.__matmul__æ   rš   r5   c                 ó   — dS r    rP   r–   s     r3   r«   z"BinopTester_with_shape.__rmatmul__é   r£   r5   N)r¬   r­   r®   rµ   r´   rº   r™   rœ   rž   r¢   r¥   r§   r©   r«   rP   r5   r3   r°   r°   È   s¹   € € € € € ðð ð ðð ð ð ð  ð  ð%ð %ð %ð%ð %ð %ð%ð %ð %ð$ð $ð $ð$ð $ð $ð$ð $ð $ð%ð %ð %ð$ð $ð $ð $ð $r5   r°   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚComparisonTesterc                 ó   — dS )NÚeqrP   ©r—   Úothers     r3   Ú__eq__zComparisonTester.__eq__î   ó   € Øˆtr5   c                 ó   — dS )NÚnerP   rÇ   s     r3   Ú__ne__zComparisonTester.__ne__ñ   rÊ   r5   c                 ó   — dS )NÚltrP   rÇ   s     r3   Ú__lt__zComparisonTester.__lt__ô   rÊ   r5   c                 ó   — dS )NÚlerP   rÇ   s     r3   Ú__le__zComparisonTester.__le__÷   rÊ   r5   c                 ó   — dS )NÚgtrP   rÇ   s     r3   Ú__gt__zComparisonTester.__gt__ú   rÊ   r5   c                 ó   — dS )NÚgerP   rÇ   s     r3   Ú__ge__zComparisonTester.__ge__ý   rÊ   r5   N)	r¬   r­   r®   rÉ   rÍ   rÐ   rÓ   rÖ   rÙ   rP   r5   r3   rÄ   rÄ   ì   sn   € € € € € ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð ð r5   rÄ   c                   óÀ  — e Zd ZdZeZe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ej         j!        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(„ Z0d)„ Z1d*„ Z2d+„ Z3e4d,„ ¦   «         Z5e4d-„ ¦   «         Z6e4d.„ ¦   «         Z7e4d/„ ¦   «         Z8d0„ Z9d1„ Z:e4d2„ ¦   «         Z;e4d3„ ¦   «         Z<d4„ Z=d5„ Z>d6„ Z?d7„ Z@d8„ ZAd9„ ZBd:„ ZCd;„ ZDd<„ ZEd=„ ZFd>„ ZGd?„ ZHd@„ ZIdA„ ZJdB„ ZKdC„ ZLdD„ ZMdE„ ZNdF„ ZOdG„ ZPdH„ ZQdI„ ZRdJ„ ZSdK„ ZTdL„ ZUdM„ ZVdN„ ZWdO„ ZXdP„ ZYdQ„ ZZdR„ Z[dS„ Z\dT„ Z]dU„ Z^dV„ Z_dW„ Z`dX„ ZadY„ ZbdZ„ Zcd[S )\Ú_TestCommonz6test common functionality shared by all sparse formatsc                 ó°  — t          g d¢g d¢g d¢gd¦  «        | _        |                      | j        ¦  «        | _        t	          t
          ¦  «                             | j        ¦  «        | _        i | _	        i | _
        | j        D ]Y}| j                             |¦  «        | j	        |<   |                      | j                             |¦  «        ¦  «        | j
        |<   ŒZt          | j        | j	        t          j                 ¦  «         t          | j                             ¦   «         | j
        t          j                                      ¦   «         ¦  «         d S )N)é   r   r   r_   )é   r   rÝ   r   )r   r_   r   r   Úd)r   ÚdatÚ	spcreatorÚdatspÚsetr$   ÚunionÚmath_dtypesÚchecked_dtypesÚ
dat_dtypesÚdatsp_dtypesrn   r   rC   Úfloat64r�   )Úclsr8   s     r3   Ú
init_classz_TestCommon.init_class  s)  € õ ˜˜˜ | | |°\°\°\ÐBÀCÑHÔHˆŒØ—M’M #¤'Ñ*Ô*ˆŒ	õ
 !Õ!1Ñ2Ô2×8Ò8¸¼ÑIÔIˆÔØˆŒØˆÔØÔ'ð 	Kð 	KˆEØ$'¤G§N¢N°5Ñ$9Ô$9ˆCŒN˜5Ñ!Ø&)§m¢m°C´G·N²NÀ5Ñ4IÔ4IÑ&JÔ&JˆCÔ˜UÑ#Ð#õ 	�S”W˜cœn­R¬ZÔ8Ñ9Ô9Ð9Ý�S”Y×&Ò&Ñ(Ô(ØÔ%¥b¤jÔ1×9Ò9Ñ;Ô;ñ	=ô 	=ð 	=ð 	=ð 	=r5   c                 óŽ   ‡ — ˆ fd„}t          ‰ t          ¦  «        rt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óê   •— ‰j         |          }t          t          t          |¦  «         t	          ‰                     dgg¦  «        ¦  «         t	          ‰                     dgg¦  «         ¦  «         d S )NrÝ   r   )rè   Úassert_raisesÚ
ValueErrorÚboolr   rá   )r8   râ   r—   s     €r3   Úcheckz$_TestCommon.test_bool.<locals>.check#  sg   ø€ ØÔ% eÔ,ˆEå�*¥d¨EÑ2Ô2Ð2Ý�D—N’N Q C 5Ñ)Ô)Ñ*Ô*Ð*Ý˜Ÿš¨¨ uÑ-Ô-Ð-Ñ.Ô.Ð.Ð.Ð.r5   z%Cannot create a rank <= 2 DOK matrix.)rB   ÚTestDOKÚpytestÚskipræ   ©r—   rñ   r8   s   `  r3   Ú	test_boolz_TestCommon.test_bool"  sm   ø€ ð	/ð 	/ð 	/ð 	/ð 	/õ �d�GÑ$Ô$ð 	AÝŒKÐ?Ñ@Ô@Ð@ØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 óÐ   — t          ddgg¦  «        }|                      |¦  «        }t          d¦  «        D ]}||z   }||z   }Œt          ||                     ¦   «         ¦  «         d S )NTFrO   )r   rá   Úranger   r�   )r—   rà   râ   Ú_s       r3   Útest_bool_rolloverz_TestCommon.test_bool_rollover/  so   € õ �d˜E�]�OÑ$Ô$ˆØ—’˜sÑ#Ô#ˆå�r‘”ð 	ð 	ˆAØ˜E‘MˆEØ˜‘)ˆCˆCÝ˜3 §¢¡¤Ñ0Ô0Ð0Ð0Ð0r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 ó  •— ‰	j         |          }‰	j        |          }|                     ¦   «         }d|d d …df<   ‰	                     |¦  «        }t	          |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k    ¦  «         t          |dk    |dk     	                    ¦   «         ¦  «         t          |dk    |dk     	                    ¦   «         ¦  «         t          |t          j        k    |t          j        k     	                    ¦   «         ¦  «         d S ©Nr   rÝ   )rç   rè   Úcopyrá   r   r   r   r   r<   r�   rC   Únan)
r8   rà   râ   Údat2Údatsp2ÚdatbsrÚdatcsrÚdatcscÚdatlilr—   s
            €r3   rñ   z"_TestCommon.test_eq.<locals>.check>  sÑ  ø€ ð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFõ % S¨D¢[°5¸F²?×2KÒ2KÑ2MÔ2MÑNÔNÐNå$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOå$ S¨F¢]°F¸c²MÑBÔBÐBå$ S¨A¢X°¸²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ S¨A¢X°¸²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ S­B¬F¢]Ø&+­r¬v¢o×%>Ò%>Ñ%@Ô%@ñBô Bð Bð Bð Br5   ú8Bool comparisons only implemented for BSR, CSC, and CSR.©r   Úfilterr!   Úsup_complexrB   ÚTestBSRÚTestCSCÚTestCSRró   rô   ræ   ©r—   Úsuprñ   r8   s   `   r3   Útest_eqz_TestCommon.test_eq:  s«   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð	Bð 	Bð 	Bð 	Bñ 
Œñ 
Œð	Bõ4 ˜$¥­'µ7Ð ;Ñ<Ô<ð 	TÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 ó¸  •— ‰	j         |          }‰	j        |          }|                     ¦   «         }d|d d …df<   ‰	                     |¦  «        }t	          |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k     	                    ¦   «         ¦  «         t          ||k    ||k    ¦  «         t          |dk    |dk     	                    ¦   «         ¦  «         t          |dk    |dk     	                    ¦   «         ¦  «         t          d|k    d|k     	                    ¦   «         ¦  «         t          d|k    d|k     	                    ¦   «         ¦  «         t          |t          j        k    |t          j        k     	                    ¦   «         ¦  «         d S rý   )rç   rè   rþ   rá   r   r   r   r   r<   r�   rC   rÿ   )
r8   rà   râ   r   r  r  r  r  r  r—   s
            €r3   rñ   z"_TestCommon.test_ne.<locals>.checkc  s  ø€ ð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFõ % S¨D¢[°5¸F²?×2KÒ2KÑ2MÔ2MÑNÔNÐNå$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOÝ$ S¨D¢[°6¸VÒ3C×2LÒ2LÑ2NÔ2NÑOÔOÐOå$ S¨F¢]°F¸c²MÑBÔBÐBå$ S¨A¢X°¸²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ S¨A¢X°¸²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ Q¨#¢X°°U²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ Q¨#¢X°°U²
×/CÒ/CÑ/EÔ/EÑFÔFÐFÝ$ S­B¬F¢]Ø&+­r¬v¢o×%>Ò%>Ñ%@Ô%@ñBô Bð Bð Bð Br5   r  r  r  s   `   r3   Útest_nez_TestCommon.test_ne_  s«   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð	Bð 	Bð 	Bð 	Bñ 
Œñ 
Œð	Bõ8 ˜$¥­'µ7Ð ;Ñ<Ô<ð 	TÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 ó¨  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
t          ||k     ||k                          ¦   «         ¦  «         t          ||k     ||k                          ¦   «         ¦  «         t          ||k     ||k                          ¦   «         ¦  «         t          ||k     ||k                          ¦   «         ¦  «         t          ||k     |	|k                          ¦   «         ¦  «         t          ||k     |
|k                          ¦   «         ¦  «         t          ||k     ||k                          ¦   «         ¦  «         t          ||k     ||k                          ¦   «         ¦  «         t          ||k     ||	k                          ¦   «         ¦  «         t          ||k     ||
k                          ¦   «         ¦  «         t          ||k     ||k     ¦  «         t          ||k     ||k     ¦  «         dD ]j}t          j        |¦  «        }t          ||k                          ¦   «         ||k     ¦  «         t          ||k                          ¦   «         ||k     ¦  «         Œkt          j        d¬¦  «        5  t          |t          j        k                          ¦   «         |t          j        k     ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }t          ||k     ||k     ¦  «         d S ©Nr   ù      ð?      ð?)r_   rÝ   r   éÿÿÿÿéþÿÿÿÚignore©Úinvalid©rç   rè   rþ   rá   rn   Úcomplexr   r   r   r   r<   r�   rC   r`   Úerrstaterÿ   ©r8   rà   râ   r   r  Ú
datcomplexÚdatspcomplexr  r  r  r  Úvalr—   s               €r3   rñ   z"_TestCommon.test_lt.<locals>.checkŠ  sÀ  ø€ ð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFØŸš¥GÑ,Ô,ˆJØ$ˆJ�q�q�q˜�s‰OØŸ>š>¨*Ñ5Ô5ˆLÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFõ % S¨4¢Z°%¸&².×1IÒ1IÑ1KÔ1KÑLÔLÐLÝ$ Z°$Ò%6Ø&2°VÒ&;×%DÒ%DÑ%FÔ%FñHô Hð Hõ % S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMå$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMå$ S¨4¢Z°¸²Ñ>Ô>Ð>Ý$ Z°$Ò%6¸ÀtÒ8KÑLÔLÐLà(ð Mð M�Ý”h˜s‘m”m�Ý(¨%°#ª+×)>Ò)>Ñ)@Ô)@À#ÈÂ)ÑLÔLÐLÝ(¨#°ª+×)>Ò)>Ñ)@Ô)@À#ÈÂ)ÑLÔLÐLÐLå” XÐ.Ñ.Ô.ð 7ð 7Ý(¨%µ"´&ª.×)AÒ)AÑ)CÔ)CØ),­r¬vªñ7ô 7ð 7ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð
 ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFõ % S¨6¢\°5¸4²<Ñ@Ô@Ð@Ð@Ð@ó   Ì?M#Í#M'Í*M'r  r  r  s   `   r3   Útest_ltz_TestCommon.test_lt†  s¬   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð2	Að 2	Að 2	Að 2	Añ 
Œñ 
Œð2	Aõh ˜$¥­'µ7Ð ;Ñ<Ô<ð 	TÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 ó¨  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k    |	|k                         ¦   «         ¦  «         t          ||k    |
|k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||	k                         ¦   «         ¦  «         t          ||k    ||
k                         ¦   «         ¦  «         t          ||k    ||k    ¦  «         t          ||k    ||k    ¦  «         dD ]j}t          j        |¦  «        }t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         Œkt          j        d¬¦  «        5  t          |t          j        k                         ¦   «         |t          j        k    ¦  «         d d d ¦  «         n# 1 swxY w Y   ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }t          ||k    ||k    ¦  «         d S r  r  r  s               €r3   rñ   z"_TestCommon.test_gt.<locals>.checkÉ  sÀ  ø€ ð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFØŸš¥GÑ,Ô,ˆJØ$ˆJ�q�q�q˜�s‰OØŸ>š>¨*Ñ5Ô5ˆLÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFõ % S¨4¢Z°%¸&².×1IÒ1IÑ1KÔ1KÑLÔLÐLÝ$ Z°$Ò%6Ø&2°VÒ&;×%DÒ%DÑ%FÔ%FñHô Hð Hõ % S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ S¨4¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMå$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMÝ$ T¨C¢Z°&¸6²/×1JÒ1JÑ1LÔ1LÑMÔMÐMå$ S¨4¢Z°¸²Ñ>Ô>Ð>Ý$ Z°$Ò%6¸ÀtÒ8KÑLÔLÐLà(ð Mð M�Ý”h˜s‘m”m�Ý(¨%°#ª+×)>Ò)>Ñ)@Ô)@À#ÈÂ)ÑLÔLÐLÝ(¨#°ª+×)>Ò)>Ñ)@Ô)@À#ÈÂ)ÑLÔLÐLÐLå” XÐ.Ñ.Ô.ð 7ð 7Ý(¨%µ"´&ª.×)AÒ)AÑ)CÔ)CØ),­r¬vªñ7ô 7ð 7ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð
 ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFõ % S¨6¢\°5¸4²<Ñ@Ô@Ð@Ð@Ð@r#  r  r  r  s   `   r3   Útest_gtz_TestCommon.test_gtÅ  s¬   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð1	Að 1	Að 1	Að 1	Añ 
Œñ 
Œð1	Aõf ˜$¥­'µ7Ð ;Ñ<Ô<ð 	TÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 óÒ  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          |	|k                         ¦   «         ||k    ¦  «         t          |
|k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||	k                         ¦   «         ||k    ¦  «         t          ||
k                         ¦   «         ||k    ¦  «         t          ||k    ||k    ¦  «         t          ||k    ||k    ¦  «         dD ]j}t          j        |¦  «        }t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         Œk‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }t          ||k    ||k    ¦  «         d S ©Nr   r  )r_   rÝ   r  r  ©rç   rè   rþ   rá   rn   r  r   r   r   r   r<   r�   rC   r`   r  s               €r3   rñ   z"_TestCommon.test_le.<locals>.check  ó1  ø€ ð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFØŸš¥GÑ,Ô,ˆJØ$ˆJ�q�q�q˜�s‰OØŸ>š>¨*Ñ5Ô5ˆLÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFÝ ‘_”_ˆFõ % S¨D¢[°5¸F²?×2KÒ2KÑ2MÔ2MÑNÔNÐNÝ$ Z°4Ò%7Ø&2°fÒ&<×%EÒ%EÑ%GÔ%GñIô Ið Iõ % f°Ò&6×%?Ò%?Ñ%AÔ%AÀ3È$Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ3È$Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ3È$Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ3È$Â;ÑOÔOÐOå$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ4È3Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ4È3Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ4È3Â;ÑOÔOÐOÝ$ f°Ò&6×%?Ò%?Ñ%AÔ%AÀ4È3Â;ÑOÔOÐOå$ U¨d¢]°C¸4²KÑ@Ô@Ð@Ý$ \°TÒ%9¸:ÈÒ;MÑNÔNÐNà%ð Oð O�Ý”h˜s‘m”m�Ý(¨%°3ª,×)?Ò)?Ñ)AÔ)AÀ3È#Â:ÑNÔNÐNÝ(¨#°ª,×)?Ò)?Ñ)AÔ)AÀ3È#Â:ÑNÔNÐNÐNð ”/ %Ô(ˆCØÔ% eÔ,ˆEØ—8’8‘:”:ˆDØˆD����1�‰IØ—^’^ DÑ)Ô)ˆFõ % S¨F¢]°E¸T²MÑBÔBÐBÐBÐBr5   r  r  r  s   `   r3   Útest_lez_TestCommon.test_le  ó¬   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð-	Cð -	Cð -	Cð -	Cñ 
Œñ 
Œð-	Cõ^ ˜$¥­'µ7Ð ;Ñ<Ô<ð 	TÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó"  ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }t	          ‰ t
          t          t          f¦  «        st          j	        d¦  «         ‰ j
        D ]} ||¦  «         Œd S )Nc                 óÒ  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }t          |¦  «        }t          |¦  «        }t          |¦  «        }	t          |¦  «        }
t          ||k    ||k                         ¦   «         ¦  «         t          ||k    ||k                         ¦   «         ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          |	|k                         ¦   «         ||k    ¦  «         t          |
|k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         t          ||	k                         ¦   «         ||k    ¦  «         t          ||
k                         ¦   «         ||k    ¦  «         t          ||k    ||k    ¦  «         t          ||k    ||k    ¦  «         dD ]j}t          j        |¦  «        }t          ||k                         ¦   «         ||k    ¦  «         t          ||k                         ¦   «         ||k    ¦  «         Œk‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }t          ||k    ||k    ¦  «         d S r*  r+  r  s               €r3   rñ   z"_TestCommon.test_ge.<locals>.checkA  r,  r5   r  r  r  s   `   r3   Útest_gez_TestCommon.test_ge=  r.  r5   c                 óD  — t          |                      d¦  «                             ¦   «         t          d¦  «        ¦  «         t          |                      d¦  «        j        d¦  «         t          |                      d¦  «                             ¦   «         d¦  «         d S )N©rÞ   rÞ   r   )r   rá   r�   r   ÚnnzÚcount_nonzeror·   s    r3   Ú
test_emptyz_TestCommon.test_emptyw  s}   € å�T—^’^ FÑ+Ô+×3Ò3Ñ5Ô5µu¸V±}´}ÑEÔEÐEÝ�T—^’^ FÑ+Ô+Ô/°Ñ3Ô3Ð3Ý�T—^’^ FÑ+Ô+×9Ò9Ñ;Ô;¸QÑ?Ô?Ð?Ð?Ð?r5   c                 ó  — t          j        | j                             ¦   «         ¦  «        }t	          | j                             ¦   «         |¦  «         t	          | j        j                             ¦   «         |¦  «         d S r7   )rC   r5  râ   r�   r   ÚT)r—   Úexpecteds     r3   Útest_count_nonzeroz_TestCommon.test_count_nonzero}  sd   € ÝÔ# D¤J×$6Ò$6Ñ$8Ô$8Ñ9Ô9ˆÝ�T”Z×-Ò-Ñ/Ô/°Ñ:Ô:Ð:Ý�T”Z”\×/Ò/Ñ1Ô1°8Ñ<Ô<Ð<Ð<Ð<r5   c                 ó¨   — t          t          | j        d¦  «         t          t          | j        d¦  «         t          t          | j        d¦  «         d S )N©r  rÞ   ©rÞ   r  ©r  r  )rî   rï   rá   r·   s    r3   Útest_invalid_shapesz_TestCommon.test_invalid_shapes‚  sD   € Ý•j $¤.°&Ñ9Ô9Ð9Ý•j $¤.°&Ñ9Ô9Ð9Ý•j $¤.°'Ñ:Ô:Ð:Ð:Ð:r5   c                 ó  — |                       g d¢g d¢g d¢g¦  «        }|j        dk    rdn|j        dk    rdnd}t          |j                 \  }}d	|› d
|j        › d|j        › d|› d|j        › d�}t          |¦  «        |k    sJ ‚d S )N©rÝ   r   r   ©r   r   r   ©r   r   r  Údiaú(1 diagonals) Úbsrú(blocksize=1x1) Ú ú<ú sparse matrix of dtype 'ú'
	with ú stored elements ú
and shape ú>)rá   Úformatr#   r8   r4  r´   Úrepr©r—   râ   Úextrarù   Úfmtr9  s         r3   Ú	test_reprz_TestCommon.test_repr‡  så   € Ø—’ 	 	 	¨9¨9¨9°j°j°jÐAÑBÔBˆà %¤°Ò 5Ð 5ÐÐØ',¤|°uÒ'<Ð'<Ð#Ð#Øð 	õ
 ˜%œ,Ô'‰ˆˆ3ðR�ð Rð R¨e¬kð Rð RØ”iðRð RØ27ðRð RØCHÄ;ðRð Rð Rð 	õ �E‰{Œ{˜hÒ&Ð&Ð&Ð&Ð&Ð&r5   c                 ó*  — |                       g d¢g d¢g d¢g¦  «        }|j        dk    rd S |j        dk    rdn|j        dk    rdnd	}t          |j                 \  }}d
|› d|j        › d|j        › d|› d|j        › d�}t          |¦  «        |k    sJ ‚d S )NrA  rB  rC  r_   rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  z(>
  Coords	Values
  (0, 0)	1
  (2, 2)	-2)rá   r4  rO  r#   r8   r´   ÚstrrQ  s         r3   Útest_strz_TestCommon.test_str•  sé   € Ø—’ 	 	 	¨9¨9¨9°j°j°jÐAÑBÔBˆØŒ9˜Š>ˆ>ØˆFà %¤°Ò 5Ð 5ÐÐØ',¤|°uÒ'<Ð'<Ð#Ð#Øð 	õ
 ˜%œ,Ô'‰ˆˆ3ð�ð ð ¨e¬kð ð Ø”iðð Ø27ðð ØCHÄ;ðð ð ð 	õ �5‰zŒz˜XÒ%Ð%Ð%Ð%Ð%Ð%r5   c                 ó¾  — d}t          j        d¦  «        t          j        d¦  «        t          j        d¦  «        t          j        d¦  «        t          j        d¦  «        fD ]ø}|                      ||¬¦  «        }||z   }d|z  }||                     ¦   «         z  }||                     ¦   «         z  }||                     ¦   «         z  }||||||fD ]‡}	t          |	                     ¦   «         |                     ¦   «         |                     ¦   «         z  ¦  «         t          |	j        |¦  «         t          |	                     ¦   «         j        |¦  «         ŒˆŒùd S )	N©é   rZ  rT   Úfloat32ré   Ú	complex64Ú
complex128©r8   r_   )rC   r8   rá   ÚtocscÚtocsrÚtocoor   r�   )
r—   r´   ÚmytyperG   rL   Úcrß   ÚeÚfÚms
             r3   Útest_empty_arithmeticz!_TestCommon.test_empty_arithmetic¨  s:  € àˆÝ”x Ñ(Ô(­"¬(°9Ñ*=Ô*=Ý”˜Ñ#Ô#¥R¤X¨kÑ%:Ô%:Ý”˜Ñ&Ô&ð(ð 	7ð 	7ˆFð —’˜u¨F�Ñ3Ô3ˆAØ�A‘ˆAØ�A‘ˆAØ�A—G’G‘I”I‘ˆAØ�A—G’G‘I”I‘ˆAØ�A—G’G‘I”I‘ˆAØ˜˜!˜A˜a �]ð 7ð 7�Ý˜QŸYšY™[œ[¨!¯)ª)©+¬+°a·i²i±k´kÑ*AÑBÔBÐBå˜QœW VÑ,Ô,Ð,Ý˜QŸYšY™[œ[Ô.¨vÑ6Ô6Ð6Ð6ð	7ð	7ð 	7r5   c                 óÜ   — t          g d¢g d¢g d¢g d¢gd¦  «        }t          t          |¦  «        t          |                      |¦  «        ¦  «                             ¦   «         ¦  «         d S )N©r  r   é   ©r   éûÿÿÿr   ©rÝ   éüÿÿÿr   rB  rß   )r   r   Úabsrá   r�   ©r—   rJ   s     r3   Útest_absz_TestCommon.test_absº  sf   € Ý�;�;�; 
 
 
¨J¨J¨J¸	¸	¸	ÐBÀCÑHÔHˆÝ•S˜‘V”V�S §¢°Ñ!2Ô!2Ñ3Ô3×;Ò;Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r5   c                 óæ   — d}t          ddgddggd¦  «        }t          t          j        ||¬¦  «        t	          |                      |¦  «        |¬¦  «                             ¦   «         ¦  «         d S )	NrÝ   gš™™™™™õ¿gìQ¸…ëá?g     @1@gìQ¸…ëÀrß   )Údecimals)Úndigits)r   r   rC   ÚaroundÚroundrá   r�   )r—   ÚdecimalrJ   s      r3   Ú
test_roundz_TestCommon.test_round¾  s}   € ØˆÝ�E˜4�= 5¨% .Ð1°3Ñ7Ô7ˆÝ•R”Y˜q¨7Ð3Ñ3Ô3Ý˜4Ÿ>š>¨!Ñ,Ô,°gÐ>Ñ>Ô>×FÒFÑHÔHñ	Jô 	Jð 	Jð 	Jð 	Jr5   c                 óJ  — t          g d¢g d¢g d¢gd¦  «        }t          t          j        |d¦  «        |                      |¦  «                             d¦  «                             ¦   «         ¦  «         t          t          |                      |¦  «        j        |¦  «         d S )N)rn  éýÿÿÿr  )r  r   rÝ   ©r_   rÞ   é   rß   r_   )r   r   rC   Úpowerrá   r�   rî   ÚNotImplementedErrorrp  s     r3   Útest_elementwise_powerz"_TestCommon.test_elementwise_powerÄ  sŽ   € Ý�<�<�<   ¨Y¨Y¨YÐ7¸Ñ=Ô=ˆÝ•R”X˜a ‘^”^ T§^¢^°AÑ%6Ô%6×%<Ò%<¸QÑ%?Ô%?×%GÒ%GÑ%IÔ%IÑJÔJÐJõ 	Õ)¨4¯>ª>¸!Ñ+<Ô+<Ô+BÀAÑFÔFÐFÐFÐFr5   c                 ó0  — t          g d¢g d¢g d¢g d¢gd¦  «        }t          | |                      |¦  «                              ¦   «         ¦  «         t          g d¢g d¢g¦  «        }t	          t
          |                      |¦  «        j        ¦  «         d S )Nri  rk  rm  rB  rß   )TFF)FFT)r   r   rá   r�   rî   r~  Ú__neg__rp  s     r3   Útest_negz_TestCommon.test_negË  sŸ   € Ý�;�;�; 
 
 
¨J¨J¨J¸	¸	¸	ÐBÀCÑHÔHˆÝ�a�R˜4Ÿ>š>¨!Ñ,Ô,Ð,×5Ò5Ñ7Ô7Ñ8Ô8Ð8õ Ð'Ð'Ð'Ð)=Ð)=Ð)=Ð>Ñ?Ô?ˆÝÕ)¨4¯>ª>¸!Ñ+<Ô+<Ô+DÑEÔEÐEÐEÐEr5   c                 ó¬   — t          ddgg¦  «        }|                      |¦  «        }t          |j                             ¦   «         |j        ¦  «         d S ©Nù      ð?      @y       @      À)r   rá   r   Úrealr�   ©r—   ÚDrJ   s      r3   Ú	test_realz_TestCommon.test_realÓ  óL   € Ý�F˜FÐ#Ð$Ñ%Ô%ˆØ�NŠN˜1ÑÔˆÝ�Q”V—^’^Ñ%Ô% q¤vÑ.Ô.Ð.Ð.Ð.r5   c                 ó¬   — t          ddgg¦  «        }|                      |¦  «        }t          |j                             ¦   «         |j        ¦  «         d S r„  )r   rá   r   Úimagr�   r‡  s      r3   Ú	test_imagz_TestCommon.test_imagØ  rŠ  r5   c           	      óD  — g }|                      g d¢g¦  «         |                      dgdgdgg¦  «         |                      ddgddgddgg¦  «         |                      g d¢g d¢g d¢g¦  «         |                      ddgddgg¦  «         |                      t          |d         ddgg¦  «        ¦  «         |                      t          |d         dgdgg¦  «        ¦  «         |                      t          |d         ddgdd	gg¦  «        ¦  «         |                      t          |d         ddgdd	gg¦  «        ¦  «         |                      t          |d         ddgdd	gg¦  «        ¦  «         |                      t          |d         g d
¢g¦  «        ¦  «         |D ]á}t          |¦  «        j        \  }}|                      |¦  «        }t          | dz
  |dz   ¦  «        D ]5}t          |                     |¬¦  «        t          ||¬¦  «        ¦  «         Œ6t          |                     d¬¦  «        t          |d¬¦  «        ¦  «         t          |                     d¬¦  «        t          |d¬¦  «        ¦  «         Œât          |                      d¦  «                             ¦   «         t          j
        d¦  «        ¦  «         t          |                      d¦  «                             ¦   «         t          j        d¦  «        ¦  «         t          |                      d¦  «                             ¦   «         t          j        d¦  «        ¦  «         t          |                      d¦  «                             d¦  «        t          j        d¦  «        ¦  «         d S )N©rÝ   r   r_   rÝ   r   r_   rÞ   ©r   r   rÝ   )r   r   r_   ©r   rÞ   r   r|  ©rÝ   r_   rÞ   r|  ©ÚkrO   i�ÿÿÿ)é(   i?  r•  ©r   r   )é   r   ©r   rZ  )rE   r   r   r´   rá   rø   r   Údiagonalr   rC   r   Úempty)r—   Úmatsrf  ÚrowsÚcolsÚ
sparse_matr”  s          r3   Útest_diagonalz_TestCommon.test_diagonalÝ  sH  € àˆØ�Š�W�W�W�IÑÔÐØ�Š�a�S˜!˜˜a˜S�MÑ"Ô"Ð"Ø�Š�a˜�U˜A˜a˜5 ! A Ð'Ñ(Ô(Ð(Ø�Š�W�W�W˜W˜W˜W W W WÐ-Ñ.Ô.Ð.Ø�Š�a˜�U˜A˜a˜5�MÑ"Ô"Ð"à�Š•D˜˜aœ 1 Q % Ñ)Ô)Ñ*Ô*Ð*Ø�Š•D˜˜aœ 1 # q c Ñ+Ô+Ñ,Ô,Ð,Ø�Š•D˜˜aœ 1 Q %¨¨1¨ Ñ/Ô/Ñ0Ô0Ð0Ø�Š•D˜˜aœ 1 Q %¨¨1¨ Ñ/Ô/Ñ0Ô0Ð0Ø�Š•D˜˜aœ 1 Q %¨¨1¨ Ñ/Ô/Ñ0Ô0Ð0Ø�Š•D˜˜aœ ) ) ) Ñ-Ô-Ñ.Ô.Ð.àð 	Eð 	EˆAÝ˜q™œœ‰JˆD�$ØŸš¨Ñ*Ô*ˆJÝ˜D˜5 ™7 D¨¡FÑ+Ô+ð Eð E�Ý˜Z×0Ò0°1Ð0Ñ5Ô5µt¸AÀ°|±|´|ÑDÔDÐDÐDå˜×,Ò,¨rÐ,Ñ2Ô2µD¸¸b°M±M´MÑBÔBÐBÝ˜×,Ò,¨sÐ,Ñ3Ô3µT¸!¸s°^±^´^ÑDÔDÐDÐDõ 	�T—^’^ KÑ0Ô0×9Ò9Ñ;Ô;½R¼XÀb¹\¼\ÑJÔJÐJõ 	�T—^’^ FÑ+Ô+×4Ò4Ñ6Ô6½¼À¹¼ÑDÔDÐDÝ�T—^’^ GÑ,Ô,×5Ò5Ñ7Ô7½¼À!¹¼ÑEÔEÐEÝ�T—^’^ FÑ+Ô+×4Ò4°RÑ8Ô8½"¼(À1¹+¼+ÑFÔFÐFÐFÐFr5   c                 óô  — t          j        g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          dd¦  «        D ]:}t	          |                     |¬¦  «        |                     |¬¦  «        ¦  «         Œ;t          j        g d¢g d¢g¦  «        }|                      |¦  «        }t          dd¦  «        D ]:}t	          |                     |¬¦  «        |                     |¬¦  «        ¦  «         Œ;d S )N©rÝ   r_   rÞ   ©r|  rZ  é   )é   é   é	   r  rÞ   )Úoffsetr  )rC   r   rá   rø   r   Útrace)r—   rJ   rK   r”  s       r3   Ú
test_tracez_TestCommon.test_traceþ  sú   € åŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7ˆØ�NŠN˜1ÑÔˆÝ�r˜1‘”ð 	?ð 	?ˆAÝ˜Ÿš¨˜Ñ*Ô*¨A¯GªG¸1¨GÑ,=Ô,=Ñ>Ô>Ð>Ð>õ ŒH�i�i�i   Ð+Ñ,Ô,ˆØ�NŠN˜1ÑÔˆÝ�r˜1‘”ð 	?ð 	?ˆAÝ˜Ÿš¨˜Ñ*Ô*¨A¯GªG¸1¨GÑ,=Ô,=Ñ>Ô>Ð>Ð>ð	?ð 	?r5   c           	      ó0  — |                       g d¢g d¢g d¢g d¢g¦  «        }dD ]e}dD ]`}t          |                     ||¬¦  «                             ¦   «         |                     ¦   «                              ||¬¦  «        ¦  «         ŒaŒf|                       g d¢g d	¢g d
¢g¦  «        }|                     d¦  «        }g d¢g d¢g}t          |                     ¦   «         |¦  «         |                     d¦  «        }t          |                     ¦   «         |¦  «         |                     d¦  «        }t          |                     ¦   «         |¦  «         t	          t
          |j        d¦  «         |                     dd¦  «        }t          |                     ¦   «         |¦  «         t	          t          |j        ddd¬¦  «         |                     d¦  «        }t          ||u ¦  «         |                     dd¬¦  «        }t          ||u¦  «         t          |j        d¦  «         d|_        t          |                     ¦   «         |¦  «         t	          t
          |j        |j	        f¦  «         t	          t
          |j        d|j	        df¦  «         d S )N)rÝ   r   r¤  rB  r‘  )r   r   rZ  )ÚCÚF))é   rÝ   )rÝ   r­  ©Úorder©r   rO   r   r   ©r   r   r   r   ©r   é   é   r•  ©r_   r£  )r   rO   r   r   r   r   )r   r   r   r³  r´  r•  ©r_   r  )r  r£  r>  r_   r£  rÝ   )Ú
not_an_arg©rÞ   r|  T©rþ   )
rá   r   Úreshaper�   rî   rï   Ú	TypeErrorr   r´   re   )r—   r9   r¯  Úsr:   Údesireds         r3   Útest_reshapez_TestCommon.test_reshape  sy  € à�NŠN˜I˜I˜I y y y°)°)°)¸Y¸Y¸YÐGÑHÔHˆØð 	Hð 	HˆEØ'ð Hð H�Ý" 1§9¢9¨Q°e 9Ñ#<Ô#<×#DÒ#DÑ#FÔ#FØ#$§9¢9¡;¤;×#6Ò#6°qÀÐ#6Ñ#FÔ#FñHô Hð Hð HðHð �NŠN˜M˜M˜M¨<¨<¨<¸¸¸ÐIÑJÔJˆØ�IŠI�fÑÔˆØ&Ð&Ð&Ð(=Ð(=Ð(=Ð>ˆÝ˜1Ÿ9š9™;œ;¨Ñ0Ô0Ð0ð �IŠI�gÑÔˆÝ˜1Ÿ9š9™;œ;¨Ñ0Ô0Ð0Ø�IŠI�gÑÔˆÝ˜1Ÿ9š9™;œ;¨Ñ0Ô0Ð0Ý•j !¤)¨XÑ6Ô6Ð6ð �IŠI�a˜‰OŒOˆÝ˜1Ÿ9š9™;œ;¨Ñ0Ô0Ð0Ý•i ¤¨A¨q¸QÐ?Ñ?Ô?Ð?ð �IŠI�fÑÔˆÝ��Q�‰ŒˆØ�IŠI�f 4ˆIÑ(Ô(ˆÝ�˜�
ÑÔÐõ 	˜1œ7 FÑ+Ô+Ð+ð ˆŒÝ˜1Ÿ9š9™;œ;¨Ñ0Ô0Ð0õ 	•j !¤)¨a¬f¨YÑ7Ô7Ð7Ý•j !¤)¨a°´¸¨^Ñ<Ô<Ð<Ð<Ð<r5   c                 ó(  ‡‡— ˆfd„Šˆˆfd„}t           j                             d¦  «         g d¢}t           j        t           j        fD ]È}|D ]Ã\  }}t          j        | dz   |dz
  ¦  «        }|D ]Ÿ}t          ||||f¦  «        Št          j        ||f|¬¦  «        }|                      ||f|¬¦  «        }	 |||	|¦  «         t           j         	                    |t          t          |¦  «        d¦  «        ¬¦  «        D ]}
 |||	|
¦  «         ŒŒ ŒÄŒÉd S )	Nc                 ó”  •— t          j        |¦  «        }|dk    r‘t          | j        d         | j        d         |z
  ¦  «        }|j        dk    r't          |t          |¦  «        ¦  «        }|d |…         }t          j        d|¦  «        }t          j        |||z   ¦  «        }|| ||f<   d S |dk     r ‰| j        || ¦  «         d S d S rý   )rC   r   rh   r´   rº   r¹   r   r8  )rG   Úvr”  ÚnÚiÚjÚdense_setdiags         €r3   rÅ  z=_TestCommon.test_setdiag_comprehensive.<locals>.dense_setdiag9  sÆ   ø€ Ý”
˜1‘”ˆAØ�AŠvˆvÝ˜œ œ
 A¤G¨A¤J°¡NÑ3Ô3�Ø”6˜Q’;�;Ý˜A�s 1™vœv™œ�AØ˜"˜1˜"œ�AÝ”I˜a ‘O”O�Ý”I˜a  Q¡Ñ'Ô'�Ø��!�A�#‘��Ø�Q’�Ø�˜aœc 1 q bÑ)Ô)Ð)Ð)Ð)ð �r5   c                 óZ  •— dt          t          j        | |¦  «        ¦  «        ddfD �]�}|dk     r.t          j                             t          dd¦  «        ¦  «        }n"t          j                             dd|¬¦  «        } ‰| ||¦  «         t          ¦   «         5 }|                     t          d¦  «         | 
                    ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        | |¦  «        }t          j        |¦  «        j        dk    rt          ||d	‰	|fz  ¬
¦  «         nQt          t          |¦  «        t          |¦  «        ¦  «        }t          |d |…         |d |…         d	‰	|fz  ¬
¦  «         t          |                     ¦   «         | d	‰	|fz  ¬
¦  «         �Œƒd S )Nr  r_   r´  r   rÝ   r³  ©re   zChanging the sparsity structuz%s %d©Úerr_msg)r¹   rC   r   rŠ   Úchoicerø   ra   r   r  r!   Úsetdiagr   rº   r   rh   r�   )
rG   rL   r”  ÚrrÁ  r  rß   rÂ  rÅ  r/   s
           €€r3   Úcheck_setdiagz=_TestCommon.test_setdiag_comprehensive.<locals>.check_setdiagF  sÔ  ø€ ð �#�bœg a¨™mœmÑ,Ô,¨a°Ð4ð Oñ O�Ø�q’5�5Ýœ	×(Ò(­¨q°"©¬Ñ6Ô6�A�Aåœ	×)Ò)¨!¨R°aÐ)Ñ8Ô8�Aà�˜a  AÑ&Ô&Ð&Ý&Ñ(Ô(ð $¨CØ—J’JÕ6Ð8WÑXÔXÐXØ—I’I˜a ‘O”O�Oð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ
 ”G˜A˜q‘M”M�Ý”:˜a‘=”=Ô%¨Ò*Ð*Ý& q¨!°WÀÀQ¸xÑ5GÐHÑHÔHÐHÐHå�C ™FœF¥C¨¡F¤FÑ+Ô+�AÝ& q¨¨!¨¤u¨a°°°¬e¸WÈÈQÀxÑ=OÐPÑPÔPÐPå" 1§9¢9¡;¤;°¸7ÀcÈ1ÀXÑ;MÐNÑNÔNÐNÑNð'Oð Os   Â2CÃC	Ã!C	r\   )r˜  ©rZ  r   ©rÝ   rZ  ©rZ  rÝ   rY  rÝ   r^  rZ  rÇ  )rC   rŠ   r]   r   ré   r   rP  r   rá   rÊ  rh   r¹   )r—   rÍ  Úshapesr8   rf  rÂ  Úksr”  rG   rL   Úk2rÅ  r/   s              @@r3   Útest_setdiag_comprehensivez&_TestCommon.test_setdiag_comprehensive7  sv  øø€ ð	*ð 	*ð 	*ð 	*ð 	*ð	Oð 	Oð 	Oð 	Oð 	Oð 	Oõ2 	Œ	�Š�tÑÔÐØ4Ð4Ð4ˆÝ”g�rœzÐ*ð 	0ð 	0ˆEØð 0ð 0‘��!Ý”Y ˜r !™t Q q¡SÑ)Ô)�Øð 	0ð 	0�AÝ  q¨!¨QÐ/Ñ0Ô0�CÝœ ! Q ¨uÐ5Ñ5Ô5�AØŸš¨¨1 v°U˜Ñ;Ô;�Aà!�M ! Q¨Ñ*Ô*Ð*õ !œi×.Ò.¨r½½CÀ¹G¼GÀQ¹¼Ð.ÑHÔHð 0ð 0˜Ø%˜ a¨¨BÑ/Ô/Ð/Ð/ð0ð	0ð0ð	0ð 	0r5   c           
      ó  — |                       t          j        d¦  «        ¦  «        }|                       d¦  «        }g d¢}t          ¦   «         5 }|                     t
          d¦  «         t          t          |j        |d¬¦  «         |                     |¦  «         t          | 
                    ¦   «         |¦  «         |                     |d¬¦  «         t          |                     ¦   «         t          j        g d¢g d	¢g d
¢g¦  «        ¦  «         |                     |d¬¦  «         t          |                     ¦   «         t          j        g d¢g d	¢g d¢g¦  «        ¦  «         |                     dd¬¦  «         t          |                     ¦   «         d         d¦  «         |                     dd¬¦  «         t          |                     ¦   «         d         d¦  «         |                     dgd¬¦  «         t          |                     ¦   «         d         g d¢¦  «         |                     ddgd¬¦  «         t          |                     ¦   «         d d…         g d¢g d¢g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÞ   ©r|  r|  )rÞ   r_   rÝ   úChanging the sparsity structurer|  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á   rC   r   r   r  r!   rî   rï   rË  r   r™  r�   r   )r—   rf  Úm2rA   r  s        r3   Útest_setdiagz_TestCommon.test_setdiago  sÃ  € à�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�^Š^˜FÑ#Ô#ˆØ��ˆÝÑ Ô ð 	A CØ�JŠJÕ.Ð0QÑRÔRÐRÝ�* a¤i°¸1Ð=Ñ=Ô=Ð=Ø�IŠI�fÑÔÐÝ˜qŸzšz™|œ|¨VÑ4Ô4Ð4Ø�IŠI�f ˆIÑ"Ô"Ð"Ý˜qŸyšy™{œ{­B¬H°i°i°iØ6?°i°iØ6?°i°ið6Añ -Bô -Bñ Cô Cð Cð �IŠI�f ˆIÑ#Ô#Ð#Ý˜qŸyšy™{œ{­B¬H°i°i°iØ6?°i°iØ6?°i°ið6Añ -Bô -Bñ Cô Cð Cð �IŠI�d˜aˆIÑ Ô Ð Ý˜qŸyšy™{œ{¨3Ô/°Ñ3Ô3Ð3Ø�IŠI�d˜bˆIÑ!Ô!Ð!Ý˜qŸyšy™{œ{¨3Ô/°Ñ3Ô3Ð3à�JŠJ˜�s˜aˆJÑ Ô Ð Ý˜rŸzšz™|œ|¨Aœ°°°Ñ=Ô=Ð=à�JŠJ˜˜1�v ˆJÑ#Ô#Ð#Ý˜rŸzšz™|œ|¨B¨Q¨BÔ/°,°,°,Ø2>°,°,ð2@ñ Aô Að Að-	Að 	Að 	Añ 	Aô 	Að 	Að 	Að 	Að 	Að 	Að 	Að 	Aøøøð 	Að 	Að 	Að 	Að 	Að 	As   ÁH!I=É=JÊJc                 ó,  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }d„ t          |                     ¦   «         ¦  «        D ¦   «         }d„ t          |                     ¦   «         ¦  «        D ¦   «         }t	          ||¦  «         d S )N©rÝ   r   rÝ   ©r   rÝ   rÝ   r�  c                 ó,   — h | ]}t          |¦  «        ’ŒS rP   ©Útuple©Ú.0Úijs     r3   ú	<setcomp>z+_TestCommon.test_nonzero.<locals>.<setcomp>‘  s   € Ð;Ð;Ð;˜b•�b‘	”	Ð;Ð;Ð;r5   c                 ó,   — h | ]}t          |¦  «        ’ŒS rP   rá  rã  s     r3   ræ  z+_TestCommon.test_nonzero.<locals>.<setcomp>’  s   € Ð?Ð?Ð? •%˜‘)”)Ð?Ð?Ð?r5   )r   rá   r   Únonzeror   ©r—   rJ   ÚAspÚA_nzÚAsp_nzs        r3   Útest_nonzeroz_TestCommon.test_nonzero�  s�   € Ý�9�9�9˜Y˜Y˜Y y y yÐ1Ñ2Ô2ˆØ�nŠn˜QÑÔˆà;Ð;¥I¨a¯iªi©k¬kÑ$:Ô$:Ð;Ñ;Ô;ˆØ?Ð?¥i°·²±´Ñ&>Ô&>Ð?Ñ?Ô?ˆå�T˜6Ñ"Ô"Ð"Ð"Ð"r5   c                 ó,  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }d„ t          t          j        |¦  «        ¦  «        D ¦   «         }d„ t          t          j        |¦  «        ¦  «        D ¦   «         }t          ||¦  «         d S )NrÞ  rß  r�  c                 ó,   — h | ]}t          |¦  «        ’ŒS rP   rá  rã  s     r3   ræ  z1_TestCommon.test_numpy_nonzero.<locals>.<setcomp>›  s   € Ð=Ð=Ð=˜b•�b‘	”	Ð=Ð=Ð=r5   c                 ó,   — h | ]}t          |¦  «        ’ŒS rP   rá  rã  s     r3   ræ  z1_TestCommon.test_numpy_nonzero.<locals>.<setcomp>œ  s   € ÐAÐAÐA •%˜‘)”)ÐAÐAÐAr5   )r   rá   r   rC   rè  r   ré  s        r3   Útest_numpy_nonzeroz_TestCommon.test_numpy_nonzero–  s�   € å�9�9�9˜i˜i˜i¨¨¨Ð3Ñ4Ô4ˆØ�nŠn˜QÑÔˆà=Ð=¥I­b¬j¸©m¬mÑ$<Ô$<Ð=Ñ=Ô=ˆØAÐA¥iµ´
¸3±´Ñ&@Ô&@ÐAÑAÔAˆå�T˜6Ñ"Ô"Ð"Ð"Ð"r5   c                 ó.  — t          | j                             d¦  «                             ¦   «         | j        dgd d …f         ¦  «         t          | j                             d¦  «                             ¦   «         | j        dgd d …f         ¦  «         d S ©NrÝ   r  )r   râ   Úgetrowr�   rà   r·   s    r3   Útest_getrowz_TestCommon.test_getrow   s‚   € Ý˜4œ:×,Ò,¨QÑ/Ô/×7Ò7Ñ9Ô9¸4¼8ÀQÀCÈÈÈÀFÔ;KÑLÔLÐLÝ˜4œ:×,Ò,¨RÑ0Ô0×8Ò8Ñ:Ô:¸D¼HÀbÀTÈ1È1È1ÀWÔ<MÑNÔNÐNÐNÐNr5   c                 ó.  — t          | j                             d¦  «                             ¦   «         | j        d d …dgf         ¦  «         t          | j                             d¦  «                             ¦   «         | j        d d …dgf         ¦  «         d S ró  )r   râ   Úgetcolr�   rà   r·   s    r3   Útest_getcolz_TestCommon.test_getcol¤  s‚   € Ý˜4œ:×,Ò,¨QÑ/Ô/×7Ò7Ñ9Ô9¸4¼8ÀAÀAÀAÈÀsÀFÔ;KÑLÔLÐLÝ˜4œ:×,Ò,¨RÑ0Ô0×8Ò8Ñ:Ô:¸D¼HÀQÀQÀQÈÈÀWÔ<MÑNÔNÐNÐNÐNr5   c                 óà  ‡ ‡	— t           j                             d¦  «         t          g d¢g d¢g d¢g¦  «        }t           j                             dd¦  «        }t          j        g g¦  «        }t          j        d¦  «        }t          j        ddd¬¦  «                             ¦   «         }|||||gŠ	ˆ	ˆ fd	„}‰ j	        D ]-}t          t          ‰	¦  «        ¦  «        D ]} |||¦  «         ŒŒ.d S )
Nr\   ©r   rÝ   r_   ©rÞ   rn  rZ  ©éúÿÿÿr¤  r¦  rZ  )r•  r•  g{®Gáz„?)Údensityc                 óÒ  •— t          ‰|         | ¬¦  «        }‰                     || ¬¦  «        }t          j        d¬¦  «        5  t	          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     ¦   «         j        |                     ¦   «         j        ¦  «         t          t          j	        |                     d ¬¦  «        ¦  «        ¦  «         t	          |                     d ¬¦  «        |                     d ¬¦  «        ¦  «         t          |                     d ¬¦  «        j        |                     d ¬¦  «        j        ¦  «         t	          |                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         t	          |                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         t	          |                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         t	          |                     d¬¦  «        |                     d¬¦  «        ¦  «         t          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr^  r  )Úover©Úaxisr   rÝ   r  r  )
r(   rá   rC   r  r   Úsumr   r8   r   Úisscalar)r8   rÄ  rà   râ   Úmatricesr—   s       €€r3   rñ   z#_TestCommon.test_sum.<locals>.check³  s  ø€ Ý˜ !œ¨EÐ2Ñ2Ô2ˆCØ—N’N 3¨e�NÑ4Ô4ˆEÝ” (Ð+Ñ+Ô+ð Oð OÝ)¨#¯'ª'©)¬)°U·Y²Y±[´[ÑAÔAÐAÝ˜SŸWšW™YœYœ_¨e¯iªi©k¬kÔ.?Ñ@Ô@Ð@Ý�œ E§I¢I°4 IÑ$8Ô$8Ñ9Ô9Ñ:Ô:Ð:Ý)¨#¯'ª'°t¨'Ñ*<Ô*<Ø*/¯)ª)¸¨)Ñ*>Ô*>ñ@ô @ð @å˜SŸWšW¨$˜WÑ/Ô/Ô5Ø"ŸYšY¨D˜YÑ1Ô1Ô7ñ9ô 9ð 9å)¨#¯'ª'°q¨'©/¬/¸5¿9º9È!¸9Ñ;LÔ;LÑMÔMÐMÝ˜SŸWšW¨!˜W™_œ_Ô2°E·I²IÀ1°IÑ4EÔ4EÔ4KÑLÔLÐLÝ)¨#¯'ª'°q¨'©/¬/¸5¿9º9È!¸9Ñ;LÔ;LÑMÔMÐMÝ˜SŸWšW¨!˜W™_œ_Ô2°E·I²IÀ1°IÑ4EÔ4EÔ4KÑLÔLÐLÝ)¨#¯'ª'°r¨'Ñ*:Ô*:¸E¿IºIÈ2¸IÑ<NÔ<NÑOÔOÐOÝ˜SŸWšW¨"˜WÑ-Ô-Ô3°U·Y²YÀB°YÑ5GÔ5GÔ5MÑNÔNÐNÝ)¨#¯'ª'°r¨'Ñ*:Ô*:¸E¿IºIÈ2¸IÑ<NÔ<NÑOÔOÐOÝ˜SŸWšW¨"˜WÑ-Ô-Ô3°U·Y²YÀB°YÑ5GÔ5GÔ5MÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oð Oð Os   ÁL
MÍM Í#M )rC   rŠ   r]   r(   Úrandr   r   ru   r�   ræ   rø   r¹   )
r—   Údat_1Údat_2Údat_3Údat_4Údat_5rñ   r8   rÄ  r  s
   `        @r3   Útest_sumz_TestCommon.test_sum¨  s  øø€ Ý
Œ	�Š�tÑÔÐÝ˜	˜	˜	Ø"˜
˜
Ø"˜
˜
ð$ñ %ô %ˆõ ”	—’˜q !Ñ$Ô$ˆÝ”˜"˜‘”ˆÝ”˜Ñ"Ô"ˆÝ”˜A˜q¨$Ð/Ñ/Ô/×7Ò7Ñ9Ô9ˆØ˜5 %¨°Ð6ˆð	Oð 	Oð 	Oð 	Oð 	Oð 	Oð( Ô(ð 	 ð 	 ˆEÝ�3˜x™=œ=Ñ)Ô)ð  ð  �Ø��e˜Q‘”��ð ð	 ð 	 r5   c                 ój  — t          j        d¦  «        }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t	          t
          |j        d¬¦  «         t	          t          |j        d¬¦  «         t	          t          |j        d¬¦  «         t	          t
          |j        d	|¬
¦  «         d S ©N©rÝ   rÞ   rú  rû  rü  rÞ   r  ©r   rÝ   ç      ø?rÝ   ©r  Úout)rC   r   r   rá   rî   rï   r  r»  ©r—   r  rà   râ   s       r3   Útest_sum_invalid_paramsz#_TestCommon.test_sum_invalid_paramsË  s°   € ÝŒh�vÑÔˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå•j %¤)°!Ð4Ñ4Ô4Ð4Ý•i ¤°Ð8Ñ8Ô8Ð8Ý•i ¤°Ð5Ñ5Ô5Ð5Ý•j %¤)°!¸Ð=Ñ=Ô=Ð=Ð=Ð=r5   c                 óš   ‡‡— t          g d¢g d¢g d¢g¦  «        Š|                      ‰¦  «        Šˆˆfd„}| j        D ]} ||¦  «         Œd S )Nrú  rû  rü  c                 ó´   •— ‰                      | ¬¦  «        }‰                      | ¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S ©Nr^  ©Úmeanr   r   r8   ©r8   Údat_meanÚ
datsp_meanrà   râ   s      €€r3   rñ   z)_TestCommon.test_sum_dtype.<locals>.checkÝ  óT   ø€ Ø—x’x e�xÑ,Ô,ˆHØŸš¨%˜Ñ0Ô0ˆJå% h°
Ñ;Ô;Ð;Ý˜œ¨Ô)9Ñ:Ô:Ð:Ð:Ð:r5   ©r   rá   ræ   ©r—   rñ   r8   rà   râ   s      @@r3   Útest_sum_dtypez_TestCommon.test_sum_dtype×  óŠ   øø€ Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆð	;ð 	;ð 	;ð 	;ð 	;ð 	;ð Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          dgg¦  «        }t          dgg¦  «        }|                     |d¬¦  «         |                     |¬¦  «         t	          ||¦  «         t          j        d¦  «        }t          t          j        d¦  «        ¦  «        }|                     d	|d¬
¦  «         |                     d	|¬¦  «         t	          ||¦  «         d S ©Nrú  rû  rü  r   T)r  Úkeepdims©r  ©rÞ   rÝ   rÝ   )r  r  r%  r  )r   rá   r(   r  r   rC   r   r'   ©r—   rà   râ   Údat_outÚ	datsp_outs        r3   Útest_sum_outz_TestCommon.test_sum_outç  sÿ   € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå˜!˜˜‘,”,ˆÝ˜Q˜C˜5‘M”Mˆ	à�Š�G dˆÑ+Ô+Ð+Ø�	Š	�iˆ	Ñ Ô Ð Ý! '¨9Ñ5Ô5Ð5å”(˜6Ñ"Ô"ˆÝ�RœX fÑ-Ô-Ñ.Ô.ˆ	à�Š�Q˜G¨dˆÑ3Ô3Ð3Ø�	Š	�q˜iˆ	Ñ(Ô(Ð(Ý! '¨9Ñ5Ô5Ð5Ð5Ð5r5   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S ©Nrú  rû  rü  )r   rá   rC   r  r   r   r8   ©r—   rà   râ   r  r  s        r3   Útest_numpy_sumz_TestCommon.test_numpy_sumû  s‚   € å�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå”6˜#‘;”;ˆÝ”V˜E‘]”]ˆ
å! (¨JÑ7Ô7Ð7Ý�X”^ ZÔ%5Ñ6Ô6Ð6Ð6Ð6r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 ó†  •— t          g d¢g d¢g d¢g| ¬¦  «        }‰                     || ¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t	          |                     ¦   «         j        |                     ¦   «         j        ¦  «         t          t          j        |                     d ¬¦  «        ¦  «        ¦  «         t          |                     d d¬¦  «        |                     d ¬¦  «        ¦  «         t	          |                     d ¬¦  «        j        |                     d ¬¦  «        j        ¦  «         t          |                     dd¬¦  «        |                     d¬¦  «        ¦  «         t	          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         t          |                     d	d¬¦  «        |                     d	¬¦  «        ¦  «         t	          |                     d	¬¦  «        j        |                     d	¬¦  «        j        ¦  «         t          |                     d
d¬¦  «        |                     d
¬¦  «        ¦  «         t	          |                     d
¬¦  «        j        |                     d
¬¦  «        j        ¦  «         t          |                     dd¬¦  «        |                     d¬¦  «        ¦  «         t	          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         d S )Nrú  ©rÞ   r|  rZ  )r£  r¤  r¦  r^  r  T©r  r%  r   rÝ   r  r  )	r   rá   r   r  r   r8   r   rC   r  ©r8   rà   râ   r—   s      €r3   rñ   z$_TestCommon.test_mean.<locals>.check	  sÉ  ø€ Ý˜˜˜Ø"˜˜Ø"˜˜ð$à+0ð2ñ 2ô 2ˆCð —N’N 3¨e�NÑ4Ô4ˆEå% c§h¢h¡j¤j°%·*²*±,´,Ñ?Ô?Ð?Ý˜Ÿš™œÔ)¨5¯:ª:©<¬<Ô+=Ñ>Ô>Ð>Ý•B”K §
¢
° 
Ñ 5Ô 5Ñ6Ô6Ñ7Ô7Ð7Ý%Ø—’˜d¨T�Ñ2Ô2°E·J²JÀD°JÑ4IÔ4Iñô ð õ ˜Ÿš t˜Ñ,Ô,Ô2°E·J²JÀD°JÑ4IÔ4IÔ4OÑPÔPÐPÝ%Ø—’˜a¨$�Ñ/Ô/°·²À°Ñ1CÔ1Cñô ð õ ˜Ÿš q˜Ñ)Ô)Ô/°·²À°Ñ1CÔ1CÔ1IÑJÔJÐJÝ%Ø—’˜a¨$�Ñ/Ô/°·²À°Ñ1CÔ1Cñô ð õ ˜Ÿš q˜Ñ)Ô)Ô/°·²À°Ñ1CÔ1CÔ1IÑJÔJÐJÝ%Ø—’˜b¨4�Ñ0Ô0°%·*²*À"°*Ñ2EÔ2Eñô ð õ ˜Ÿš r˜Ñ*Ô*Ô0°%·*²*À"°*Ñ2EÔ2EÔ2KÑLÔLÐLÝ%Ø—’˜b¨4�Ñ0Ô0°%·*²*À"°*Ñ2EÔ2Eñô ð õ ˜Ÿš r˜Ñ*Ô*Ô0°%·*²*À"°*Ñ2EÔ2EÔ2KÑLÔLÐLÐLÐLr5   )ræ   rõ   s   `  r3   Ú	test_meanz_TestCommon.test_mean  sN   ø€ ð	Mð 	Mð 	Mð 	Mð 	Mð< Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó„  — t          t          j        d¦  «        ¦  «        }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          t          |j        d¬¦  «         t          t          |j        d¬¦  «         t          t          |j        d¬¦  «         t          t          |j        d	|¬
¦  «         d S r  )	r'   rC   r   r   rá   rî   rï   r  r»  r  s       r3   Útest_mean_invalid_paramsz$_TestCommon.test_mean_invalid_params*  s¸   € Ý•r”x Ñ'Ô'Ñ(Ô(ˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå•j %¤*°1Ð5Ñ5Ô5Ð5Ý•i ¤°&Ð9Ñ9Ô9Ð9Ý•i ¤°#Ð6Ñ6Ô6Ð6Ý•j %¤*°1¸#Ð>Ñ>Ô>Ð>Ð>Ð>r5   c                 óš   ‡‡— t          g d¢g d¢g d¢g¦  «        Š|                      ‰¦  «        Šˆˆfd„}| j        D ]} ||¦  «         Œd S )Nrú  rû  rü  c                 ó´   •— ‰                      | ¬¦  «        }‰                      | ¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S r  r  r  s      €€r3   rñ   z*_TestCommon.test_mean_dtype.<locals>.check<  r  r5   r  r   s      @@r3   Útest_mean_dtypez_TestCommon.test_mean_dtype6  r"  r5   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          dgg¦  «        }t          dgg¦  «        }|                     |d¬¦  «         |                     |¬¦  «         t	          ||¦  «         t          j        d¦  «        }t          t          j        d¦  «        ¦  «        }|                     d	|d¬
¦  «         |                     d	|¬¦  «         t	          ||¦  «         d S r$  )r   rá   r(   r  r   rC   r   r(  s        r3   Útest_mean_outz_TestCommon.test_mean_outF  sÿ   € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå˜!˜˜‘,”,ˆÝ˜Q˜C˜5‘M”Mˆ	à�Š�W tˆÑ,Ô,Ð,Ø�
Š
�yˆ
Ñ!Ô!Ð!Ý! '¨9Ñ5Ô5Ð5å”(˜6Ñ"Ô"ˆÝ�2œ8 FÑ+Ô+Ñ,Ô,ˆ	à�Š�a˜W¨tˆÑ4Ô4Ð4Ø�
Š
˜˜yˆ
Ñ)Ô)Ð)Ý! '¨9Ñ5Ô5Ð5Ð5Ð5r5   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S r-  )r   rá   rC   r  r   r   r8   r.  s        r3   Útest_numpy_meanz_TestCommon.test_numpy_meanZ  s‚   € å�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå”7˜3‘<”<ˆÝ”W˜U‘^”^ˆ
å! (¨JÑ7Ô7Ð7Ý�X”^ ZÔ%5Ñ6Ô6Ð6Ð6Ð6r5   c                 óT  — t          g d¢g d¢g d¢gt          ¦  «        }|                      |dt          ¬¦  «        }t          j                             |¦  «        }t          g d¢g d¢g d¢g¦  «        }|                      |dt          ¬¦  «        }t          j                             |¦  «        }t          ¦   «         5 }|                     t          d	¦  «         |                     t          d
¦  «         |                     t          d¦  «         t          |¦  «         	                    ¦   «         }t          |¦  «         	                    ¦   «         }	d d d ¦  «         n# 1 swxY w Y   t          ||z
  t          d¦  «        ¦  «         t          |	|z
  t          d¦  «        ¦  «         d S )Nr�  ©r   r   rÞ   ©rn  rZ  r£  r3  ©r´   r8   )ç      @ç        ç      ð?)rD  ç       @rD  )rD  rD  rD  ú&splu converted its input to CSC formatúCspsolve is more efficient when sparse b is in the CSC matrix formatú.spsolve requires A be CSC or CSR matrix format)r   Úfloatrá   rt   Úlinalgr*   r   r  r!   r�   r   r   )
r—   ÚMÚsMÚMexpÚNÚsNÚNexpr  ÚsMexpÚsNexps
             r3   Ú	test_expmz_TestCommon.test_expmg  s¾  € Ý�9�9�9˜i˜i˜i¨¨¨Ð4µeÑ<Ô<ˆØ�^Š^˜A Uµ%ˆ^Ñ8Ô8ˆÝŒ|× Ò  Ñ#Ô#ˆå�<�<�<   ¨|¨|¨|Ð<Ñ=Ô=ˆØ�^Š^˜A Uµ%ˆ^Ñ8Ô8ˆÝŒ|× Ò  Ñ#Ô#ˆåÑ Ô ð 	' CØ�JŠJÝ'Ø8ñô ð ð �JŠJÝ'ØUñô ð ð �JŠJÝ'Ø@ñô ð õ ˜‘H”H×$Ò$Ñ&Ô&ˆEÝ˜‘H”H×$Ò$Ñ&Ô&ˆEð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ  	" 5¨4¡<µ%¸±-´-Ñ@Ô@Ð@Ý! 5¨4¡<µ%¸±-´-Ñ@Ô@Ð@Ð@Ð@s   Â=BEÅE!Å$E!c                 ó>   ‡ — ˆ fd„}t           fD ]} ||¦  «         Œd S )Nc                 ó:  •— t          g d¢g d¢g d¢g| ¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |                     t          d¦  «         ‰                     |d| ¬¦  «        }t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |                     |¦  «                             ¦   «         t          j
        d	¦  «        ¦  «         t          t          t
          |¦  «         d S )
Nr�  r@  rA  rI  rH  rG  r3  rB  rÞ   )r   r   r  r!   rá   r+   r   r   r�   rC   r   rî   r»  )r8   rL  r  rM  ÚsMinvr—   s        €r3   rñ   z#_TestCommon.test_inv.<locals>.check„  sK  ø€ Ý�y�y�y ) ) )¨Z¨Z¨ZÐ8¸%Ñ@Ô@ˆAÝ"Ñ$Ô$ð 	 ¨Ø—
’
Õ2ØKñNô Nð Nà—
’
Õ2ð9ñ;ô ;ð ;ð —
’
Õ2ØCñFô Fð Fà—^’^ A¨U¸%�^Ñ@Ô@�Ý˜B™œ�ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ & e§i¢i°¡m¤m×&;Ò&;Ñ&=Ô&=½r¼vÀa¹y¼yÑIÔIÐIÝ�)¥S¨!Ñ,Ô,Ð,Ð,Ð,s   ©A9B.Â.B2Â5B2)rJ  rõ   s   `  r3   Útest_invz_TestCommon.test_invƒ  sH   ø€ ð	-ð 	-ð 	-ð 	-ð 	-õ �Wð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 óÔ  — t          g d¢g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         d S ©	NrA  r{  )r   rZ  r   rB  )r…  r   r   )r   ç      @r   Úint16r^  )r   r   rá   r�   rn   rp  s     r3   Útest_from_arrayz_TestCommon.test_from_array•  sã   € å�7�7�7˜7˜7˜7 7 7 7¨7¨7¨7Ð3Ñ4Ô4ˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:åÐ#Ð#Ð#Ø"�?�?Ø�9�9ðñ ô ˆõ 	˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ý˜4Ÿ>š>¨!°7˜>Ñ;Ô;×CÒCÑEÔEÀaÇhÂhÈwÑFWÔFWÑXÔXÐXÐXÐXr5   c                 óÔ  — t          g d¢g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         d S rZ  )r(   r   rá   Útodensern   rp  s     r3   Útest_from_matrixz_TestCommon.test_from_matrix   sî   € å�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?Ñ@Ô@ˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:åÐ$Ð$Ð$Ø#�O�OØ�I�Iðñ  ô  ˆõ 	˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:ÝØ�NŠN˜1 GˆNÑ,Ô,×4Ò4Ñ6Ô6¸¿ºÀÑ8IÔ8Iñ	
ô 	
ð 	
ð 	
ð 	
r5   c                 óÔ  — g d¢g d¢g d¢g d¢g}t          |                      |¦  «                             ¦   «         |¦  «         g d¢g d¢g d¢g}t          |                      |¦  «                             ¦   «         t          |¦  «        ¦  «         t          |                      |d¬¦  «                             ¦   «         t          |¦  «                             d¦  «        ¦  «         d S rZ  )r   rá   r�   r   rn   rp  s     r3   Útest_from_listz_TestCommon.test_from_list­  så   € àˆWˆW�W�W�W˜W˜W˜W W W WÐ-ˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:àÐÐØˆ_ˆ_ØˆYˆYðˆõ 	˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6½¸a¹¼ÑAÔAÐAÝØ�NŠN˜1 GˆNÑ,Ô,×4Ò4Ñ6Ô6½¸a¹¼¿ºÈÑ8PÔ8Pñ	
ô 	
ð 	
ð 	
ð 	
r5   c                 óÌ  — t          g d¢g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         |                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         |                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         d S rZ  )r   r   r   rá   r�   rn   ©r—   rˆ  ÚSs      r3   Útest_from_sparsez_TestCommon.test_from_sparseº  sµ  € å�7�7�7˜7˜7˜7 7 7 7¨7¨7¨7Ð3Ñ4Ô4ˆÝ�q‰MŒMˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ø�NŠN˜1ÑÔˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:åÐ#Ð#Ð#Ø"�?�?Ø�9�9ðñ ô ˆõ �q‰MŒMˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ý˜4Ÿ>š>¨!°7˜>Ñ;Ô;×CÒCÑEÔEØŸ8š8 GÑ,Ô,ñ	.ô 	.ð 	.à�NŠN˜1ÑÔˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ý˜4Ÿ>š>¨!°7˜>Ñ;Ô;×CÒCÑEÔEØŸ8š8 GÑ,Ô,ñ	.ô 	.ð 	.ð 	.ð 	.r5   c                 ó”  — | j                              ¦   «         }t          |t          j        ¦  «        sJ ‚t          || j        ¦  «         t          |j        j	        |j        j
        k    ¦  «         | j                              d¬¦  «        }t          || j        ¦  «         t          |j        j	        ¦  «         t          |j        j
         ¦  «         | j                              d¬¦  «        }t          || j        ¦  «         t          |j        j	         ¦  «         t          |j        j
        ¦  «         t          j        | j         j        | j         j        ¬¦  «        }| j                              |¬¦  «        }t          | j        |¦  «         t          | j        |¦  «         t          j        ||¦  «        sJ ‚t          t          j        | j         j        | j         j        ¬¦  «        ¦  «        }| j                              |¬¦  «        }t          | j        |¦  «         t          | j        |¦  «         t          j        ||¦  «        sJ ‚t!          g d¢g¦  «        }|| j        z  }|| j                              ¦   «         z  }t          ||¦  «         t!          g d¢g¦  «        j        }| j        |z  }| j                              ¦   «         |z  }t          ||¦  «         |                      | j        t&          ¬¦  «        }| j                             t&          ¦  «        }	t          |                     ¦   «         |	¦  «         d S )Nr«  r®  r¬  r^  r&  ©rE  rF  rC  ©rE  rF  rC  ç      @)râ   r_  rB   rC   r(   r   rà   r   ÚflagsÚc_contiguousÚf_contiguousr   r´   r8   rI   r'   r   r8  rá   rð   rn   )
r—   Úchkr  rG   Údense_dot_denserñ   rL   Úcheck2ÚspboolÚmatbools
             r3   Útest_todensez_TestCommon.test_todenseÒ  sÉ  € àŒj× Ò Ñ"Ô"ˆÝ˜#�rœyÑ)Ô)Ð)Ð)Ð)Ý˜3 ¤Ñ)Ô)Ð)Ý�”	Ô&¨#¬)Ô*@Ò@ÑAÔAÐAàŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 ¤Ñ)Ô)Ð)Ý�”	Ô&Ñ'Ô'Ð'Ý�C”IÔ*Ð*Ñ+Ô+Ð+àŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 ¤Ñ)Ô)Ð)Ý�C”IÔ*Ð*Ñ+Ô+Ð+Ý�”	Ô&Ñ'Ô'Ð'åŒh�t”zÔ'¨t¬zÔ/?Ð@Ñ@Ô@ˆØŒj× Ò  SÐ Ñ)Ô)ˆÝ˜4œ8 SÑ)Ô)Ð)Ý˜4œ8 SÑ)Ô)Ð)ÝÔ" 3¨Ñ,Ô,Ð,Ð,Ð,å•r”x ¤
Ô 0¸¼
Ô8HÐIÑIÔIÑJÔJˆØŒj× Ò  SÐ Ñ)Ô)ˆÝ˜4œ8 SÑ)Ô)Ð)Ý˜4œ8 SÑ)Ô)Ð)ÝÔ" 3¨Ñ,Ô,Ð,Ð,Ð,Ý�:�:�:�,ÑÔˆØ˜dœh™,ˆØ�D”J×&Ò&Ñ(Ô(Ñ(ˆÝ˜?¨EÑ2Ô2Ð2Ý�=�=�=�/Ñ"Ô"Ô$ˆØœ( Q™,ˆØ”×#Ò#Ñ%Ô%¨Ñ)ˆÝ˜?¨FÑ3Ô3Ð3à—’ ¤µ�Ñ5Ô5ˆØ”(—/’/¥$Ñ'Ô'ˆÝ˜6Ÿ>š>Ñ+Ô+¨WÑ5Ô5Ð5Ð5Ð5r5   c                 ój  — t          | j        ¦  «        }| j                             ¦   «         }t	          ||¦  «         t          |j        j        |j        j        k    ¦  «         | j                             d¬¦  «        }t	          ||¦  «         t          |j        j        ¦  «         t          |j        j         ¦  «         | j                             d¬¦  «        }t	          ||¦  «         t          |j        j         ¦  «         t          |j        j        ¦  «         t          j
        | j        j        | j        j        ¬¦  «        }| j                             |¬¦  «         t	          ||¦  «         d|d<   | j                             |¬¦  «         t	          ||¦  «         t          g d¢¦  «        }t          ||¦  «        }t          || j                             ¦   «         ¦  «        }t	          ||¦  «         t          g d	¢¦  «        }t          ||¦  «        }t          | j                             ¦   «         |¦  «        }t	          ||¦  «         |                      | j        t           ¬¦  «        }	|                     t           ¦  «        }
t	          |	                     ¦   «         |
¦  «         d S )
Nr«  r®  r¬  r^  r&  rE  .rh  ri  )r   rà   râ   r�   r   r   rk  rl  rm  rC   r   r´   r8   r   r   rá   rð   rn   )r—   rà   rn  r  rG   ro  rñ   rL   rp  rq  Úarrbools              r3   Útest_toarrayz_TestCommon.test_toarrayû  sJ  € å�d”hÑÔˆØŒj× Ò Ñ"Ô"ˆÝ˜3 Ñ$Ô$Ð$Ý�”	Ô&¨#¬)Ô*@Ò@ÑAÔAÐAàŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 Ñ$Ô$Ð$Ý�”	Ô&Ñ'Ô'Ð'Ý�C”IÔ*Ð*Ñ+Ô+Ð+àŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 Ñ$Ô$Ð$Ý�C”IÔ*Ð*Ñ+Ô+Ð+Ý�”	Ô&Ñ'Ô'Ð'åŒh�t”zÔ'¨t¬zÔ/?Ð@Ñ@Ô@ˆØŒ
×Ò˜sÐÑ#Ô#Ð#Ý˜3 Ñ$Ô$Ð$àˆˆC‰ØŒ
×Ò˜sÐÑ#Ô#Ð#Ý˜3 Ñ$Ô$Ð$Ý�*�*�*ÑÔˆÝ˜a ™+œ+ˆÝ�A�t”z×)Ò)Ñ+Ô+Ñ,Ô,ˆÝ˜?¨EÑ2Ô2Ð2Ý�-�-�-Ñ Ô ˆÝ˜c 1™+œ+ˆÝ�T”Z×'Ò'Ñ)Ô)¨1Ñ-Ô-ˆÝ˜?¨FÑ3Ô3Ð3à—’ ¤µ�Ñ5Ô5ˆØ—*’*�TÑ"Ô"ˆÝ˜6Ÿ>š>Ñ+Ô+¨WÑ5Ô5Ð5Ð5Ð5r5   c                 óÖ  ‡‡	— t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          D �]0}|                     |¦  «        }dD ]o}|                     ||¬¦  «        Št	          ‰j        |j        ¦  «         t	          ‰                     ¦   «         |¦  «         t	          ‰j        |j        ¦  «         Œpt          ‰                     |d¬¦  «        ‰u ¦  «         ‰                     |d¬¦  «        Š	t          ‰	‰u¦  «         ˆˆ	fd„}‰j        d	v rd
D ]} ||¦  «         ŒŒø‰j        dk    rdD ]} ||¦  «         Œ�Œ‰j        dk    rdD ]} ||¦  «         Œ�Œ2d S )N©y       @      @r   r   ©r   y      @      @r   rB  )TFr¹  FTc                 ó  •— t          ‰| ¦  «        }t          ‰| ¦  «        }t          ||¦  «         t          ||u¦  «         d|j        z  }||         }||          ||<   t          ||         ||         k    ¦  «         |||<   d S )N)r   )r€   r   r   rº   )Ú	attributerG   rL   rÃ  Úb_iÚS_castedÚS_copieds        €€r3   Ú(check_equal_but_not_same_array_attributezI_TestCommon.test_astype.<locals>.check_equal_but_not_same_array_attribute4  s�   ø€ Ý˜H iÑ0Ô0�Ý˜H iÑ0Ô0�Ý" 1 aÑ(Ô(Ð(Ý˜ ˜
Ñ#Ô#Ð#Ø˜1œ6‘M�Ø˜”d�Ø˜Qœ4�x��!‘Ý˜˜!œ  !¤šÑ%Ô%Ð%Ø��!‘��r5   ©ÚcsrÚcscrF  )ÚindicesÚindptrÚdataÚcoo)ÚrowÚcolr…  rD  )Úoffsetsr…  )	r   rá   r$   rn   r   r8   r�   rO  r   )
r—   rˆ  re  r9   ÚD_castedrþ   r  r{  r}  r~  s
           @@r3   Útest_astypez_TestCommon.test_astype   së  øø€ åÐ#Ð#Ð#Ø#Ð#Ð#Ø�9�9ðñ ô ˆð �NŠN˜1ÑÔˆå!ð  	Hñ  	HˆAà—x’x ‘{”{ˆHØ%ð 8ð 8�ØŸ8š8 A¨D˜8Ñ1Ô1�Ý˜Xœ^¨X¬^Ñ<Ô<Ð<Ý˜X×-Ò-Ñ/Ô/°Ñ:Ô:Ð:Ý˜Xœ_¨a¬hÑ7Ô7Ð7Ð7å�H—O’O A¨E�OÑ2Ô2°hÐ>Ñ?Ô?Ð?Ø—’ q¨t�Ñ4Ô4ˆHÝ�H HÐ,Ñ-Ô-Ð-ð	ð 	ð 	ð 	ð 	ð 	ð ŒÐ"7Ð7Ð7Ø!>ð Hð H�IØ<Ð<¸YÑGÔGÐGÐGðHà” EÒ)Ð)Ø!7ð Hð H�IØ<Ð<¸YÑGÔGÐGÐGñHà” EÒ)Ð)Ø!4ð Hð H�IØ<Ð<¸YÑGÔGÐGÐGùðA 	Hð  	Hr5   c                 ó”  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |d¦  «        rd|j        j        _        |j        dv r"d|j        j        _        d|j        j        _        t          D ]F}| 
                    |¦  «        }| 
                    |¦  «        }t          |j        |j        ¦  «         ŒGd S )Nrx  ry  rB  r…  Fr€  )r   rá   Úhasattrr…  rk  Ú	writeablerO  r„  rƒ  r$   rn   r   r8   )r—   rˆ  re  r9   rŠ  r}  s         r3   Útest_astype_immutablez!_TestCommon.test_astype_immutableI  sÔ   € åÐ#Ð#Ð#Ø#Ð#Ð#Ø�9�9ðñ ô ˆð �NŠN˜1ÑÔˆÝ�1�fÑÔð 	+Ø%*ˆAŒFŒLÔ"ØŒ8Ð,Ð,Ð,Ø',ˆAŒHŒNÔ$Ø(-ˆAŒIŒOÔ%Ý!ð 	9ð 	9ˆAØ—x’x ‘{”{ˆHØ—x’x ‘{”{ˆHÝ˜œ¨¬Ñ8Ô8Ð8Ð8ð	9ð 	9r5   c                 ó0  — |                       t          dd¬¦  «                             dd¦  «        ¦  «        }t          |j        t          j        d¦  «        ¦  «         t          |                     ¦   «         j        t          j        d¦  «        ¦  «         t          |                     ¦   «         j        |j        ¦  «         t          |                     d¦  «                             ¦   «         j        t          j        d¦  «        ¦  «         t          |                     d	¦  «                             ¦   «         j        t          j        d	¦  «        ¦  «         |                     ¦   «         }|                     ¦   «         }t          ||u ¦  «         d S )
Nr£  rT   r^  r_   rÞ   ré   r\  r[  r]  )
rá   r   rº  r   r8   rC   ÚasfptyperO  rn   r   )r—   rJ   rK   r«  s       r3   Útest_asfptypez_TestCommon.test_asfptypeZ  s%  € Ø�NŠN�6 !¨'Ð2Ñ2Ô2×:Ò:¸1¸QÑ?Ô?Ñ@Ô@ˆå�Q”W�bœh wÑ/Ô/Ñ0Ô0Ð0Ý�Q—Z’Z‘\”\Ô'­¬°)Ñ)<Ô)<Ñ=Ô=Ð=Ý�Q—Z’Z‘\”\Ô(¨!¬(Ñ3Ô3Ð3Ý�Q—X’X˜gÑ&Ô&×/Ò/Ñ1Ô1Ô7½¼À)Ñ9LÔ9LÑMÔMÐMÝ�Q—X’X˜lÑ+Ô+×4Ò4Ñ6Ô6Ô<½b¼hÀ|Ñ>TÔ>TÑUÔUÐUà�JŠJ‰LŒLˆØ�JŠJ‰LŒLˆÝ��Q�‰Œˆˆˆr5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÜ   •— ‰j         |          }‰j        |          }t          |dz  |dz                       ¦   «         ¦  «         t          |dz  |dz                       ¦   «         ¦  «         d S ©Nr_   çÍÌÌÌÌL1@©rç   rè   r   r�   r4  s      €r3   rñ   z*_TestCommon.test_mul_scalar.<locals>.checkh  sj   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå˜s 1™u u¨Q¡w×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:Ý˜s 4™x¨%°©*×)=Ò)=Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r5   ©rå   rõ   s   `  r3   Útest_mul_scalarz_TestCommon.test_mul_scalarg  óN   ø€ ð	Að 	Að 	Að 	Að 	Að Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÜ   •— ‰j         |          }‰j        |          }t          d|z  d|z                       ¦   «         ¦  «         t          d|z  d|z                       ¦   «         ¦  «         d S r•  r—  r4  s      €r3   rñ   z+_TestCommon.test_rmul_scalar.<locals>.checks  sj   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå˜q ™u q¨¡w×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:Ý˜t C™x¨$¨u©*×)=Ò)=Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r5   r˜  rõ   s   `  r3   Útest_rmul_scalarz_TestCommon.test_rmul_scalarr  rš  r5   c                 ó˜   — | j         t          j                 }t          t          ¦  «        5  d |z   d d d ¦  «         d S # 1 swxY w Y   d S r7   )rè   rC   ré   rî   r»  )r—   râ   s     r3   Útest_rmul_scalar_type_errorz'_TestCommon.test_rmul_scalar_type_error~  sŒ   € ØÔ!¥"¤*Ô-ˆÝ�9Ñ%Ô%ð 	ð 	Ø�5‰LˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¬?¿AÁAc                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óò  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d<   |}||z   }t          ||                     ¦   «         |z   ¦  «         ||                     ¦   «         z   }t          |                     ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         ||d         z   }t          ||                     ¦   «         |d         z   ¦  «         d S )NrF  rØ  r   )rç   rè   rþ   r   r�   r`  ©r8   rà   râ   rG   rL   rc  r—   s         €r3   rñ   z#_TestCommon.test_add.<locals>.check„  s×   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEà—’‘
”
ˆAØˆAˆc‰FØˆAØ�A‘ˆAÝ˜q !§)¢)¡+¤+°¡/Ñ2Ô2Ð2à�A—G’G‘I”I‘ˆAÝ˜qŸyšy™{œ{Ø Ÿyšy™{œ{¨Q¯YªY©[¬[Ñ8ñ:ô :ð :ð �A�a”D‘ˆAÝ˜q !§)¢)¡+¤+°°!´Ñ"4Ñ5Ô5Ð5Ð5Ð5r5   r˜  rõ   s   `  r3   Útest_addz_TestCommon.test_addƒ  sI   ø€ ð	6ð 	6ð 	6ð 	6ð 	6ð$ Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÆ   •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d<   |}||z   }t          |||                     ¦   «         z   ¦  «         d S )NrF  rØ  )rç   rè   rþ   r   r�   r¢  s         €r3   rñ   z$_TestCommon.test_radd.<locals>.checkš  sb   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEà—’‘
”
ˆAØˆAˆc‰FØˆAØ�A‘ˆAÝ˜q ! a§i¢i¡k¤k¡/Ñ2Ô2Ð2Ð2Ð2r5   r˜  rõ   s   `  r3   Ú	test_raddz_TestCommon.test_radd™  sI   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ón   ‡ — ˆ fd„}‰ j         D ]&}|t          j        d¦  «        k    rŒ ||¦  «         Œ'd S )Nc                 ó‚  •— ‰j         |          }‰j        |          }t          ||z
                       ¦   «         t	          j        d¦  «        ¦  «         t          |dz
                       ¦   «         |¦  «         ‰                     t	          j        g d¢g d¢g d¢gd¦  «        ¦  «        }t          ||z
                       ¦   «         ||                     ¦   «         z
  ¦  «         t          ||z
                       ¦   «         |                     ¦   «         |z
  ¦  «         t          ||d         z
  ||d         z
  ¦  «         d S )Nr¸  r   ©rÝ   r   r   r|  ©r  r   r   r   ©r   r¥  r   rl  rß   )rç   rè   r   r�   rC   r   rá   r   ©r8   rà   râ   rJ   r—   s       €r3   rñ   z#_TestCommon.test_sub.<locals>.check¨  s  ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå ¨¡×6Ò6Ñ8Ô8½"¼(À6Ñ:JÔ:JÑKÔKÐKÝ ¨¡	×2Ò2Ñ4Ô4°cÑ:Ô:Ð:à—’Ý”˜,˜,˜,¨¨¨°}°}°}ÐEÀsÑKÔKñô ˆAõ  ¨¡	×2Ò2Ñ4Ô4°c¸A¿IºI¹K¼KÑ6GÑHÔHÐHÝ  E¡	×2Ò2Ñ4Ô4°a·i²i±k´kÀCÑ6GÑHÔHÐHõ ˜u s¨1¤v™~¨s°S¸´V©|Ñ<Ô<Ð<Ð<Ð<r5   rð   ©rå   rC   r8   rõ   s   `  r3   Útest_subz_TestCommon.test_sub§  sa   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð  Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ón   ‡ — ˆ fd„}‰ j         D ]&}|t          j        d¦  «        k    rŒ ||¦  «         Œ'd S )Nc                 ó  •— ‰j         |          }‰j        |          }t          ||z
  g d¢g d¢g d¢g¦  «         t          ||z
  g d¢g d¢g d¢g¦  «         t          d|z
                       ¦   «         | ¦  «         ‰                     t          g d¢g d¢g d¢gd¦  «        ¦  «        }t          ||z
  ||                     ¦   «         z
  ¦  «         t          ||z
  |                     ¦   «         |z
  ¦  «         t          |                     ¦   «         |z
  |                     ¦   «         |z
  ¦  «         t          ||                     ¦   «         z
  ||                     ¦   «         z
  ¦  «         t          |d         |z
  |d         |z
  ¦  «         d S )Nr±  r   r©  rª  r«  rß   )rç   rè   r   r�   rá   r(   r¬  s       €r3   rñ   z$_TestCommon.test_rsub.<locals>.checkÀ  sx  ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå  e¡¨i¨i¨i¸	¸	¸	À)À)À)Ð-LÑMÔMÐMÝ ¨¡¨i¨i¨i¸	¸	¸	À)À)À)Ð-LÑMÔMÐMÝ  E¡	×2Ò2Ñ4Ô4°s°dÑ;Ô;Ð;à—’�v y y y°°°¸J¸J¸JÐ&GÈÑLÔLÑMÔMˆAÝ  a¡¨#°·	²	±´Ñ*;Ñ<Ô<Ð<Ý  C¡¨!¯)ª)©+¬+¸Ñ*;Ñ<Ô<Ð<Ý˜qŸyšy™{œ{¨UÑ2°A·I²I±K´KÀ#Ñ4EÑFÔFÐFÝ˜u q§y¢y¡{¤{Ñ2°C¸!¿)º)¹+¼+Ñ4EÑFÔFÐFõ ˜s 1œv¨™~¨s°1¬v¸©|Ñ<Ô<Ð<Ð<Ð<r5   rð   r­  rõ   s   `  r3   Ú	test_rsubz_TestCommon.test_rsub¿  sa   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð" Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 ór  •‡‡— ‰j         |          Š‰j        |          Št          ‰dz                        ¦   «         ‰¦  «         t	          ˆfd„t          dd¦  «        D ¦   «         ¦  «        }t	          ˆfd„t          dd¦  «        D ¦   «         ¦  «        }t          |                     ¦   «         |¦  «         d S )Nr   c                 ó   •— g | ]}|‰z  ‘ŒS rP   rP   )rä  r”  râ   s     €r3   ú
<listcomp>z8_TestCommon.test_add0.<locals>.check.<locals>.<listcomp>à  s   ø€ Ð7Ð7Ð7 a˜˜E™	Ð7Ð7Ð7r5   rÝ   rÞ   c                 ó   •— g | ]}|‰z  ‘ŒS rP   rP   )rä  r”  rà   s     €r3   rµ  z8_TestCommon.test_add0.<locals>.check.<locals>.<listcomp>á  s   ø€ Ð5Ð5Ð5 A˜˜C™Ð5Ð5Ð5r5   )rç   rè   r   r�   r  rø   r   )r8   ÚsumSÚsumDrà   râ   r—   s      @@€r3   rñ   z$_TestCommon.test_add0.<locals>.checkÙ  s²   øøø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEõ  ¨¡	×2Ò2Ñ4Ô4°cÑ:Ô:Ð:åÐ7Ð7Ð7Ð7­5°°A©;¬;Ð7Ñ7Ô7Ñ8Ô8ˆDÝÐ5Ð5Ð5Ð5­¨q°!©¬Ð5Ñ5Ô5Ñ6Ô6ˆDÝ §¢¡¤°Ñ5Ô5Ð5Ð5Ð5r5   r˜  rõ   s   `  r3   Ú	test_add0z_TestCommon.test_add0Ø  sI   ø€ ð		6ð 		6ð 		6ð 		6ð 		6ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 óö  — t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|                      |¦  «        }|                      |¦  «        }t          |                     |¦  «                             ¦   «         ||z  ¦  «         t          |                     |¦  «                             ¦   «         ||z  ¦  «         t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|                      |¦  «        }|                      |¦  «        }t          |                     |¦  «                             ¦   «         ||z  ¦  «         t          |                     |¦  «                             ¦   «         ||z  ¦  «         t          |                     |¦  «                             ¦   «         ||z  ¦  «         t          |                     |¦  «                             ¦   «         ||z  ¦  «         d S )	N)r|  r   r¦  )r_   rz  rZ  )r   r¤  r   )r   rn  r   ©y      ð?       Ày              @y      ð¿        ©y      @      Ày      À      @rZ  ©y      @       @y      @      Ày       À      ð?©y              ð¿y      À       @r¦  )r   rá   r   Úmultiplyr�   )	r—   rJ   rK   rê  ÚBspr«  rˆ  ÚCspÚDsps	            r3   Útest_elementwise_multiplyz%_TestCommon.test_elementwise_multiplyç  sÀ  € å�7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆÝ�7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝ˜CŸLšL¨Ñ-Ô-×5Ò5Ñ7Ô7¸¸1¹Ñ=Ô=Ð=Ý˜CŸLšL¨™OœO×3Ò3Ñ5Ô5°q¸±sÑ;Ô;Ð;õ Ð$Ð$Ð$ ^ ^ ^Ð4Ñ5Ô5ˆÝÐ$Ð$Ð$ ^ ^ ^Ð4Ñ5Ô5ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝ˜CŸLšL¨Ñ-Ô-×5Ò5Ñ7Ô7¸¸1¹Ñ=Ô=Ð=Ý˜CŸLšL¨™OœO×3Ò3Ñ5Ô5°q¸±sÑ;Ô;Ð;õ 	˜CŸLšL¨Ñ-Ô-×5Ò5Ñ7Ô7¸¸1¹Ñ=Ô=Ð=Ý˜CŸLšL¨™OœO×3Ò3Ñ5Ô5°q¸±sÑ;Ô;Ð;Ð;Ð;r5   c                 óÎ  — t          dg¦  «        }t          dgg¦  «        }t          g d¢¦  «        }t          g d¢g¦  «        }t          dgdgdgg¦  «        }t          g d¢g d	¢g d
¢g¦  «        }g d¢}t          j        d¦  «        }|j        }	t          dgg¦  «        }
t          ddgddggg¦  «        }|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }|                      |d         ¦  «        }|                      |	¦  «        }|                      |	d d …dd f         ¦  «        }|                      |
¦  «        }|||||||||	|
|g}|||||||||g	}|D ]”}|D ]�}	 |                     ¦   «         |                     ¦   «         z  }n+# t          $ r t          t          |j        |¦  «         Y ŒTw xY w|                     |¦  «        }t          |                     ¦   «         |¦  «         Œ�Œ•|D ]­}|D ]¨}	 |                     ¦   «         |z  }n6# t          $ r Y Œ't          $ r t          t          |j        |¦  «         Y ŒMw xY w|                     |¦  «        }t          |¦  «        r#t          |                     ¦   «         |¦  «         Œ˜t          ||¦  «         Œ©Œ®d S )Nr|  é÷ÿÿÿ©rÝ   r  r   )r¤  r¦  rÅ  rÞ   r_   rÝ   )r¥  r£  rÞ   )rn  rÞ   r_   )r£  r£  r£  r¡  r¸  r   ©r   N)r   rC   Úonesr8  rá   r�   rï   rî   r¿  r   r»  r    )r—   rJ   rK   r«  rˆ  ÚEr¬  ÚGÚHÚJÚKÚLrÀ  rÂ  ÚEspÚFspÚHspÚHsppÚJspÚJsppÚKspr  Ú
spmatricesrÃ  rÄ  Ú
dense_multÚsp_mults                              r3   Ú#test_elementwise_multiply_broadcastz/_TestCommon.test_elementwise_multiply_broadcastü  s1  € Ý�1�#‰JŒJˆÝ�B�4�&‰MŒMˆÝ�(�(�(‰OŒOˆÝ�8�8�8�*ÑÔˆÝ�A�3˜�s˜A˜3�-Ñ Ô ˆÝ�7�7�7˜8˜8˜8 G G GÐ,Ñ-Ô-ˆØˆIˆIˆÝŒG�F‰OŒOˆØŒCˆÝ�A�3�%‰LŒLˆÝ�Q�q�E˜1˜Q˜%�=�/Ñ"Ô"ˆð �nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�~Š~˜a œiÑ(Ô(ˆØ�nŠn˜QÑÔˆØ�~Š~˜a    ! D œkÑ*Ô*ˆØ�nŠn˜QÑÔˆà�q˜!˜Q  1 a¨¨A¨q°!Ð4ˆØ˜3  S¨#¨t°S¸$ÀÐDˆ
ð ð 	Cð 	CˆAØð Cð C�ðØ!"§¢¡¤¨q¯yªy©{¬{Ñ!:�J�JøÝ!ð ð ð Ý!¥*¨a¬j¸!Ñ<Ô<Ð<Ø�Hðøøøð Ÿ*š* Q™-œ-�Ý# G§O¢OÑ$5Ô$5°zÑBÔBÐBÐBðCð ð 	=ð 	=ˆAØð =ð =�ðØ!"§¢¡¤¨q¡�J�JøÝ ð ð ð Ø�HÝ!ð ð ð Ý!¥*¨a¬j¸!Ñ<Ô<Ð<Ø�Hðøøøð Ÿ*š* Q™-œ-�Ý˜GÑ$Ô$ð =Ý'¨¯ªÑ(9Ô(9¸:ÑFÔFÐFÐFå'¨°Ñ<Ô<Ð<Ð<ð=ð	=ð 	=s*   Æ')GÇ%G9Ç8G9È>IÉ
J	É"$J	ÊJ	c           	      óô  — dt           j        t           j        dgdt           j        dt           j        gt           j        dt           j        t           j        gg}t          t          | j        | j        z  ¦  «        |¦  «         |                      t          g d¢g d¢g d¢gd¦  «        ¦  «        }dt           j        t           j        dgdt           j        t          t           j        gt           j        dt           j        d	gg}t          t          | j        |z  ¦  «        |¦  «         t          g d
¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|                      |¦  «        }|                      |¦  «        }t          t          ||z  ¦  «        ||z  ¦  «         t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|                      |¦  «        }|                      |¦  «        }t          j
        d¬¦  «        5  t          t          ||z  ¦  «        ||z  ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d	dgdd	gg¦  «        }t          dd	gdd	gg¦  «        }|                      |¦  «        }|                      |¦  «        }t          j
        dd¬¦  «        5  t          t          j        t          ||z  ¦  «        ¦  «        ||z  ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÝ   r©  rª  r«  rß   ç      à?rz  g      Ð?r   r»  r¼  r½  r¾  r¡  )rz  r_   rÝ   rú  )r   r  rÞ   r  )Údivide)rÜ  r  )rC   rÿ   r   r�   râ   rá   r(   r   r   r   r  )r—   r9  ÚdenomrJ   rK   rê  rÀ  s          r3   Útest_elementwise_dividez#_TestCommon.test_elementwise_divide3  sO  € Ø•r”v�bœf QÐ'Ø•r”v˜a¥¤Ð'Ý”V˜A�bœf¥R¤VÐ,ð.ˆõ 	�7 4¤:°´
Ñ#:Ñ;Ô;¸XÑFÔFÐFà—’�v y y y°°°¸J¸J¸JÐ&GÈÑLÔLÑMÔMˆØ•r”v�bœf SÐ)Ø�œ�s¥2¤6Ð*Ý”V˜D¥¤¨Ð*ð,ˆõ 	�7 4¤:°Ñ#5Ñ6Ô6¸ÑAÔAÐAõ Ð$Ð$Ð$ ^ ^ ^Ð4Ñ5Ô5ˆÝÐ$Ð$Ð$ ^ ^ ^Ð4Ñ5Ô5ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝ�G C¨#¡IÑ.Ô.°°!±Ñ4Ô4Ð4õ �7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆÝ�7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝŒ[ Ð)Ñ)Ô)ð 	:ð 	:Ý�w s¨S¡yÑ1Ô1°1°q±5Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:õ �A�a�5˜!˜A˜�-Ñ Ô ˆÝ�A�a�5˜!˜A˜�-Ñ Ô ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝŒ[ °(Ð;Ñ;Ô;ð 	Dð 	DÝ�rœx­°°c±	Ñ(:Ô(:Ñ;Ô;¸QÀ¹UÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Ds$   È$H5È5H9È<H9Ê*6K-Ë-K1Ë4K1c                 óê  — t          g d¢g d¢g d¢g d¢g¦  «        }|                      |¦  «        }dD ]c}||z  }t          j                             ||¦  «        }t          |                     ¦   «         |¦  «         t          |j        |j        ¦  «         ŒddD ]}t          t          |j        |¦  «         Œ|                      |d d…d d …f         ¦  «        }t          t          |j        d¦  «         d S )	N©rÝ   r   r_   r   )r   rÞ   r|  r   )r   rZ  r   r   )r   r£  r¤  r¥  ©r   rÝ   r_   rÞ   )r  gš™™™™™@r…  rÞ   rÝ   )r   rá   rC   rK  Úmatrix_powerr   r�   r   r8   rî   rï   Ú__pow__r»  )r—   rJ   rK   ÚexponentÚret_spÚret_nps         r3   Útest_powz_TestCommon.test_powV  sþ   € Ý�<�<�<   ¨|¨|¨|¸\¸\¸\ÐJÑKÔKˆØ�NŠN˜1ÑÔˆà!ð 	5ð 	5ˆHØ˜‘[ˆFÝ”Y×+Ò+¨A¨xÑ8Ô8ˆFÝ˜vŸ~š~Ñ/Ô/°Ñ8Ô8Ð8Ý˜œ v¤|Ñ4Ô4Ð4Ð4ð *ð 	;ð 	;ˆHÝ�* a¤i°Ñ:Ô:Ð:Ð:ð �NŠN˜1˜R˜a˜R   ˜Tœ7Ñ#Ô#ˆÝ•i ¤¨AÑ.Ô.Ð.Ð.Ð.r5   c           	      óD  — |                       t          g d¢g d¢g d¢g d¢g¦  «        ¦  «        }t          g d¢|z  t          g d¢|                     ¦   «         ¦  «        ¦  «         t          g d¢g¦  «        }t          ||z  ||                     ¦   «         z  ¦  «         d S )N©rÞ   r   r   ©r   rÝ   r   ©r_   r   rC  ©r_   rÞ   r   r’  )rá   r(   r   r   r�   r   )r—   rL  r‡  s      r3   Útest_rmatvecz_TestCommon.test_rmatvech  sœ   € Ø�NŠN�6 7 7 7¨7¨7¨7°9°9°9¸W¸W¸WÐ"EÑFÔFÑGÔGˆÝ! ) ) )¨a¡-µ°Y°Y°YÀÇ	Â	ÁÄÑ1LÔ1LÑMÔMÐMÝ�Y�Y�Y�KÑ Ô ˆÝ! #¨¡'¨3°·²±´Ñ+<Ñ=Ô=Ð=Ð=Ð=r5   c                 ó¬  — |                       dgdgdgg¦  «        }t          t          |t          d¦  «        z  ¦  «        ¦  «         t	          |t          d¦  «        z                       ¦   «         dgdgdgg¦  «         t	          |t          dg¦  «        z  t          g d¢¦  «        ¦  «         t	          |t          dgg¦  «        z  t          dgdgdgg¦  «        ¦  «         t	          |t          j        d¦  «        z  t          dgdgdgg¦  «        ¦  «         t	          |t          j        d¦  «        z  t          j        d¦  «        ¦  «         d S )NrÝ   r_   rÞ   r¡  ©rÝ   rÝ   ©rÝ   r   ©rÞ   r   )rá   r   r    r   r   r�   rC   rÈ  rp  s     r3   Útest_small_multiplicationz%_TestCommon.test_small_multiplicationn  s(  € à�NŠN˜Q˜C   Q C˜=Ñ)Ô)ˆå•˜�U 1™XœX™Ñ&Ô&Ñ'Ô'Ð'Ý�a�% ™(œ(‘l×+Ò+Ñ-Ô-°°°a°S¸1¸#¨Ñ?Ô?Ð?å�Q� ˜s™œ‘^¥U¨9¨9¨9Ñ%5Ô%5Ñ6Ô6Ð6Ý�Q�  ˜u™œÑ%¥u¨q¨c°A°3¸¸¨_Ñ'=Ô'=Ñ>Ô>Ð>Ý�Q�œ ™œÑ(­%°!°°q°c¸A¸3°Ñ*@Ô*@ÑAÔAÐAÝ�Q�œ ™œÑ(­"¬'°&©/¬/Ñ:Ô:Ð:Ð:Ð:r5   c                 óz  — |                       dgdgdgg¦  «        }t          |t          ¦  «        rnt          |t	          j        d¦  «        z  |¦  «         t          |t          dgg¦  «        z  |¦  «         t          |t	          j        d¦  «        z  |¦  «         d S t          |t          dg¦  «        z  t          g d¢¦  «        ¦  «         t          |t          dgg¦  «        z  t          dgdgdgg¦  «        ¦  «         t          |t	          j        d¦  «        z  t	          j        d¦  «        ¦  «         d S )NrÝ   r_   rÞ   r'  r¡  rð  rñ  )rá   rB   r"   r   rC   rÈ  r   r   rp  s     r3   Ú.test_start_vs_at_sign_for_sparray_and_spmatrixz:_TestCommon.test_start_vs_at_sign_for_sparray_and_spmatrixz  s  € à�NŠN˜Q˜C   Q C˜=Ñ)Ô)ˆå�a�Ñ!Ô!ð 	?Ý% a­"¬'°%©.¬.Ñ&8¸!Ñ<Ô<Ð<Ý% a­%°!°°©,¬,Ñ&6¸Ñ:Ô:Ð:Ý% a­"¬'°%©.¬.Ñ&8¸!Ñ<Ô<Ð<Ð<Ð<å˜�U A 3™ZœZ™­¨y¨y¨yÑ)9Ô)9Ñ:Ô:Ð:Ý˜�U Q C 5™\œ\Ñ)­5°1°#¸°s¸Q¸C°Ñ+AÔ+AÑBÔBÐBÝ˜�RœW V™_œ_Ñ,­b¬g°f©o¬oÑ>Ô>Ð>Ð>Ð>r5   c                 óˆ  — |                       dgdgdgg¦  «        }t          ¦   «         }t          ||z   d¦  «         t          ||z
  d¦  «         t          ||z  d¦  «         t          ||z   d¦  «         t          ||z
  d¦  «         t          ||z  d¦  «         t          ||z  d¦  «         t          ||z  d¦  «         d S )NrÝ   r_   rÞ   r¡   r•   )rá   r’   r   ©r—   rJ   rK   s      r3   Útest_binop_custom_typez"_TestCommon.test_binop_custom_type‡  sØ   € ð
 �NŠN˜Q˜C !  q c˜?Ñ+Ô+ˆÝ‰MŒMˆÝ�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ý�Q˜‘UÐ1Ñ2Ô2Ð2å�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ð2Ð2r5   c                 óŠ  — |                       dgdgdgg¦  «        }t          d¦  «        }t          ||z   d¦  «         t          ||z
  d¦  «         t          ||z  d¦  «         t          ||z   d¦  «         t          ||z
  d¦  «         t          ||z  d¦  «         t          ||z  d¦  «         t          ||z  d¦  «         d S )NrÝ   r_   rÞ   r'  r¡   r•   )rá   r°   r   rö  s      r3   Ú!test_binop_custom_type_with_shapez-_TestCommon.test_binop_custom_type_with_shape˜  sÚ   € Ø�NŠN˜Q˜C !  q c˜?Ñ+Ô+ˆÝ" 5Ñ)Ô)ˆÝ�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ý�Q˜‘UÐ1Ñ2Ô2Ð2å�Q˜‘UÐ0Ñ1Ô1Ð1Ý�Q˜‘UÐ1Ñ2Ô2Ð2Ð2Ð2r5   c                 ó   —  G d„ d¦  «        }d}|                       dgdgdgg¦  «        } ||¦  «        }||z  }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |j        |j        ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú0_TestCommon.test_mul_custom_type.<locals>.Customc                 ó   — || _         d S r7   ©Úscalar)r—   rÿ  s     r3   rµ   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__init__§  s   € Ø$�”��r5   c                 ó   — || j         z  S r7   rþ  rÇ   s     r3   r¥   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__rmul__ª  s   € Ø˜tœ{Ñ*Ð*r5   N)r¬   r­   r®   rµ   r¥   rP   r5   r3   ÚCustomrü  ¦  s2   € € € € € ð%ð %ð %ð+ð +ð +ð +ð +r5   r  r_   rÝ   rÞ   )rá   r<   r�   r   rO  )r—   r  rÿ  rJ   rc  ÚA_scalarÚA_cs          r3   Útest_mul_custom_typez _TestCommon.test_mul_custom_type¥  s«   € ð	+ð 	+ð 	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð ˆØ�NŠN˜Q˜C   Q C˜=Ñ)Ô)ˆØˆF�6‰NŒNˆØ�v‘:ˆØ�!‰eˆÝ  ×!1Ò!1Ñ!3Ô!3°S·[²[±]´]ÑCÔCÐCÝ�X”_ c¤jÑ1Ô1Ð1Ð1Ð1r5   c                 óH  — |                       dgdgdgg¦  «        }t          ¦   «         }t          ||k    d¦  «         t          ||k    d¦  «         t          ||k    d¦  «         t          ||k    d¦  «         t          ||k     d¦  «         t          ||k    d	¦  «         d S )
NrÝ   r_   rÞ   rÆ   rÌ   rÏ   rÒ   rÕ   rØ   )rá   rÄ   r   rö  s      r3   Útest_comparisons_custom_typez(_TestCommon.test_comparisons_custom_typeµ  s¨   € Ø�NŠN˜Q˜C !  q c˜?Ñ+Ô+ˆÝÑÔˆÝ�Q˜!’V˜TÑ"Ô"Ð"Ý�Q˜!’V˜TÑ"Ô"Ð"Ý�Q˜’U˜DÑ!Ô!Ð!Ý�Q˜!’V˜TÑ"Ô"Ð"Ý�Q˜’U˜DÑ!Ô!Ð!Ý�Q˜!’V˜TÑ"Ô"Ð"Ð"Ð"r5   c           	      ó  — |                       t          g d¢g d¢g d¢g d¢g¦  «        ¦  «        }d}|                     |¦  «        }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nré  rê  rë  rì  rO   )rá   r   r   r   r�   )r—   rL  rÿ  Úactualr9  s        r3   Útest_dot_scalarz_TestCommon.test_dot_scalar¿  s}   € Ø�NŠN�5 ' ' '¨'¨'¨'°)°)°)¸G¸G¸GÐ!DÑEÔEÑFÔFˆØˆØ—’�v‘”ˆØ�v‘:ˆå˜ŸšÑ(Ô(¨(×*:Ò*:Ñ*<Ô*<Ñ=Ô=Ð=Ð=Ð=r5   c           	      óð  — |                       t          g d¢g d¢g d¢g d¢g¦  «        ¦  «        }|                       t          ddgddgddggd¦  «        ¦  «        }t          g d	¢g¦  «        j        }t          j        }t           |||¦  «        |                     ¦   «         |z  ¦  «         t           |||¦  «                             ¦   «         ||z                       ¦   «         ¦  «         t           ||                     ¦   «         |¦  «        ||z                       ¦   «         ¦  «         t           |||                     ¦   «         ¦  «        ||z                       ¦   «         ¦  «         t          |t          ¦  «        sÃt           |||¦  «                             ¦   «         ||z                       ¦   «         ¦  «         t           ||                     ¦   «         |¦  «        ||z                       ¦   «         ¦  «         t           |||                     ¦   «         ¦  «        ||z                       ¦   «         ¦  «         t          t          ||d¦  «         t          t          |d|¦  «         d S )
Nré  rê  rë  rì  r   rÝ   r_   rß   r¡  )rá   r   r8  ÚoperatorÚmatmulr   r�   rB   r"   rî   rï   )r—   rL  rK   rˆ  r  s        r3   Útest_matmulz_TestCommon.test_matmulÇ  s  € Ø�NŠN�5 ' ' '¨'¨'¨'°)°)°)¸G¸G¸GÐ!DÑEÔEÑFÔFˆØ�NŠN�5 1 Q %¨¨1¨¨q°¨eÐ!4°SÑ9Ô9Ñ:Ô:ˆÝ�W�W�W�IÑÔÔ ˆå”ˆå! & &¨¨C¡.¤.°!·)²)±+´+ÀÑ2CÑDÔDÐDõ 	" & &¨¨A¡,¤,×"6Ò"6Ñ"8Ô"8¸1¸q¹5¿/º/Ñ:KÔ:KÑLÔLÐLÝ! & &¨¯ª©¬°aÑ"8Ô"8¸1¸q¹5¿/º/Ñ:KÔ:KÑLÔLÐLÝ! & &¨¨A¯IªI©K¬KÑ"8Ô"8¸1¸q¹5¿/º/Ñ:KÔ:KÑLÔLÐLÝ˜!�WÑ%Ô%ð 	QÝ% f f¨Q°¡l¤l×&:Ò&:Ñ&<Ô&<¸qÀ1¹u¿oºoÑ>OÔ>OÑPÔPÐPÝ% f f¨Q¯YªY©[¬[¸!Ñ&<Ô&<¸qÀ1¹u¿oºoÑ>OÔ>OÑPÔPÐPÝ% f f¨Q°·	²	±´Ñ&<Ô&<¸qÀ1¹u¿oºoÑ>OÔ>OÑPÔPÐPõ 	•j &¨!¨QÑ/Ô/Ð/Ý•j &¨!¨QÑ/Ô/Ð/Ð/Ð/r5   c           
      óÌ  — |                       t          g d¢g d¢g d¢g d¢g¦  «        ¦  «        }t          g d¢g¦  «        j        }t	          ||z  |                     ¦   «         |z  ¦  «         t          |t          g d¢¦  «        z  j        d¦  «         t          |t          dgdgd	gg¦  «        z  j        d
¦  «         t          |t          dgdgd	gg¦  «        z  j        d
¦  «         t          t          |t          g d¢¦  «        z  t          ¦  «        ¦  «         t          t          |t          g d¢¦  «        j        z  t          j        ¦  «        ¦  «         t          ddg¦  «        t          g d¢¦  «        t          dgdgg¦  «        t          g d¢¦  «        t          dgdgg¦  «        g}|D ]}t          t          |j        |¦  «         Œt	          |t          g d¢¦  «        z  t          |                     ¦   «         g d¢¦  «        ¦  «         t	          |dgdgd	ggz  t!          t          |                     ¦   «         g d¢¦  «        ¦  «        j        ¦  «         d S )Nré  rê  rë  rì  r¡  )r|  rÝ   r_   rÞ   )r|  rÝ   r’  )rá   r(   r   r8  r   r�   r   r´   r   rB   r
   rC   rî   rï   rœ   r   r'   )r—   rL  rˆ  Úbad_vecsr9   s        r3   Útest_matvecz_TestCommon.test_matvecÝ  s5  € Ø�NŠN�6 7 7 7¨7¨7¨7°9°9°9¸W¸W¸WÐ"EÑFÔFÑGÔGˆÝ�W�W�W�IÑÔÔ ˆå! ! c¡'¨1¯9ª9©;¬;¸Ñ+<Ñ=Ô=Ð=õ 	�a�%   ™.œ.Ñ(Ô/°Ñ5Ô5Ð5Ý�a�% !  a S¨!¨ Ñ.Ô.Ñ.Ô5°eÑ<Ô<Ð<Ý�a�& 1 # q c¨1¨# Ñ/Ô/Ñ/Ô6°uÑ=Ô=Ð=õ 	•
˜1�u W W W™~œ~Ñ-­wÑ7Ô7Ñ8Ô8Ð8Ý•
˜1�v g g g™œÔ0Ñ0µ"´)Ñ<Ô<Ñ=Ô=Ð=õ ˜1˜Q˜%‘L”L¥%¨	¨	¨	Ñ"2Ô"2µE¸A¸3À¸s¸)Ñ4DÔ4DÝ˜7˜7˜7‘O”O¥V¨a¨S°!°¨IÑ%6Ô%6ð8ˆàð 	4ð 	4ˆAÝ�* a¤i°Ñ3Ô3Ð3Ð3õ 	" !¥E¨'¨'¨'¡N¤NÑ"2µC¸¿	º	¹¼ÀGÀGÀGÑ4LÔ4LÑMÔMÐMÝ! ! a S¨!¨¨a¨S M¡/µ8½CÀÇ	Â	ÁÄÈGÈGÈGÑ<TÔ<TÑ3UÔ3UÔ3WÑXÔXÐXÐXÐXr5   c                 óè  — t          g d¢g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }t          ddgddgddggd¦  «        }|                      |¦  «        }|                      |¦  «        }t          ||z                       ¦   «         ||z  ¦  «         t          ||z  ||z  ¦  «         t          ||z  ||z  ¦  «         t          ||z  ||z  ¦  «         |                     ¦   «         }|}||z  }t          ||z                       ¦   «         |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         |                     ¦   «         }t          ||z                       ¦   «         |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         |                     ¦   «         }t          ||z                       ¦   «         |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         t          ||z  |¦  «         d	}	d
}
t          j	        d¦  «         t          |	df¦  «        }t          |	¦  «        D ]7}t          d¦  «        D ]%}t          j        ¦   «         }||
k     r
||
z  |||f<   Œ&Œ8|                      |¦  «        }||j        z  }t          |                     ¦   «         |                     ¦   «         |j                             ¦   «         z  ¦  «         t          |                     ¦   «         |                     ¦   «         |                     ¦   «         j        z  ¦  «         |                      ddgddgg¦  «        }|                      ddgddgddgg¦  «        }t          t          |j        |¦  «         t!          |t"          ¦  «        rt          t          |j        |¦  «         d S d S )Nré  rê  rë  rì  r   rÝ   r_   rß   r´  g333333Ó?rÞ   r|  rZ  r£  )r(   r   rá   r   r�   r_  r`  ra  rŠ   r]   r   rø   r8  rî   rï   r©   rB   r"   rœ   )r—   rG   Úa2rL   ÚaspÚbspÚcsprc  ÚwantrÎ  ÚfracrJ   rÃ  rÄ  rÌ  rK   s                   r3   Útest_matmat_sparsez_TestCommon.test_matmat_sparseû  sÏ  € Ý�G�G�G˜G˜G˜G I I I¨g¨g¨gÐ6Ñ7Ô7ˆÝ�G�G�G˜G˜G˜G I I I¨g¨g¨gÐ6Ñ7Ô7ˆÝ�Q�q�E˜1˜Q˜%  1 Ð& sÑ+Ô+ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸¸Q¹Ñ?Ô?Ð?Ý! #¨¡'¨1¨q©5Ñ1Ô1Ð1Ý! ! c¡'¨1¨q©5Ñ1Ô1Ð1Ý! " s¡(¨A°©EÑ2Ô2Ð2ð �iŠi‰kŒkˆØˆØ�1‰uˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1Ø�iŠi‰kŒkˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1Ø�iŠi‰kŒkˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1ð ˆØˆÝŒ�A‰ŒˆÝ�1�Q�%‰LŒLˆÝ�q‘”ð 	$ð 	$ˆAÝ˜1‘X”Xð $ð $�Ý”M‘O”O�Ø�t’8�8Ø˜t™V�A�a˜�c‘Føð$ð
 �NŠN˜1ÑÔˆØ�”‰GˆÝ! !§)¢)¡+¤+¨q¯yªy©{¬{¸Q¼S¿[º[¹]¼]Ñ/JÑKÔKÐKÝ! !§)¢)¡+¤+¨q¯yªy©{¬{¸Q¿YºY¹[¼[¼]Ñ/JÑKÔKÐKð �NŠN˜Q˜q˜E 1 Q %˜=Ñ)Ô)ˆØ�NŠN˜Q˜q˜E 1 Q %¨¨1¨Ð.Ñ/Ô/ˆÝ•j !¤,°Ñ2Ô2Ð2Ý�a�Ñ!Ô!ð 	4Ý�* a¤i°Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r5   c           	      ó”  — t          g d¢g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          ddgddgd	d
gg¦  «        t          ddgddgd	d
gg¦  «        g}|D ]d}||z  }t          t	          |t          |¦  «        ¦  «        ¦  «         t          |j        d¦  «         t          |t          ||¦  «        ¦  «         Œed S )Nré  rê  rë  rì  rÝ   r_   rÞ   r|  rZ  r£  ©r|  r_   )	r(   rá   r   r   rB   Útyper   r´   r   )r—   rG   r  ÚbsrL   Úresults         r3   Útest_matmat_densez_TestCommon.test_matmat_dense3  sè   € Ý�G�G�G˜G˜G˜G I I I¨g¨g¨gÐ6Ñ7Ô7ˆØ�nŠn˜QÑÔˆõ �a˜�U˜A˜a˜5 ! A Ð'Ñ(Ô(­&°1°Q°%¸¸1¸¸qÀ¸eÐ1DÑ*EÔ*EÐFˆàð 	+ð 	+ˆAØ˜1‘WˆFÝ•J˜v¥t¨A¡w¤wÑ/Ô/Ñ0Ô0Ð0Ý˜œ uÑ-Ô-Ð-Ý˜¥ Q q¡¤Ñ*Ô*Ð*Ð*ð		+ð 	+r5   c                 ó„  — t          j        g d¢g d¢g d¢gddgddgg¦  «        }|                     ¦   «         }|                      |¦  «        }dD �]}|                     |¦  «        }t          |j        |¦  «         t          |                     ¦   «         |¦  «         |                      |d	z   ¦  «                             |¦  «        }t          |j        |¦  «         t          |                     ¦   «         |d	z   ¦  «          t          |d
z   ¦  «        |¦  «        }t          |j        |¦  «         t          |                     ¦   «         |¦  «         �ŒdD ]e}|                     |¦  «        }t          ||¦  «         |                      |d	z   ¦  «                             |¦  «        }t          ||d	z   ¦  «         Œfd S )Nr�  ©r   rÞ   r|  )rZ  r   r   rÝ   r_   r   rÞ   )rF  r†  r‚  r�  rD  r=   Úlilù              @Ú_matrix)r   Údense)	ru   r   r�   rá   Úasformatr   rO  r   Úeval)r—   rJ   rˆ  rO  rG   rL   rc  s          r3   Útest_sparse_format_conversionsz*_TestCommon.test_sparse_format_conversions@  s¨  € ÝŒK˜˜˜   ¨¨¨Ð1°Q°q°E¸1¸Q¸%°=ÑAÔAˆØ�IŠI‰KŒKˆØ�NŠN˜1ÑÔˆàAð 	/ñ 	/ˆFØ—
’
˜6Ñ"Ô"ˆAÝ˜œ &Ñ)Ô)Ð)Ý˜qŸyšy™{œ{¨AÑ.Ô.Ð.à—’˜q ™tÑ$Ô$×-Ò-¨fÑ5Ô5ˆAÝ˜œ &Ñ)Ô)Ð)Ý˜qŸyšy™{œ{¨A¨b©DÑ1Ô1Ð1à(•�V˜iÑ'Ñ(Ô(¨Ñ+Ô+ˆAÝ˜œ &Ñ)Ô)Ð)Ý˜qŸyšy™{œ{¨AÑ.Ô.Ð.Ñ.à(ð 	(ð 	(ˆFØ—
’
˜6Ñ"Ô"ˆAÝ˜q !Ñ$Ô$Ð$à—’˜q ™tÑ$Ô$×-Ò-¨fÑ5Ô5ˆAÝ˜q ! B¡$Ñ'Ô'Ð'Ð'ð	(ð 	(r5   c           	      óJ  — t          g d¢g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }t          ||¦  «        }|                      |¦  «        }dD ]M}t          |d|z   ¦  «        }dD ]5}d	D ]0}t	           |||f¬
¦  «                             ¦   «         |¦  «         Œ1Œ6ŒNd S )Nrà  r±  ©r   r   r|  rZ  rú  ©rÞ   r   rZ  )rF  Úto)rÝ   r_   rÞ   r£  )rÝ   r_   rÞ   r|  r£  r­  ©Ú	blocksize)r   r   rá   r€   r   r�   )	r—   r9   r:   rJ   rê  rO  ÚfnÚXÚYs	            r3   Ú
test_tobsrz_TestCommon.test_tobsrY  sè   € Ý�9�9�9˜Y˜Y˜Y y y yÐ1Ñ2Ô2ˆÝ�7�7�7˜7˜7˜7Ð#Ñ$Ô$ˆÝ��1‰IŒIˆØ�nŠn˜QÑÔˆØð 	Dð 	DˆFÝ˜˜d V™mÑ,Ô,ˆBà!ð Dð D�Ø,ð Dð D�AÝ   ¨q°!¨fÐ!5Ñ!5Ô!5×!=Ò!=Ñ!?Ô!?ÀÑCÔCÐCÐCðDðDð	Dð 	Dr5   c                 ó0  ‡ ‡— ‰ j         }t          j        g g¦  «        }||gŠˆˆ fd„}‰                      d¦  «        }t	          t          j        |¦  «                             ¦   «         t          j        t          d¦  «        ¦  «        ¦  «         t	          |j                             ¦   «         t          d¦  «        ¦  «         t          t          |j        d¬¦  «         ‰ j        D ]-}t          t          ‰¦  «        ¦  «        D ]} |||¦  «         ŒŒ.d S )Nc                 óü  •— t          ‰|         | ¬¦  «        }‰                     |¦  «        }|                     ¦   «         }|                     ¦   «         }t          |                     ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         t          |                     d¬¦  «                             ¦   «         |¦  «         t          |j        |j        ¦  «         d S )Nr^  rð  ©Úaxes)r   rá   r   r   r�   r   r8   )r8   rÄ  rà   râ   rG   rL   r  r—   s         €€r3   rñ   z)_TestCommon.test_transpose.<locals>.checkj  sÆ   ø€ Ý˜ œ¨5Ð1Ñ1Ô1ˆCØ—N’N 3Ñ'Ô'ˆEà—’Ñ!Ô!ˆAØ—’‘”ˆAå˜qŸyšy™{œ{¨AÑ.Ô.Ð.Ý˜qŸ{š{™}œ}×4Ò4Ñ6Ô6¸Ñ<Ô<Ð<Ý˜uŸš°F˜Ñ;Ô;×CÒCÑEÔEÀqÑIÔIÐIÝ˜œ !¤'Ñ*Ô*Ð*Ð*Ð*r5   r¸  ©r|  rÞ   r   r4  )rà   rC   r   rá   r   r   r�   r   r8  rî   rï   ræ   rø   r¹   )r—   r  r  rñ   rš  r8   rÄ  r  s   `      @r3   Útest_transposez_TestCommon.test_transposee  s  øø€ Ø”ˆÝ”˜"˜‘”ˆØ˜5�>ˆð
	+ð 
	+ð 
	+ð 
	+ð 
	+ð 
	+ð —’˜vÑ&Ô&ˆÝ�2œ<¨Ñ.Ô.×6Ò6Ñ8Ô8Ýœ<­¨f©¬Ñ6Ô6ñ	8ô 	8ð 	8å˜5œ7Ÿ?š?Ñ,Ô,­e°F©m¬mÑ<Ô<Ð<Ý•j %¤/¸Ð:Ñ:Ô:Ð:àÔ(ð 	 ð 	 ˆEÝ�3˜x™=œ=Ñ)Ô)ð  ð  �Ø��e˜Q‘”��ð ð	 ð 	 r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óœ   •— ‰j         |          }‰j        |          }||z   }t          |||z   ¦  «         ||z   }t          |||z   ¦  «         d S r7   )rç   rè   r   ©r8   rà   râ   Úsum1Úsum2r—   s        €r3   rñ   z)_TestCommon.test_add_dense.<locals>.check‚  s^   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEð ˜‘;ˆDÝ˜t S¨3¡YÑ/Ô/Ð/Ø˜3‘;ˆDÝ˜t S¨3¡YÑ/Ô/Ð/Ð/Ð/r5   r˜  rõ   s   `  r3   Útest_add_densez_TestCommon.test_add_dense�  sI   ø€ ð	0ð 	0ð 	0ð 	0ð 	0ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ón   ‡ — ˆ fd„}‰ j         D ]&}|t          j        d¦  «        k    rŒ ||¦  «         Œ'd S )Nc                 ó8  •— ‰j         |          }‰j        |          }|j        t          k    r2||z
  }t	          |||z
  ¦  «         ||z
  }t	          |||z
  ¦  «         d S ||z   |z   |z
  }t	          |||z   ¦  «         ||z   |z   |z
  }t	          |||z   ¦  «         d S r7   )rç   rè   r8   rð   r   r:  s        €r3   rñ   z)_TestCommon.test_sub_dense.<locals>.check‘  sÀ   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEð Œy�DÒ Ð Ø˜U‘{�Ý" 4¨¨s©Ñ3Ô3Ð3Ø˜s‘{�Ý" 4¨¨s©Ñ3Ô3Ð3Ð3Ð3ð ˜c™	 C™¨5Ñ0�Ý" 4¨¨s©Ñ3Ô3Ð3Ø ™¨Ñ-°Ñ4�Ý" 4¨¨s©Ñ3Ô3Ð3Ð3Ð3r5   rð   r­  rõ   s   `  r3   Útest_sub_densez_TestCommon.test_sub_dense�  sa   ø€ ð	4ð 	4ð 	4ð 	4ð 	4ð$ Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r5   c           	      ó˜  ‡ ‡‡‡— t          j        g d¢g d¢g d¢g¦  «        Št          j        g d¢g d¢g d¢g¦  «        Št          j        g d¢g d¢g d¢g¦  «        Šˆˆˆˆ fd	„}‰ j        D ]^}t           j        t           j        t           j        fD ]8}d
D ]3} |t          j        |¦  «        t          j        |¦  «        |¦  «         Œ4Œ9Œ_d S )N)rÝ   r   rÞ   )r   r|  rZ  rB  )rÝ   rÝ   r_   )r   rÞ   r£  rÆ  )r   y      @       @rZ  )r   ù              ð?y       €      ð¿c                 óx  •— t          j        | t           j        ¦  «        r)‰                     ‰                     | ¦  «        ¦  «        }n(‰                     ‰
                     | ¦  «        ¦  «        }|dk    r|                     d¦  «        }nu|dk    r|                     d¦  «        }nY|dk    r‰                     |¦  «        }n=|dk    r)‰                     ‰                     |¦  «        ¦  «        }nt          ¦   «         ‚t          ¦   «         5 }|                     t          d¦  «         | 
                    |¦  «        }|                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j
        t          |¦  «        t          |¦  «        ¦  «        }t          t          |¦  «        |¦  «         t          |j        |j        ¦  «         t          j        t          |¦  «        t          |¦  «        ¦  «        }	t          t          |¦  «        |	¦  «         t          |j        |	j        ¦  «         d S )Nrÿ  rÝ   Úscalar2r  r$  ru   zHTaking maximum .minimum. with > 0 .< 0. number results to a dense matrix)rC   rf   Úcomplexfloatingrá   rn   r  rï   r   r  r!   ÚmaximumÚminimumr�   r   r   r8   )r8   Údtype2ÚbtyperJ   rK   r  Úmax_sÚmin_sÚmax_dÚmin_dÚA_denseÚA_dense_cpxÚB_denser—   s             €€€€r3   rñ   z/_TestCommon.test_maximum_minimum.<locals>.check°  s  ø€ ÝŒ}˜U¥BÔ$6Ñ7Ô7ð :Ø—N’N ;×#5Ò#5°eÑ#<Ô#<Ñ=Ô=��à—N’N 7§>¢>°%Ñ#8Ô#8Ñ9Ô9�Ø˜Ò Ð Ø—K’K ‘N”N��Ø˜)Ò#Ð#Ø—K’K ‘O”O��Ø˜'Ò!Ð!Ø—N’N 6Ñ*Ô*��Ø˜(Ò"Ð"Ø—N’N 7§>¢>°&Ñ#9Ô#9Ñ:Ô:��å ‘l”lÐ"å"Ñ$Ô$ð %¨Ø—
’
Õ2ð7ñ8ô 8ð 8ð Ÿ	š	 !™œ�ØŸ	š	 !™œ�ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ ”J�w q™zœz­7°1©:¬:Ñ6Ô6ˆEÝ�w u™~œ~¨uÑ5Ô5Ð5Ý˜œ e¤kÑ2Ô2Ð2å”J�w q™zœz­7°1©:¬:Ñ6Ô6ˆEÝ�w u™~œ~¨uÑ5Ô5Ð5Ý˜œ e¤kÑ2Ô2Ð2Ð2Ð2s   ÄAE#Å#E'Å*E')rÿ  rD  r$  ru   )rC   r   rå   r   ré   r]  r8   )r—   rñ   r8   rH  rI  rN  rO  rP  s   `    @@@r3   Útest_maximum_minimumz _TestCommon.test_maximum_minimumª  s  øøøø€ Ý”(˜I˜I˜I y y y°)°)°)Ð<Ñ=Ô=ˆÝ”(˜I˜I˜I y y y°*°*°*Ð=Ñ>Ô>ˆå”h 	 	 	¨<¨<¨<¸¸¸ÐFÑGÔGˆð	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð@ Ô%ð 	Dð 	DˆEÝœ7¥B¤Jµ´Ð>ð Dð D�ØEð Dð D�EØ�E�"œ( 5™/œ/­2¬8°FÑ+;Ô+;¸UÑCÔCÐCÐCðDðDð	Dð 	Dr5   c                 ó”  — | j         }t          |                     ¦   «         j        |j        ¦  «         t          |                     |d¬¦  «        j        |j        ¦  «         t          |                     |d¬¦  «        j        |j        ¦  «         t          |                     ¦   «                              ¦   «         |                     ¦   «         ¦  «         t          |                     |d¬¦  «                             ¦   «         |                     ¦   «         ¦  «         t          |                     |d¬¦  «                             ¦   «         |                     ¦   «         ¦  «         t          |d|j        z   ¦  «        }t           |¦   «         |u ¦  «         t           |d¬¦  «        |u ¦  «         t           |d¬¦  «        j        |j        ¦  «         t           |d¬¦  «                             ¦   «         |                     ¦   «         ¦  «         t          t          |                     ¦   «         |¦  «         ¦  «         d S )NTr¹  Fr+  )	râ   r   rþ   rO  Ú	__class__r�   r€   r   rM   )r—   rJ   Útoselfs      r3   Ú	test_copyz_TestCommon.test_copyÕ  sÓ  € àŒJˆõ 	�Q—V’V‘X”X”_ a¤hÑ/Ô/Ð/Ý�Q—[’[ ¨�[Ñ-Ô-Ô4°a´hÑ?Ô?Ð?Ý�Q—[’[ ¨�[Ñ.Ô.Ô5°q´xÑ@Ô@Ð@å�Q—V’V‘X”X×%Ò%Ñ'Ô'¨¯ª©¬Ñ5Ô5Ð5Ý�Q—[’[ ¨�[Ñ.Ô.×6Ò6Ñ8Ô8¸!¿)º)¹+¼+ÑFÔFÐFÝ�Q—[’[ ¨�[Ñ/Ô/×7Ò7Ñ9Ô9¸1¿9º9¹;¼;ÑGÔGÐGõ ˜˜4 !¤(™?Ñ+Ô+ˆÝ��‘”˜A�ÑÔÐÝ��˜EÐ"Ñ"Ô" aÐ'Ñ(Ô(Ð(Ý�V�V Ð&Ñ&Ô&Ô-¨q¬xÑ8Ô8Ð8Ý�V�V Ð&Ñ&Ô&×.Ò.Ñ0Ô0°!·)²)±+´+Ñ>Ô>Ð>õ 	Õ+¨A¯FªF©H¬H°aÑ8Ô8Ð8Ñ9Ô9Ð9Ð9Ð9r5   c                 ó
  — t          t          j        d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t          ||¦  «        D ]'\  }}t          |                     ¦   «         |¦  «         Œ(d S )Né2   rZ  rO   )r(   rC   r   rº  rá   Úzipr   r�   )r—   rK   rJ   r9   r:   s        r3   Útest_iteratorz_TestCommon.test_iteratorí  sx   € Ý•2”9˜R‘=”=×(Ò(¨¨BÑ/Ô/Ñ0Ô0ˆØ�NŠN˜1ÑÔˆå˜˜1‘I”Ið 	)ð 	)‰DˆAˆqÝ˜Ÿš™œ aÑ(Ô(Ð(Ð(ð	)ð 	)r5   c                 ó¢  — t          g ¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }t          j        ddg¦  «        }|                      |¦  «        }|                      |¦  «        }	|                      |¦  «        }
|                      |¦  «        }|                      |¦  «        }|                      |¦  «        }t          |                     |¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |	                     |¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |                     |	¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |
                     |¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |
                     |¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |                     |
¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |                     |
¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          |                     |¦  «                             ¦   «         t          j        ||¦  «        ¦  «         t          t          |j        |¦  «         t          t          |j        |¦  «         t          | 
                    |¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          |	 
                    |	¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          | 
                    |¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          | 
                    |¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          |	 
                    |¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          | 
                    |¦  «                             ¦   «         t          j
        ||¦  «        ¦  «         t          | 
                    d¦  «                             ¦   «         t          j
        |d¦  «        ¦  «         t          |	 
                    d¦  «                             ¦   «         t          j
        |d¦  «        ¦  «         t          | 
                    d¦  «                             ¦   «         t          j
        |d¦  «        ¦  «         t          t          |j
        |¦  «         t          t          |j
        |¦  «         t          |                     |¦  «                             ¦   «         |                     |¦  «        ¦  «         t          |	                     |	¦  «                             ¦   «         |                     |¦  «        ¦  «         t          |                     |¦  «                             ¦   «         |                     |¦  «        ¦  «         t          t          |j        |¦  «         t          t          |	j        |¦  «         d S )Nr–  r  r˜  rð  rÎ  rZ  r£  )r   rº  rC   rÈ  rá   r   r   r�   rî   rï   r¿  r™   )r—   r˜   rG   rL   rc  rß   rd  re  r  r  r  ÚdspÚespÚfsps                 r3   Ú test_size_zero_matrix_arithmeticz,_TestCommon.test_size_zero_matrix_arithmeticô  sC  € õ �B‰iŒiˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆÝŒG�Q˜�F‰OŒOˆà�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆõ 	˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@õ 	•j #¤'¨1Ñ-Ô-Ð-Ý•j #¤'¨1Ñ-Ô-Ð-õ 	˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJÝ˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJÝ˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJå˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHå˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHõ 	•j #¤,°Ñ2Ô2Ð2Ý•j #¤,°Ñ2Ô2Ð2õ 	˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDÝ˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDÝ˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDõ 	•j #¤+¨sÑ3Ô3Ð3Ý•j #¤+¨sÑ3Ô3Ð3Ð3Ð3r5   c                 óP  — t          g ¦  «        }|                     d¦  «        }|                     d¦  «        }|                     d¦  «        }|||fD �]P}|                      |¦  «        }t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         t          | 	                    ¦   «                              ¦   «         |¦  «         t          | 
                    ¦   «                              ¦   «         |¦  «         �ŒRd S )Nr–  r˜  rÎ  )r   rº  rá   r   ra  r�   r`  r_  ÚtolilÚtodokÚtobsr)r—   r˜   rG   rL   rc  rf  Úspms          r3   Útest_size_zero_conversionsz&_TestCommon.test_size_zero_conversions.  sK  € Ý�B‰iŒiˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆà�Q˜�ð 	9ñ 	9ˆAØ—.’. Ñ#Ô#ˆCÝ˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý˜sŸyšy™{œ{×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ñ8ð	9ð 	9r5   c                 ó’   ‡ ‡— dd l Št          ¦   «         }|                     t          ¦  «         |ˆˆ fd„¦   «         } |¦   «          d S )Nr   c                  ó  •— ‰j                              ¦   «         } t          ‰j        ¦  «        D �][}‰                     ‰                     | |¬¦  «        ¦  «        }t          | j        |j        ¦  «         t          |  	                    ¦   «         | 	                    ¦   «         ¦  «         t          | j
        |j
        ¦  «         | j                             ¦   «         D ]¬\  }}t          |t          j        ¦  «        rt          ||j        |         ¦  «         Œ;t          |t           ¦  «        r>|r<t          |d         t          j        ¦  «        rt          ||j        |         ¦  «         ŒŽt#          ||j        |         k    ¦  «         Œ­�Œ]d S )N)Úprotocolr   )râ   rþ   rø   ÚHIGHEST_PROTOCOLÚloadsÚdumpsr   r´   r   r�   rO  r@   ÚitemsrB   rC   r
   râ  r   )râ   rg  ÚsploadedÚkeyr"  Úpickler—   s        €€r3   rñ   z&_TestCommon.test_pickle.<locals>.checkB  sf  ø€ à”J—O’OÑ%Ô%ˆEÝ! &Ô"9Ñ:Ô:ð ?ñ ?�Ø!Ÿ<š<¨¯ª°UÀX¨Ñ(NÔ(NÑOÔO�Ý˜Uœ[¨(¬.Ñ9Ô9Ð9Ý" 5§=¢=¡?¤?°H×4DÒ4DÑ4FÔ4FÑGÔGÐGÝ˜Uœ\¨8¬?Ñ;Ô;Ð;ð !&¤× 4Ò 4Ñ 6Ô 6ð ?ð ?‘H�C˜Ý! #¥r¤zÑ2Ô2ð ?Ý*¨3°Ô0AÀ#Ô0FÑGÔGÐGÐGÝ$ S­%Ñ0Ô0ð ?°Sð ?Ý(¨¨Q¬µ´Ñ<Ô<ð?å*¨3°Ô0AÀ#Ô0FÑGÔGÐGÐGå  xÔ'8¸Ô'=Ò =Ñ>Ô>Ð>Ð>ñ?ð?ð ?r5   )rn  r   r  r!   )r—   r  rñ   rn  s   `  @r3   Útest_picklez_TestCommon.test_pickle=  sd   øø€ ØˆˆˆÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	ð	?ð 	?ð 	?ð 	?ð 	?ñ 
Œð	?ð( 	ˆ‰Œˆˆˆr5   c                 ó2   ‡ — ˆ fd„}dD ]} ||¦  «         Œd S )Nc                 óÈ  •— | dk    rt          j        d¦  «         ‰j        t          t          fv rt          j        d¦  «         t          t          | ¦  «        }‰                     t          j        d¦  «                             dd¦  «        dz  ¦  «        } || 	                    ¦   «         ¦  «        } ||¦  «        }t          | 	                    ¦   «         |¦  «         d S )NÚsignz2sign conflicts with comparison op support on Numpyz%Unary ops not implemented for dok/lilr³  r|  rZ  ç      4@)ró   rô   rá   r   r   r€   rC   r   rº  r�   r   )r‡   Úufuncr/  ÚX0ÚX2r—   s        €r3   rñ   z5_TestCommon.test_unary_ufunc_overrides.<locals>.checkZ  sÇ   ø€ Ø�vŠ~ˆ~Ý”ð /ñ 0ô 0ð 0àŒ~¥*­jÐ!9Ð9Ð9Ý”ÐCÑDÔDÐDÝ�B Ñ%Ô%ˆEà—’�rœy¨™}œ}×4Ò4°Q¸Ñ:Ô:¸SÑ@ÑAÔAˆAØ��q—y’y‘{”{Ñ#Ô#ˆBà��q‘”ˆBÝ˜rŸzšz™|œ|¨RÑ0Ô0Ð0Ð0Ð0r5   )ÚsinÚtanÚarcsinÚarctanÚsinhÚtanhÚarcsinhÚarctanhÚrintrr  Úexpm1Úlog1pÚdeg2radÚrad2degÚfloorÚceilÚtruncÚsqrtro  rP   )r—   rñ   r‡   s   `  r3   Útest_unary_ufunc_overridesz&_TestCommon.test_unary_ufunc_overridesY  sH   ø€ ð	1ð 	1ð 	1ð 	1ð 	1ðð 	ð 	ˆDð ˆE�$‰KŒKˆKˆKð		ð 	r5   c                 óÄ  — t          j        g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |                     d¦  «        d u ¦  «         t          |                     ¦   «         ddgddgddgg¦  «         |                     d	¦  «         t          |                     ¦   «         ddgddgg¦  «         |                     d¦  «         t          |                     ¦   «         ddgddgddgg¦  «         |                     d
¦  «         t          |                     ¦   «         g d¢g d¢g d¢g¦  «         |                     d
¦  «         t          |                     ¦   «         g d¢g d¢g d¢g¦  «         |                     dd¦  «         t          |                     ¦   «         ddgddgddgg¦  «         dD ]}t          t          |j        |¦  «         Œd S )N©rÝ   r   rÞ   r|  ©r_   r   r   r   ©rÞ   r   r   r   ©rÞ   r_   rÝ   r   r_   rÞ   ©r_   r_   r3  rA  )r_   r   r   rB  )rÝ   )r  r_   r¶  r¡  ©	rC   r   rá   r   Úresizer   r�   rî   rï   )r—   rˆ  re  Ú	bad_shapes       r3   Útest_resizez_TestCommon.test_resizen  s(  € åŒH�l�l�lØ"�l�lØ"�l�lð$ñ %ô %ˆð �NŠN˜1ÑÔˆÝ�—’˜Ñ Ô  DÐ(Ñ)Ô)Ð)Ý˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2ð 	
�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2à	�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2ð 	
�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨¨¨Ø)2¨¨Ø)2¨¨ð)4ñ 	5ô 	5ð 	5ð 	
�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨¨¨Ø)2¨¨Ø)2¨¨ð)4ñ 	5ô 	5ð 	5ð
 	
�Š��A‰ŒˆÝ˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2ð :ð 	;ð 	;ˆIÝ�* a¤h°	Ñ:Ô:Ð:Ð:ð	;ð 	;r5   c                 ó  — | j         }|j        }|                     |d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         |t
          vrt          t          ||¦  «        ¦  «         |                     ||j        d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         |t
          vrt          t          ||¦  «        ¦  «         |                     |t          j
        d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         |                     |d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          t          ||¦  «         ¦  «         dD ]Ò}||k    rŒ	|                     |¦  «        }|                     |d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         |                     |d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          t          ||¦  «         ¦  «         ŒÓd S )NFr¹  )r8   rþ   T)r�  r‚  r†  rD  r=   r!  )râ   rO  rS  r<   r�   ÚNON_ARRAY_BACKED_FORMATSr   rM   r8   rC   r[  r   r%  )r—   rJ   Úself_formatr«  Úother_formatrK   s         r3   Útest_constructor1_basez"_TestCommon.test_constructor1_base’  s  € ØŒJˆà”hˆà�KŠK˜ ˆKÑ&Ô&ˆÝ  §¢¡¤¨a¯iªi©k¬kÑ:Ô:Ð:ØÕ6Ð6Ð6ÝÕ+¨A¨qÑ1Ô1Ñ2Ô2Ð2à�KŠK˜ ¤¨uˆKÑ5Ô5ˆÝ  §¢¡¤¨a¯iªi©k¬kÑ:Ô:Ð:ØÕ6Ð6Ð6ÝÕ+¨A¨qÑ1Ô1Ñ2Ô2Ð2à�KŠK˜¥¤°%ˆKÑ8Ô8ˆÝ˜1Ÿ9š9™;œ;¨¯	ª	©¬Ñ4Ô4Ð4à�KŠK˜ ˆKÑ%Ô%ˆÝ  §¢¡¤¨a¯iªi©k¬kÑ:Ô:Ð:ÝÕ+¨A¨qÑ1Ô1Ð1Ñ2Ô2Ð2àFð 		7ð 		7ˆLØ˜{Ò*Ð*ØØ—
’
˜<Ñ(Ô(ˆAØ—’˜A E�Ñ*Ô*ˆAÝ$ Q§Y¢Y¡[¤[°!·)²)±+´+Ñ>Ô>Ð>à—’˜A D�Ñ)Ô)ˆAÝ$ Q§Y¢Y¡[¤[°!·)²)±+´+Ñ>Ô>Ð>ÝÕ/°°1Ñ5Ô5Ð5Ñ6Ô6Ð6Ð6ð		7ð 		7r5   N)dr¬   r­   r®   Ú__doc__r$   rå   Úclassmethodrë   rö   rú   r  r  r$  r'  r-  r1  r6  r:  r?  rT  rW  rg  rq  rx  r  r‚  r‰  r�  rŸ  r©  r¾  ró   ÚmarkÚslowrÔ  rÜ  rí  rñ  rõ  rø  r  r  r!  r+  r/  r5  r7  r:  r<  r>  rT  rX  r	  r]  r`  rb  rf  rs  rv  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'  r1  r7  r=  r@  rQ  rU  rY  r^  rd  ro  rˆ  r’  r—  rP   r5   r3   rÛ   rÛ     sû  € € € € € Ø@Ð@Ø"€Kàð=ð =ñ „[ð=ð*ð ð ð	1ð 	1ð 	1ð#ð #ð #ðJ%ð %ð %ðN=ð =ð =ð~<ð <ð <ð|8ð 8ð 8ðt8ð 8ð 8ðt@ð @ð @ð=ð =ð =ð
;ð ;ð ;ð
'ð 'ð 'ð&ð &ð &ð&7ð 7ð 7ð$?ð ?ð ?ðJð Jð JðGð Gð GðFð Fð Fð/ð /ð /ð
/ð /ð /ð
Gð Gð GðB?ð ?ð ?ð*=ð *=ð *=ðX „[Ôð50ð 50ñ Ôð50ðnAð Að Að<#ð #ð #ð#ð #ð #ðOð Oð OðOð Oð Oð! ð ! ð ! ðF
>ð 
>ð 
>ðð ð ð 6ð 6ð 6ð(7ð 7ð 7ð ð  ð  ðD
?ð 
?ð 
?ðð ð ð 6ð 6ð 6ð(7ð 7ð 7ðAð Að Að8ð ð ð$ ðYð Yñ „[ðYð ð

ð 

ñ „[ð

ð ð

ð 

ñ „[ð

ð ð.ð .ñ „[ð.ð.'6ð '6ð '6ðR#6ð #6ð #6ðJ ð&Hð &Hñ „[ð&HðP ð9ð 9ñ „[ð9ð ð ð ð	ð 	ð 	ð	ð 	ð 	ðð ð ð
ð ð ð,ð ð ðð ð ð0ð ð ð2ð ð ð<ð <ð <ð*5=ð 5=ð 5=ðn!Dð !Dð !DðF/ð /ð /ð$>ð >ð >ð
;ð 
;ð 
;ð?ð ?ð ?ð3ð 3ð 3ð"3ð 3ð 3ð2ð 2ð 2ð #ð #ð #ð>ð >ð >ð0ð 0ð 0ð,Yð Yð Yð<64ð 64ð 64ðp+ð +ð +ð(ð (ð (ð2
Dð 
Dð 
Dð ð  ð  ð8ð ð ðð ð ð6)Dð )Dð )DðV:ð :ð :ð0)ð )ð )ð84ð 84ð 84ðt9ð 9ð 9ðð ð ð8ð ð ð*";ð ";ð ";ðH7ð 7ð 7ð 7ð 7r5   rÛ   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestInplaceArithmeticc                 ó(  — t          j        d¦  «        }|                      |¦  «        }|                     ¦   «         }|                     ¦   «         }||z  }||z  }t	          ||¦  «         |                     ¦   «         }|                     ¦   «         }||z  }||z  }t	          ||¦  «         |                     ¦   «         }|                     ¦   «         }t          |t          ¦  «        r1t          t          t          j
        ||j        ¦  «         ||z  }||z  }nEt          t          t          j
        ||¦  «         |                     |j        ¦  «        }||j        z  }t	          ||¦  «         t          t          t          j        ||¦  «         d S )Nr¸  )rC   rÈ  rá   rþ   r   rB   r"   rî   rï   r  Úimulr8  r   r»  Ú	ifloordiv)r—   rG   rL   r9   r:   s        r3   Útest_inplace_densez)_TestInplaceArithmetic.test_inplace_denseµ  sS  € ÝŒG�F‰OŒOˆØ�NŠN˜1ÑÔˆà�FŠF‰HŒHˆØ�FŠF‰HŒHˆØ	ˆQ‰ˆØ	ˆQ‰ˆÝ˜1˜aÑ Ô Ð à�FŠF‰HŒHˆØ�FŠF‰HŒHˆØ	ˆQ‰ˆØ	ˆQ‰ˆÝ˜1˜aÑ Ô Ð à�FŠF‰HŒHˆØ�FŠF‰HŒHˆÝ�a�Ñ!Ô!ð 	Ý�*¥h¤m°Q¸¼Ñ<Ô<Ð<Ø�A‘ˆAØ�‰FˆAˆAõ �*¥h¤m°Q¸Ñ:Ô:Ð:Ø—’�a”c‘
”
ˆAØ�”‰HˆAÝ˜1˜aÑ Ô Ð õ 	•i¥Ô!3°Q¸Ñ:Ô:Ð:Ð:Ð:r5   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 ó   •— ‰j         |          }‰j        |          }t          j        t          | d¬¦  «        rT|                     ¦   «         }|dz  }|                     ¦   «         }|dz  }t          ||                     ¦   «         ¦  «         t          j        t          | d¬¦  «        rV|                     ¦   «         }|dz  }|                     ¦   «         }|dz  }t          ||                     ¦   «         ¦  «         d S d S ©NÚ	same_kind)Úcastingr_   r–  ©	rç   rè   rC   Úcan_castÚintrþ   r   r�   rJ  ©r8   rà   râ   rG   rL   r—   s        €r3   rñ   z6_TestInplaceArithmetic.test_imul_scalar.<locals>.checkÖ  sè   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEõ Œ{�3 ¨{Ð;Ñ;Ô;ð 3Ø—J’J‘L”L�Ø�Q‘�Ø—H’H‘J”J�Ø�Q‘�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2åŒ{�5 %°Ð=Ñ=Ô=ð 3Ø—J’J‘L”L�Ø�T‘	�Ø—H’H‘J”J�Ø�T‘	�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2Ð2Ð2ð3ð 3r5   r˜  rõ   s   `  r3   Útest_imul_scalarz'_TestInplaceArithmetic.test_imul_scalarÕ  sI   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð& Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r5   c                 ó”   ‡ — ˆ fd„}‰ j         D ]9}t          j        |t          j        t          ¦  «        ¦  «        s ||¦  «         Œ:d S )Nc                 ó   •— ‰j         |          }‰j        |          }t          j        t          | d¬¦  «        rT|                     ¦   «         }|dz  }|                     ¦   «         }|dz  }t          ||                     ¦   «         ¦  «         t          j        t          | d¬¦  «        rV|                     ¦   «         }|dz  }|                     ¦   «         }|dz  }t          ||                     ¦   «         ¦  «         d S d S r¤  r§  rª  s        €r3   rñ   z6_TestInplaceArithmetic.test_idiv_scalar.<locals>.checkí  sæ   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEåŒ{�3 ¨{Ð;Ñ;Ô;ð 3Ø—J’J‘L”L�Ø�Q‘�Ø—H’H‘J”J�Ø�Q‘�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2åŒ{�5 %°Ð=Ñ=Ô=ð 3Ø—J’J‘L”L�Ø�T‘	�Ø—H’H‘J”J�Ø�T‘	�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2Ð2Ð2ð3ð 3r5   )rå   rC   r¨  r8   r©  rõ   s   `  r3   Útest_idiv_scalarz'_TestInplaceArithmetic.test_idiv_scalarì  sf   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð$ Ô%ð 	ð 	ˆEõ ”;˜u¥b¤h­s¡m¤mÑ4Ô4ð Ø��e‘”�øð		ð 	r5   c                 ó¦  — |                       t          j        d¦  «        ¦  «        }|                       t          j        d¦  «        ¦  «        }|                       t          j        d¦  «        ¦  «        }||z  }||z   }t          |                     ¦   «         |                     ¦   «         ¦  «         ||z  }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         ||z  }||z
  }t          |                     ¦   «         |                     ¦   «         ¦  «         t          t          t          j        ||¦  «         d S )NrZ  )	rá   rC   r   r   r�   rî   r»  r  r   )r—   rG   rL   Úbps       r3   Útest_inplace_successz+_TestInplaceArithmetic.test_inplace_success	  s  € ð �NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�^Š^�BœF 1™IœIÑ&Ô&ˆà	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2à	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2à	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2å•i¥Ô!3°Q¸Ñ:Ô:Ð:Ð:Ð:r5   N)r¬   r­   r®   r¡  r«  r®  r±  rP   r5   r3   r�  r�  ´  sQ   € € € € € ð;ð ;ð ;ð@ð ð ð.ð ð ð2;ð ;ð ;ð ;ð ;r5   r�  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestGetSetc                 ó`   ‡ — ˆ fd„}t           D ]} |t          j        |¦  «        ¦  «         Œ d S )Nc                 ó¤  •— t          g d¢g d¢g d¢g d¢g| ¬¦  «        }‰                     |¦  «        }|j        \  }}t          | |¦  «        D ]6}t          | |¦  «        D ]"}t	          |||f         |||f         ¦  «         Œ#Œ7t	          t          |d         ¦  «        | ¦  «         dD ]$}t          t          t          f|j	        |¦  «         Œ%d S )NrA  ©r|  rÞ   r   ©r   r_   r   rB  r^  rï  ©©r   rÞ   r<  )r|  r   r6  )r|  r  r¡  )
r   rá   r´   rø   r   r  rî   Ú
IndexErrorr»  Ú__getitem__)	r8   rˆ  rJ   rL  rO  rÃ  rÄ  rå  r—   s	           €r3   rñ   z*_TestGetSet.test_getelement.<locals>.check	  s	  ø€ Ý�w�w�wØ�w�wØ�w�wØ�w�wð ð (-ð.ñ .ô .ˆAð —’˜qÑ!Ô!ˆAà”'‰CˆAˆaå˜A˜2˜q‘\”\ð 1ð 1�Ý ˜r 1™œð 1ð 1�AÝ   1 Q 3¤¨¨1¨Q¨3¬Ñ0Ô0Ð0Ð0ð1õ �˜a œf™œ uÑ-Ô-Ð-àBð Jð J�Ý�z­9Ð5°q´}ÀbÑIÔIÐIÐIðJð Jr5   ©r$   rC   r8   rõ   s   `  r3   Útest_getelementz_TestGetSet.test_getelement	  sW   ø€ ð	Jð 	Jð 	Jð 	Jð 	Jõ$ &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r5   c                 ó`   ‡ — ˆ fd„}t           D ]} |t          j        |¦  «        ¦  «         Œ d S )Nc                 óÐ  •— ‰                      d| ¬¦  «        }t          ¦   «         5 }|                     t          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
          j        k    r+t          |                     ¦   «         g d¢g d¢g d¢g¦  «         dD ]}t          t          |j        |d¦  «         Œg d¢t          g d¢¦  «        fD ]}t          t          |j        d|¦  «         Œt          j        | t
          j        ¦  «        s1| t
          j        k    r#dD ]"}t          t           |j        d|¦  «         Œd S d S d S )Nr¸  r^  r×  r   r–  rj  ©rÝ   r_   rÞ   r  rF  rÙ  r¥  ©r   r  r¤  ©r  r  rZ  )r   rZ  r   r¥  )r   r   r|  r   )r_   r   r¤  r   ))r   r|  )r  r|  rñ  r¸  r=  g     À^@r¡  )r"  )rá   r   r  r!   r  rC   Úbool_r   r�   rî   rº  Ú__setitem__r   rï   rf   rE  r»  )r8   rJ   r  rå  rÁ  r—   s        €r3   rñ   z*_TestGetSet.test_setelement.<locals>.check3	  s-  ø€ Ø—’˜u¨E�Ñ2Ô2ˆAÝ"Ñ$Ô$ð (¨Ø—
’
Õ2Ð4UÑVÔVÐVØŸ*š* Q™-œ-��$‘ØŸ*š* S™/œ/��$‘ØŸ*š* Q™-œ-��$‘ØŸ*š* S™/œ/��$‘ØŸ*š* Q™-œ-��$‘Ø Ÿ:š: a™=œ=��%‘ØŸ*š* Q™-œ-��$‘ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð �œÒ Ð Ý"Ø—I’I‘K”Kà$˜˜Ø$˜˜Ø$˜˜ðñô ð ð 8ð Dð D�Ý�j¨!¬-¸¸UÑCÔCÐCÐCà�g�g�u W W W™~œ~Ð.ð Cð C�Ý�j¨!¬-¸ÀÑBÔBÐBÐBå”M %­Ô);Ñ<Ô<ð FØ�RœXÒ%Ð%Øð Fð F�AÝ!¥)¨Q¬]¸EÀ1ÑEÔEÐEÐEðFð FØ%Ð%ðFð Fs   §CC7Ã7C;Ã>C;r¼  rõ   s   `  r3   Útest_setelementz_TestGetSet.test_setelement2	  sX   ø€ ð	Fð 	Fð 	Fð 	Fð 	FõB &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r5   c                 ó`   ‡ — ˆ fd„}‰ j         D ]} |t          j        |¦  «        ¦  «         Œ d S )Nc                 óî   •— ‰                      d| ¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|d<   d d d ¦  «         n# 1 swxY w Y   t	          |d         d¦  «         d S )N)rÞ   rO   r^  r×  rÝ   )r   rn  )rá   r   r  r!   r   ©r8   rJ   r  r—   s      €r3   rñ   z9_TestGetSet.test_negative_index_assignment.<locals>.checkZ	  s±   ø€ Ø—’˜w¨e�Ñ4Ô4ˆAÝ"Ñ$Ô$ð ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��%‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜˜5œ 1Ñ%Ô%Ð%Ð%Ð%s   §!AÁAÁAr­  rõ   s   `  r3   Útest_negative_index_assignmentz*_TestGetSet.test_negative_index_assignmentW	  sU   ø€ ð	&ð 	&ð 	&ð 	&ð 	&ð Ô%ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r5   c           	      óÎ   ‡ ‡‡— d\  ŠŠˆˆˆ fd„}dddt          d¦  «        dfdt          d¦  «        ft          d¦  «        t          d¦  «        ffD ]\  }} |||d¦  «         Œd S )	N©rZ  rO   c                 óV  •— | ›d|›d|›�}‰                      ‰‰f¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|| |f<   d d d ¦  «         n# 1 swxY w Y   t	          |                     ¦   «         ||¬¦  «         t	          || |f         d|¬¦  «         d S )Nz ; r×  rÝ   rÈ  )rá   r   r  r!   r   r  )	rÃ  rÄ  Únitemsr/   rJ   r  rf  rÂ  r—   s	         €€€r3   Ú	_test_setz3_TestGetSet.test_scalar_assign_2.<locals>._test_setg	  sö   ø€ ØÐ/Ð/˜QÐ/Ð/ VÐ/Ð/ˆCØ—’  1˜vÑ&Ô&ˆAÝ"Ñ$Ô$ð ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ   §¢¡¤¨¸Ð=Ñ=Ô=Ð=Ý  ! Q $¤¨°CÐ8Ñ8Ô8Ð8Ð8Ð8s   ±#A Á A$Á'A$©r_   rÞ   ©r  r¥  rÂ  r  r  rÝ   )r   ©r—   rÎ  rÃ  rÄ  rf  rÂ  s   `   @@r3   Útest_scalar_assign_2z _TestGetSet.test_scalar_assign_2d	  sœ   øøø€ Ø‰ˆˆ1ð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð ˜W hµ°r±´¸B°À"ÅeÈBÁiÄiÀÝ˜B‘i”i¥ r¡¤Ð+ð-ð 	ð 	‰DˆAˆqàˆI�a˜˜AÑÔÐÐð	ð 	r5   c                 óL  — |                       d¦  «        }t          j        d¦  «        }t          ¦   «         5 }|                     t
          d¦  «         ||fD ]}d|d<   d|d<   d|d<   Œ	 d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d S )NrY  r×  rÝ   r  r|  rñ  r¦  ©rá   rC   r   r   r  r!   r   r�   ©r—   rJ   rK   r  r«  s        r3   Útest_index_scalar_assignz$_TestGetSet.test_index_scalar_assignu	  së   € Ø�NŠN˜6Ñ"Ô"ˆÝŒH�VÑÔˆÝÑ Ô ð 	 CØ�JŠJÕ.Ð0QÑRÔRÐRØ˜�Vð ð �Ø��#‘Ø��#‘Ø��#‘�ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*s   ¸2A7Á7A;Á>A;N)r¬   r­   r®   r½  rÅ  rÉ  rÒ  rÖ  rP   r5   r3   r³  r³  	  s`   € € € € € ð#ð #ð #ð,##ð ##ð ##ðJ#ð #ð #ðð ð ð"	+ð 	+ð 	+ð 	+ð 	+r5   r³  c                   ó   — e Zd Zd„ ZdS )Ú
_TestSolvec                 óŠ  — d}t           j                             d¦  «         t          ||ft          ¬¦  «        }t           j                             |¦  «        }t           j                             |dz
  ¦  «        dt           j                             |dz
  ¦  «        z  z   }t           j                             |¦  «        }t          t          |¦  «        ¦  «        D ]}||         |||f<   Œt          t          |¦  «        ¦  «        D ]/}||         |||dz   f<   t          ||         ¦  «        ||dz   |f<   Œ0|  	                    |¦  «        }t          ¦   «         5 }|                     t          d¦  «         t          |¦  «                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||z  |¦  «         d S )Nr³  r   r^  rÝ   rB  rG  )rC   rŠ   r]   r   r  r  rø   r¹   r   rá   r   r  r!   r)   Úsolver   )r—   rÂ  rJ   r9   r:   rÌ  rÃ  r  s           r3   Ú
test_solvez_TestSolve.test_solve‚	  sÈ  € ð ˆÝ
Œ	�Š�qÑÔÐÝ�1�Q�%�wÐ'Ñ'Ô'ˆÝŒI�NŠN˜1ÑÔˆÝŒI�NŠN˜1˜Q™3ÑÔ ¥2¤9§>¢>°!°A±#Ñ#6Ô#6Ñ 6Ñ6ˆÝŒI�NŠN˜1ÑÔˆÝ•s˜1‘v”v‘”ð 	ð 	ˆAØ�q”TˆAˆa�ˆc‰FˆFÝ•s˜1‘v”v‘”ð 	'ð 	'ˆAØ˜”tˆAˆa��!‘ˆe‰HÝ   1¤‘”ˆAˆa�‰c�!ˆe‰HˆHØ�NŠN˜1ÑÔˆÝÑ Ô ð 	! CØ�JŠJÕ.Ø?ñAô Að Aå�Q‘”—’˜aÑ Ô ˆAð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ 	˜A ™E !Ñ$Ô$Ð$Ð$Ð$s   Å>F%Æ%F)Æ,F)N)r¬   r­   r®   rÛ  rP   r5   r3   rØ  rØ  �	  s#   € € € € € ð%ð %ð %ð %ð %r5   rØ  c                   óJ   — 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S )Ú_TestSlicingc                 óF  — t          |                      dt          j        ¬¦  «        ddd…f         j        t          j        ¦  «         t          |                      dt          j        ¬¦  «        ddd…f         j        t          j        ¦  «         t          |                      dt          j        ¬¦  «        ddd…f         j        t          j        ¦  «         t          |                      dt          j        ¬¦  «        ddd…f         j        t          j        ¦  «         d S )N©rÝ   rO   r^  r   rÝ   rZ  )r   rá   rC   r\  r8   rT   r[  ré   r·   s    r3   Útest_dtype_preservationz$_TestSlicing.test_dtype_preservation™	  sØ   € Ý�T—^’^ Fµ"´(�^Ñ;Ô;¸A¸aÀ¸c¸EÔBÔHÍ"Ì(ÑSÔSÐSÝ�T—^’^ Fµ"´(�^Ñ;Ô;¸A¸aÀ¸c¸EÔBÔHÍ"Ì(ÑSÔSÐSÝ�T—^’^ Fµ"´*�^Ñ=Ô=¸aÀÀ!À¸eÔDÔJÍBÌJÑWÔWÐWÝ�T—^’^ Fµ"´*�^Ñ=Ô=¸aÀÀ!À¸eÔDÔJÍBÌJÑWÔWÐWÐWÐWr5   c                 óž  — t           j        t           j        t           j        t           j        fD ]�}|                      d|¬¦  «        }t          |d d …ddd…f         j        |¦  «         t          |ddd…d d …f         j        |¦  «         t          |dddd…f         j        |¦  «         t          |ddd…df         j        |¦  «         Œžd S )Nr�  r^  r   r_   ©rC   r\  rT   r[  ré   rá   r   r8   ©r—   ÚdtrJ   s      r3   Ú#test_dtype_preservation_empty_slicez0_TestSlicing.test_dtype_preservation_empty_sliceŸ	  sÒ   € õ ”8�RœX¥r¤zµ2´:Ð>ð 	0ð 	0ˆBØ—’˜v¨R�Ñ0Ô0ˆAÝ˜˜1˜1˜1˜a  !˜e˜8œÔ*¨BÑ/Ô/Ð/Ý˜˜1˜Q˜q˜5 ! ! !˜8œÔ*¨BÑ/Ô/Ð/Ý˜˜1˜a  !˜e˜8œÔ*¨BÑ/Ô/Ð/Ý˜˜1˜Q˜q˜5 !˜8œÔ*¨BÑ/Ô/Ð/Ð/ð	0ð 	0r5   c           	      ó  — t          t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |dd d …f         |dd d …f                              ¦   «         ¦  «         t	          |ddd…f         |ddd…f                              ¦   «         ¦  «         t          g d¢g d¢g d¢g d	¢g¦  «        }|                      |¦  «        }t	          |ddd
…f         |ddd
…f                              ¦   «         ¦  «         t          g d¢g d¢g d¢g d	¢g¦  «        }|                      |¦  «        }t	          |ddd
…f         |ddd
…f                              ¦   «         ¦  «         t	          |ddd …f         |ddd …f                              ¦   «         ¦  «         t          t          |j	        t          d ¦  «        df¦  «         t          t          |j	        dt          d
d¦  «        f¦  «         d S )Nç      I@rZ  rO   rÝ   r_   ©rÝ   r_   rÝ   ©r|  r   r£  rB  r�  rÞ   ©r|  r   r   r  é   r£  r¤  )r'   r   rº  rá   r   r�   r(   rî   rº  r»  Úslice©r—   rK   rJ   r«  rˆ  rÉ  r¬  s          r3   Útest_get_horiz_slicez!_TestSlicing.test_get_horiz_slice©	  sð  € Ý•V˜C‘[”[×(Ò(¨¨2Ñ.Ô.Ñ/Ô/ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q   ˜Tœ7 A a¨¨¨ d¤G§O¢OÑ$5Ô$5Ñ6Ô6Ð6Ý˜1˜Q  ! ˜Vœ9 a¨¨1¨Q¨3¨¤i×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:å�I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?Ñ@Ô@ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q  ! ˜Vœ9 a¨¨1¨Q¨3¨¤i×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:õ �I�I�I˜y˜y˜y¨)¨)¨)°Y°Y°YÐ?Ñ@Ô@ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q  ! ˜Vœ9 a¨¨1¨Q¨3¨¤i×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:Ý˜1˜Q   ˜Vœ9 a¨¨2¨3¨3¨¤i×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:õ 	•j !¤-µ%¸±+´+¸rÐ1BÑCÔCÐCÝ•j !¤-°!µU¸1¸a±[´[Ð1AÑBÔBÐBÐBÐBr5   c           	      ót  — t          d¦  «                             dd¦  «        }|                      |¦  «        }t          |dd…dgf         |dd…df                              ¦   «         ¦  «         t          |d d …dgf         |d d …df                              ¦   «         ¦  «         t          g d¢g d¢g d	¢g d
¢g¦  «        }|                      |¦  «        }t          |dd…dgf         |dd…df                              ¦   «         ¦  «         t          |d d …dgf         |d d …df                              ¦   «         ¦  «         t          g d¢g d¢g d	¢g d
¢g¦  «        }|                      |¦  «        }t          |d d …dgf         |d d …df                              ¦   «         ¦  «         t          |dd …dgf         |dd …df                              ¦   «         ¦  «         t          t          |j        t          d ¦  «        df¦  «         t          t          |j        dt          dd¦  «        f¦  «         d S )Nrç  rZ  rO   r_   r   rÝ   rè  ré  rB  r�  rÞ   rÞ  rê  r  rë  r£  r¤  )
r   rº  rá   r   r�   r   rî   rº  r»  rì  rí  s          r3   Útest_get_vert_slicez _TestSlicing.test_get_vert_slice½	  s$  € Ý�3‰KŒK×Ò  2Ñ&Ô&ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S 1 #˜Xœ;¨¨!¨A¨#¨q¨&¬	×(9Ò(9Ñ(;Ô(;Ñ<Ô<Ð<Ý˜1˜Q˜Q˜Q  ˜Vœ9 a¨¨¨¨1¨¤g§o¢oÑ&7Ô&7Ñ8Ô8Ð8å�9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S 1 #˜Xœ;¨¨!¨A¨#¨q¨&¬	×(9Ò(9Ñ(;Ô(;Ñ<Ô<Ð<Ý˜1˜Q˜Q˜Q  ˜Vœ9 a¨¨¨¨1¨¤g§o¢oÑ&7Ô&7Ñ8Ô8Ð8õ �9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜Q˜Q  ˜Vœ9 a¨¨¨¨1¨¤g§o¢oÑ&7Ô&7Ñ8Ô8Ð8Ý˜1˜R˜S˜S 1 #˜Xœ;¨¨"¨#¨#¨q¨&¬	×(9Ò(9Ñ(;Ô(;Ñ<Ô<Ð<õ 	•j !¤-µ%¸±+´+¸rÐ1BÑCÔCÐCÝ•j !¤-°!µU¸1¸a±[´[Ð1AÑBÔBÐBÐBÐBr5   c                 ó  — t          d¦  «                             dd¦  «        }|                      |¦  «        }t          |dd…dd…f                              ¦   «         |dd…dd…f         ¦  «         t          |dd …d d…f                              ¦   «         |dd …d d…f         ¦  «         t          |d d…dd …f                              ¦   «         |d d…dd …f         ¦  «         t          g d	¢g d
¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |dd…dd…f         |dd…dd…f                              ¦   «         ¦  «         t          |d d …dd …f         |d d …dd …f                              ¦   «         ¦  «         d S )Nrç  rZ  rO   r_   r   rÞ   rÝ   r  rÞ  rê  rB  r�  )r   rº  rá   r   r�   r   )r—   rK   rJ   rÉ  r¬  s        r3   Útest_get_slicesz_TestSlicing.test_get_slicesÒ	  s™  € Ý�3‰KŒK×Ò  2Ñ&Ô&ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S ! A #˜Xœ;×.Ò.Ñ0Ô0°!°A°a°C¸¸1¸°H´+Ñ>Ô>Ð>Ý˜1˜Q˜R˜R  " ˜Wœ:×-Ò-Ñ/Ô/°°1°2°2°s¸°s°7´Ñ<Ô<Ð<Ý˜1˜S˜b˜S ! " "˜Wœ:×-Ò-Ñ/Ô/°°3°B°3¸¸¸°7´Ñ<Ô<Ð<õ �9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S ! A #˜Xœ;¨¨!¨A¨#¨q°¨s¨(¬×(;Ò(;Ñ(=Ô(=Ñ>Ô>Ð>Ý˜1˜Q˜Q˜Q   ˜Uœ8 Q q q q¨!¨"¨" u¤X×%5Ò%5Ñ%7Ô%7Ñ8Ô8Ð8Ð8Ð8r5   c                 ó4  — t           j                             dd¦  «        }	 |                      |¦  «        ddd…ddd…f         }n"# t          $ r t          j        d¦  «        ‚w xY wt          |                     ¦   «         |ddd…ddd…f         ¦  «         d S )NrW  r   é   r_   r´  rÞ   úfeature not implemented)	rC   rŠ   r  rá   rï   ró   rô   r   r�   )r—   Úv0rÁ  s      r3   Ú test_non_unit_stride_2d_indexingz-_TestSlicing.test_non_unit_stride_2d_indexingß	  s¥   € åŒY�^Š^˜B Ñ#Ô#ˆð	9Ø—’˜rÑ"Ô" 1 R¨ 6¨1¨R°¨6 >Ô2ˆAˆAøÝð 	9ð 	9ð 	9å”+Ð7Ñ8Ô8Ð8ð	9øøøõ 	˜1Ÿ9š9™;œ;¨¨1¨R°¨6°1°R¸°6¨>Ô(:Ñ;Ô;Ð;Ð;Ð;s   ¢#A ÁA%c                 ó  — t          t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |d         |d         ¦  «         t	          |d         |d         ¦  «         t	          |d         |d         ¦  «         t	          |t          d¦  «        df         |d         ¦  «         t	          |dt          d¦  «        f         |d         ¦  «         t	          |t          d¦  «        t          d¦  «        f         |d         ¦  «         t	          |d	d d …f                              ¦   «         |d	d d …f         ¦  «         t	          |d	dd…f                              ¦   «         |d	dd…f         ¦  «         t	          |t          d	¦  «        dd…f                              ¦   «         |d	dd…f         ¦  «         t	          |d d …d	f                              ¦   «         |d d …d	f         ¦  «         t	          |d
d…df                              ¦   «         |d
d…df         ¦  «         t	          |dd…df                              ¦   «         |dd…df         ¦  «         t	          |d	d…d
f                              ¦   «         |d	d…d
f         ¦  «         t	          |d	d…t          d
¦  «        f                              ¦   «         |d	d…d
f         ¦  «         t	          |dd	…dd	…f                              ¦   «         |dd	…dd	…f         ¦  «         t	          |dd …d
d …f                              ¦   «         |dd …d
d …f         ¦  «         t	          |d d…d d…f                              ¦   «         |d d…d d…f         ¦  «         t	          |d	d…d d…f                              ¦   «         |d	d…d d…f         ¦  «         t	          |dd d …f                              ¦   «         |dd d …f         ¦  «         t	          |dd d …f                              ¦   «         |dd d …f         ¦  «         t	          |t          d¦  «        d d …f                              ¦   «         |dd d …f         ¦  «         t	          |dd…                              ¦   «         |dd…         ¦  «         t	          |dd…                              ¦   «         |dd…         ¦  «         t          t          d	¦  «        t          d¦  «        d ¦  «        }t	          ||d d …f                              ¦   «         |d	d…d d …f         ¦  «         t	          |d d …|f                              ¦   «         |d d …d	d…f         ¦  «         d S )NrW  rZ  rO   rÏ  rÐ  rÂ  r  r  r_   rÞ   r|  r¦  rÝ   rl  )	r'   r   rº  rá   r   r   r�   rì  r   )r—   rK   rJ   r¼  s       r3   Útest_slicing_2z_TestSlicing.test_slicing_2ê	  s  € Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆõ 	�Q�s”V˜Q˜sœVÑ$Ô$Ð$Ý�Q�t”W˜a œgÑ&Ô&Ð&Ý�Q�u”X˜a œhÑ'Ô'Ð'Ý�Q•u˜R‘y”y �|”_ Q u¤XÑ.Ô.Ð.Ý�Q�r�% ™)œ)�|”_ Q u¤XÑ.Ô.Ð.Ý�Q•u˜R‘y”y¥ r¡¤Ð*Ô+¨A¨e¬HÑ5Ô5Ð5õ 	�Q�q˜!˜!˜!�t”W—_’_Ñ&Ô&¨¨!¨Q¨Q¨Q¨$¬Ñ0Ô0Ð0Ý�Q�q˜!˜B˜$�w”Z×'Ò'Ñ)Ô)¨1¨Q°°"°¨W¬:Ñ6Ô6Ð6Ý�Q•u˜Q‘x”x  2 �~Ô&×.Ò.Ñ0Ô0°!°A°q¸°t°G´*Ñ=Ô=Ð=õ 	�Q�q�q�q˜!�t”W—_’_Ñ&Ô&¨¨!¨!¨!¨Q¨$¬Ñ0Ô0Ð0Ý�Q�q˜�s˜A�v”Y×&Ò&Ñ(Ô(¨!¨A¨a¨C°¨F¬)Ñ4Ô4Ð4Ý�Q�q˜�s˜B�w”Z×'Ò'Ñ)Ô)¨1¨Q¨q¨S°"¨W¬:Ñ6Ô6Ð6Ý�Q�q˜�t˜Q�w”Z×'Ò'Ñ)Ô)¨1¨Q¨r¨T°1¨W¬:Ñ6Ô6Ð6Ý�Q�q˜�t�U 1™XœX�~Ô&×.Ò.Ñ0Ô0°!°A°b°D¸!°G´*Ñ=Ô=Ð=õ 	�Q�q˜�s˜A˜a˜C�x”[×(Ò(Ñ*Ô*¨A¨a°¨c°1°Q°3¨h¬KÑ8Ô8Ð8Ý�Q�q�r�r˜1˜2˜2�v”Y×&Ò&Ñ(Ô(¨!¨A¨B¨B°°°¨F¬)Ñ4Ô4Ð4Ý�Q�r˜�r˜2˜A˜2�v”Y×&Ò&Ñ(Ô(¨!¨B¨Q¨B°°°¨F¬)Ñ4Ô4Ð4Ý�Q�q˜�t˜R˜a˜R�x”[×(Ò(Ñ*Ô*¨A¨a°¨d°B°Q°B¨h¬KÑ8Ô8Ð8õ 	�Q�q˜!˜!˜!�t”W—_’_Ñ&Ô&¨¨!¨Q¨Q¨Q¨$¬Ñ0Ô0Ð0Ý�Q�r˜1˜1˜1�u”X×%Ò%Ñ'Ô'¨¨2¨q¨q¨q¨5¬Ñ2Ô2Ð2Ý�Q•u˜R‘y”y ! ! !�|”_×,Ò,Ñ.Ô.°°"°a°a°a°%´Ñ9Ô9Ð9õ 	�Q�q˜�s”V—^’^Ñ%Ô% q¨¨1¨¤vÑ.Ô.Ð.Ý�Q�q˜�t”W—_’_Ñ&Ô&¨¨!¨B¨$¬Ñ0Ô0Ð0õ •$�q‘'”'�$˜q™'œ' $Ñ'Ô'ˆÝ�Q�q˜!˜!˜!�t”W—_’_Ñ&Ô&¨¨!¨A¨#¨q¨q¨q¨&¬	Ñ2Ô2Ð2Ý�Q�q�q�q˜!�t”W—_’_Ñ&Ô&¨¨!¨!¨!¨Q¨q¨S¨&¬	Ñ2Ô2Ð2Ð2Ð2r5   c                 ól  ‡‡— t          t          d¦  «                             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          d
¦  «        t	          j        d¦  «        g}ˆˆfd„}t          |¦  «        D ]\  }} ||¦  «         Œˆˆfd„}t          |¦  «        D ]&\  }}t          |¦  «        D ]\  }} |||¦  «         ŒŒ'g }	t          j
        dgdz  Ž D ]1\  }}}
|
dk    rŒ|	                     t          |||
¦  «        ¦  «         Œ2|	D ]&} |||¦  «          ||d¦  «          |d|¦  «         Œ'd S )NrW  rZ  rO   r_   rÝ   rÞ   r—  r³  r¥  r  r|  r  r   rl  rz  c                 ó  •— ‰|          }‰|          }|j         dk    r t          ||t          | ¦  «        ¦  «         d S |j        dk    r|j        dk    rd S t	          |                     ¦   «         |t          | ¦  «        ¦  «         d S ©NrP   r   )r´   r   rP  re   r   r�   )rG   r9   r:   rJ   rK   s      €€r3   Úcheck_1z,_TestSlicing.test_slicing_3.<locals>.check_1"
  s~   ø€ Ø�!”ˆAØ�!”ˆAØŒw˜"Š}ˆ}Ý˜Q ¥4¨¡7¤7Ñ+Ô+Ð+Ð+Ð+à”6˜Q’;�; 1¤6¨Q¢; ;Ø�Då& q§y¢y¡{¤{°Aµt¸A±w´wÑ?Ô?Ð?Ð?Ð?r5   c                 óÎ  •— t          | t          j        ¦  «        rt          | ¦  «        }n| }t          |t          j        ¦  «        rt          |¦  «        }n|}‰| |f         }‰||f         }|j        dk    r"t          ||t          | |f¦  «        ¦  «         d S |j        dk    r|j        dk    rd S t          | 	                    ¦   «         |t          | |f¦  «        ¦  «         d S rü  )
rB   rC   r
   r©  r´   r   rP  re   r   r�   )rG   rL   ÚaiÚbir9   r:   rJ   rK   s         €€r3   Úcheck_2z,_TestSlicing.test_slicing_3.<locals>.check_20
  sÜ   ø€ õ ˜!�RœZÑ(Ô(ð Ý˜‘V”V��à�Ý˜!�RœZÑ(Ô(ð Ý˜‘V”V��à�à�!�Q�$”ˆAØ�"�b�&”	ˆAàŒw˜"Š}ˆ}Ý˜Q ¥4¨¨A¨¡<¤<Ñ0Ô0Ð0Ð0Ð0à”6˜Q’;�; 1¤6¨Q¢; ;Ø�Då& q§y¢y¡{¤{°Aµt¸QÀ¸F±|´|ÑDÔDÐDÐDÐDr5   )
Nr   rÝ   r_   rZ  r—  r  r  rZ  iñÿÿÿ)r'   r   rº  rá   rC   Ús_r   r   Ú	enumerateÚ	itertoolsÚproductrE   rì  )r—   r  Úslicesrý  rÄ  rG   r  rÃ  rL   Úextra_slicesrc  rJ   rK   s              @@r3   Útest_slicing_3z_TestSlicing.test_slicing_3
  sL  øø€ Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆåŒ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°Ý˜‘)”)�RœW R™[œ[ð	*ˆð		@ð 		@ð 		@ð 		@ð 		@ð 		@õ ˜fÑ%Ô%ð 	ð 	‰DˆAˆqØˆG�A‰JŒJˆJˆJð	Eð 	Eð 	Eð 	Eð 	Eð 	Eõ0 ˜fÑ%Ô%ð 	ð 	‰DˆAˆqÝ! &Ñ)Ô)ð ð ‘��1Ø�˜˜1‘”��ðð ˆÝ Ô(ð -=ð ,>Ø>?ñ,@ð Bð 	0ð 	0‰GˆAˆq�!à�AŠvˆvØØ×Ò¥ a¨¨A¡¤Ñ/Ô/Ð/Ð/àð 	ð 	ˆAØˆG�A�q‰MŒMˆMØˆG�A�r‰NŒNˆNØˆG�B˜‰NŒNˆNˆNð	ð 	r5   c                 óx  — t          t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |d                              ¦   «         |d         j        ¦  «         t	          |d                              ¦   «         |d         j        ¦  «         t	          |d                              ¦   «         |d         j        ¦  «         t	          |d                              ¦   «         |d         j        ¦  «         t	          |dd …df                              ¦   «         |dd …df         j        ¦  «         t	          |ddd …f                              ¦   «         |ddd …f         j        ¦  «         t	          |dd …ddf                              ¦   «         |dd …ddf         j        ¦  «         t	          |dddd …f                              ¦   «         |dddd …f         j        ¦  «         t          |d	         |d	         ¦  «         t          |d
         |d
         ¦  «         d S )NrW  rZ  rO   .).)rÝ   .).rÝ   rÝ   )rÝ   rÝ   .)rÝ   .rÝ   )r'   r   rº  rá   r   r�   rJ   r   )r—   rL   rG   s      r3   Útest_ellipsis_slicingz"_TestSlicing.test_ellipsis_slicingY
  sà  € Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆå˜1˜Sœ6Ÿ>š>Ñ+Ô+¨Q¨s¬V¬XÑ6Ô6Ð6Ý˜1˜Tœ7Ÿ?š?Ñ,Ô,¨a°¬g¬iÑ8Ô8Ð8å˜1˜Vœ9×,Ò,Ñ.Ô.°°&´	´Ñ<Ô<Ð<Ý˜1˜Vœ9×,Ò,Ñ.Ô.°°&´	´Ñ<Ô<Ð<Ý˜1˜Q˜R˜R ˜Wœ:×-Ò-Ñ/Ô/°°1°2°2°s°7´´Ñ>Ô>Ð>Ý˜1˜S ! " "˜Wœ:×-Ò-Ñ/Ô/°°3¸¸¸°7´´Ñ>Ô>Ð>å˜1˜Q˜R˜R  C˜Zœ=×0Ò0Ñ2Ô2°A°a°b°b¸!¸S°j´M´OÑDÔDÐDÝ˜1˜Q  Q R R˜Zœ=×0Ò0Ñ2Ô2°A°a¸¸a¸b¸b°j´M´OÑDÔDÐDå�Q�y”\ 1 Y¤<Ñ0Ô0Ð0Ý�Q�y”\ 1 Y¤<Ñ0Ô0Ð0Ð0Ð0r5   c                 ó`  — |                       t          d¦  «                             d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 )Nr£  rÞ   r_   z(an index can only have a single ellipsis©Úmatch)..).rÝ   .)rá   r   rº  ró   r   rº  ©r—   rG   s     r3   Útest_multiple_ellipsis_slicingz+_TestSlicing.test_multiple_ellipsis_slicingk
  s4  € Ø�NŠN�6 !™9œ9×,Ò,¨Q°Ñ2Ô2Ñ3Ô3ˆåŒ]�:Ø!KðMñ Mô Mð 	ð 	àˆhŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:Ø!KðMñ Mô Mð 	ð 	àˆkŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s$   Á	A'Á'A+Á.A+Â	B#Â#B'Â*B'N)r¬   r­   r®   rà  rå  rî  rð  rò  r÷  rù  r  r
  r  rP   r5   r3   rÝ  rÝ  ˜	  s¸   € € € € € ðXð Xð Xð0ð 0ð 0ðCð Cð Cð(Cð Cð Cð*9ð 9ð 9ð	<ð 	<ð 	<ð+3ð +3ð +3ðZ@ð @ð @ðD1ð 1ð 1ð$ð ð ð ð r5   rÝ  c                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
Ú_TestSlicingAssignc                 óŽ  — |                       d¦  «        }t          j        d¦  «        }t          ¦   «         5 }|                     t
          d¦  «         ||fD ]2}d|dd…df<   d|dd…df<   d|dd…df<   d|ddd …f<   d|dd d…dd …f<   Œ3	 d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d S )	NrY  r×  rÝ   r   r|  rÞ   r¦  r  rÔ  rÕ  s        r3   Útest_slice_scalar_assignz+_TestSlicingAssign.test_slice_scalar_assignw
  s+  € Ø�NŠN˜6Ñ"Ô"ˆÝŒH�VÑÔˆÝÑ Ô ð 	  CØ�JŠJÕ.Ð0QÑRÔRÐRØ˜�Vð  ð  �Ø��!�A�#�a�%‘Ø��!�A�#�a�%‘Ø��!�A�#�a�%‘Ø��!�A�B�B�$‘Ø��!�%�R�%˜˜˜�(‘�ð ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*s   ¸ABÂBÂBc                 óî   ‡ ‡‡— d\  ŠŠˆˆˆ fd„}dt          d¦  «        fdt          d dd¦  «        fdt          dd¦  «        ft          d¦  «        t          dd¦  «        ffD ]\  }} |||¦  «         Œd S )	NrË  c                 óX  •— d| ›d|›�}‰                      ‰‰f¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|| |f<   d d d ¦  «         n# 1 swxY w Y   t	          j        ‰‰f¦  «        }d|| |f<   t          |                     ¦   «         ||¬¦  «         d S )Nzi=z; j=r×  rÝ   rÈ  )rá   r   r  r!   rC   r   r   r�   )	rÃ  rÄ  r/   rJ   r  rK   rf  rÂ  r—   s	         €€€r3   rÎ  z9_TestSlicingAssign.test_slice_assign_2.<locals>._test_set‡
  só   ø€ Ø%�qÐ%Ð% Ð%Ð%ˆCØ—’  1˜vÑ&Ô&ˆAÝ"Ñ$Ô$ð ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ”˜!˜Q˜Ñ Ô ˆAØˆAˆa�ˆd‰GÝ% a§i¢i¡k¤k°1¸cÐBÑBÔBÐBÐBÐBs   ¯#AÁA"Á%A"r_   rÞ   rO   r|  rZ  r  )rì  r   rÑ  s   `   @@r3   Útest_slice_assign_2z&_TestSlicingAssign.test_slice_assign_2„
  s¯   øøø€ Ø‰ˆˆ1ð	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð �˜q™œ�] Q­¨d°B¸Ñ(:Ô(:Ð$;¸aÅÀqÈ"ÁÄÐ=NÝ˜A‘h”h¥ a¨¡¤Ð-ð/ð 	ð 	‰DˆAˆqàˆI�a˜‰OŒOˆOˆOð	ð 	r5   c                 ó"  — |                       d¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|d<   d|d<   d|d<   d	|d
<   |d	z  }|dd d …f         |dd d …f<   t	          |dd d …f                              ¦   «         |dd d …f                              ¦   «         ¦  «         |d	z  }|d d…d d…f         |d d …d d …f<   t	          t          j        d¦  «        |d         z   |                     ¦   «         ¦  «         |d	z  }|dd d …f         j        |d d…df<   t	          |dd d …f                              ¦   «         j        |d d…df                              ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr6  r×  r_   r–  r¤  rÀ  rÞ   ©r_   rÝ   rO   rñ  r   rÝ   r  )	rá   r   r  r!   r   r�   rC   r   r8  )r—   rK   r  rJ   s       r3   Útest_self_self_assignmentz,_TestSlicingAssign.test_self_self_assignment•
  sñ  € ð �NŠN˜5Ñ!Ô!ˆÝÑ Ô ð 	G CØ�JŠJÕ.Ð0QÑRÔRÐRØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØˆAˆc‰Fà�B‘ˆAØ�q˜˜˜�s”VˆAˆa���ˆc‰FÝ˜q  1 1 1 œvŸ~š~Ñ/Ô/°°1°Q°Q°Q°3´·²Ñ1AÔ1AÑBÔBÐBà�B‘ˆAØ�r˜�r˜"˜1˜"�u”XˆAˆaˆaˆa���ˆc‰FÝ�rœx¨™œ°°3´Ñ7¸¿º¹¼ÑEÔEÐEà�B‘ˆAØ˜˜1˜1˜1˜”v”xˆAˆcˆrˆc�!ˆe‰HÝ˜q  1 1 1 œvŸ~š~Ñ/Ô/Ô1°1°S°b°S¸°U´8×3CÒ3CÑ3EÔ3EÑFÔFÐFð#	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gs   ¤EFÆFÆFc                 ó  — |                       d¦  «        }t          g d¢g d¢g d¢g d¢g¦  «        }ddgddgg}t          ¦   «         5 }|                     t          d	¦  «         d
|d<   d|d<   d|d<   ||z   |d d …d d …f<   t          |                     ¦   «         |¦  «         t          t          |¦  «        ¦  «        |d d…d d…f<   t          |                     ¦   «         d d…d d…f         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr6  ©rO   r   r   )r   r   r£  )r   é   r   rB  rÝ   r   r|  r×  rZ  r–  rÞ   rÀ  r¤  r  r_   )rá   r   r   r  r!   r   r�   r   )r—   rK   r9  Úblockr  s        r3   Útest_slice_assignmentz(_TestSlicingAssign.test_slice_assignment¬
  sp  € Ø�NŠN˜5Ñ!Ô!ˆÝ˜(˜(˜(Ø!˜'˜'Ø"˜(˜(Ø!˜'˜'ð#ñ $ô $ˆð �A�˜˜!�u�ˆåÑ Ô ð 		; CØ�JŠJÕ.Ð0QÑRÔRÐRØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØ�q‘SˆAˆaˆaˆa���ˆc‰FÝ˜qŸyšy™{œ{¨HÑ5Ô5Ð5å!¥%¨¡,¤,Ñ/Ô/ˆAˆbˆqˆb��!�ˆe‰HÝ˜qŸyšy™{œ{¨2¨A¨2¨r°¨r¨6Ô2°EÑ:Ô:Ð:ð		;ð 		;ð 		;ñ 		;ô 		;ð 		;ð 		;ð 		;ð 		;ð 		;ð 		;ð 		;øøøð 		;ð 		;ð 		;ð 		;ð 		;ð 		;s   ÁB.DÄDÄ	Dc                 ó   — |                       d¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|d<   d|d<   d|d<   d	|d
<   t	          t          j        d¦  «        ¦  «        |d d…<   d d d ¦  «         n# 1 swxY w Y   t          g d¢g d¢g d¢g d¢g¦  «        }t          | 	                    ¦   «         |¦  «         d S )Nr6  r×  rZ  r–  rÞ   rÀ  r¤  r  rO   rñ  rA  rê  r�  r  )
rá   r   r  r!   r   rC   r   r   r   r�   )r—   rK   r  r9  s       r3   Ú"test_sparsity_modifying_assignmentz5_TestSlicingAssign.test_sparsity_modifying_assignment¿
  s  € Ø�NŠN˜5Ñ!Ô!ˆÝÑ Ô ð 	* CØ�JŠJÕ.Ð0QÑRÔRÐRØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FÝ�rœv a™yœyÑ)Ô)ˆAˆbˆqˆb‰Eð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*õ ˜'˜'˜' ' ' '¨'¨'¨'°(°(°(Ð;Ñ<Ô<ˆÝ˜1Ÿ9š9™;œ;¨Ñ1Ô1Ð1Ð1Ð1s   ¤ABÂB
ÂB
c                 óŽ  — |                       d¦  «        }t          t          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          d¦  «        t	          j        d¦  «        g}t          ¦   «         5 }|                     t          d¦  «         t          |¦  «        D ]?\  }}|||<   |||<   t          |                     ¦   «         |t          |¦  «        ¦  «         Œ@t          |¦  «        D ]r\  }}t          |¦  «        D ]]\  }}	d|z  d|dz   z  z   |||	f<   d|z  d|dz   z  z   |||	f<   t          |                     ¦   «         |t          ||	f¦  «        ¦  «         Œ^Œst          ddd¦  «        |d
ddd…f<   t          ddd¦  «        |d
ddd…f<   t          |                     ¦   «         |¦  «         t	          j        dd	d¦  «        d d …d f         |dd	d…d
f<   t	          j        dd	d¦  «        d d …         |dd	d…d
f<   t          |                     ¦   «         |¦  «         d d d ¦  «         n# 1 swxY w Y   t!          t"          |j        dt'          t          d¦  «        ¦  «        ¦  «         t!          t"          |j        dt          d¦  «        ¦  «         t!          t"          |j        d
t)          d ¦  «        ft'          t          d¦  «        ¦  «        ¦  «         t!          t"          |j        t)          d ¦  «        dft'          t          d¦  «        ¦  «        ¦  «         t!          t"          |j        t)          d ¦  «        df|                     ¦   «         ¦  «         t!          t"          |j        g d¢g d¢gg d¢fg d¢¦  «         t!          t"          |j        g d¢g d¢g d¢gg d¢g d¢gfg d¢¦  «         t!          t"          |j        t)          d¦  «        d
fddgddgg¦  «         d S )NrË  r_   rÝ   rÞ   r¥  r  r|  r  rZ  r   rl  rz  r×  rO   éè  r–  éd   r¡  r   r’  )r|  rÝ   rÞ   ©rÝ   r_   r|  )r   rÝ   rÞ   r{  )rá   r   r   rJ  rC   r  r   r   r  r!   r  r   r�   rP  rø   r   rî   rï   rÄ  Úlistrì  rþ   )
r—   rJ   rK   r  r  r  rÄ  rG   rÃ  rL   s
             r3   Útest_set_slicez!_TestSlicingAssign.test_set_sliceÌ
  s‚  € Ø�NŠN˜6Ñ"Ô"ˆÝ•%˜¥Ñ'Ô'Ñ(Ô(ˆÝŒ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°Ý˜‘)”)�RœW R™[œ[ð*ˆõ
 Ñ Ô ð 	/ CØ�JŠJÕ.Ð0QÑRÔRÐRÝ! &Ñ)Ô)ð <ð <‘��1Ø��!‘Ø��!‘Ý" 1§9¢9¡;¤;°µ4¸±7´7Ñ;Ô;Ð;Ð;å! &Ñ)Ô)ð Eð E‘��1Ý% fÑ-Ô-ð Eð E‘D�A�qØ ™T D¨!¨A©#¡JÑ.�A�a˜�c‘FØ ™T D¨!¨A©#¡JÑ.�A�a˜�c‘FÝ& q§y¢y¡{¤{°Aµt¸QÀ¸F±|´|ÑDÔDÐDÐDðEõ
 !  B¨™?œ?ˆAˆa��2�a�ˆi‰LÝ   B¨™?œ?ˆAˆa��2�a�ˆi‰LÝ˜qŸyšy™{œ{¨AÑ.Ô.Ð.Ýœ) A q¨!Ñ,Ô,¨Q¨Q¨Q°¨WÔ5ˆAˆa��!ˆe�Qˆh‰KÝœ) A q¨!Ñ,Ô,¨Q¨Q¨QÔ/ˆAˆa��!ˆe�Qˆh‰KÝ˜qŸyšy™{œ{¨AÑ.Ô.Ð.ð%	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ* 	•j !¤-°½½eÀC¹j¼jÑ9IÔ9IÑJÔJÐJÝ•j !¤-°½À¹¼ÑEÔEÐEÝ•j !¤-°!µU¸4±[´[Ð1AÝ�5 ™:œ:Ñ&Ô&ñ	(ô 	(ð 	(å•j !¤-µ%¸±+´+¸qÐ1AÝ�5 ™:œ:Ñ&Ô&ñ	(ô 	(ð 	(å•j !¤-µ%¸±+´+¸qÐ1AÀ1Ç6Â6Á8Ä8ÑLÔLÐLÝ•j !¤-Ø!˜	˜	 9 9 9Ð-¨y¨y¨yÐ9¸<¸<¸<ñ	Iô 	Ið 	Iå•j !¤-Ø!˜	˜	 9 9 9¨i¨i¨iÐ8Ø!˜	˜	 9 9 9Ð-ð/Ø09°	°	ñ	;ô 	;ð 	;õ 	•j !¤-µ%¸±(´(¸A°Ø˜1�v  1˜vÐ&ñ	(ô 	(ð 	(ð 	(ð 	(s   ÃF1JÊJÊJc                 óà   — |                       t          j        d¦  «        ¦  «        }|                       d¦  «        }||dd d…f<   t          |                     ¦   «         g d¢g d¢g¦  «         d S )NrÏ  rÀ  rÝ   r_   ©rÝ   rÝ   rÝ   r�  )rá   rC   rÈ  r   r�   rö  s      r3   Útest_assign_emptyz$_TestSlicingAssign.test_assign_emptyù
  sh   € Ø�NŠN�2œ7 6™?œ?Ñ+Ô+ˆØ�NŠN˜6Ñ"Ô"ˆØˆˆ!ˆRˆaˆRˆ%‰Ý˜1Ÿ9š9™;œ;¨¨¨°I°I°IÐ(>Ñ?Ô?Ð?Ð?Ð?r5   c                 óö   — |                       t          j        d¦  «        ¦  «        }t          j        d¦  «        }||d d …df<   ||dd d …f<   t	          |                     ¦   «         g d¢g d¢g d¢g¦  «         d S )Nr3  rÞ   r   rÝ   rß  rB  )rá   rC   rÈ  r   r   r�   ©r—   rJ   r9   s      r3   Útest_assign_1d_slicez'_TestSlicingAssign.test_assign_1d_sliceÿ
  s{   € Ø�NŠN�2œ7 6™?œ?Ñ+Ô+ˆÝŒH�Q‰KŒKˆØˆˆ!ˆ!ˆ!ˆQˆ$‰Øˆˆ!ˆQˆQˆQˆ$‰Ý˜1Ÿ9š9™;œ;¨¨¨°I°I°I¸y¸y¸yÐ(IÑJÔJÐJÐJÐJr5   N)r¬   r­   r®   r  r  r  r  r   r&  r)  r,  rP   r5   r3   r  r  v
  s˜   € € € € € ð+ð +ð +ðð ð ð"Gð Gð Gð.;ð ;ð ;ð&2ð 2ð 2ð+(ð +(ð +(ðZ@ð @ð @ðKð Kð Kð Kð Kr5   r  c                   óT   — 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S )Ú_TestFancyIndexingz†Tests fancy indexing features.  The tests for any matrix formats
    that implement these features should derive from this class.
    c                 ó–  — t           j        t           j        t           j        t           j        fD ]™}|                      d|¬¦  «        }t          |d d …ddgf         j        |¦  «         t          |g d¢d d …f         j        |¦  «         t          |d d …g f         j        |¦  «         t          |g d d …f         j        |¦  «         Œšd S )Nr�  r^  F)FFFrâ  rã  s      r3   Ú#test_dtype_preservation_empty_indexz6_TestFancyIndexing.test_dtype_preservation_empty_index  sÏ   € õ ”8�RœX¥r¤zµ2´:Ð>ð 	-ð 	-ˆBØ—’˜v¨R�Ñ0Ô0ˆAÝ˜˜1˜1˜1˜u e˜nÐ,Ô-Ô3°RÑ8Ô8Ð8Ý˜Ð0Ð0Ð0°!°!°!Ð3Ô4Ô:¸BÑ?Ô?Ð?Ý˜˜1˜1˜1˜b˜5œœ¨Ñ,Ô,Ð,Ý˜˜2˜q˜q˜q˜5œœ¨Ñ,Ô,Ð,Ð,ð	-ð 	-r5   c                 óH  — |                       t          j        ddg¦  «        ¦  «        }t          t          t
          t          f|j        d¦  «         t          t          t
          t          f|j        d¦  «         t          t          t
          f|j        g d¢g d¢f¦  «         d S )NrZ  Úfoo©r_   r2  r¡  r’  )rá   rC   r   rî   rº  rï   r»  r»  rp  s     r3   Útest_bad_indexz!_TestFancyIndexing.test_bad_index  sŽ   € Ø�NŠN�2œ8 Q¨ FÑ+Ô+Ñ,Ô,ˆÝ•z¥:­yÐ9¸1¼=È%ÑPÔPÐPÝ•z¥:­yÐ9¸1¼=È*ÑUÔUÐUÝ•z¥:Ð.°´Ø �y�y , , ,Ð/ñ	1ô 	1ð 	1ð 	1ð 	1r5   c           
      óŒ  — t          t          d¦  «                             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          d¦  «        ddgf                              ¦   «         |dddgf         ¦  «         t	          |dt          ddg¦  «        f                              ¦   «         |dddgf         ¦  «         t	          |t          d¦  «        t          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          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          ddg¦  «        df                              ¦   «         |ddgdf         ¦  «         t	          |ddgt          d¦  «        f                              ¦   «         |ddgdf         ¦  «         t	          |t          ddg¦  «        t          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          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          ddg¦  «        ddgf         ¦  «        |ddgddgf         ¦  «         t	          t          |ddgt          ddg¦  «        f         ¦  «        |ddgddgf         ¦  «         t	          t          |t          ddg¦  «        t          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          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          ddg¦  «        f                              ¦   «         |dgdgdggddgf         ¦  «         t	          |t          dgdgdgg¦  «        t          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          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          ddg¦  «        d d …f         d d …t          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          ddg¦  «        f         t          ddg¦  «        d d …f                              ¦   «         |d d …ddgf         ddgd d …f         ¦  «         t          t          d¦  «        t          d
¦  «        d ¦  «        }t	          ||d d …f                              ¦   «         |dd
…d d …f         ¦  «         t	          |d d …|f                              ¦   «         |d d …dd
…f         ¦  «         t          j        dggt          ¬¦  «        }t	          |||f                              ¦   «         |||f         ¦  «         t	          |g gg gf                              ¦   «         |g gg gf         ¦  «         d S )NrW  rZ  rO   rÝ   rÞ   r  r_   rl  )r_   r¥  rÞ   r  r|  r¦  rn  r¥  rz  r  r^  )r'   r   rº  rá   r   r�   r   rì  r   rC   r©  )r—   rK   rJ   r¼  rÃ  s        r3   Útest_fancy_indexingz&_TestFancyIndexing.test_fancy_indexing  s½  € Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆõ 	�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•u˜R‘y”y 1 b 'Ð)Ô*×2Ò2Ñ4Ô4°a¸¸QÀ¸G¸´nÑEÔEÐEÝ�Q�r�5 ! R ™>œ>Ð)Ô*×2Ò2Ñ4Ô4°a¸¸QÀ¸G¸´nÑEÔEÐEÝ�Q•u˜R‘y”y¥%¨¨B¨¡.¤.Ð0Ô1×9Ò9Ñ;Ô;¸Q¸rÀAÀrÀ7¸{¼^ÑLÔLÐLõ 	�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�E 2 r (™OœOÐ+Ô,×4Ò4Ñ6Ô6¸¸!¸A¸#ÀÀB¸x¸-Ô8HÑIÔIÐIõ 	�Q˜˜1�v˜q�y”\×)Ò)Ñ+Ô+¨Q°°1¨v°q¨y¬\Ñ:Ô:Ð:Ý�Q˜˜2�w �{”^×+Ò+Ñ-Ô-¨q°!°R°¸"°¬~Ñ>Ô>Ð>Ý�Q•u˜a ˜W‘~”~ rÐ)Ô*×2Ò2Ñ4Ô4°a¸¸B¸À¸´nÑEÔEÐEÝ�Q˜˜2�w¥ b¡	¤	Ð)Ô*×2Ò2Ñ4Ô4°a¸¸B¸À¸´nÑEÔEÐEÝ�Q•u˜a ˜W‘~”~¥u¨R¡y¤yÐ0Ô1×9Ò9Ñ;Ô;¸QÀÀ2¸wÈ¸{¼^ÑLÔLÐLõ 	�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•u˜a ˜W‘~”~ q¨ tÐ+Ô,×4Ò4Ñ6Ô6¸¸1¸b¸'À1ÀRÀ4¸-Ô8HÑIÔIÐIõ 	•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•e˜R ˜H‘o”o¨¨2 wÐ.Ô/Ñ0Ô0°!°R¸°H¸qÀ"¸gÐ4EÔ2Fñ	
ô 	
ð 	
õ 	Ý�A�r˜2�h¥ q¨" g¡¤Ð.Ô/Ñ0Ô0°!°R¸°H¸qÀ"¸gÐ4EÔ2Fñ	
ô 	
ð 	
õ 	Ý�A•e˜R ˜H‘o”o¥u¨a°¨W¡~¤~Ð5Ô6Ñ7Ô7¸¸BÀ¸8ÀaÈÀWÐ;LÔ9Mñ	
ô 	
ð 	
õ
 	�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 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�e�b�T˜B˜4 " Ð&Ñ'Ô'¨!¨R¨Ð0Ô1×9Ò9Ñ;Ô;Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�ˆt�b�T˜B˜4Ð ¥%¨¨B¨¡.¤.Ð0Ô1×9Ò9Ñ;Ô;Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ô*ñ	
ô 	
ð 	
õ 	Ø�e�b�T˜B˜4 " Ð&Ñ'Ô'­°°2¨w©¬Ð7Ô8×@Ò@ÑBÔBØ�ˆ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•u˜b "˜X‘”Ô'×/Ò/Ñ1Ô1°1°b¸"°X´;Ñ?Ô?Ð?õ 	Øˆ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ñ	
ô 	
ð 	
õ 	Ø�e�R˜�H‰oŒo˜q˜q˜qÐ Ô! ! ! !¥U¨A¨r¨7¡^¤^Ð"3Ô4×<Ò<Ñ>Ô>Øˆ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•˜˜B�x‘”Ð Ô!¥%¨¨B¨¡.¤.°!°!°!Ð"3Ô4×<Ò<Ñ>Ô>Øˆaˆaˆa�"�b�ˆkŒN˜A˜r˜7 A A A˜:Ô&ñ	
ô 	
ð 	
õ •$�q‘'”'�$˜q™'œ' $Ñ'Ô'ˆÝ�Q�q˜!˜!˜!�t”W—_’_Ñ&Ô&¨¨!¨A¨#¨q¨q¨q¨&¬	Ñ2Ô2Ð2Ý�Q�q�q�q˜!�t”W—_’_Ñ&Ô&¨¨!¨!¨!¨Q¨q¨S¨&¬	Ñ2Ô2Ð2õ ŒH�q�c�U¥#Ð&Ñ&Ô&ˆÝ�Q�q˜!�t”W—_’_Ñ&Ô&¨¨!¨Q¨$¬Ñ0Ô0Ð0õ 	�Q˜�t˜b˜T�z”]×*Ò*Ñ,Ô,¨a°°°r°d°
¬mÑ<Ô<Ð<Ð<Ð<r5   c                 ó°  — t           j                             d¦  «         d}d}d}t          t           j                             ||¦  «        ¦  «        }t          j        ||dk    ¦  «        }t           j                             | dz   ||¬¦  «        }t           j                             | dz   ||¬¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r| 	                    ¦   «         }t          ||||f         ¦  «         ||z   }	||z
  }
t          t          |j        |	|f¦  «         t          t          |j        ||
f¦  «         d S )Nr\   rW  r£  r|  rÛ  rÝ   rÇ  )rC   rŠ   r]   r'   r  r¿  ra   rá   r    r�   r   rî   rº  r»  )r—   ÚNUM_SAMPLESrL  rO  rˆ  ÚIrÌ  re  ÚSIJÚI_badÚJ_bads              r3   Útest_fancy_indexing_randomizedz1_TestFancyIndexing.test_fancy_indexing_randomized‡  s4  € Ý
Œ	�Š�tÑÔÐàˆØˆØˆå•R”Y—^’^ A aÑ(Ô(Ñ)Ô)ˆÝŒK˜˜1˜sš7Ñ#Ô#ˆåŒI×Ò˜q˜b 1™f a¨kÐÑ:Ô:ˆÝŒI×Ò˜q˜b 1™f a¨kÐÑ:Ô:ˆà�NŠN˜1ÑÔˆà��!�ŒfˆÝ�C‰=Œ=ð 	 Ø—+’+‘-”-ˆCÝ�S˜!˜A˜a˜Cœ&Ñ!Ô!Ð!à�A‘ˆØ�A‘ˆå•j !¤-°%¸°Ñ;Ô;Ð;Ý•j !¤-°!°E°Ñ;Ô;Ð;Ð;Ð;r5   c                 óö  — d\  }}t          t          ||z  ¦  «                             ||¦  «        ¦  «        }|                      |¦  «        }t	          j        |dz   t          ¬¦  «        }t	          j        |dz
  t          ¬¦  «        }t	          j        |dz   t          ¬¦  «        }t	          j        |dz
  t          ¬¦  «        }t          j        t          d|dz   › d|› �¬¦  «        5  ||d d …f         }	d d d ¦  «         n# 1 swxY w Y   t          j        t          d|dz
  › d|› �¬¦  «        5  ||d d …f         }	d d d ¦  «         n# 1 swxY w Y   t          j        ||t          d ¦  «        f||t          d ¦  «        f¦  «        D ]m\  }
}t          |
t          ¦  «        rt          |t          ¦  «        rŒ0t          j        t          d¬¦  «        5  ||
|f         }	d d d ¦  «         n# 1 swxY w Y   Œnd S )	NrË  rÝ   r^  r_   z(boolean row index has incorrect length: z instead of r  z&boolean \w+ index has incorrect length)r'   r   rº  rá   rC   rÈ  rð   ró   r   rº  r  r  rì  rB   )r—   rL  rO  rK   rJ   Úrow_longÚ	row_shortÚcol_longÚ	col_shortrù   rÃ  rÄ  s               r3   Útest_missized_maskingz(_TestFancyIndexing.test_missized_masking¡  sÑ  € Ø‰ˆˆ1å•V˜A ™E‘]”]×*Ò*¨1¨aÑ0Ô0Ñ1Ô1ˆØ�NŠN˜1ÑÔˆõ ”7˜1˜q™5­Ð-Ñ-Ô-ˆÝ”G˜A ™E­Ð.Ñ.Ô.ˆ	Ý”7˜1˜q™5­Ð-Ñ-Ô-ˆÝ”G˜A ™E­Ð.Ñ.Ô.ˆ	åŒ]ÝØT¸aÀ!¹eÐTÐTÐQRÐTÐTð
ñ 
ô 
ð 	ð 	ð �(˜A˜A˜A�+”ˆAð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Œ]ÝØT¸aÀ!¹eÐTÐTÐQRÐTÐTð
ñ 
ô 
ð 	 ð 	 ð �)˜Q˜Q˜Q�,”ˆAð		 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ Ô%Ø�y¥%¨¡+¤+Ð.Ø�y¥%¨¡+¤+Ð.ñ
ô 
ð 
	ð 
	‰DˆAˆqõ ˜!�UÑ#Ô#ð ­
°1µeÑ(<Ô(<ð ØÝ”ÝØ?ðñ ô ð ð ð �a˜�d”G�ð	ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð
	ð 
	s6   Ã*DÄDÄ
DÄ2EÅEÅEÇG-Ç-G1	Ç4G1	c                 óê  — t           j                             d¦  «         t          t	          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t          j        t           j                             ddd¬¦  «        t          ¬¦  «        }t          j        t           j                             ddd¬¦  «        t          ¬¦  «        }t          j        t           j                             ddd	¬¦  «        t          ¬¦  «        }t          t          ||         ¦  «        ||         ¦  «         t          t          |d d …|f         ¦  «        |d d …|f         ¦  «         t          t          ||         ¦  «        ||         ¦  «         t          t          ||d
k             ¦  «        ||d
k             ¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          t          |||f         ¦  «        |||f         ¦  «         t          j        dt          ¬¦  «        }t          j        dt          ¬¦  «        }d|d<   t          j        dt          ¬¦  «        }d|d<   t          t          |j        |¦  «         t          t          |j        |¦  «         t          t          |j        |¦  «         t          t          t           f|j        |df¦  «         d S )Nr\   rW  rZ  rO   r   r_   rÇ  r^  rË  r¦  )TFTTF)
FTTFTFFFFF)r£  rë  TrÁ  )r  r   rÝ   )rC   rŠ   r]   r'   r   rº  rá   r   ra   rð   r   r�   r   rî   rº  r»  rï   )	r—   rK   rJ   r9  rÌ  r/  ÚZ1ÚZ2ÚZ3s	            r3   Útest_fancy_indexing_booleanz._TestFancyIndexing.test_fancy_indexing_booleanÄ  sl  € Ý
Œ	�Š�tÑÔÐå•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆåŒH•R”Y×&Ò& q¨!°!Ð&Ñ4Ô4½DÐAÑAÔAˆÝŒH•R”Y×&Ò& q¨!°"Ð&Ñ5Ô5½TÐBÑBÔBˆÝŒH•R”Y×&Ò& q¨!°'Ð&Ñ:Ô:Å$ÐGÑGÔGˆå•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)Ý•W˜Q˜q˜q˜q !˜tœWÑ%Ô% q¨¨¨¨A¨¤wÑ/Ô/Ð/Ý•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)Ý•W˜Q˜q 1šuœXÑ&Ô&¨¨!¨aª%¬Ñ1Ô1Ð1åŒHÐ5Ð5Ð5Ñ6Ô6ˆÝŒHð 9ð 9ð 9ñ :ô :ˆõ 	•W˜Q˜q !˜tœWÑ%Ô% q¨¨A¨¤wÑ/Ô/Ð/åŒX�g¥TÐ*Ñ*Ô*ˆÝŒX�g¥TÐ*Ñ*Ô*ˆØˆˆ4‰ÝŒX�g¥TÐ*Ñ*Ô*ˆØˆˆ4‰å•j !¤-°Ñ4Ô4Ð4Ý•j !¤-°Ñ4Ô4Ð4Ý•j !¤-°Ñ4Ô4Ð4Ý•z¥:Ð.°´ÀÀ1¸vÑFÔFÐFÐFÐFr5   c                 óò  — t           j                             d¦  «         t          t	          d¦  «                             d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          j        t           j                             ddd¬¦  «        t          ¬	¦  «        }t          |¦  «        }t          |¦  «        }t          t          |j        |¦  «         t          t          |j        |¦  «         t          t          t           f|j        |df¦  «         d S )Nr\   rW  rZ  rO   r   r_   rË  rÇ  r^  r¦  )rZ  rë  )r£  rO   rÝ   )rC   rŠ   r]   r'   r   rº  rá   r   ra   rð   r   r   r�   rî   rº  r»  rï   )	r—   rK   rJ   r/  ÚXspÚZr0  ÚZspÚYsps	            r3   Ú"test_fancy_indexing_sparse_booleanz5_TestFancyIndexing.test_fancy_indexing_sparse_booleanä  s}  € Ý
Œ	�Š�tÑÔÐå•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆåŒH•R”Y×&Ò& q¨!°'Ð&Ñ:Ô:Å$ÐGÑGÔGˆå˜‰mŒmˆå•W˜Q˜sœV‘_”_ a¨¤dÑ+Ô+Ð+Ý•W˜Q˜q 1šuœXÑ&Ô&¨¨!¨aª%¬Ñ1Ô1Ð1åŒH•R”Y×&Ò& q¨!°'Ð&Ñ:Ô:Å$ÐGÑGÔGˆÝŒH•R”Y×&Ò& q¨!°'Ð&Ñ:Ô:Å$ÐGÑGÔGˆå˜‰mŒmˆÝ˜‰mŒmˆå•j !¤-°Ñ5Ô5Ð5Ý•j !¤-°Ñ5Ô5Ð5Ý•z¥:Ð.°´ÀÀQ¸xÑHÔHÐHÐHÐHr5   c                 ó  — |                       t          g d¢g d¢g d¢g¦  «        ¦  «        }t          j        |                     d¦  «        ¦  «        dk    }t          |d d …|f                              ¦   «         ddgddgddgg¦  «         d S )NrA  rê  r   rÝ   )rá   r   rC   Úravelr  r   r�   )r—   r˜   Údesired_colss      r3   Ú#test_fancy_indexing_regression_3087z6_TestFancyIndexing.test_fancy_indexing_regression_3087û  sŽ   € Ø�nŠn�U I I I¨w¨w¨w¸¸¸Ð#@ÑAÔAÑBÔBˆÝ”x §¢¨¡
¤
Ñ+Ô+¨aÒ/ˆÝ�S˜˜˜˜L˜Ô)×1Ò1Ñ3Ô3°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÑNÔNÐNÐNÐNr5   c           	      ó¶   — |                       t          ddgddgg¦  «        ¦  «        }t          t          |j        dt          j        ddg¦  «        ¦  «         d S )NrÝ   r   r–  r_   )rá   r   rî   rï   rÄ  rC   r–   s     r3   Útest_fancy_indexing_seq_assignz1_TestFancyIndexing.test_fancy_indexing_seq_assign   sP   € Ø�nŠn�U Q¨ F¨Q°¨FÐ#3Ñ4Ô4Ñ5Ô5ˆÝ•j #¤/°6½2¼8ÀQÀqÀE¹?¼?ÑKÔKÐKÐKÐKr5   c                 óf  — |                       t          ddgddgg¦  «        ¦  «        }t          ¦   «         5 }|                     t          d¦  «         |ddgddgf         |ddgddgf<   d d d ¦  «         n# 1 swxY w Y   t          t          |¦  «        t          ddgddgg¦  «        ¦  «         d S )NrÝ   r   r_   rÞ   r×  )rá   r   r   r  r!   r   r�   )r—   r˜   r  s      r3   Útest_fancy_indexing_2d_assignz0_TestFancyIndexing.test_fancy_indexing_2d_assign  sö   € à�nŠn�U Q¨ F¨Q°¨FÐ#3Ñ4Ô4Ñ5Ô5ˆÝÑ Ô ð 	6 CØ�JŠJÕ.Ð0QÑRÔRÐRØ"% q¨! f¨q°!¨f nÔ"5ˆC��A�˜˜A˜�Ñð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6õ 	•W˜S‘\”\¥5¨1¨a¨&°1°a°&Ð)9Ñ#:Ô#:Ñ;Ô;Ð;Ð;Ð;s   ·3A6Á6A:Á=A:c                 ó   — t          t          d¦  «                             dd¦  «        ¦  «        }d|dd d …f<   d|d d …df<   d|d<   |                      |¦  «        }t	          j        g d¢¦  «        }t          t          ||         ¦  «        ||         ¦  «         t	          j        g t          ¬	¦  «        }t          t          ||         ¦  «        ||         ¦  «         t          t          |||f         ¦  «        |||f         ¦  «         t	          j        g d
¢t          ¬	¦  «        d d …d f         }t          t          |||f         ¦  «        |||f         ¦  «         t          t          |||f         ¦  «        |||f         ¦  «         d S )NrW  rZ  rO   r   rÝ   r_   ©rÞ   r£  ©FFFFFr^  ©r   rÝ   r_   rÞ   r|  ©	r'   r   rº  rá   rC   r   r   r�   r©  ©r—   rK   rJ   rÍ  rÌ  s        r3   Útest_fancy_indexing_emptyz,_TestFancyIndexing.test_fancy_indexing_empty  sj  € Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØˆˆ!ˆAˆAˆAˆ#‰Øˆˆ!ˆ!ˆ!ˆAˆ#‰Øˆˆ#‰Ø�NŠN˜1ÑÔˆåŒHÐ8Ð8Ð8Ñ9Ô9ˆÝ•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)ÝŒH�R�sÐ#Ñ#Ô#ˆÝ•W˜Q˜qœT‘]”] A a¤DÑ)Ô)Ð)Ý•W˜Q˜q !˜tœWÑ%Ô% q¨¨A¨¤wÑ/Ô/Ð/ÝŒH�_�_�_­CÐ0Ñ0Ô0°°°°4°Ô8ˆÝ•W˜Q˜q !˜tœWÑ%Ô% q¨¨A¨¤wÑ/Ô/Ð/Ý•W˜Q˜q !˜tœWÑ%Ô% q¨¨A¨¤wÑ/Ô/Ð/Ð/Ð/r5   N)r¬   r­   r®   r˜  r0  r4  r6  r=  rC  rH  rN  rR  rT  rV  r]  rP   r5   r3   r.  r.    sÕ   € € € € € ðð ð-ð -ð -ð1ð 1ð 1ðh=ð h=ð h=ðT<ð <ð <ð4!ð !ð !ðFGð Gð Gð@Ið Ið Ið.Oð Oð Oð
Lð Lð Lð<ð <ð <ð0ð 0ð 0ð 0ð 0r5   r.  c              #   óà   K  — t          | d¦  «        r| j        sdV — dS dV — | j                             ¦   «         }d| _        |                      ¦   «          t          || j        d¦  «         dS )zIChecks that sorted indices property is retained through an operation
    Úhas_sorted_indicesNFz'Expected sorted indices, found unsorted)r�  r_  rƒ  rþ   Úsort_indicesr   )r/  rƒ  s     r3   Úcheck_remains_sortedra    s�   è è € õ �1Ð*Ñ+Ô+ð °1Ô3Gð ØˆˆˆØˆØ	€E€E€EØŒi�nŠnÑÔ€GØ €AÔØ‡N‚NÑÔÐÝ�w ¤	Ø@ñBô Bð Bð Bð Br5   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestFancyIndexingAssignc                 óü   — |                       t          j        ddg¦  «        ¦  «        }t          t          t
          t          f|j        dd¦  «         t          t          t
          t          f|j        dd¦  «         d S )NrZ  r2  r_   r3  )rá   rC   r   rî   rº  rï   r»  rÄ  rp  s     r3   Útest_bad_index_assignz._TestFancyIndexingAssign.test_bad_index_assign-  sc   € Ø�NŠN�2œ8 Q¨ FÑ+Ô+Ñ,Ô,ˆÝ•z¥:­yÐ9¸1¼=È%ÐQRÑSÔSÐSÝ•z¥:­yÐ9¸1¼=È*ÐVWÑXÔXÐXÐXÐXr5   c                 ól  ‡ ‡‡— d\  ŠŠˆˆˆ fd„}dt          d dd¦  «        ft          j        d¦  «        t          dd¦  «        ft          d	d¦  «        t          dd¦  «        ffD ]\  }} |||¦  «         Œt          j        d¦  «        t          j        d¦  «        fd
fD ]\  }} |||¦  «         Œd S )NrË  c                 ó¬  •— ‰                      ‰‰f¦  «        }t          t          j        ‰‰f¦  «        ¦  «        }t	          ¦   «         5 }|                     t          d¦  «         d|| |f<   t          |¦  «        5  d|| |f<   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'   rC   r   r   r  r!   ra  r   r�   )rÃ  rÄ  rJ   rK   r  rf  rÂ  r—   s        €€€r3   Ú_test_set_slicezI_TestFancyIndexingAssign.test_fancy_indexing_set.<locals>._test_set_slice5  sD  ø€ Ø—’  1˜vÑ&Ô&ˆAÝ�œ 1 a &Ñ)Ô)Ñ*Ô*ˆAÝ"Ñ$Ô$ð  ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘Ý)¨!Ñ,Ô,ð  ð  Ø�A�a˜�d‘Gð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ
 & a§i¢i¡k¤k°1Ñ5Ô5Ð5Ð5Ð5s6   Á
2B'Á<BÂB'ÂB	ÂB'ÂB	ÂB'Â'B+Â.B+r{  rO   r|  rÞ   rZ  r  r_   )r   r$  )rì  rC   r   ©r—   ri  rÃ  rÄ  rf  rÂ  s   `   @@r3   Útest_fancy_indexing_setz0_TestFancyIndexingAssign.test_fancy_indexing_set2  sð   øøø€ Ø‰ˆˆ1ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð  ¥ t¨R°Ñ!3Ô!3Ð4Ý”i ‘l”l¥E¨!¨R¡L¤LÐ1Ý˜A˜q‘k”k¥5¨¨B¡<¤<Ð0ð2ð 	"ð 	"‰DˆAˆqð ˆO˜A˜qÑ!Ô!Ð!Ð!Ý”i ‘l”l¥B¤I¨a¡L¤LÐ1Ð3IÐJð 	"ð 	"‰DˆAˆqØˆO˜A˜qÑ!Ô!Ð!Ð!ð	"ð 	"r5   c                 ó`   ‡ — ˆ fd„}t           D ]} |t          j        |¦  «        ¦  «         Œ d S )Nc                 óÞ  •— ‰                      d| ¬¦  «        }t          ¦   «         5 }|                     t          d¦  «         |                      d¦  «        |ddgddgf<   t          |                     ¦   «         |                      d¦  «        dz  ¦  «         |                      d¦  «        |dd…dd…f<   t          |                     ¦   «         |                      d¦  «        dz  ¦  «         |                      d¦  «        |d	<   t          |                     ¦   «         |                      d¦  «        dz  |                      d¦  «        z   ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrY  r^  r×  rÝ   r   r_   rE  r|  rŽ  )rá   r   r  r!   r  r   r  rÈ  s      €r3   rñ   zD_TestFancyIndexingAssign.test_fancy_assignment_dtypes.<locals>.checkG  s€  ø€ Ø—’˜v¨U�Ñ3Ô3ˆAÝ"Ñ$Ô$ð G¨Ø—
’
Õ2Ð4UÑVÔVÐVØ!&§¢¨A¡¤��1�Q�%˜˜1˜�+‘Ý˜QŸUšU™WœW e§j¢j°¡m¤m°A¡oÑ6Ô6Ð6Ø"ŸZšZ¨™_œ_��!�A�#�a˜�c�'‘
Ý˜QŸUšU™WœW e§j¢j°¡m¤m°A¡oÑ6Ô6Ð6ØŸš C™œ��#‘Ý˜QŸUšU™WœW e§j¢j°¡m¤m°A¡o¸¿
º
À1¹¼Ñ&EÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs   §D.E"Å"E&Å)E&r¼  rõ   s   `  r3   Útest_fancy_assignment_dtypesz5_TestFancyIndexingAssign.test_fancy_assignment_dtypesF  sW   ø€ ð		Gð 		Gð 		Gð 		Gð 		Gõ &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r5   c                 ó¨  — |                       d¦  «        }|                       t          dd¦  «        ¦  «        }g d¢}d}t          |¦  «        }t          ¦   «         5 }|                     t
          d¦  «         t          |¦  «        5  ||df         j        |d|f<   ||df         j        |d|f<   ||df         j        |d|f<   d d d ¦  «         n# 1 swxY w Y   t          | 	                    ¦   «         |j         	                    ¦   «         ¦  «         |                       d	¦  «        }t          |¦  «        5  d
dg|ddd…f<   d d d ¦  «         n# 1 swxY w Y   t          | 	                    ¦   «         g d¢g d¢g¦  «         |                       d¦  «        }t          |¦  «        5  d
gdgg|dd…df<   d d d ¦  «         n# 1 swxY w Y   t          | 	                    ¦   «         ddgdd
gddgg¦  «         |                       d¦  «        }t          t          j        d¦  «        ¦  «        }t          |¦  «        5  ||fD ]}g d¢|g d¢g d¢f<   Œ	 d d d ¦  «         n# 1 swxY w Y   t          | 	                    ¦   «         |¦  «         |                       d¦  «        }t          |¦  «        5  g d¢|d<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         d¦  «         t          t          j        d¦  «        ¦  «        }g d¢|d<   t          | 	                    ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr6  rÞ   r|  rú  r×  r   rÝ   r_   rÏ  rO   r³  rB  )r   rO   r³  r�  r3  r¢  r¡  )r¡  rú  r£  )rá   r   r   r   r  r!   ra  r8  r   r�   r'   rC   r   r   r  )r—   rJ   rK   Úi0Úi1Úi2r  r«  s           r3   Útest_sequence_assignmentz1_TestFancyIndexingAssign.test_sequence_assignmentU  sµ  € Ø�NŠN˜5Ñ!Ô!ˆØ�NŠN�3˜q ™8œ8Ñ$Ô$ˆàˆWˆWˆØˆÝ�2‰YŒYˆåÑ Ô ð #	/ CØ�JŠJÕ.Ð0QÑRÔRÐRÝ% aÑ(Ô(ð $ð $Ø˜B˜q˜Dœ'œ)��!�B�$‘Ø˜B˜q˜Dœ'œ)��!�B�$‘Ø˜B˜q˜Dœ'œ)��!�B�$‘ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ ˜qŸyšy™{œ{¨A¬C¯KªK©M¬MÑ:Ô:Ð:ð —’˜uÑ%Ô%ˆAÝ% aÑ(Ô(ð #ð #Ø˜r˜7��!�A�a�C�%‘ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #å˜qŸyšy™{œ{¨Y¨Y¨Y¸¸¸Ð,DÑEÔEÐEð —’˜uÑ%Ô%ˆAÝ% aÑ(Ô(ð 'ð 'Ø˜D " ˜;��!�A�#�a�%‘ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'å˜qŸyšy™{œ{¨a°¨V°a¸°W¸qÀ"¸gÐ,FÑGÔGÐGð —’˜uÑ%Ô%ˆAÝ�œ %™œÑ)Ô)ˆAÝ% aÑ(Ô(ð 2ð 2Ø˜Q˜ð 2ð 2�AØ*1¨'¨'�A�g�g�g˜w˜w˜wÐ&Ñ'Ð'ð2ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ ˜qŸyšy™{œ{¨AÑ.Ô.Ð.ð —’˜vÑ&Ô&ˆAÝ% aÑ(Ô(ð 4ð 4Ø*3¨)¨)�Ð&Ñ'ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å §¢¡¤¨Ñ+Ô+Ð+Ý�œ &Ñ)Ô)Ñ*Ô*ˆAØ&/ i iˆAÐ"Ñ#Ý˜qŸyšy™{œ{¨AÑ.Ô.Ð.ðG#	/ð #	/ð #	/ñ #	/ô #	/ð #	/ð #	/ð #	/ð #	/ð #	/ð #	/ð #	/øøøð #	/ð #	/ð #	/ð #	/ð #	/ð #	/sË   Á+MÂ=CÃMÃC	ÃMÃC	ÃA MÄ8EÅMÅE	ÅMÅE	ÅAMÆ'GÆ5MÇG	ÇMÇG	Ç	A3MÈ<IÉMÉI"	É"MÉ%I"	É&A	MÊ/KÊ7MËK	ËMË
K	ËA/MÍMÍMc                 óÎ  — t          t          d¦  «                             dd¦  «        ¦  «        }d|dd d …f<   d|d d …df<   d|d<   |                      |¦  «        }t	          j        g d¢¦  «        }d	||<   t          t          |¦  «        |¦  «         t	          j        g t          ¬
¦  «        }d	||<   t          t          |¦  «        |¦  «         d	|||f<   t          t          |¦  «        |¦  «         t	          j        g d¢t          ¬
¦  «        d d …d f         }d	|||f<   t          t          |¦  «        |¦  «         d	|||f<   t          t          |¦  «        |¦  «         d S )NrW  rZ  rO   r   rÝ   r_   rX  rY  é*   r^  rZ  r[  r\  s        r3   Útest_fancy_assign_emptyz0_TestFancyIndexingAssign.test_fancy_assign_empty‚  s]  € Ý•V˜B‘Z”Z×'Ò'¨¨"Ñ-Ô-Ñ.Ô.ˆØˆˆ!ˆAˆAˆAˆ#‰Øˆˆ!ˆ!ˆ!ˆAˆ#‰Øˆˆ#‰Ø�NŠN˜1ÑÔˆåŒHÐ8Ð8Ð8Ñ9Ô9ˆØˆˆ!‰Ý•W˜Q‘Z”Z Ñ#Ô#Ð#åŒH�R�sÐ#Ñ#Ô#ˆØˆˆ!‰Ý•W˜Q‘Z”Z Ñ#Ô#Ð#Øˆˆ!ˆAˆ#‰Ý•W˜Q‘Z”Z Ñ#Ô#Ð#åŒH�_�_�_­CÐ0Ñ0Ô0°°°°4°Ô8ˆØˆˆ!ˆAˆ#‰Ý•W˜Q‘Z”Z Ñ#Ô#Ð#Øˆˆ!ˆAˆ#‰Ý•W˜Q‘Z”Z Ñ#Ô#Ð#Ð#Ð#r5   N)r¬   r­   r®   re  rk  rn  rs  rv  rP   r5   r3   rc  rc  ,  sc   € € € € € ðYð Yð Yð
"ð "ð "ð(#ð #ð #ð+/ð +/ð +/ðZ$ð $ð $ð $ð $r5   rc  c                   ó   — e Zd Zd„ ZdS )Ú_TestFancyMultidimc           
      ó„  — t          j        dgdgdgg¦  «        t          j        g d¢¦  «        ft          j        dgdgdgg¦  «        t          j        g d¢g¦  «        ft          j        g d¢g¦  «        t          j        dgdgdgg¦  «        ft          j        g d¢¦  «        t          j        dgdgdgg¦  «        ft          j        g d¢g d¢g¦  «        t          j        g d¢g d¢g¦  «        fg}|D �]H\  }}t           j                             d	¦  «         t	          t           j                             d
d¦  «        ¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r|                     ¦   «         }t          ||||f         ¦  «         |d
z   }|dz   }t          t          |j        ||f¦  «         t          t          |j        ||f¦  «         t          t          |j        ||gt          d ¦  «        f¦  «         t          t          |j        t          d ¦  «        ||gf¦  «         �ŒJd S )NrÝ   r_   rÞ   ©rÞ   r|  r_   r¡  r|  ©rZ  r£  rÞ   ©r_   rÞ   rÝ   r\   rZ  r¤  )rC   r   rŠ   r]   r'   r  rá   r    r�   r   rî   rº  r»  rì  )	r—   Úsetsr9  rÌ  rˆ  re  r:  r;  r<  s	            r3   Útest_fancy_indexing_ndarrayz._TestFancyMultidim.test_fancy_indexing_ndarray›  s(  € åŒX˜�s˜Q˜C ! �oÑ&Ô&­¬°°°Ñ(;Ô(;Ð<ÝŒX˜�s˜Q˜C ! �oÑ&Ô&­¬°)°)°)°Ñ(=Ô(=Ð>ÝŒX�y�y�y�kÑ"Ô"¥B¤H¨q¨c°A°3¸¸¨_Ñ$=Ô$=Ð>ÝŒX�i�i�iÑ Ô ¥"¤(¨Q¨C°!°°q°c¨?Ñ";Ô";Ð<ÝŒX�y�y�y ) ) )Ð,Ñ-Ô-ÝŒX�y�y�y ) ) )Ð,Ñ-Ô-ð/ðˆð ð 	Lñ 	L‰DˆAˆqÝŒI�NŠN˜4Ñ Ô Ð Ý�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆAØ—’˜qÑ!Ô!ˆAà�A�a�C”&ˆCÝ˜‰}Œ}ð $Ø—k’k‘m”m�Ý˜˜a  ! œfÑ%Ô%Ð%à˜‘EˆEØ˜‘EˆEå�* a¤m°e¸A°YÑ?Ô?Ð?Ý�* a¤m°a¸°YÑ?Ô?Ð?õ �* a¤m°q¸!°f½eÀD¹k¼kÐ5JÑKÔKÐKÝ�* a¤mµe¸D±k´kÀAÀqÀ6Ð5JÑKÔKÐKÑKð%	Lð 	Lr5   N)r¬   r­   r®   r~  rP   r5   r3   rx  rx  š  s(   € € € € € ðLð Lð Lð Lð Lr5   rx  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestFancyMultidimAssignc                 ó  — t           j                             d¦  «         t          t           j                             dd¦  «        ¦  «        }|                      |¦  «        }t           j                             dd¦  «        }t          j        g d¢g d¢g¦  «        }t          j        g d¢g d	¢g¦  «        }t          |¦  «        5  ||||f<   d d d ¦  «         n# 1 swxY w Y   ||||f<   t          | 	                    ¦   «         |¦  «         |dz   }|dz   }g d¢}t          |¦  «        5  ||||f<   d d d ¦  «         n# 1 swxY w Y   ||||f<   t          | 	                    ¦   «         |¦  «         t          |¦  «        5  d|||f<   d d d ¦  «         n# 1 swxY w Y   d|||f<   t          | 	                    ¦   «         |¦  «         t          t          |j        ||f|¦  «         t          t          |j        ||f|¦  «         d S )
Nr\   rZ  r¤  r_   rÞ   r¡  rz  r{  r|  )rC   rŠ   r]   r'   r  rá   r   ra  r   r�   rî   rº  rÄ  ©	r—   rˆ  re  r/  r9  rÌ  r;  r<  r«  s	            r3   Útest_fancy_assign_ndarrayz2_TestFancyMultidimAssign.test_fancy_assign_ndarray¾  s¥  € Ý
Œ	�Š�tÑÔÐå•R”Y—^’^ A qÑ)Ô)Ñ*Ô*ˆØ�NŠN˜1ÑÔˆÝŒI�NŠN˜1˜aÑ Ô ˆåŒH�i�i�i   Ð+Ñ,Ô,ˆÝŒH�i�i�i   Ð+Ñ,Ô,ˆå! !Ñ$Ô$ð 	ð 	ØˆAˆa�ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$à�A‘ˆØ�A‘ˆàˆIˆIˆå! !Ñ$Ô$ð 	ð 	ØˆAˆa�ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$å! !Ñ$Ô$ð 	ð 	ØˆAˆa�ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$å•j !¤-°%¸°¸AÑ>Ô>Ð>Ý•j !¤-°!°E°¸AÑ>Ô>Ð>Ð>Ð>s6   ÃCÃCÃ CÄ*D>Ä>EÅEÆFÆFÆFc                 óÞ   ‡ ‡‡— d\  ŠŠˆˆˆ fd„}t          j        ddgddgg¦  «        ddgft          j        ddg¦  «        ddgddggfg d¢g d	¢gg d
¢g d¢gffD ]\  }} |||¦  «         Œd S )NrË  c                 ó¬  •— ‰                      ‰‰f¦  «        }t          |¦  «        5  t          ¦   «         5 }|                     t          d¦  «         d|| |f<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          t          j        ‰‰f¦  «        ¦  «        }d|| |f<   t          | 	                    ¦   «         |¦  «         d S rh  )
rá   ra  r   r  r!   r'   rC   r   r   r�   )rÃ  rÄ  rJ   r  rK   rf  rÂ  r—   s        €€€r3   ri  zR_TestFancyMultidimAssign.test_fancy_indexing_multidim_set.<locals>._test_set_sliceâ  sD  ø€ Ø—’  1˜vÑ&Ô&ˆAÝ% aÑ(Ô(ð ð Õ*;Ñ*=Ô*=ð ÀØ—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �œ 1 a &Ñ)Ô)Ñ*Ô*ˆAØˆAˆa�ˆd‰GÝ% a§i¢i¡k¤k°1Ñ5Ô5Ð5Ð5Ð5s4   ¨A=·#A&ÁA=Á&A*	Á*A=Á-A*	Á.A=Á=BÂBrÝ   r_   rÞ   r   r|  r¡  ©r   r_   r|  )r   r|  rÞ   )r|  rÝ   r_   )rC   r   rj  s   `   @@r3   Ú test_fancy_indexing_multidim_setz9_TestFancyMultidimAssign.test_fancy_indexing_multidim_setß  sÒ   øøø€ Ø‰ˆˆ1ð	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6õ ”h  A ¨¨A¨Ð/Ñ0Ô0°1°a°&Ð9Ýœ 1 a &Ñ)Ô)¨Q°¨F°Q¸°FÐ+;Ð<Ø#˜)˜) Y Y YÐ/°)°)°)¸Y¸Y¸YÐ1GÐHðJð 	"ð 	"‰DˆAˆqð ˆO˜A˜qÑ!Ô!Ð!Ð!ð	"ð 	"r5   c                 óø  — t           j                             d¦  «         t          t           j                             dd¦  «        ¦  «        }|                      |¦  «        }t           j                             dd¦  «        }g d¢g d¢g}g d¢g d	¢g}||||f<   ||||f<   t          |                     ¦   «         |¦  «         d
„ |D ¦   «         }d„ |D ¦   «         }g d¢}||||f<   ||||f<   t          |                     ¦   «         |¦  «         d|||f<   d|||f<   t          |                     ¦   «         |¦  «         t          t          |j
        ||f|¦  «         t          t          |j
        ||f|¦  «         d S )Nr\   rZ  r¤  r_   rÞ   r¡  rz  r{  r|  c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó   — g | ]}|d z   ‘ŒS ©rZ  rP   ©rä  Úiis     r3   rµ  zN_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>.<listcomp>þ  ó   € Ð%Ð%Ð%˜R�"�q‘&Ð%Ð%Ð%r5   rP   )rä  rÃ  s     r3   rµ  zC_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>þ  ó'   € Ð1Ð1Ð1¨!Ð%Ð% 1Ð%Ñ%Ô%Ð1Ð1Ð1r5   c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó   — g | ]}|d z   ‘ŒS ©r¤  rP   ©rä  Újjs     r3   rµ  zN_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>.<listcomp>ÿ  rŽ  r5   rP   )rä  rÄ  s     r3   rµ  zC_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>ÿ  r�  r5   )rC   rŠ   r]   r'   r  rá   r   r�   rî   rº  rÄ  r‚  s	            r3   Útest_fancy_assign_listz/_TestFancyMultidimAssign.test_fancy_assign_listð  s|  € Ý
Œ	�Š�tÑÔÐå•R”Y—^’^ A qÑ)Ô)Ñ*Ô*ˆØ�NŠN˜1ÑÔˆÝŒI�NŠN˜1˜aÑ Ô ˆàˆYˆY˜	˜	˜	Ð"ˆØˆYˆY˜	˜	˜	Ð"ˆàˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$à1Ð1¨qÐ1Ñ1Ô1ˆØ1Ð1¨qÐ1Ñ1Ô1ˆØˆIˆIˆàˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$àˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$å•j !¤-°%¸°¸AÑ>Ô>Ð>Ý•j !¤-°!°E°¸AÑ>Ô>Ð>Ð>Ð>r5   c                 óø  — t           j                             d¦  «         t          t           j                             dd¦  «        ¦  «        }|                      |¦  «        }g d¢}g d¢}d„ |D ¦   «         }d„ |D ¦   «         }g d¢}t          j        d¦  «        d d …d f         }t          t          |j	        |t          d ¦  «        f|¦  «         t          t          |j	        t          d ¦  «        |f|¦  «         d S )	Nr\   rZ  r¤  )rÝ   r_   rÞ   rÞ   r|  r_   )rZ  r£  rÞ   r_   rÞ   rÝ   c                 ó   — g | ]}|d z   ‘ŒS r‹  rP   rŒ  s     r3   rµ  zD_TestFancyMultidimAssign.test_fancy_assign_slice.<locals>.<listcomp>  ó   € Ð$Ð$Ð$˜B��a‘Ð$Ð$Ð$r5   c                 ó   — g | ]}|d z   ‘ŒS r’  rP   r“  s     r3   rµ  zD_TestFancyMultidimAssign.test_fancy_assign_slice.<locals>.<listcomp>  r˜  r5   )rÝ   r_   rÞ   r|  rZ  r£  r¤  )rC   rŠ   r]   r'   r  rá   r   rî   rº  rÄ  rì  )	r—   rˆ  re  r9  rÌ  r;  r<  ÚC1ÚC2s	            r3   Útest_fancy_assign_slicez0_TestFancyMultidimAssign.test_fancy_assign_slice  sí   € Ý
Œ	�Š�tÑÔÐå•R”Y—^’^ A qÑ)Ô)Ñ*Ô*ˆØ�NŠN˜1ÑÔˆàÐÐˆØÐÐˆà$Ð$ !Ð$Ñ$Ô$ˆØ$Ð$ !Ð$Ñ$Ô$ˆà"Ð"Ð"ˆÝŒY�q‰\Œ\˜!˜!˜!˜T˜'Ô"ˆÝ•j !¤-°%½¸t¹¼Ð1EÀrÑJÔJÐJÝ•j !¤-µ%¸±+´+¸uÐ1EÀrÑJÔJÐJÐJÐJr5   N)r¬   r­   r®   rƒ  r‡  r•  rœ  rP   r5   r3   r€  r€  ½  sV   € € € € € ð?ð ?ð ?ðB"ð "ð "ð"?ð ?ð ?ð:Kð Kð Kð Kð Kr5   r€  c                   ód   — e Zd ZdZd„ Zej                             d¦  «        d„ ¦   «         Zd„ Z	dS )Ú_TestArithmeticz&
    Test real/complex arithmetic
    c                 ó¬  — t          g d¢g d¢g d¢g d¢gd¦  «        | _        t          g d¢g d¢g d¢g d	¢gd
¦  «        | _        t          g d¢g d¢g d¢g d¢gd¦  «        | j        _        t	          | j        dz                       d¦  «        d| j        z  ¦  «         t	          | j        j        dz                       d¦  «        d| j        j        z  ¦  «         t	          | j        j        dz                       d¦  «        d| j        j        z  ¦  «         |                      | j        ¦  «        | _        |                      | j        ¦  «        | _	        d S )N)g      ø¿g      @r   ç      @r   r   )g      	@g     €Àg      ä?r   r   r   )r   r   ç      À¿rE  r   r   )r   r   g     À @r   r   r   ré   )g      Ø?r   r   r   rl  g      @)g     €,@g      Àr   r   r¡  r   )r   g      @r   r   r   r   )g     €2@ç      °¿r   r   r   r   r]  )g      ô?r   r   r   r£  g      À)r   ç     €@r   r   r   g      @)r   r£  r   r   r   r   )r¢  r   r   r   r   r   é   rT   )
r   Ú_TestArithmetic__AÚ_TestArithmetic__BrŒ  r   rn   r†  rá   Ú_TestArithmetic__AspÚ_TestArithmetic__Bspr·   s    r3   Ú__arith_initz_TestArithmetic.__arith_init#  s…  € åÐ4Ð4Ð4Ø9Ð9Ð9Ø3Ð3Ð3Ø0Ð0Ð0ð2ð 4=ñ>ô >ˆŒõ Ð3Ð3Ð3Ø9Ð9Ð9Ø/Ð/Ð/Ø5Ð5Ð5ð7ð 9EñFô FˆŒõ Ð9Ð9Ð9Ø;Ð;Ð;Ø5Ð5Ð5Ø7Ð7Ð7ð9ð ;DñEô EˆŒŒõ 	˜DœH R™K×/Ò/°Ñ8Ô8¸¸D¼H¹ÑEÔEÐEÝ˜DœHœM¨"Ñ,×4Ò4°WÑ=Ô=¸bÀÄÄÑ>NÑOÔOÐOÝ˜DœHœM¨"Ñ,×4Ò4°WÑ=Ô=¸bÀÄÄÑ>NÑOÔOÐOà—^’^ D¤HÑ-Ô-ˆŒ
Ø—^’^ D¤HÑ-Ô-ˆŒ
ˆ
ˆ
r5   rZ  c                 ó¨  — |                       ¦   «          t          | j        | j        z                        ¦   «         | j        | j        z   ¦  «         t          D �]ø}t          j	        d¬¦  «        5  | j         
                    |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          D �]�}t          j        |t          j        ¦  «        sMt          j	        d¬¦  «        5  | j        j         
                    |¦  «        }d d d ¦  «         n# 1 swxY w Y   n| j         
                    |¦  «        }|                      |¦  «        }||z   }||z   }t          |j        |j        ¦  «         t          |                     ¦   «         |¦  «         t          ||z   |¦  «         t          ||z   |¦  «         t          j        d¦  «        ||fv r�Œ$||z
  }||z
  }t          |j        |j        ¦  «         t          |                     ¦   «         |¦  «         t          ||z
  |¦  «         t          ||z
  |¦  «         �Œ’�Œúd S )Nr  r  rð   )Ú_TestArithmetic__arith_initr   r§  r¨  r�   r¥  r¦  r$   rC   r  rn   rá   rf   rE  r†  r   r8   ©	r—   r9   rJ   rê  r:   rK   rÀ  ÚD1ÚS1s	            r3   Útest_add_subz_TestArithmetic.test_add_sub:  s²  € à×ÒÑÔÐõ 	ØŒZ˜$œ*Ñ$×-Ò-Ñ/Ô/°´¸D¼HÑ1Dñ	
ô 	
ð 	
õ
 "ð  	/ñ  	/ˆAÝ” XÐ.Ñ.Ô.ð 'ð 'Ø”H—O’O AÑ&Ô&�ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à—.’. Ñ#Ô#ˆCÝ%ð /ñ /�Ý”} Q­Ô(:Ñ;Ô;ð +Ýœ¨XÐ6Ñ6Ô6ð 4ð 4Ø œHœM×0Ò0°Ñ3Ô3˜ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4øð œŸš¨Ñ*Ô*�AØ—n’n QÑ'Ô'�ð ˜‘U�Ø˜3‘Y�å˜RœX b¤hÑ/Ô/Ð/Ý" 2§:¢:¡<¤<°Ñ4Ô4Ð4Ý" 3¨¡7¨2Ñ.Ô.Ð.Ý" 1 s¡7¨2Ñ.Ô.Ð.õ ”8˜FÑ#Ô#¨¨1 vÐ-Ð-áà˜‘U�Ø˜3‘Y�å˜RœX b¤hÑ/Ô/Ð/Ý" 2§:¢:¡<¤<°Ñ4Ô4Ð4Ý" 3¨¡7¨2Ñ.Ô.Ð.Ý" 1 s¡7¨2Ñ.Ô.Ð.Ñ.ñ9/ð	 	/ð  	/s$   Á0BÂB	ÂB	Ã5 D!Ä!D%Ä(D%c           
      óÀ  — |                       ¦   «          t          | j        | j        j        z                       ¦   «         | j        | j        j        z  ¦  «         t          D �]z}t          j
        d¬¦  «        5  | j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          D �]}t          j        |t          j        ¦  «        r| j                             |¦  «        }nLt          j
        d¬¦  «        5  | j        j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }||j        z  }||j        z  }t!          |                     ¦   «         |dt#          |¦  «                             ¦   «         z  ¬¦  «         t'          |j        |j        ¦  «         �Œ�Œ|d S )Nr  r  g›+¡†›„=)Úatol)r«  r   r§  r¨  r8  r�   r¥  r¦  r$   rC   r  rn   rá   rf   rE  r†  r   ro  rS   r   r8   r¬  s	            r3   Útest_muz_TestArithmetic.test_muf  s,  € Ø×ÒÑÔÐõ 	˜DœJ¨¬¬Ñ5×>Ò>Ñ@Ô@Øœ8 d¤h¤jÑ0ñ	2ô 	2ð 	2õ "ð 	0ñ 	0ˆAÝ” XÐ.Ñ.Ô.ð 'ð 'Ø”H—O’O AÑ&Ô&�ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à—.’. Ñ#Ô#ˆCÝ%ð 0ñ 0�Ý”= ¥BÔ$6Ñ7Ô7ð 4ØœŸš¨Ñ*Ô*�A�Aåœ¨XÐ6Ñ6Ô6ð 4ð 4Ø œHœM×0Ò0°Ñ3Ô3˜ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à—n’n QÑ'Ô'�à˜œ‘W�Ø˜3œ5‘[�å §
¢
¡¤¨bØ%*­3¨r©7¬7¯;ª;©=¬=Ñ%8ð:ñ :ô :ð :å˜RœX b¤hÑ/Ô/Ð/Ñ/ñ0ð		0ð 	0s$   Á:B!Â!B%	Â(B%	Ä EÅE
ÅE
N)
r¬   r­   r®   r˜  r«  ró   rš  Ú	fail_slowr¯  r²  rP   r5   r3   rž  rž    si   € € € € € ðð ð.ð .ð .ð. „[×Ò˜1ÑÔð)/ð )/ñ Ôð)/ðV0ð 0ð 0ð 0ð 0r5   rž  c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestMinMaxc                 ó\  — t           j        t           j        t           j        t           j        t           j        fD �]�}t          j        d|¬¦  «                             dd¦  «        }|                      |¦  «        }t          | 
                    ¦   «         d¦  «         t          |                     ¦   «         d¦  «         t          | 
                    ¦   «         j        |¦  «         t          |                     ¦   «         j        |¦  «         |dz  }|                      |¦  «        }t          | 
                    ¦   «         d¦  «         t          |                     ¦   «         d¦  «         |dz  }|                      |¦  «        }t          | 
                    ¦   «         d	¦  «         t          |                     ¦   «         d¦  «         �Œ’|                      t          j        d
d¦  «                             dd¦  «        ¦  «        }t          | 
                    ¦   «         d
¦  «         t          | 
                    ¦   «         j        |j        ¦  «         | }t          |                     ¦   «         d¦  «         |                      t          j        d¦  «        ¦  «        }t          | 
                    ¦   «         d¦  «         t          |                     ¦   «         d¦  «         t          |                     ¦   «         j        |j        ¦  «         t          j        dt          ¬¦  «                             dd¦  «        }d|dd…d d …f<   |                      |¦  «        }t          | 
                    ¦   «         d¦  «         t          |                     ¦   «         d¦  «         t          j        d¦  «        t          j        d¦  «        t          j        d¦  «        fD ]K}|                      |¦  «        }t          t           |j
        ¦  «         t          t           |j        ¦  «         ŒLd S )Nr³  r^  rZ  r|  r   é   r  iíÿÿÿiòÿÿÿrÝ   rO   rÞ   rï  r_   r–  ©r   rO   ©rO   r   )rC   r[  ré   rT   r`   r]  r   rº  rá   r   rh   rS   r8   r   rJ  rî   rï   )r—   r8   rˆ  r/  rK  s        r3   Útest_minmaxz_TestMinMax.test_minmax‚  s5  € Ý”j¥"¤*­b¬h½¼Å"Ä-ÐPð 	%ñ 	%ˆEÝ”	˜" EÐ*Ñ*Ô*×2Ò2°1°QÑ7Ô7ˆAà—’˜qÑ!Ô!ˆAÝ˜Ÿš™œ !Ñ$Ô$Ð$Ý˜Ÿš™œ "Ñ%Ô%Ð%Ý˜Ÿš™œœ¨Ñ.Ô.Ð.Ý˜Ÿš™œœ¨Ñ.Ô.Ð.à�‰GˆAØ—’˜qÑ!Ô!ˆAÝ˜Ÿš™œ #Ñ&Ô&Ð&Ý˜Ÿš™œ !Ñ$Ô$Ð$à�‰FˆAØ—’˜qÑ!Ô!ˆAÝ˜Ÿš™œ #Ñ&Ô&Ð&Ý˜Ÿš™œ !Ñ$Ô$Ð$Ñ$ð �NŠN�2œ9 Q¨Ñ+Ô+×3Ò3°A°qÑ9Ô9Ñ:Ô:ˆÝ�Q—U’U‘W”W˜aÑ Ô Ð Ý�Q—U’U‘W”W”] A¤GÑ,Ô,Ð,àˆBˆÝ�Q—U’U‘W”W˜bÑ!Ô!Ð!ð �NŠN�2œ8 FÑ+Ô+Ñ,Ô,ˆÝ�Q—U’U‘W”W˜aÑ Ô Ð Ý�Q—U’U‘W”W˜aÑ Ô Ð Ý�Q—U’U‘W”W”] A¤GÑ,Ô,Ð,õ ŒI�b¥Ð&Ñ&Ô&×.Ò.¨q°Ñ3Ô3ˆØˆˆ!ˆAˆ#ˆqˆqˆqˆ&‰	Ø�NŠN˜1ÑÔˆÝ�Q—U’U‘W”W˜aÑ Ô Ð Ý�Q—U’U‘W”W˜bÑ!Ô!Ð!õ ”(˜6Ñ"Ô"¥B¤H¨WÑ$5Ô$5µr´xÀÑ7HÔ7HÐIð 	-ð 	-ˆAØ—’˜qÑ!Ô!ˆAÝ�* a¤eÑ,Ô,Ð,Ý�* a¤eÑ,Ô,Ð,Ð,ð	-ð 	-r5   c                 ó,	  — t          j        d¦  «                             dd¦  «        }d|dd d …f<   d|d d …df<   d|d<   d|d	<   |                      |¦  «        }g d
¢}|D ]˜}t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         Œ™t          j        dd¦  «                             dd¦  «        }|                      |¦  «        }|D ]˜}t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         Œ™t          j        d¦  «        }|                      |¦  «        }|D ]˜}t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         t	          |                     |¬¦  «                             ¦   «         |                     |d¬¦  «        ¦  «         Œ™ddg}ddg}t          j        d¦  «        }|                      |¦  «        }|D ]:}t          t          |j        |¬¦  «         t          t          |j        |¬¦  «         Œ;|D ]’}t	          t          j        d¦  «        |                     |¬¦  «                             ¦   «         ¦  «         t	          t          j        d¦  «        |                     |¬¦  «                             ¦   «         ¦  «         Œ“t          j        d¦  «        }|                      |¦  «        }|D ]:}t          t          |j        |¬¦  «         t          t          |j        |¬¦  «         Œ;|D ]’}t	          t          j        d¦  «        |                     |¬¦  «                             ¦   «         ¦  «         t	          t          j        d¦  «        |                     |¬¦  «                             ¦   «         ¦  «         Œ“d S )NrW  rZ  rO   r   rÝ   r¦  r3  r  rŽ  ©r  r  r   rÝ   r  Tr3  é3   )rO   rZ  r  r¸  r  r¹  rð  )rC   r   rº  rá   r   rS   r�   rh   r   rî   rï   )r—   rˆ  r/  r5  r  Ú	axes_evenÚaxes_odds          r3   Útest_minmax_axisz_TestMinMax.test_minmax_axis±  se  € ÝŒI�b‰MŒM×!Ò! ! RÑ(Ô(ˆàˆˆ!ˆQˆQˆQˆ$‰àˆˆ!ˆ!ˆ!ˆQˆ$‰àˆˆ$‰àˆˆ$‰Ø�NŠN˜1ÑÔˆàˆ~ˆ~ˆØð 	ð 	ˆDÝØ—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð õ Ø—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð ð õ
 ŒI�a˜ÑÔ×$Ò$ R¨Ñ+Ô+ˆØ�NŠN˜1ÑÔˆØð 	ð 	ˆDÝØ—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð õ Ø—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð ð õ
 ŒH�WÑÔˆØ�NŠN˜1ÑÔˆØð 	ð 	ˆDÝØ—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð õ Ø—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð ð ð ˜�Gˆ	Ø�r�7ˆõ ŒH�WÑÔˆØ�NŠN˜1ÑÔˆØð 	8ð 	8ˆDÝ�* a¤e°$Ð7Ñ7Ô7Ð7Ý�* a¤e°$Ð7Ñ7Ô7Ð7Ð7Øð 	Mð 	MˆDÝ�rœx¨Ñ/Ô/°·²¸D°Ñ1AÔ1A×1IÒ1IÑ1KÔ1KÑLÔLÐLÝ�rœx¨Ñ/Ô/°·²¸D°Ñ1AÔ1A×1IÒ1IÑ1KÔ1KÑLÔLÐLÐLåŒH�WÑÔˆØ�NŠN˜1ÑÔˆØð 	8ð 	8ˆDÝ�* a¤e°$Ð7Ñ7Ô7Ð7Ý�* a¤e°$Ð7Ñ7Ô7Ð7Ð7Øð 	Mð 	MˆDÝ�rœx¨Ñ/Ô/°·²¸D°Ñ1AÔ1A×1IÒ1IÑ1KÔ1KÑLÔLÐLÝ�rœx¨Ñ/Ô/°·²¸D°Ñ1AÔ1A×1IÒ1IÑ1KÔ1KÑLÔLÐLÐLð	Mð 	Mr5   c                 óÊ  — t          t          j        d¦  «                             dd¦  «        t          ¬¦  «        }d|dd d …f<   d|d d …df<   d|d<   d	|d
<   t          j        |d<   t          j        |d<   |                      |¦  «        }|                     ¦   «         }t          j        |¦  «        sJ ‚|t          j        |¦  «        k    sJ ‚| 	                    ¦   «         }t          j        |¦  «        sJ ‚|t          j	        |¦  «        k    sJ ‚g d¢}|D ]È}|                     |¬¦  «        }t          |t          ¦  «        sJ ‚t          |                     ¦   «         t          j        ||¬¦  «        ¦  «         | 	                    |¬¦  «        }t          |t          ¦  «        sJ ‚t          |                     ¦   «         t          j	        ||¬¦  «        ¦  «         ŒÉd S )NrW  rZ  rO   r^  r   rÝ   r¦  r3  r  rŽ  r  )rÝ   r|  r¼  r  )r(   rC   r   rº  rJ  rÿ   rá   Únanmaxr  ÚnanminrB   r   r   r�   )	r—   rˆ  r/  ÚX_nan_maximumÚX_nan_minimumr5  r  ÚX_nan_maximaÚX_nan_minimas	            r3   Útest_nanminmaxz_TestMinMax.test_nanminmaxò  sÞ  € Ý•2”9˜R‘=”=×(Ò(¨¨2Ñ.Ô.µeÐ<Ñ<Ô<ˆØˆˆ!ˆQˆQˆQˆ$‰Øˆˆ!ˆ!ˆ!ˆQˆ$‰Øˆˆ$‰Øˆˆ$‰Ý”&ˆˆ$‰Ý”&ˆˆ$‰Ø�NŠN˜1ÑÔˆàŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àˆ~ˆ~ˆØð 		5ð 		5ˆDØŸ8š8¨˜8Ñ.Ô.ˆLÝ˜l­JÑ7Ô7Ð7Ð7Ð7Ý˜L×0Ò0Ñ2Ô2ÝœI a¨dÐ3Ñ3Ô3ñ5ô 5ð 5ð Ÿ8š8¨˜8Ñ.Ô.ˆLÝ˜l­JÑ7Ô7Ð7Ð7Ð7Ý˜L×0Ò0Ñ2Ô2ÝœI a¨dÐ3Ñ3Ô3ñ5ô 5ð 5ð 5ð		5ð 		5r5   c                 óD  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }dD ]o}t          ||¦  «        }t          t          |d¬¦  «         t          t
          |d¬¦  «         t          t
          |d¬¦  «         t          t          |d	d	¬
¦  «         Œpd S )Nrú  rû  rü  )rh   rS   rÞ   r  r  r  rÝ   r  )r   rá   r€   rî   rï   r»  )r—   rà   râ   Úfnamer‚   s        r3   Útest_minmax_invalid_paramsz&_TestMinMax.test_minmax_invalid_params  s¾   € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆà#ð 	;ð 	;ˆEÝ˜5 %Ñ(Ô(ˆDÝ�* d°Ð3Ñ3Ô3Ð3Ý�) T°Ð7Ñ7Ô7Ð7Ý�) T°Ð4Ñ4Ô4Ð4Ý�* d°¸Ð:Ñ:Ô:Ð:Ð:ð	;ð 	;r5   c                 ój  — ddl m} t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t	          ||j        ¦  «        rjt          t          j        |¦  «        t          j        |¦  «        ¦  «         t          t          j	        |¦  «        t          j	        |¦  «        ¦  «         d S d S )Nr   ©Ú_datarú  rû  rü  )
Úscipy.sparserÎ  r   rá   rB   Ú_minmax_mixinr   rC   rh   rS   )r—   rÎ  rà   râ   s       r3   Útest_numpy_minmaxz_TestMinMax.test_numpy_minmax  s¸   € ð 	'Ð&Ð&Ð&Ð&Ð&å�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆõ �e˜UÔ0Ñ1Ô1ð 	;Ý�rœv e™}œ}­b¬f°S©k¬kÑ:Ô:Ð:Ý�rœv e™}œ}­b¬f°S©k¬kÑ:Ô:Ð:Ð:Ð:ð	;ð 	;r5   c           
      óp  — ddl m} t          j        g d¢g d¢g d¢g d¢g d¢g¦  «        }|                     ¦   «         }t          j        dd	gd
dgg¦  «        }t          j        dd	gd
dgg¦  «        }t          j        g d¢g d¢g d¢g¦  «        }|||||fD �]Ò}|                      |¦  «        }t          ||j        ¦  «        sŒ.t          | 	                    ¦   «         t          j	        |¦  «        ¦  «         t          | 
                    ¦   «         t          j
        |¦  «        ¦  «         t          | 	                    d¬¦  «        t          t          j	        |d¬¦  «        ¦  «        ¦  «         t          | 
                    d¬¦  «        t          t          j
        |d¬¦  «        ¦  «        ¦  «         t          | 	                    d¬¦  «        t          t          j	        |d¬¦  «                             dd¦  «        ¦  «        ¦  «         t          | 
                    d¬¦  «        t          t          j
        |d¬¦  «                             dd¦  «        ¦  «        ¦  «         �ŒÔt          j        d¦  «        }t          j        d¦  «        }dD ]O}	|                      |¦  «        }t          t          |j	        |	¬¦  «         t          t          |j
        |	¬¦  «         ŒPdD ]O}	|                      |¦  «        }t          t          |j	        |	¬¦  «         t          t          |j
        |	¬¦  «         ŒPd S )Nr   rÍ  )r  rZ  r_   rÞ   )r   r   r  r  )r  r  rz  rn  r’  )rÝ   r_   r   r   r|  rÞ   r¤  rZ  )rZ  rZ  rÞ   )r|  r¦  rO   )rÞ   r|  r¦  r  rÝ   r  r˜  rÎ  rd   )NrÝ   )rÏ  rÎ  rC   r   r   rá   rB   rÐ  r   ÚargmaxÚargminr'   rº  rš  rî   rï   )
r—   rÎ  r­  ÚD2ÚD3ÚD4ÚD5rˆ  r˜   r  s
             r3   Útest_argmaxz_TestMinMax.test_argmax/  s'  € Ø&Ð&Ð&Ð&Ð&Ð&ÝŒXØˆMˆMØˆNˆNØÐÐØˆLˆLØˆLˆLð
ñ ô ˆð �\Š\‰^Œ^ˆåŒX˜˜1�v  1˜vÐ&Ñ'Ô'ˆÝŒX˜˜1�v  1˜vÐ&Ñ'Ô'ˆÝŒX�y�y�y * * *¨i¨i¨iÐ8Ñ9Ô9ˆà�b˜"˜b "Ð%ð 	Hñ 	HˆAØ—.’. Ñ#Ô#ˆCÝ˜c 5Ô#6Ñ7Ô7ð Øå˜Ÿš™œ¥r¤y°¡|¤|Ñ4Ô4Ð4Ý˜Ÿš™œ¥r¤y°¡|¤|Ñ4Ô4Ð4å˜Ÿš¨˜Ñ+Ô+Ý!¥"¤)¨A°AÐ"6Ñ"6Ô"6Ñ7Ô7ñ9ô 9ð 9å˜Ÿš¨˜Ñ+Ô+Ý!¥"¤)¨A°AÐ"6Ñ"6Ô"6Ñ7Ô7ñ9ô 9ð 9õ ˜Ÿš¨˜Ñ+Ô+Ý!¥"¤)¨A°AÐ"6Ñ"6Ô"6×">Ò">¸rÀ1Ñ"EÔ"EÑFÔFñHô Hð Hå˜Ÿš¨˜Ñ+Ô+Ý!¥"¤)¨A°AÐ"6Ñ"6Ô"6×">Ò">¸rÀ1Ñ"EÔ"EÑFÔFñHô Hð Hñ Hõ ŒX�fÑÔˆÝŒX�fÑÔˆàð 	=ð 	=ˆDØ—.’. Ñ$Ô$ˆCÝ�* c¤j°tÐ<Ñ<Ô<Ð<Ý�* c¤j°tÐ<Ñ<Ô<Ð<Ð<àð 	=ð 	=ˆDØ—.’. Ñ$Ô$ˆCÝ�* c¤j°tÐ<Ñ<Ô<Ð<Ý�* c¤j°tÐ<Ñ<Ô<Ð<Ð<ð	=ð 	=r5   N)	r¬   r­   r®   rº  rÀ  rÈ  rË  rÑ  rÙ  rP   r5   r3   rµ  rµ  �  ss   € € € € € ð--ð --ð --ð^?Mð ?Mð ?MðB5ð 5ð 5ð<;ð ;ð ;ð;ð ;ð ;ð$,=ð ,=ð ,=ð ,=ð ,=r5   rµ  c                   ó   — e Zd Zd„ ZdS )Ú_TestGetNnzAxisc                 óÜ  — t          ddgddgddgg¦  «        }|                     t          ¦  «        }|                      |¦  «        }t          j        t          j        f}t          |                     d ¬¦  «        | 	                    d ¬¦  «        ¦  «         t          |                     ¦   «         | 	                    ¦   «         ¦  «         t          |                     d¬¦  «        | 	                    d¬¦  «        ¦  «         t          | 	                    d¬¦  «        j        |¦  «         t          |                     d¬¦  «        | 	                    d¬¦  «        ¦  «         t          | 	                    d¬¦  «        j        |¦  «         t          |                     d	¬¦  «        | 	                    d	¬¦  «        ¦  «         t          | 	                    d	¬¦  «        j        |¦  «         t          |                     d
¬¦  «        | 	                    d
¬¦  «        ¦  «         t          | 	                    d
¬¦  «        j        |¦  «         t          t          |j	        d¬¦  «         d S )Nr   r_   rÞ   rZ  rý  r¦  r  rÝ   r  r  )r   rn   rð   rá   rC   rT   r`   r   r  Úgetnnzr4   r8   rî   rï   )r—   rà   Úbool_datrâ   Úaccepted_return_dtypess        r3   Útest_getnnz_axisz _TestGetNnzAxis.test_getnnz_axis_  sþ  € Ý�a˜�VØ˜�VØ˜!�Wðñ ô ˆð —:’:�dÑ#Ô#ˆØ—’˜sÑ#Ô#ˆå"$¤(­B¬HÐ!5Ðå˜8Ÿ<š<¨T˜<Ñ2Ô2°E·L²LÀd°LÑ4KÔ4KÑLÔLÐLÝ˜8Ÿ<š<™>œ>¨5¯<ª<©>¬>Ñ:Ô:Ð:Ý˜8Ÿ<š<¨Q˜<Ñ/Ô/°·²À1°Ñ1EÔ1EÑFÔFÐFÝ�%—,’, A�,Ñ&Ô&Ô,Ð.DÑEÔEÐEÝ˜8Ÿ<š<¨Q˜<Ñ/Ô/°·²À1°Ñ1EÔ1EÑFÔFÐFÝ�%—,’, A�,Ñ&Ô&Ô,Ð.DÑEÔEÐEÝ˜8Ÿ<š<¨R˜<Ñ0Ô0°%·,²,ÀB°,Ñ2GÔ2GÑHÔHÐHÝ�%—,’, B�,Ñ'Ô'Ô-Ð/EÑFÔFÐFÝ˜8Ÿ<š<¨R˜<Ñ0Ô0°%·,²,ÀB°,Ñ2GÔ2GÑHÔHÐHÝ�%—,’, B�,Ñ'Ô'Ô-Ð/EÑFÔFÐFå•j %¤,°QÐ7Ñ7Ô7Ð7Ð7Ð7r5   N)r¬   r­   r®   rà  rP   r5   r3   rÛ  rÛ  ^  s#   € € € € € ð8ð 8ð 8ð 8ð 8r5   rÛ  Tc                 óø   — |r| S d„ }t          | j        ¦  «        }| j                             ¦   «         D ](\  }}|                     d¦  «        r ||¦  «        ||<   Œ)t	          | j        dz   | j        |¦  «        S )z…
    Construct a class that either runs tests as usual (require=True),
    or each method skips if it encounters a common error.
    c                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                  óŒ   •— 	  ‰| i |¤ŽS # t           t          t          t          t          f$ r t          j        d¦  «        ‚w xY w)Nrõ  )r~  r»  rï   rº  ÚAttributeErrorró   rô   )rG   rƒ   Úfcs     €r3   Úwrapperz6_possibly_unimplemented.<locals>.wrap.<locals>.wrapperƒ  sY   ø€ ðAØ˜2˜q˜< B˜<˜<Ð'øÝ+­Y½
Ý"¥Nð4ð Að Að Aå œ+Ð&?Ñ@Ô@Ð@ðAøøøs	   ƒ ‹8A)Ú	functoolsÚwraps)rå  ræ  s   ` r3   Úwrapz%_possibly_unimplemented.<locals>.wrap‚  s=   ø€ ÝŒ_˜RÑ Ô ðAð Að Að Añ !Ô ðAð ˆNr5   Útest_ÚNotImplemented)Údictr@   rk  Ú
startswithr  r¬   Ú	__bases__)rê   Úrequireré  Únew_dictr‡   r‚   s         r3   Ú_possibly_unimplementedrñ  z  sœ   € ð
 ð Øˆ
ð		ð 		ð 		õ ˜œÑ%Ô%ˆØœ,×,Ò,Ñ.Ô.ð 	,ð 	,‰JˆD�$Ø�Š˜wÑ'Ô'ð ,Ø!%  d¡¤�˜‘øÝ�C”LÐ#3Ñ3Ø”MØñô ð 	r5   c	                 ó’  — t           t          t          | ¦  «        t          t          t
          t          t          |¦  «        t          t          |¦  «        t          t          |¦  «        t          t          |¦  «        t          t          |o|¦  «        t          t          |o|¦  «        t          t          |¦  «        t          t          |¦  «        f}	i }
|	D ]`}|j        D ]V}|                     d¦  «        sŒ|
                     |¦  «        }|�"t#          d|j        › d|› d|j        › �¦  «        ‚||
|<   ŒWŒat'          d|	i ¦  «        S )zˆ
    Construct a base class, optionally converting some of the tests in
    the suite to check that the feature is not implemented.
    rê  NzTest class z overloads test z defined in ÚTestBase)rÛ   rñ  r³  rØ  r�  rž  rÝ  r  r.  rc  rx  r€  rµ  rÛ  r@   rí  Úgetrï   r¬   r  )ÚgetsetÚslicingÚslicing_assignÚfancy_indexingÚfancy_assignÚfancy_multidim_indexingÚfancy_multidim_assignÚminmaxÚnnz_axisÚbasesÚnamesrê   r‡   Úold_clss                 r3   Úsparse_test_classr  –  ss  € õ Ý$¥[°&Ñ9Ô9ÝÝ#ÝÝ$¥\°7Ñ;Ô;Ý$Õ%7¸ÑHÔHÝ$Õ%7¸ÑHÔHÝ$Õ%=Ø%1ñ3ô 3å$Õ%7Ø%3Ð%OÐ8OñQô Qå$Õ%=Ø%:Ð%K¸|ñMô Må$¥[°&Ñ9Ô9Ý$¥_°hÑ?Ô?ðA€Eð$ €EØð ð ˆØ”Lð 	ð 	ˆDØ—?’? 7Ñ+Ô+ð ØØ—i’i ‘o”oˆGØÐ"Ý ð "I¨s¬|ð "Ið "IØ$(ð"Ið "IØ6=Ô6Fð"Ið "Iñ Jô Jð JàˆE�$‰KˆKð	õ �
˜E 2Ñ&Ô&Ð&r5   c                   ó¾   — e Zd Zed„ ¦   «         Zej        ej        ej        ej	        g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 )r  c                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S ©Nr×  )r   r  r!   r   ©rê   Úargsr;   r  s       r3   rá   zTestCSR.spcreatorÃ  ó•   € åÑ Ô ð 	/ CØ�JŠJÕ.Ð0QÑRÔRÐRÝ˜tÐ. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ó   �'AÁAÁ
Ac                 ó’  — t          g d¢g d¢g d¢gd¦  «        }t          |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |                     ¦   «         d¦  «         t          |j	        d	¦  «         t	          | 
                    ¦   «         |¦  «         d S )
N)r   r|  r   ré  r·  rß   )r|  rÞ   r_   rÞ  rá  rÞ   r�  )r   r   r   r…  r   rƒ  r„  r   rÝ  rO  r�   ©r—   rL   r  s      r3   Útest_constructor1zTestCSR.test_constructor1Ê  sÄ   € Ý�9�9�9Ø�9�9Ø�9�9ðà"ñ$ô $ˆõ ˜‰mŒmˆÝ! #¤(¨7¨7¨7Ñ3Ô3Ð3Ý˜3œ; w w wÑ/Ô/Ð/Ý˜3œ: i i iÑ0Ô0Ð0Ý�S—Z’Z‘\”\ !Ñ$Ô$Ð$Ý�S”Z Ñ&Ô&Ð&Ý˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,Ð,Ð,r5   c                 ó  — t          dd¦  «        }d|d<   t          |¦  «        }t          |j        dg¦  «         t	          |j        dg¦  «         t	          |j        g d¢¦  «         t          |                     ¦   «         |¦  «         d S )N©r£  r£  rß   rZ  r¸  r|  )r   r   r   r   rÝ   rÝ   rÝ   )r   r   r   r…  r   rƒ  r„  r�   r
  s      r3   Útest_constructor2zTestCSR.test_constructor2Ö  s�   € Ý�%˜ÑÔˆØˆˆ#‰Ý˜‰mŒmˆÝ! #¤(¨A¨3Ñ/Ô/Ð/Ý˜3œ;¨ sÑ+Ô+Ð+Ý˜3œ: o o oÑ6Ô6Ð6Ý! #§+¢+¡-¤-°Ñ3Ô3Ð3Ð3Ð3r5   c                 ó$  — t          ddgddgddggd¦  «        }t          |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |                     ¦   «         |¦  «         d S )	NrÝ   r   r_   rÞ   rß   r¡  rê  rá  )r   r   r   r…  r   rƒ  r„  r�   r
  s      r3   Útest_constructor3zTestCSR.test_constructor3ß  sš   € Ý�A�q�6Ø�q�6Ø�q�6ðàñ!ô !ˆõ ˜‰mŒmˆÝ! #¤(¨7¨7¨7Ñ3Ô3Ð3Ý˜3œ; w w wÑ/Ô/Ð/Ý˜3œ: i i iÑ0Ô0Ð0Ý! #§+¢+¡-¤-°Ñ3Ô3Ð3Ð3Ð3r5   c                 óT  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          ||f¦  «        }t          ||fd¦  «        }t          t	          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         t          dd	gd
d	gd
d	gfft          j        ¬¦  «        }t          dd
gd
d	ggt          j        ¬¦  «        }t          ||                     ¦   «         ¦  «         t          g d¢g d¢g d¢ff¦  «        }|j	        dk    sJ ‚d S )N©r_   rÞ   rÝ   rÞ   r   rÝ   rÞ   r   r_   rÝ   r_   ©r   rÝ   r   r   rÝ   rÝ   r_   r_   r_   r_   rÝ   ©g      @g      $@rC  g      "@rE  rj  g      &@rF  g       @g      @r[  r6  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�   rC   Úuint64r4  )r—   r‡  rˆ  r…  rå  r�  r$  s          r3   Útest_constructor4zTestCSR.test_constructor4é  s9  € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝð 3ð 3ð 3ñ 4ô 4ˆõ �S˜�IÑÔˆÝ˜$˜r˜ 5Ñ)Ô)ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCõ ˜9 a˜.¨A¨q¨6°A°q°6Ð*:Ð;Å2Ä9ÐMÑMÔMˆÝ˜	 1�~¨¨1 vÐ.µb´iÐ@Ñ@Ô@ˆÝ˜5 #§+¢+¡-¤-Ñ0Ô0Ð0õ ˜)˜)˜) i i i°°°Ð%;Ð<Ñ=Ô=ˆØŒw˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r5   c                 óº   — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||f¦  «        }t          |j        d¦  «         d S ©N©r   rÝ   rÞ   rÞ   ©r   rZ  rÝ   r_   r’  rX  )r   r   r   r´   ©r—   r„  rƒ  r…  r�  s        r3   Útest_constructor5zTestCSR.test_constructor5ý  óa   € å�y�y�yÑ!Ô!ˆÝ˜	˜	˜	Ñ"Ô"ˆÝ�Y�Y�YÑÔˆÝ˜$ ¨Ð0Ñ1Ô1ˆÝ˜3œ9 UÑ+Ô+Ð+Ð+Ð+r5   c                 óÎ   — g d¢}g d¢}g d¢}t          |||f¦  «        }t          |j        d¦  «         t          t	          j        |j        t          j        ¦  «        ¦  «         d S r  )r   r   r´   r   rC   rf   r8   Úsignedintegerr  s        r3   Útest_constructor6zTestCSR.test_constructor6  sh   € à��ˆØ�,�,ˆØˆ|ˆ|ˆÝ˜$ ¨Ð0Ñ1Ô1ˆÝ˜3œ9 eÑ,Ô,Ð,Ý•”˜cœi­Ô)9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r5   c                 ó  — t          d¦  «        dz   }t          g d¢t          j        ¬¦  «        }t          g d¢t          j        ¬¦  «        }t	          |||fd¬¦  «        }t          g d¢g d	¢g d
¢gd¦  «        }t          |j        j        t          j        t          j        ¦  «        ¦  «         t          |j	        j        t          j        t          j        ¦  «        ¦  «         t          |                     ¦   «         |¦  «         d S )Nr£  rÝ   )rÝ   r_   rÝ   r   r   r_   r^  ©r   r_   r|  r£  r3  ©r´   rú  r¶  )rZ  r   r£  rß   )r   r   rC   r`   r   r   r„  r8   rT   rƒ  r   r�   )r—   r…  rˆ  ÚptrrG   rL   s         r3   Útest_constructor_smallcolz!TestCSR.test_constructor_smallcol  sè   € å�a‰yŒy˜1‰}ˆÝÐ&Ð&Ð&­b¬hÐ7Ñ7Ô7ˆÝ�L�L�L­¬Ð1Ñ1Ô1ˆå˜˜c 3Ð'¨vÐ6Ñ6Ô6ˆå�9�9�9Ø�9�9Ø�9�9ðà"ñ$ô $ˆõ 	�Q”X”^¥R¤X­b¬hÑ%7Ô%7Ñ8Ô8Ð8Ý�Q”Y”_¥b¤h­r¬xÑ&8Ô&8Ñ9Ô9Ð9Ý˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*r5   c           	      óH  — t          d¦  «        dz   }t          j        t          j        ¦  «        j        dz   }t          ddd||dz   |dz   gt          j        ¬¦  «        }t          g d¢t          j        ¬¦  «        }t          |||f¦  «        }t          |j	        j
        t          j
        t          j        ¦  «        ¦  «         t          |j        j
        t          j
        t          j        ¦  «        ¦  «         t          |j        dt	          |¦  «        dz   f¦  «         d S )	Nr£  rÝ   r#  r   r_   r^  r&  rÞ   )r   rC   rR   rT   rS   r   r`   r   r   r„  r8   rƒ  r   r´   )r—   r…  Úlargerˆ  r(  rG   s         r3   Útest_constructor_largecolz!TestCSR.test_constructor_largecol  så   € å�a‰yŒy˜1‰}ˆÝ”�œÑ"Ô"Ô&¨Ñ,ˆÝ�Q˜˜1˜e U¨1¡W¨e°A©gÐ6½b¼hÐGÑGÔGˆÝ�L�L�L­¬Ð1Ñ1Ô1ˆå˜˜c 3Ð'Ñ(Ô(ˆå�Q”X”^¥R¤X­b¬hÑ%7Ô%7Ñ8Ô8Ð8Ý�Q”Y”_¥b¤h­r¬xÑ&8Ô&8Ñ9Ô9Ð9Ý˜1œ7 Q­¨C©¬°©
 OÑ4Ô4Ð4Ð4Ð4r5   c                 óv  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        g d¢¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )NrZ  ©r¤  r_   rÝ   rZ  r|  ©r   rÞ   rZ  ©r_   rO   r'  ©rÝ   r_   r¤  r|  rZ  )r   r   r   rþ   r`  r   rƒ  r�   ©r—   r…  rƒ  r„  r  r  s         r3   Útest_sort_indiceszTestCSR.test_sort_indices+  s£   € Ý�a‰yŒyˆÝ˜˜˜Ñ(Ô(ˆÝ�y�y�yÑ!Ô!ˆÝ˜$ ¨Ð0¸Ð?Ñ?Ô?ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ;   Ñ7Ô7Ð7Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c                 ó¤  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        d¦  «         t	          |j        g d¢¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         d S )N©rÝ   r   r   r   r_   r   rÞ   r   ©rÝ   r_   rÞ   r|  rZ  r£  r¤  r¥  ©r   rÞ   r¥  r0  r'  rÞ   r¡  )r   r   rþ   Úeliminate_zerosr   r4  r…  r�   r2  s         r3   Útest_eliminate_zeroszTestCSR.test_eliminate_zeros5  óÁ   € ÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ0Ð0Ð0Ñ1Ô1ˆÝ�y�y�yÑ!Ô!ˆÝ˜$ ¨Ð0¸Ð?Ñ?Ô?ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ7 AÑ&Ô&Ð&Ý˜3œ8 I I IÑ.Ô.Ð.Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c           	      ó2  — t          t          j        d¦  «                             dd¦  «        dz  ¦  «        }dD ]Û}t	          t          t           |¦  «        d¦  «          t          ||¦  «        ¦   «         }t	          |j        |j        ¦  «         t          |j	        |j	        ¦  «         t          |j
        |j
        ¦  «         t          |                     ¦   «          t          t          |¦  «        |                     ¦   «         ¦  «        ¦  «         ŒÜd S )Nr³  r|  rZ  rs  ©rw  rx  ry  rz  r{  r|  r}  r~  r  rr  r€  r�  r‚  rƒ  r„  r…  r†  r‡  T)r   rC   r   rº  r   r�  r€   r´   r   rƒ  r„  r�   ©r—   r/  re  rv  s       r3   Útest_ufuncszTestCSR.test_ufuncs@  óì   € Ý•r”y ‘}”}×,Ò,¨Q°Ñ2Ô2°SÑ8Ñ9Ô9ˆðJð 	Jð 	JˆAõ �¥¨QÑ/Ô/°Ñ6Ô6Ð6Ø•˜˜A‘”‘”ˆBÝ˜œ "¤(Ñ+Ô+Ð+Ý˜qœy¨"¬*Ñ5Ô5Ð5Ý˜qœx¨¬Ñ3Ô3Ð3Ý˜rŸzšz™|œ|¨^­WµR¸©^¬^¸A¿IºI¹K¼KÑ-HÔ-HÑIÔIÐIÐIð	Jð 	Jr5   c                 ó²  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }t          ||z                        ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         d S )	NrZ  r.  r/  r0  r'  r£  ©r¥  rÝ   rZ  r¤  r_   r|  ©r   r_   r£  )r   r   r   r   r�   r2  s         r3   Útest_unsorted_arithmeticz TestCSR.test_unsorted_arithmeticL  óÌ   € Ý�a‰yŒyˆÝ˜˜˜Ñ(Ô(ˆÝ�y�y�yÑ!Ô!ˆÝ˜$ ¨Ð0¸Ð?Ñ?Ô?ˆÝ�a‰yŒyˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝ�y�y�yÑ!Ô!ˆÝ˜$ ¨Ð0¸Ð?Ñ?Ô?ˆÝ�c˜C‘i×(Ò(Ñ*Ô*¨C¯KªK©M¬M¸C¿KºK¹M¼MÑ,IÑJÔJÐJÐJÐJr5   c                 ó²  — t          j        dgdgdgg¦  «        }t          j        g d¢¦  «        }t           j                             d¦  «         t	          t           j                             dd¦  «        ¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r|                     ¦   «         }t          ||||f         ¦  «         d S ©NrÝ   r_   rÞ   rz  r\   rZ  r¤  ©
rC   r   rŠ   r]   r'   r  rá   r    r�   r   ©r—   r9  rÌ  rˆ  re  r:  s         r3   Útest_fancy_indexing_broadcastz%TestCSR.test_fancy_indexing_broadcastW  ó¸   € åŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝŒH�Y�Y�YÑÔˆå
Œ	�Š�tÑÔÐÝ•R”Y—^’^ A qÑ)Ô)Ñ*Ô*ˆØ�NŠN˜1ÑÔˆà��!�ŒfˆÝ�C‰=Œ=ð 	 Ø—+’+‘-”-ˆCÝ�S˜!˜A˜a˜Cœ&Ñ!Ô!Ð!Ð!Ð!r5   c                 óJ  — t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }t          |||f¦  «                             ¦   «         }t	          d|j        ¦  «         t          |j        t          ¦  «        sJ ‚t          |||f¦  «                             ¦   «         }t	          d|j        ¦  «         |                     ¦   «          t	          d|j        ¦  «         t          |j
        |¦  «         t          |||f¦  «                             ¦   «         }d|_        t	          d|j        ¦  «         t          |j
        |¦  «         |                     ¦   «          t          |j
        |¦  «         dS )z@Ensure has_sorted_indices memoizes sorted state for sort_indicesr   rÝ   r_   TFN)rC   r   r   rþ   r   r_  rB   rð   r`  r   rƒ  )r—   Úsorted_indsÚunsorted_indsr…  r„  rL  s         r3   Útest_has_sorted_indiceszTestCSR.test_has_sorted_indicese  s{  € å”h  1˜vÑ&Ô&ˆÝœ ! Q Ñ(Ô(ˆÝŒx˜˜A˜ÑÔˆÝ”˜1˜a˜&Ñ!Ô!ˆÝ˜˜k¨6Ð2Ñ3Ô3×8Ò8Ñ:Ô:ˆÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜!Ô.µÑ5Ô5Ð5Ð5Ð5å˜˜m¨VÐ4Ñ5Ô5×:Ò:Ñ<Ô<ˆÝ�U˜AÔ0Ñ1Ô1Ð1ð 	
�ŠÑÔÐÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜1œ9 kÑ2Ô2Ð2å˜˜m¨VÐ4Ñ5Ô5×:Ò:Ñ<Ô<ˆà#ˆÔÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜1œ9 mÑ4Ô4Ð4ð 	
�ŠÑÔÐÝ˜1œ9 mÑ4Ô4Ð4Ð4Ð4r5   c                 ó¼  — t          t          j        dg¦  «        t          j        dg¦  «        t          j        ddg¦  «        f¦  «        }t          d|j        ¦  «         t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }t          |||f¦  «                             ¦   «         }t          d|j        ¦  «         t          |j        t          ¦  «        sJ ‚|                     ¦   «          t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         t          |||f¦  «                             ¦   «         }d|_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         dS )z=Ensure has_canonical_format memoizes state for sum_duplicatesr_   r   rÝ   TFN)r   rC   r   r   Úhas_canonical_formatrþ   rB   rð   Úsum_duplicatesr¹   rƒ  )r—   rL  rƒ  r…  r„  s        r3   Útest_has_canonical_formatz!TestCSR.test_has_canonical_format�  s–  € õ �œ ! ™œ¥r¤x°°¡}¤}µb´hÀÀ1¸vÑ6FÔ6FÐGÑHÔHˆÝ�T˜1Ô1Ñ2Ô2Ð2å”(˜A˜q˜6Ñ"Ô"ˆÝŒx˜˜A˜ÑÔˆÝ”˜1˜a˜&Ñ!Ô!ˆå˜˜g vÐ.Ñ/Ô/×4Ò4Ñ6Ô6ˆÝ�U˜AÔ2Ñ3Ô3Ð3Ý˜!Ô0µ$Ñ7Ô7Ð7Ð7Ð7ð 	
×ÒÑÔÐÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'å˜˜g vÐ.Ñ/Ô/×4Ò4Ñ6Ô6ˆà!%ˆÔÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'ð 	
×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ð'Ð'r5   c                 ó–  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }t          |||fd¬¦  «        }t          |||fd¬¦  «        }t          j        dt           j        ¬¦  «        }t          ||fd¬¦  «        }t          ||fd¬¦  «        }t          d¦  «        }	t          d¦  «        }
t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         t	          |	j        j        t           j        ¦  «         t	          |
j        j        t           j        ¦  «         |||||	|
fD ]}||z    Œd S )Nr_   r^  r   ©rÝ   éÿÿÿr'  ©rÝ   ì        rÙ  )rC   r   rT   r   r   r„  r8   r`   ©r—   r„  rƒ  ÚvalsrG   rL   rå  rc  rß   rd  re  r9   s               r3   Útest_scalar_idx_dtypezTestCSR.test_scalar_idx_dtypež  ó‚  € õ ”˜!¥2¤8Ð,Ñ,Ô,ˆÝ”(˜1¥B¤HÐ-Ñ-Ô-ˆÝŒx˜‰{Œ{ˆÝ˜˜g vÐ.°lÐCÑCÔCˆÝ˜˜g vÐ.°jÐAÑAÔAˆÝŒX�f¥B¤HÐ-Ñ-Ô-ˆÝ˜˜b�z¨Ð6Ñ6Ô6ˆÝ˜˜b�z¨Ð4Ñ4Ô4ˆÝ�|Ñ$Ô$ˆÝ�zÑ"Ô"ˆÝ�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.ð �Q˜˜1˜a Ð#ð 	ð 	ˆAØ�‰EˆEˆEð	ð 	r5   c                 ó®   — t          g d¢g¦  «        }t          g d¢g¦  «        }||z   j        dk    sJ ‚|                     |¦  «        j        dk    sJ ‚d S )Nrê  ©rÝ   rÝ   r   r_   rÝ   )r   r4  r¿  ©r—   rG   rL   s      r3   Útest_binop_explicit_zerosz!TestCSR.test_binop_explicit_zeros¶  se   € õ ˜	˜	˜	�{Ñ#Ô#ˆÝ˜	˜	˜	�{Ñ#Ô#ˆØ�A‘Œ{˜aÒÐÐÐØ�zŠz˜!‰}Œ}Ô  AÒ%Ð%Ð%Ð%Ð%Ð%r5   N)r¬   r­   r®   r™  rá   rC   rÃ  Úint_ré   r]  rå   r  r  r  r  r   r$  r)  r,  r3  r9  r>  rC  rI  rN  rR  rZ  r_  rP   r5   r3   r  r  Â  sJ  € € € € € Øð/ð /ñ „[ð/ð ”8˜RœW b¤j°"´-Ð@€Kð
-ð 
-ð 
-ð4ð 4ð 4ð4ð 4ð 4ðð ð ð(,ð ,ð ,ð<ð <ð <ð+ð +ð +ð 5ð 5ð 5ð9ð 9ð 9ð	9ð 	9ð 	9ð
Jð 
Jð 
Jð	Kð 	Kð 	Kð"ð "ð "ð5ð 5ð 5ð8(ð (ð (ð:ð ð ð0&ð &ð &ð &ð &r5   r  c                   ó    — e Zd Zed„ ¦   «         Zej        ej        ej        ej	        g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 )r  c                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r  )r   r  r!   r   r  s       r3   rá   zTestCSC.spcreatorÃ  r  r  c                 ó‚  — t          g d¢g d¢g d¢gd¦  «        }t          |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |                     ¦   «         d¦  «         t          |j	        |j	        ¦  «         t          |j
        d	¦  «         d S )
N©rÝ   r   r   r   rÚ  ©r   r_   r   rÞ   rß   )rÝ   r_   rÝ   rÞ   )r   r_   rÝ   r_   rZ  r|  r‚  )r   r   r   r…  r   rƒ  r„  r   rÝ  r´   rO  r
  s      r3   r  zTestCSC.test_constructor1Ê  sµ   € Ý�<�<�<   ¨|¨|¨|Ð<¸cÑBÔBˆÝ˜‰mŒmˆÝ! #¤(¨9¨9¨9Ñ5Ô5Ð5Ý˜3œ; y y yÑ1Ô1Ð1Ý˜3œ: k k kÑ2Ô2Ð2Ý�S—Z’Z‘\”\ !Ñ$Ô$Ð$Ý�S”Y˜qœwÑ'Ô'Ð'Ý�S”Z Ñ&Ô&Ð&Ð&Ð&r5   c                 óÔ   — t          dd¦  «        }d|d<   t          |¦  «        }t          |j        dg¦  «         t	          |j        dg¦  «         t	          |j        g d¢¦  «         d S )Nr  rß   rZ  )r_   r|  r_   )r   r   r   r   r   rÝ   rÝ   )r   r   r   r…  r   rƒ  r„  r
  s      r3   r  zTestCSC.test_constructor2Ô  si   € Ý�%˜ÑÔˆØˆˆ#‰Ý˜‰mŒmˆÝ! #¤(¨A¨3Ñ/Ô/Ð/Ý˜3œ;¨ sÑ+Ô+Ð+Ý˜3œ: o o oÑ6Ô6Ð6Ð6Ð6r5   c                 óà   — t          ddgddgddggd¦  «        }t          |¦  «        }t          |j        ddg¦  «         t	          |j        ddg¦  «         t	          |j        g d¢¦  «         d S )NrÝ   r   r_   rß   rú  )r   r   r   r…  r   rƒ  r„  r
  s      r3   r  zTestCSC.test_constructor3Ü  sw   € Ý�A�q�6˜A˜q˜6 A q 6Ð*¨CÑ0Ô0ˆÝ˜‰mŒmˆÝ! #¤(¨A¨a¨5Ñ1Ô1Ð1Ý˜3œ;¨¨! uÑ-Ô-Ð-Ý˜3œ: g g gÑ.Ô.Ð.Ð.Ð.r5   c                 ó„  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          ||f¦  «        }t          ||fd¦  «        }t          t	          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         t          g d¢g d	¢g d
¢ff¦  «        }|j        dk    sJ ‚d S )Nr  r  r  r6  r­  r|  rÞ   r  r  r  r_   )r   r	   r   r   r   rº  r�   r4  )r—   r‡  rˆ  r…  rå  r‚  s         r3   r  zTestCSC.test_constructor4ã  sÈ   € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝÐCÐCÐCÑDÔDˆå�S˜�IÑÔˆÝ˜$˜r˜ 5Ñ)Ô)ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCõ ˜)˜)˜) i i i°°°Ð%;Ð<Ñ=Ô=ˆØŒw˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r5   c                 óº   — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||f¦  «        }t          |j        d¦  «         d S ©Nr  r  r’  )r£  rÞ   )r   r   r   r´   ©r—   r„  rƒ  r…  r‚  s        r3   r   zTestCSC.test_constructor5ñ  r!  r5   c                 óÎ   — g d¢}g d¢}g d¢}t          |||f¦  «        }t          |j        d¦  «         t          t	          j        |j        t          j        ¦  «        ¦  «         d S rj  )r   r   r´   r   rC   rf   r8   r#  rk  s        r3   r$  zTestCSC.test_constructor6ù  sh   € à��ˆØ�,�,ˆØˆ|ˆ|ˆÝ˜$ ¨Ð0Ñ1Ô1ˆÝ˜3œ9 UÑ+Ô+Ð+Ý•”˜cœi­Ô)9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r5   c                 ó¤  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        d¦  «         t	          |j        g d¢¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr5  r6  r7  ©rO   r_   r'  rÞ   r¡  )r   r   rþ   r8  r   r4  r…  r�   r2  s         r3   r9  zTestCSC.test_eliminate_zeros  r:  r5   c                 ó\  — t          d¦  «        }t          g d¢¦  «        }g d¢}t          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        g d¢¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )NrZ  r.  r/  rn  r'  r1  )r   r   r   rþ   r`  r   rƒ  r�   )r—   r…  r‡  r(  r  r  s         r3   r3  zTestCSC.test_sort_indices  s›   € Ý�a‰yŒyˆÝ�O�O�OÑ$Ô$ˆØˆiˆiˆÝ˜$  SÐ)°Ð8Ñ8Ô8ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ;   Ñ7Ô7Ð7Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c           	      ó2  — t          t          j        d¦  «                             dd¦  «        dz  ¦  «        }dD ]Û}t	          t          t          |¦  «        d¦  «          t          ||¦  «        ¦   «         }t	          |j        |j        ¦  «         t          |j
        |j
        ¦  «         t          |j        |j        ¦  «         t          |                     ¦   «          t          t          |¦  «        |                     ¦   «         ¦  «        ¦  «         ŒÜd S )Né   r¤  rÞ   g      5@r<  T)r   rC   r   rº  r   r�  r   r€   r´   r   rƒ  r„  r�   r=  s       r3   r>  zTestCSC.test_ufuncs  r?  r5   c                 ó²  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||fd¬¦  «        }t          ||z                        ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         d S )	NrZ  r.  r/  rn  r'  r£  rA  rB  )r   r   r   r   r�   r2  s         r3   rC  z TestCSC.test_unsorted_arithmetic#  rD  r5   c                 ó²  — t          j        dgdgdgg¦  «        }t          j        g d¢¦  «        }t           j                             d¦  «         t	          t           j                             dd¦  «        ¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r|                     ¦   «         }t          ||||f         ¦  «         d S rF  rG  rH  s         r3   rI  z%TestCSC.test_fancy_indexing_broadcast.  rJ  r5   c                 ó–  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }t          |||fd¬¦  «        }t          |||fd¬¦  «        }t          j        dt           j        ¬¦  «        }t          ||fd¬¦  «        }t          ||fd¬¦  «        }t	          d¦  «        }	t	          d	¦  «        }
t          |j        j        t           j        ¦  «         t          |j        j        t           j        ¦  «         t          |j        j        t           j        ¦  «         t          |j        j        t           j        ¦  «         t          |	j        j        t           j        ¦  «         t          |
j        j        t           j        ¦  «         |||||	|
fD ]}||z    Œd S )
Nr_   r^  r   )rU  rÝ   r'  )rW  rÝ   rÙ  rT  rV  )	rC   r   rT   r   r   r   r„  r8   r`   rX  s               r3   rZ  zTestCSC.test_scalar_idx_dtype<  r[  r5   N)r¬   r­   r®   r™  rá   rC   rÃ  r`  ré   r]  rå   r  r  r  r  r   r$  r9  r3  r>  rC  rI  rZ  rP   r5   r3   r  r  Â  sÿ   € € € € € Øð/ð /ñ „[ð/ð ”8˜RœW b¤j°"´-Ð@€Kð'ð 'ð 'ð7ð 7ð 7ð/ð /ð /ðð ð ð,ð ,ð ,ð<ð <ð <ð	9ð 	9ð 	9ð9ð 9ð 9ð
Jð 
Jð 
Jð	Kð 	Kð 	Kð"ð "ð "ðð ð ð ð r5   r  c                   ó^   — e Zd ZeZej        ej        ej        gZ	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ ZdS )rò   c                 óì   — t          d¦  «        }d|d<   d|d<   ||j        z  }||j                             ¦   «         z  }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )N©rO   rO   rO   r¹  r³  ©rZ  r£  )r   r8  r   r   r�   )r—   rJ   rˆ  rÉ  s       r3   Ú	test_multzTestDOK.test_mult\  sf   € Ý�wÑÔˆØˆˆ#‰Øˆˆ#‰ØˆaŒc‰EˆØˆaŒc�mŠm‰oŒoÑˆÝ˜1Ÿ9š9™;œ;¨¯	ª	©¬Ñ4Ô4Ð4Ð4Ð4r5   c                 ó  — |                       d¦  «        }d|d<   d|d<   |dz   }t          ddgddgddgg¦  «        }t          |                     ¦   «         |¦  «         |d	z   }|d	z   }t          |                     ¦   «         |¦  «         d S )
Nr�  éöÿÿÿr  r³  rÙ  rO   r   r´  rB  )rá   r   r   r�   rö  s      r3   Útest_add_nonzerozTestDOK.test_add_nonzerod  s–   € Ø�NŠN˜5Ñ!Ô!ˆØˆˆ#‰Øˆˆ#‰Ø�‰FˆÝ�B˜�7˜R ˜H r¨2 hÐ/Ñ0Ô0ˆÝ˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*à�‰FˆØ�‰FˆÝ˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*r5   c                 ó,  — |                       d¦  «        }d|d<   d|d<   t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         d S ©Nr�  r{  r  r³  rÙ  rB  r¦  ©rá   r   r�   rp  s     r3   Útest_dok_divide_scalarzTestDOK.test_dok_divide_scalarp  s}   € Ø�NŠN˜5Ñ!Ô!ˆØˆˆ#‰Øˆˆ#‰å˜A˜b™DŸ>š>Ñ+Ô+¨Q¯YªY©[¬[¸©^Ñ<Ô<Ð<Ý˜A˜a™CŸ=š=™?œ?¨A¯IªI©K¬K¸©MÑ:Ô:Ð:Ð:Ð:r5   c                 óü  — d\  }}t          ||f¦  «        }d|d<   d|d<   d|d<   d|d	<   d
|d<   d|d<   t          |                     ¦   «         d d …|dz
  f         t          |¦  «        ¦  «         |                     ¦   «         }t          |                     ¦   «         d d …|dz
  f         t          |¦  «        ¦  «         ||}}|                     ¦   «         }t          |j        ||f¦  «         t          |                     ¦   «         |dz
  d d …f         t          |¦  «        ¦  «         |                     ¦   «         }t          |                     ¦   «         |dz
  d d …f         t          |¦  «        ¦  «         d S )N)r£  r¤  rÝ   r  r_   rØ  rÞ   r'  r|  rÏ  rZ  r6  r£  r  )	r   r   r�   r   r_  r   r   r´   r`  )r—   rf  rÂ  rG   r‚  rL   r�  s          r3   Útest_convertzTestDOK.test_convertx  sd  € à‰ˆˆAÝ˜˜1�vÑÔˆð ˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰õ 	˜1Ÿ9š9™;œ; q q q¨¨1© uÔ-­u°Q©y¬yÑ9Ô9Ð9ð �gŠg‰iŒiˆÝ˜3Ÿ;š;™=œ=¨¨¨¨1¨Q©3¨Ô/µ°q±´Ñ;Ô;Ð;ð �QˆAˆØ�KŠK‰MŒMˆÝ�Q”W˜q !˜fÑ%Ô%Ð%å˜1Ÿ9š9™;œ; q¨¡s¨1¨1¨1 uÔ-­u°Q©y¬yÑ9Ô9Ð9ð �gŠg‰iŒiˆÝ˜3Ÿ;š;™=œ=¨¨1©¨Q¨Q¨Q¨Ô/µ°q±´Ñ;Ô;Ð;Ð;Ð;r5   c                 ó’  — t          t          t          ¦  «         t          g d¢g d¢g d¢gd¦  «        }t          |¦  «        }t	          |j        |j        ¦  «         t	          |                     ¦   «         |¦  «         t          |¦  «        }t	          |                     ¦   «         |                     ¦   «         ¦  «         g d¢g d¢g}t          |t          j	        ¬¦  «        }t	          |j        t          j	        ¦  «         |                     ¦   «         }t	          |j        t          j	        ¦  «         t          ||¦  «         d S )Nrd  rÚ  re  rß   rú  ré  r^  )rî   r»  r   r   r   r8   r�   r   rC   r[  r   )r—   rL   rJ   rc  r…  rß   Údas          r3   Ú	test_ctorzTestDOK.test_ctor—  s  € å•i¥Ñ,Ô,Ð,õ �<�<�<   ¨|¨|¨|Ð<¸cÑBÔBˆÝ�q‰MŒMˆÝ�Q”W˜aœgÑ&Ô&Ð&Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$õ �q‰MŒMˆÝ�Q—Y’Y‘[”[ !§)¢)¡+¤+Ñ.Ô.Ð.à�	�	˜9˜9˜9Ð%ˆÝ�t¥2¤:Ð.Ñ.Ô.ˆÝ�Q”W�bœjÑ)Ô)Ð)Ø�YŠY‰[Œ[ˆÝ�R”X�rœzÑ*Ô*Ð*Ý˜2˜tÑ$Ô$Ð$Ð$Ð$r5   c                 ó  — t          d¦  «        }d|d<   t          d|                     ¦   «         vd¦  «         t          d¦  «        }d|d d …df<   t          t          |                     ¦   «         ¦  «        dk    d¦  «         d S )Nr3  r   r–  zUnexpected entry (0,0) in keyszUnexpected entries in keys)r   r   Úkeysr¹   r^  s      r3   Útest_ticket1160zTestDOK.test_ticket1160¬  s‚   € å�uÑÔˆØˆˆ#‰õ 	�˜QŸVšV™XœXÐ%Ð'GÑHÔHÐHõ �uÑÔˆØˆˆ!ˆ!ˆ!ˆAˆ#‰Ý•�A—F’F‘H”H‘” Ò"Ð$@ÑAÔAÐAÐAÐAr5   N)r¬   r­   r®   r   rá   rC   r`  ré   r]  rå   ry  r|  r€  r‚  r…  rˆ  rP   r5   r3   rò   rò   X  sŠ   € € € € € Ø€IØ”7˜BœJ¨¬Ð6€Kð5ð 5ð 5ð
+ð 
+ð 
+ð;ð ;ð ;ð<ð <ð <ð>%ð %ð %ð*Bð Bð Bð Bð Br5   rò   )rü  rý  c                   óp   — e Zd ZeZej        ej        ej        gZ	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
S )ÚTestLILc                 óÖ  — t          dt          j        ¦  «        }d|d<   d|d<   t          dt          j        ¬¦  «        }d|d<   d|d<   t	          j        ¦   «         dk    r2t          ||j        z  ||j        z                       ¦   «         ¦  «         t          || 	                    ¦   «         j        z  || 	                    ¦   «         j        z                       ¦   «         ¦  «         d S )Nrw  rO   r¹  y              4@rx  r^  Úppc64le)
r   rC   r]  r   ÚplatformÚmachiner   r8  r�   r   rö  s      r3   Útest_dotzTestLIL.test_dotÁ  sÉ   € Ý�(�BœMÑ*Ô*ˆØˆˆ$‰Øˆˆ$‰å�x¥r¤}Ð5Ñ5Ô5ˆØˆˆ$‰Øˆˆ$‰õ ÔÑÔ Ò*Ð*Ý˜q 1¤3™w¨¨Q¬S©×(9Ò(9Ñ(;Ô(;Ñ<Ô<Ð<å˜1˜qŸ{š{™}œ}œÑ.°°Q·[²[±]´]´_Ñ1D×0MÒ0MÑ0OÔ0OÑPÔPÐPÐPÐPr5   c                 óš   — t          d¦  «        }d|d<   |dz  }t          |d         d¦  «         |dz  }t          |d         d¦  «         d S )Nr3  r_   r–  r|  r   )r   r   )r—   r9   s     r3   Útest_scalar_mulzTestLIL.test_scalar_mulÐ  sX   € Ý�vÑÔˆØˆˆ$‰àˆa‰CˆÝ�Q�t”W˜aÑ Ô Ð àˆa‰CˆÝ�Q�t”W˜aÑ Ô Ð Ð Ð r5   c                 ó,  — |                       d¦  «        }d|d<   d|d<   t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         d S r~  r  rp  s     r3   Útest_truediv_scalarzTestLIL.test_truediv_scalarÚ  s‚   € Ø�NŠN˜6Ñ"Ô"ˆØˆˆ$‰Øˆˆ$‰å˜A ™F×+Ò+Ñ-Ô-¨q¯yªy©{¬{¸RÑ/?Ñ@Ô@Ð@Ý˜A ™EŸ?š?Ñ,Ô,¨a¯iªi©k¬k¸A©oÑ>Ô>Ð>Ð>Ð>r5   c                 ó’  — t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|||z   f|||z
  fd|dz  fdœ}|                     ¦   «         D ]l\  }\  }}|                     ¦   «         } t          |d|z  ¦  «        |¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         Œmt          dt          j        d¦  «        ¬	¦  «        }t          g d
¢¦  «        }|dd d …fxx         |z  cc<   t	          |dd d …f                              ¦   «          	                    ¦   «         |¦  «         d S )N©r   r_   rÞ   ré  rê  rÞ   )ÚaddÚsubÚmulz__i%s__r  ré   r^  )çš™™™™™¹?r™  r™  r   )
r   rk  rþ   r€   r   r�   rC   r8   r   Úsqueeze)r—   rJ   rK   r…  ÚoprÈ   r9  r  s           r3   Útest_inplace_opszTestLIL.test_inplace_opsâ  s`  € Ý˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆÝ˜	˜	˜	 9 9 9Ð-Ñ.Ô.ˆà˜1˜q™5�zØ˜1˜q™5�zØ˜1˜q™5�zð#ð #ˆð &*§Z¢Z¡\¤\ð 	Eð 	EÑ!ˆBÑ!�˜Ø—V’V‘X”XˆFØ+�G�F˜I¨™NÑ+Ô+¨EÑ2Ô2Ð2å˜vŸ~š~Ñ/Ô/°×1AÒ1AÑ1CÔ1CÑDÔDÐDÐDõ �v¥R¤X¨iÑ%8Ô%8Ð9Ñ9Ô9ˆÝ�/�/�/Ñ"Ô"ˆØ	ˆ!ˆQˆQˆQˆ$ˆˆŒ�1‰ˆˆ‰Ý˜1˜Q   ˜Tœ7Ÿ?š?Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ð:Ð:r5   c                 óæ   — g d¢g d¢g}t          t          |¦  «        ¦  «        }t          |¦  «        D ]<\  }}t          |                     ¦   «         t          ||         d¬¦  «        ¦  «         Œ=d S )Nr¡  r¢  r_   )Úndmin)r   r   r  r   r�   )r—   Úrow_datarK   rÌ  r‡  s        r3   Útest_lil_iterationzTestLIL.test_lil_iterationö  sz   € Ø�I�I˜y˜y˜yÐ)ˆÝ•u˜X‘”Ñ'Ô'ˆÝ ‘l”lð 	Kð 	K‰FˆAˆsÝ˜sŸ{š{™}œ}­e°H¸Q´KÀqÐ.IÑ.IÔ.IÑJÔJÐJÐJð	Kð 	Kr5   c                 ó  — t          d¦  «        }d|d<   d|d<   d|d<   d|d	<   d
|d<   |                     ¦   «         }t          |¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nrw  rO   r¹  r³  rx  r´  )r¥  rÞ   r•  )rÞ   r¥  rW  )r¥  r¦  )r   r`  r   r�   )r—   rK   r«  rˆ  s       r3   Útest_lil_from_csrzTestLIL.test_lil_from_csrü  s|   € õ �xÑ Ô ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Ø�GŠG‰IŒIˆÝ�q‰MŒMˆÝ˜1Ÿ9š9™;œ;¨¯	ª	©¬Ñ4Ô4Ð4Ð4Ð4r5   c                 ó,  — t          t          d¦  «                             dd¦  «        ¦  «        }t          |¦  «        }t	          |t          g d¢¦  «        dd…f                              ¦   «         |t          g d¢¦  «        dd…f         ¦  «         d S )Nrô  rZ  r¡  r_   rÞ   )r'   r   rº  r   r   r   r�   )r—   rL  rJ   s      r3   Útest_fancy_indexing_lilzTestLIL.test_fancy_indexing_lil	  s‘   € Ý•V˜B‘Z”Z×'Ò'¨¨1Ñ-Ô-Ñ.Ô.ˆÝ�q‰MŒMˆå�Q•u˜Y˜Y˜YÑ'Ô'¨¨1¨Ð,Ô-×5Ò5Ñ7Ô7Ø•u˜Y˜Y˜YÑ'Ô'¨¨1¨Ð,Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r5   c                 óÒ  — t          d¦  «        }d|d<   d|d<   d|d<   d|d	<   t          d¦  «        }d|d<   d|d
<   d|d<   d|d	<   d|d<   t          |                     |¦  «                             ¦   «         |                     |¦  «                             ¦   «         ¦  «         t          |                     |¦  «                             ¦   «         g d¢g d¢g d¢g d¢g¦  «         d S )Nr6  rÝ   r–  r_   rï  rÞ   rŽ  r|  r'  r  r�  rA  rB  ©r   r   r¦  )r   r¤  r   )r   r   r¿  r�   )r—   Úlrf  s      r3   Útest_point_wise_multiplyz TestLIL.test_point_wise_multiply  s  € Ý�vÑÔˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰å�vÑÔˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰å˜1Ÿ:š: a™=œ=×0Ò0Ñ2Ô2ØŸ:š: a™=œ=×0Ò0Ñ2Ô2ñ	4ô 	4ð 	4õ 	˜1Ÿ:š: a™=œ=×0Ò0Ñ2Ô2Ø%˜I˜IØ%˜I˜IØ%˜I˜IØ&˜J˜Jð(ñ	)ô 	)ð 	)ð 	)ð 	)r5   c                 ód   — t          t          j        d¦  «        ¦  «        }|dz  }d|dd d …f<   d S )Nr3  rF  r   )r   rC   rÈ  r  s     r3   Útest_lil_multiply_removalz!TestLIL.test_lil_multiply_removal'  s5   € å•r”w˜v‘”Ñ'Ô'ˆØ	ˆR‰ˆØˆˆ!ˆQˆQˆQˆ$‰ˆˆr5   N)r¬   r­   r®   r   rá   rC   r`  ré   r]  rå   r�  r‘  r“  rœ  r   r¢  r¤  r¨  rª  rP   r5   r3   rŠ  rŠ  ½  s¸   € € € € € Ø€IØ”7˜BœJ¨¬Ð6€KðQð Qð Qð!ð !ð !ð?ð ?ð ?ð;ð ;ð ;ð(Kð Kð Kð5ð 5ð 5ð/ð /ð /ð)ð )ð )ð.ð ð ð ð r5   rŠ  )rü  c                   óÌ   — e Zd ZeZej        ej        ej        gZ	d„ Z
d„ Zd„ Zd„ Zd„ Zej                             dd¬¦  «        d	„ ¦   «         Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCOOc                 óê  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||ffd¦  «        }t          t          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         t          dd	gd
d	gd
d	gfft          j        ¬¦  «        }t          dd
gd
d	ggt          j        ¬¦  «        }t          ||                     ¦   «         ¦  «         d S )Nr  r  r  r6  r­  r|  rÞ   r  rÝ   r   r^  )r   r   r   r   rº  r�   rC   r  )r—   r‡  rˆ  r…  r†  r$  s         r3   r  zTestCOO.test_constructor17  sï   € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝÐCÐCÐCÑDÔDˆå˜$  C˜yÐ)¨%Ñ0Ô0ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCõ ˜9 a˜.¨A¨q¨6°A°q°6Ð*:Ð;Å2Ä9ÐMÑMÔMˆÝ˜	 1�~¨¨1 vÐ.µb´iÐ@Ñ@Ô@ˆÝ˜5 #§+¢+¡-¤-Ñ0Ô0Ð0Ð0Ð0r5   c                 ó  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||ffd¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||                     ¦   «         ¦  «         d S )N)
r   rÝ   r_   r_   r_   r_   r   r   r_   r_   )
r   r_   r   r_   rÝ   rÝ   rÝ   r   r   r_   )
r_   r¦  rn  rZ  r¤  r   r  r_   rÝ   rl  r3  )r|  r  r   r¦  )rz  r¤  r   )r   r   r   r�   )r—   r‡  rˆ  r…  r†  r˜   s         r3   r  zTestCOO.test_constructor2E  s”   € åÐ)Ð)Ð)Ñ*Ô*ˆÝÐ)Ð)Ð)Ñ*Ô*ˆÝÐ-Ð-Ð-Ñ.Ô.ˆÝ˜$  C˜yÐ)¨%Ñ0Ô0ˆå�Z�Z�Z   ¨J¨J¨JÐ7Ñ8Ô8ˆå˜3 §¢¡¤Ñ.Ô.Ð.Ð.Ð.r5   c                 ó*  — t          d¦  «        }t          |j        d¦  «         t          |j        g ¦  «         t          |j        g ¦  «         t          |j        g ¦  «         t          |                     ¦   «         t          d¦  «        ¦  «         d S )Nr6  )r   r   r´   r‡  rˆ  r…  r�   r   ©r—   r†  s     r3   r  zTestCOO.test_constructor3P  s{   € å˜ÑÔˆå˜3œ9 UÑ+Ô+Ð+Ý˜3œ7 2Ñ&Ô&Ð&Ý˜3œ7 2Ñ&Ô&Ð&Ý˜3œ8 BÑ'Ô'Ð'Ý˜3Ÿ;š;™=œ=­%°©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c                 óh  — t          g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          |                     ¦   «         |¦  «         t          g d¢¦  «        }t          |¦  «        }t          |                     ¦   «         |                     dd¦  «        ¦  «         t          j        t          d¬¦  «        5  t          g d¢g d	¢g d
¢f¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r   rÝ   r   r   )r¤  r   rÞ   r   )r   r|  r   r   rÝ   r  zobject cannot be interpretedr  )r   rë  é   é!   rá  r±  zinconsistent shapesrÖ  r'  )	r   r   r   r�   rº  ró   r   r»  rï   )r—   r˜   r†  s      r3   r  zTestCOO.test_constructor4Z  sÅ  € å�Y�Y�YØ�Y�YØ�Y�Yð ñ !ô !ˆõ ˜‰oŒoˆÝ˜3Ÿ;š;™=œ=¨#Ñ.Ô.Ð.õ �I�I�IÑÔˆÝ˜‰oŒoˆÝ˜3Ÿ;š;™=œ=¨#¯+ª+°a¸Ñ*<Ô*<Ñ=Ô=Ð=õ Œ]�9Ð,KÐLÑLÔLð 	Fð 	FÝ���¨¨¨°|°|°|Ð(DÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fõ Œ]�:Ð-CÐDÑDÔDð 	6ð 	6Ý���¨fÐ5Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6s$   Â;C Ã C$Ã'C$ÄD'Ä'D+Ä.D+c                 ó‚   — dg}t          |dgdgffd ¬¦  «        }|j        t          j        |¦  «        j        k    sJ ‚d S )NrÝ   r   r^  )r   r8   rC   r   )r—   r…  r†  s      r3   Ú"test_constructor_data_ij_dtypeNonez*TestCOO.test_constructor_data_ij_dtypeNoneo  sL   € ØˆsˆÝ˜$ !  q c 
Ð+°4Ð8Ñ8Ô8ˆØŒy�BœH T™NœNÔ0Ò0Ð0Ð0Ð0Ð0Ð0r5   FzCOO does not have a __getitem__©ÚrunÚreasonc                 ó   — d S r7   rP   r·   s    r3   rY  zTestCOO.test_iteratort  ó   € àˆr5   c                 ó–   — ddgg}t          |¦  «                             ¦   «         }t          |                     ¦   «         |¦  «         d S rd   )r   Útodiar   r�   )r—   r   rD  s      r3   Útest_todia_all_zeroszTestCOO.test_todia_all_zerosx  sD   € Ø�Q��ˆÝ˜ÑÔ×%Ò%Ñ'Ô'ˆÝ˜3Ÿ;š;™=œ=¨%Ñ0Ô0Ð0Ð0Ð0r5   c                 ó$  — t          d¦  «        }|                     ¦   «          t          ddgddgddgff¦  «        }|                     ¦   «          t          |                     ¦   «         ddgddgg¦  «         t          ddgddgddgff¦  «        }|                     ¦   «          t          |                     ¦   «         ddgddgg¦  «         t          |j        dg¦  «         t          |j        dg¦  «         t          |j        dg¦  «         d S )Nr6  rÝ   r_   r   rÞ   )r   rQ  r   r�   r‡  rˆ  r…  r°  s     r3   Útest_sum_duplicateszTestCOO.test_sum_duplicates}  s  € Ý˜ÑÔˆØ×ÒÑÔÐÝ˜1˜Q˜% 1 Q %¨!¨A¨ Ð0Ñ1Ô1ˆØ×ÒÑÔÐÝ˜3Ÿ;š;™=œ=¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ý˜1˜Q˜% 1 Q %¨!¨A¨ Ð0Ñ1Ô1ˆØ×ÒÑÔÐÝ˜3Ÿ;š;™=œ=¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ý˜3œ7 Q CÑ(Ô(Ð(Ý˜3œ7 Q CÑ(Ô(Ð(Ý˜3œ8 a SÑ)Ô)Ð)Ð)Ð)r5   c                 óÈ   — t          g d¢g d¢g d¢ff¦  «        }|                     ¦   «         }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr  r  r  )r   ra  r   r�   )r—   r†  r=   s      r3   Útest_todok_duplicateszTestCOO.test_todok_duplicatesŠ  sX   € Ý˜)˜)˜) i i i°°°Ð%;Ð<Ñ=Ô=ˆØ�iŠi‰kŒkˆÝ˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c                 óü   — t          g d¢g d¢g d¢ff¦  «        }|                     ¦   «         }t          |j        dz   |j        ¦  «         |                     ¦   «         }t          |j        dz   |j        ¦  «         d S )Nr  r  r  r_   )r   r`  r   r4  r_  )r—   r†  r�  r‚  s       r3   Útest_tocompressed_duplicatesz$TestCOO.test_tocompressed_duplicates�  su   € Ý˜)˜)˜) i i i°°°Ð%;Ð<Ñ=Ô=ˆØ�iŠi‰kŒkˆÝ�S”W˜q‘[ #¤'Ñ*Ô*Ð*Ø�iŠi‰kŒkˆÝ�S”W˜q‘[ #¤'Ñ*Ô*Ð*Ð*Ð*r5   c                 ó¢  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          |||ffd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        dk                         ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr5  )r   r   r   rÝ   rÝ   rÝ   rÝ   rÝ   r6  r0  r'  r   )	r   r   rþ   r8  r   r…  Úallr   r�   )r—   r…  r‡  rˆ  r  r  s         r3   r9  zTestCOO.test_eliminate_zeros–  s¾   € ÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ,Ð,Ð,Ñ-Ô-ˆÝÐ,Ð,Ð,Ñ-Ô-ˆÝ˜$  c 
Ð+°6Ð:Ñ:Ô:ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ�”˜Q’×#Ò#Ñ%Ô%Ñ&Ô&Ð&Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c                 óŠ  — g d¢g d¢g d¢g}d}t          |¦  «        }|                     |¦  «        }t          |j        |j        u ¦  «         |                     |d¬¦  «        }t          |j        |j        u ¦  «         |                     |d¬¦  «        }t          t	          j        |j        |j        ¦  «         ¦  «         d S )Nr°  r±  r²  rµ  Fr¹  T)r   rº  r   r…  rC   rI   )r—   ri   Ú	new_shaper9   r:   s        r3   Útest_reshape_copyzTestCOO.test_reshape_copy   s»   € Øˆ}ˆ}˜l˜l˜l¨O¨O¨OÐ<ˆØˆ	Ý�s‰OŒOˆà�IŠI�iÑ Ô ˆÝ�”˜!œ&Ð Ñ!Ô!Ð!à�IŠI�i eˆIÑ,Ô,ˆÝ�”˜!œ&Ð Ñ!Ô!Ð!à�IŠI�i dˆIÑ+Ô+ˆÝ•BÔ'¨¬°´Ñ7Ô7Ð7Ñ8Ô8Ð8Ð8Ð8r5   c                 ó&  — t          dgdgdgffd¦  «        }t          dgdgdgffd¦  «        }t          |                     dd¬¦  «        |k    j        dk    ¦  «         t          |                     dd	¬¦  «        |k    j        dk    ¦  «         d S )
NrÝ   iÀÆ- r"  )éÁÆ- éé  )rÌ  rË  r«  r®  r   r¬  )r   r   rº  r4  )r—   Úmat1Úmat2s      r3   Útest_large_dimensions_reshapez%TestCOO.test_large_dimensions_reshape®  s    € õ ˜A˜3 ' ¨T¨FÐ 3Ð4°oÑFÔFˆÝ˜A˜3 $ ¨'¨Ð 3Ð4°oÑFÔFˆõ 	�—’˜o°S�Ñ9Ô9¸TÒAÔFÈ!ÒKÑLÔLÐLÝ�—’˜o°S�Ñ9Ô9¸TÒAÔFÈ!ÒKÑLÔLÐLÐLÐLr5   N)r¬   r­   r®   r   rá   rC   r`  ré   r]  rå   r  r  r  r  r¶  ró   rš  ÚxfailrY  r¾  rÀ  rÂ  rÄ  r9  rÉ  rÏ  rP   r5   r3   r¬  r¬  1  s  € € € € € ð €IØ”7˜BœJ¨¬Ð6€Kð1ð 1ð 1ð	/ð 	/ð 	/ð9ð 9ð 9ð6ð 6ð 6ð*1ð 1ð 1ð
 „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð1ð 1ð 1ð
*ð *ð *ð9ð 9ð 9ð
+ð +ð +ð9ð 9ð 9ð9ð 9ð 9ð	Mð 	Mð 	Mð 	Mð 	Mr5   r¬  )rõ  rö  r÷  rø  rù  c                   ó  — e Zd ZeZej        ej        ej        gZ	d„ Z
ej                             dd¬¦  «        d„ ¦   «         Z ed¦  «        d„ ¦   «         Zej                             d¬	¦  «        d
„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestDIAc                 ó&  — t          g d¢g d¢g d¢g d¢g¦  «        }t          j         g d¢g¦  «                             dd¬¦  «        }t          j         g d	¢¦  «        }t          t	          ||fd
¬¦  «                             ¦   «         |¦  «         d S )N)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   rC   Úrepeatr   r   r�   )r—   rˆ  r…  r‰  s       r3   r  zTestDIA.test_constructor1Ã  s¡   € Ý�<�<�<Ø�<�<Ø�<�<Ø�<�<ð!ñ "ô "ˆõ Œx˜˜˜˜Ñ$Ô$×+Ò+¨A°1Ð+Ñ5Ô5ˆÝ”(˜8˜8˜8Ñ$Ô$ˆÝ•Z  w °vÐ>Ñ>Ô>×FÒFÑHÔHÈ!ÑLÔLÐLÐLÐLr5   FzDIA does not have a __getitem__r·  c                 ó   — d S r7   rP   r·   s    r3   rY  zTestDIA.test_iteratorÌ  r»  r5   rÞ   c                 ó  — t          t          j        d¦  «        ¦  «        }t          |j        j        t          j        ¦  «         |                     dd¬¦  «         t          |j        j        t          j        ¦  «         t          t          j        d¦  «        ¦  «        }t          |j        j        t          j        ¦  «         |                     dd¬¦  «         t          |j        j        t          j        ¦  «         d S )NrÞ   )rÞ   r_   r“  r|  )	r   rC   r   r   r‰  r8   rT   rË  r`   ©r—   rf  s     r3   Útest_setdiag_dtypezTestDIA.test_setdiag_dtypeÐ  s¶   € å•r”v˜a‘y”yÑ!Ô!ˆÝ�Q”Y”_¥b¤hÑ/Ô/Ð/Ø	�	Š	�$˜!ˆ	ÑÔÐÝ�Q”Y”_¥b¤hÑ/Ô/Ð/å•r”v˜a‘y”yÑ!Ô!ˆÝ�Q”Y”_¥b¤hÑ/Ô/Ð/Ø	�	Š	�$˜!ˆ	ÑÔÐÝ�Q”Y”_¥b¤hÑ/Ô/Ð/Ð/Ð/r5   zDIA stores extra zeros©r¹  c                 ó   — d S r7   rP   r·   s    r3   rà  zTestDIA.test_getnnz_axisÜ  r»  r5   c                 ó,  — t          g d¢gdgfd¬¦  «        }|                     ¦   «         }t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         d S )Nr]  r  r  r'  )r   r�   r   r_  r`  )r—   rf  r9  s      r3   Útest_convert_gh14555zTestDIA.test_convert_gh14555à  s|   € å˜˜˜˜ b TÐ*°&Ð9Ñ9Ô9ˆØ—9’9‘;”;ˆÝ˜1Ÿ7š7™9œ9×,Ò,Ñ.Ô.°Ñ9Ô9Ð9Ý˜1Ÿ7š7™9œ9×,Ò,Ñ.Ô.°Ñ9Ô9Ð9Ð9Ð9r5   c                 ó  — t          ddgddgg¦  «                             ¦   «         }t          j        |j        |j        f|j        ¦  «        }t          j        t          j        |¦  «        dk    ¦  «        }|j	        |k    sJ ‚d S )NrÝ   r_   rÞ   r|  r   )
r   ra  rC   Úravel_multi_indexr‡  rˆ  r´   rÆ  ÚdiffrP  )r—   rf  Ú	flat_indsÚinds_are_sorteds       r3   Útest_tocoo_gh10050zTestDIA.test_tocoo_gh10050ç  s|   € å˜˜A˜  A Ð'Ñ(Ô(×.Ò.Ñ0Ô0ˆÝÔ(¨!¬%°´¨¸¼ÑAÔAˆ	Ýœ&¥¤¨Ñ!3Ô!3°aÒ!7Ñ8Ô8ˆØÔ%¨Ò8Ð8Ð8Ð8Ð8Ð8r5   c                 óò  — t          j        g d¢g¦  «                             dd¬¦  «        }t          j        g d¢t           j        ¬¦  «        }t	          j        ||fd¬¦  «        }|                     ¦   «         }|j        j        t           j        k    sJ ‚| 	                    ¦   «         }|j
        j        t           j        k    sJ ‚|                     ¦   «         }|j
        j        t           j        k    sJ ‚d S )	Nr’  rÞ   r   r  rÔ  r^  rÖ  r'  )rC   r   rÕ  rT   ru   Ú	dia_arrayra  rˆ  r8   r`  rƒ  r_  )r—   r…  r‰  rD  r†  r�  r‚  s          r3   Útest_tocoo_tocsr_tocsc_gh19245z&TestDIA.test_tocoo_tocsr_tocsc_gh19245î  sÑ   € åŒx˜˜˜˜Ñ'Ô'×.Ò.¨q°qÐ.Ñ9Ô9ˆÝ”(˜:˜:˜:­R¬XÐ6Ñ6Ô6ˆÝÔ  g˜°fÐ=Ñ=Ô=ˆà�iŠi‰kŒkˆØŒwŒ}¥¤Ò(Ð(Ð(Ð(Ø�iŠi‰kŒkˆØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,Ø�iŠi‰kŒkˆØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,Ð,Ð,r5   c                 ó`  — t          ddgddgg¦  «        }|dz  }t          |t           ¦  «        sJ ‚t          |                     ¦   «         ddgddgg¦  «         |                     d¦  «        }t          |t           ¦  «        sJ ‚t          |                     ¦   «         ddgddgg¦  «         d S )NrÝ   r_   r   r|  rÞ   r£  r­  )r   rB   r   r�   r¿  )r—   rf  ÚresÚres2s       r3   r™  zTestDIA.test_mul_scalarû  s°   € å˜˜A˜  A Ð'Ñ(Ô(ˆØ�!‰eˆÝ˜#�zÑ*Ô*Ð*Ð*Ð*Ý˜3Ÿ;š;™=œ=¨A¨q¨6°A°r°7Ð*;Ñ<Ô<Ð<à�zŠz˜!‰}Œ}ˆÝ˜$¥
Ñ+Ô+Ð+Ð+Ð+Ý˜4Ÿ<š<™>œ>¨Q°¨F°Q¸°GÐ+<Ñ=Ô=Ð=Ð=Ð=r5   N)r¬   r­   r®   r   rá   rC   r`  ré   r]  rå   r  ró   rš  rÐ  rY  r�   rÙ  rô   rà  rÝ  rã  ræ  r™  rP   r5   r3   rÒ  rÒ  ½  s  € € € € € ð €IØ”7˜BœJ¨¬Ð6€KðMð Mð Mð „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð Ð˜QÑÔð	0ð 	0ñ  Ôð	0ð „[×ÒÐ5ÐÑ6Ô6ðð ñ 7Ô6ðð:ð :ð :ð9ð 9ð 9ð-ð -ð -ð	>ð 	>ð 	>ð 	>ð 	>r5   rÒ  )rõ  rö  r÷  rø  rù  rü  rý  c                   óª  — e Zd ZeZej        ej        ej        gZ	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zej                             dd¬¦  «        d„ ¦   «         Zej                             dd¬¦  «        d„ ¦   «         Zd„ Zej                             dd¬¦  «        d„ ¦   «         Zej                             ed¬¦  «        d„ ¦   «         ZdS )r
  c                 ó:  — t          g d¢¦  «        }t          g d¢¦  «        }t          d¦  «        }t          g d¢g d¢g¦  «        |d<   t          g d¢g d¢g¦  «        |d	<   t          g d
¢g d¢g¦  «        |d<   t          g d¢g d¢g¦  «        |d<   t          g d¢g d¢g d¢gg d¢g d¢g¦  «        }t          |||fd¬¦  «        }t	          |                     ¦   «         |¦  «         t          |||f¦  «        }t	          |                     ¦   «         |¦  «         d S ©N)r   r_   r_   r|  )r   r_   r_   rÞ   )r|  r_   rÞ   rú  r*  r   r†  )r£  r   rO   rÝ   )r   r|  r¥  )r­  r   r³  r_   )r   rZ  rO   )r—  r   rô  rÞ   rà  r±  r)  ©r£  r­  r'  )r   r   r   r   r   r�   )r—   r„  rƒ  r…  rJ   rê  s         r3   r  zTestBSR.test_constructor1  sY  € å�y�y�yÑ!Ô!ˆÝ˜	˜	˜	Ñ"Ô"ˆÝ�W‰~Œ~ˆå˜˜˜Ø"˜˜ð$ñ %ô %ˆˆQ‰å˜˜˜Ø#˜˜ð%ñ &ô &ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰õ �)�)�)˜I˜I˜I i i iÐ0°7°7°7¸7¸7¸7Ð2CÑDÔDˆÝ˜$˜w vÐ.°VÐ<Ñ<Ô<ˆÝ�S—[’[‘]”] AÑ&Ô&Ð&õ ˜$˜w vÐ.Ñ/Ô/ˆÝ�S—[’[‘]”] AÑ&Ô&Ð&Ð&Ð&r5   c                 óX  — dD ]@}t          |¦  «        }t          t          |¦  «                             ¦   «         |¦  «         ŒAt          d¦  «        }t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t	          g d¢g d¢g d¢gg d	¢g d
¢g¦  «        }t          t          |¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t          t          |d¬¦  «                             ¦   «         |¦  «         t	          g d¢g d¢g d¢gg d	¢g d
¢g¦  «        }t          t          |d¬¦  «                             ¦   «         |¦  «         d S )N)rï  rÐ  rß  )rO   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´   rJ   s      r3   r  zTestBSR.test_constructor2(  so  € ð Bð 	5ð 	5ˆEÝ�e‘”ˆAÝ� A™œ×.Ò.Ñ0Ô0°!Ñ4Ô4Ð4Ð4Ý�%‰LŒLˆÝ•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBÝ•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBå�)�)�)˜I˜I˜I i i iÐ0°7°7°7¸7¸7¸7Ð2CÑDÔDˆÝ•Z ‘]”]×*Ò*Ñ,Ô,¨aÑ0Ô0Ð0Ý•Z ¨Ð1Ñ1Ô1×9Ò9Ñ;Ô;¸QÑ?Ô?Ð?Ý•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBÝ•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBÝ•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBÝ•Z ¨WÐ5Ñ5Ô5×=Ò=Ñ?Ô?ÀÑCÔCÐCÝ•Z ¨WÐ5Ñ5Ô5×=Ò=Ñ?Ô?ÀÑCÔCÐCÝ•Z ¨WÐ5Ñ5Ô5×=Ò=Ñ?Ô?ÀÑCÔCÐCå�)�)�)˜I˜I˜I i i iÐ0°7°7°7¸7¸7¸7Ð2CÑDÔDˆÝ•Z ¨VÐ4Ñ4Ô4×<Ò<Ñ>Ô>ÀÑBÔBÐBÐBÐBr5   c                 óª   — g d¢g d¢g d¢ff}t          ddgddgg¦  «        }t          t          |d¬	¦  «                             ¦   «         |¦  «         d S )
Nr¡  rß  r�  rÝ   r   r_   rÞ   rŽ  r,  )r   r   r   r�   )r—   ÚargrJ   s      r3   r  zTestBSR.test_constructor3@  se   € àˆwˆw˜˜˜ ' ' 'Ð*Ð+ˆÝ�A�a�5˜!˜A˜�-Ñ Ô ˆÝ•Z ¨vÐ6Ñ6Ô6×>Ò>Ñ@Ô@À!ÑDÔDÐDÐDÐDr5   c                 ó  — d}t          j        ||dft           j        ¬¦  «        }t          j        d|gt           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }t          |||f|dfd¬¦  «         d S )Nr¥  rÝ   r^  r   F)r-  rþ   )rC   rÈ  r   r   rT   r   r   )r—   rÂ  r…  r„  rƒ  s        r3   r  zTestBSR.test_constructor4F  s{   € ð ˆÝŒw˜˜1˜a�y­¬Ð0Ñ0Ô0ˆÝ”˜1˜a˜&­¬Ð1Ñ1Ô1ˆÝ”)˜A¥R¤XÐ.Ñ.Ô.ˆÝ�D˜' 6Ð*°q¸!°fÀ5ÐIÑIÔIÐIÐIÐIr5   c                 ó2  — d}t          j        |¦  «        }t          j        |||f¦  «        }t          j        d|g¦  «        }t          j        |¦  «        }t	          t
          ¦  «        5  t          |||f¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          ¦  «        5  t          |||fd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          ¦  «        5  t          |||fd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¥  r   r(  r,  rï  )rC   rÈ  r   r   rî   rï   r   )r—   rÂ  Ú	data_1dimr…  r„  rƒ  s         r3   r   zTestBSR.test_constructor5O  só  € àˆÝ”G˜A‘J”Jˆ	ÝŒw˜˜1˜a�yÑ!Ô!ˆÝ”˜1˜a˜&Ñ!Ô!ˆÝ”)˜A‘,”,ˆå�:Ñ&Ô&ð 	5ð 	5å˜	 7¨FÐ3Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5õ �:Ñ&Ô&ð 	Eð 	Eå˜˜g vÐ.¸)ÐDÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eõ �:Ñ&Ô&ð 	Bð 	Bå˜˜g vÐ.¸&ÐAÑAÔAÐAð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bs6   Á,BÂBÂBÂ*CÃCÃCÃ*DÄDÄDc                 ó  — dgdggdgdggg}t          j        ddgt           j        ¬¦  «        }t          j        ddgt           j        ¬¦  «        }t          |||fd¬¦  «        }|j        t          j        |¦  «        j        k    sJ ‚d S )NrÝ   r   r_   r^  r  r,  )rC   r   rT   r   r8   )r—   rA   r„  rƒ  rL   s        r3   Útest_default_dtypezTestBSR.test_default_dtypec  s�   € à�3˜˜�* ˜s Q C˜jÐ)ˆÝ”˜1˜a˜&­¬Ð1Ñ1Ô1ˆÝ”(˜A˜q˜6­¬Ð2Ñ2Ô2ˆÝ˜ ¨Ð0¸FÐCÑCÔCˆØŒw�"œ( 6Ñ*Ô*Ô0Ò0Ð0Ð0Ð0Ð0Ð0r5   c                 ó®  — t          g d¢¦  «        }t          g d¢¦  «        }t          d¦  «        }t          g d¢g d¢g¦  «        |d<   t          g d¢g d¢g¦  «        |d	<   t          g d
¢g d¢g¦  «        |d<   t          g d¢g d¢g¦  «        |d<   t          g d¢g d¢g d¢gg d¢g d¢g¦  «        }t          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «                              ¦   «         }t          |                     ¦   «         |¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S rì  )r   r   r   r   r`  ra  r   r�   )r—   r„  rƒ  r…  rJ   ÚAbsrÚAcsrÚAcsr_via_coos           r3   Útest_bsr_tocsrzTestBSR.test_bsr_tocsrk  s|  € å�|�|�|Ñ$Ô$ˆÝ˜˜˜Ñ%Ô%ˆÝ�YÑÔˆå˜˜˜Ø"˜˜ð$ñ %ô %ˆˆQ‰å˜˜˜Ø#˜˜ð%ñ &ô &ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰õ �,�,�,   ¨l¨l¨lÐ;Ø�)�)˜Y˜Y˜YÐ'ñ)ô )ˆå˜4 ¨&Ð1¸ÐAÑAÔAˆØ�zŠz‰|Œ|ˆØ—z’z‘|”|×)Ò)Ñ+Ô+ˆÝ�T—\’\‘^”^ QÑ'Ô'Ð'Ý�T—\’\‘^”^ \×%9Ò%9Ñ%;Ô%;Ñ<Ô<Ð<Ð<Ð<r5   c                 ó¼  — t          g d¢ddgddgg¦  «        j        }|                     ddd¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t	          |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        d	¦  «         t          | 	                    ¦   «         | 	                    ¦   «         ¦  «         d S )
Nr5  rÝ   r  r_   r6  r7  )r|  r³  r'  r­  )
r   r8  rº  r   r   rþ   r8  r   r4  r�   r2  s         r3   r9  zTestBSR.test_eliminate_zeros‚  sÑ   € ÝÐ,Ð,Ð,°°!¨u°a¸°U¨mÑ<Ô<Ô>ˆØ�|Š|˜B˜q Ñ#Ô#ˆÝÐ0Ð0Ð0Ñ1Ô1ˆÝ�y�y�yÑ!Ô!ˆÝ˜$ ¨Ð0¸Ð?Ñ?Ô?ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ7 CÑ(Ô(Ð(Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r5   c                 óN  — t           j                             d¦  «         t          t           j                             d¦  «        d¬¦  «        }d|j        |j        dk    <   |                     ¦   «          t          |j        d¦  «         t          |j        j	        d¦  «         d|j        |j        dk    <   |                     ¦   «          t          |j        d¦  «         t          |j        j	        d	¦  «         t          | 
                    ¦   «         t          j        d¦  «        ¦  «         |                     ¦   «          t          |j        d¦  «         t          |j        j	        d	¦  «         t          | 
                    ¦   «         t          j        d¦  «        ¦  «         d S )
Nr   )r­  r­  rÏ  r,  gÍÌÌÌÌÌì?éB   )rë  r_   rÞ   rE  r•  )rC   rŠ   r]   r   r…  r8  r   r4  r   r´   r�   r   rØ  s     r3   Útest_eliminate_zeros_all_zeroz%TestBSR.test_eliminate_zeros_all_zeroŽ  sT  € Ý
Œ	�Š�qÑÔÐÝ•r”y×'Ò'¨Ñ1Ô1¸VÐDÑDÔDˆð !"ˆŒˆqŒv˜Š}ÑØ	×ÒÑÔÐÝ�Q”U˜BÑÔÐÝ˜1œ6œ<¨Ñ4Ô4Ð4ð !"ˆŒˆqŒv˜Š}ÑØ	×ÒÑÔÐÝ�Q”U˜AÑÔÐÝ˜1œ6œ<¨Ñ3Ô3Ð3Ý˜1Ÿ9š9™;œ;­¬°Ñ(:Ô(:Ñ;Ô;Ð;ð 	
×ÒÑÔÐÝ�Q”U˜AÑÔÐÝ˜1œ6œ<¨Ñ3Ô3Ð3Ý˜1Ÿ9š9™;œ;­¬°Ñ(:Ô(:Ñ;Ô;Ð;Ð;Ð;r5   c                 ó  — t          t          d¦  «                             dd¦  «        d¬¦  «        }t          |j        d         ¦  «                             dd¦  «        }t	          ||z  |                     ¦   «         |z  ¦  «         d S )Néx   r¥  r—  ©r|  rZ  r,  rÝ   r  ©r   r   rº  r´   r   r�   r+  s      r3   Útest_bsr_matveczTestBSR.test_bsr_matvec¥  ss   € Ý•v˜g‘”×.Ò.¨s°3Ñ7Ô7À5ÐIÑIÔIˆÝ�1”7˜1”:ÑÔ×&Ò& r¨!Ñ,Ô,ˆÝ�Q�q‘S˜!Ÿ)š)™+œ+¨™/Ñ*Ô*Ð*Ð*Ð*r5   c                 ó  — t          t          d¦  «                             dd¦  «        d¬¦  «        }t          |j        d         dz  ¦  «                             dd¦  «        }t	          ||z  |                     ¦   «         |z  ¦  «         d S )	Nr   r¥  r—  r  r,  rÝ   r£  r  r  r+  s      r3   Útest_bsr_matvecszTestBSR.test_bsr_matvecsª  sw   € Ý•v˜g‘”×.Ò.¨s°3Ñ7Ô7À5ÐIÑIÔIˆÝ�1”7˜1”:˜a‘<Ñ Ô ×(Ò(¨¨AÑ.Ô.ˆÝ�Q�q‘S˜!Ÿ)š)™+œ+¨™/Ñ*Ô*Ð*Ð*Ð*r5   FzBSR does not have a __getitem__r·  c                 ó   — d S r7   rP   r·   s    r3   rY  zTestBSR.test_iterator¯  r»  r5   zBSR does not have a __setitem__c                 ó   — d S r7   rP   r·   s    r3   rÜ  zTestBSR.test_setdiag³  r»  r5   c                 ó¼  — t          j        g d¢g d¢g d¢g¦  «        }|                      |d¬¦  «        }t          |                     d¦  «        d u ¦  «         t          |                     ¦   «         ddgd	dgd
dgg¦  «         |                     d¦  «         t          |                     ¦   «         ddgd	dgg¦  «         |                     d¦  «         t          |                     ¦   «         ddgd	dgddgg¦  «         |                     d¦  «         t          |                     ¦   «         g d¢g d¢g d¢g¦  «         t          t          |j        d¦  «         d S )NrŠ  r‹  rŒ  rÀ  r,  r�  rÝ   r   r_   rÞ   rŽ  r¸  rd  r±  rÏ  r�  rd  s      r3   Útest_resize_blockedzTestBSR.test_resize_blocked·  s…  € åŒH�l�l�lØ"�l�lØ"�l�lð$ñ %ô %ˆð �NŠN˜1¨ˆNÑ/Ô/ˆÝ�—’˜Ñ Ô  DÐ(Ñ)Ô)Ð)Ý˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2ð 	
�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2à	�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ñ 	2ô 	2ð 	2ð 	
�Š�ÑÔÐÝ˜1Ÿ9š9™;œ;¨¨¨Ø)5¨¨Ø)5¨¨ð)7ñ 	8ô 	8ð 	8õ 	•j !¤(¨FÑ3Ô3Ð3Ð3Ð3r5   c                 ó   — d S r7   rP   r·   s    r3   rÔ  z"TestBSR.test_setdiag_comprehensiveÎ  r»  r5   zexceeds memory limitrÚ  c                 óä  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }t          |||fd¬¦  «        }t          |||fd¬¦  «        }t          d¦  «        }t          d¦  «        }t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         	 t          j        d¦  «        }t          j        d	¦  «        }	t          |||fd¬¦  «        }
t          |	||fd¬¦  «        }t	          |
j        j        t           j        ¦  «         t	          |j        j        t           j        ¦  «         n# t          t          f$ r d}
d}Y nw xY w|||||
|fD ]}||z    Œd S )
Nr_   r^  r   rß  rT  r'  rV  )r   rÝ   rU  )r   rÝ   rW  )
rC   r   rT   r   r   r„  r8   r`   ÚMemoryErrorrï   )r—   r„  rƒ  rY  rG   rL   rc  rß   Úvals2Úvals3rd  re  r9   s                r3   rZ  zTestBSR.test_scalar_idx_dtypeÒ  sÈ  € õ ”˜!¥2¤8Ð,Ñ,Ô,ˆÝ”(˜1¥B¤HÐ-Ñ-Ô-ˆÝŒx˜	Ñ"Ô"ˆÝ˜˜g vÐ.°lÐCÑCÔCˆÝ˜˜g vÐ.°jÐAÑAÔAˆÝ�|Ñ$Ô$ˆÝ�zÑ"Ô"ˆÝ�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.ð
	Ý”H˜_Ñ-Ô-ˆEÝ”H˜]Ñ+Ô+ˆEÝ˜E 7¨FÐ3¸<ÐHÑHÔHˆAÝ˜E 7¨FÐ3¸:ÐFÑFÔFˆAÝ˜œœ­¬Ñ2Ô2Ð2Ý˜œœ­¬Ñ2Ô2Ð2Ð2øÝ�ZÐ(ð 	ð 	ð 	àˆAØˆAˆAˆAð	øøøð �Q˜˜1˜a Ð#ð 	ð 	ˆAØ�‰EˆEˆEð	ð 	s   Ä,BG ÇGÇGN)r¬   r­   r®   r   rá   rC   r`  ré   r]  rå   r  r  r  r  r   rõ  rú  r9  rþ  r  r  ró   rš  rÐ  rY  rÜ  r	  rÔ  ÚskipifÚIS_COLABrZ  rP   r5   r3   r
  r
  
  s¹  € € € € € ð €IØ”7˜BœJ¨¬Ð6€Kð'ð 'ð 'ð.Cð Cð Cð0Eð Eð EðJð Jð JðBð Bð Bð(1ð 1ð 1ð=ð =ð =ð.	9ð 	9ð 	9ð<ð <ð <ð.+ð +ð +ð
+ð +ð +ð
 „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð4ð 4ð 4ð. „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð „[×Ò˜Ð)?ÐÑ@Ô@ðð ñ AÔ@ðð ð r5   r
  )rõ  rö  r÷  rø  rù  rý  c                 óœ  — |                      dd¦  «        }t          j        | j        t          j        ¦  «        s$t          j        | j        t          j        ¦  «        r|€| f|z   S | f|z   |fz   S | dk                         ¦   «         }|                      dd¬¦  «        } | ddd…xx         dz  cc<   d| ddd…<   |d         j        dk    rTt          d„ |D ¦   «         ¦  «        }d|d         z  f|dd…         z   }d|d         z  dz   f|dd…         z   }d| |<   d| |<   t          d„ |D ¦   «         ¦  «        }|€| f|z   S | f|z   |dz  fz   S )	z-Duplicates entries to produce the same matrixr„  Nr   r_   r  rÝ   c              3   ó&   K  — | ]}|d          V — ŒdS rÇ  rP   )rä  Úps     r3   ú	<genexpr>z&_same_sum_duplicate.<locals>.<genexpr>  s&   è è € Ð,Ð,˜Q�A�a”DÐ,Ð,Ð,Ð,Ð,Ð,r5   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )r_   N)rÕ  )rä  rƒ  s     r3   r  z&_same_sum_duplicate.<locals>.<genexpr>  s.   è è € Ð7Ð7 w�—’ Ñ"Ô"Ð7Ð7Ð7Ð7Ð7Ð7r5   )
ÚpoprC   rf   r8   rÃ  Úunsignedintegerrè  rÕ  re   râ  )r…  Úindsr;   r„  Ú	zeros_posÚposÚpos1Úpos2s           r3   Ú_same_sum_duplicater  ú  s‚  € à�ZŠZ˜ $Ñ'Ô'€FÝ	„}�T”Z¥¤Ñ*Ô*ð .Ý	„}�T”Z¥Ô!3Ñ4Ô4ð.àˆ>Ø�7˜T‘>Ð!à�7˜T‘> V IÑ-Ð-à˜’×#Ò#Ñ%Ô%€Ið �;Š;�q˜qˆ;Ñ!Ô!€DØˆˆˆ1ˆ€I€I„I��N€I€I�IØ€DˆˆˆAˆ�Jð �„|Ô˜1ÒÐÝÐ,Ð, )Ð,Ñ,Ô,Ñ,Ô,ˆØ�#�a”&‘ˆ{˜S   œWÑ$ˆØ�#�a”&‘˜‘
ˆ}˜s 1 2 2œwÑ&ˆØˆˆT‰
ØˆˆT‰
åÐ7Ð7°$Ð7Ñ7Ô7Ñ7Ô7€Dà€~Øˆw˜‰~Ðàˆw˜‰~ ¨!¡ Ñ-Ð-r5   c                   óø   ‡ — e Zd Zd
ˆ fd„	Zej                             d¬¦  «        d„ ¦   «         Zej                             d¬¦  «        d„ ¦   «         Zej                             d¬¦  «        d	„ ¦   «         Z	ˆ xZ
S )Ú_NonCanonicalMixinFc                 ó   •— t          ¦   «         j        } ||fi |¤Ž}|                     ¦   «         dk                         ¦   «         }|d         j        dk    }|r€|d         j        dz  }t          ¦   «         5 }	|	                     t          d¦  «         |                      ||d         |         |d         |         ¦  «        }ddd¦  «         n# 1 swxY w Y   |  	                    ||¦  «        }
d|vr
|j
        |d<    ||
fi |¤Ž}|j        t          j        t          j        fv rd}nd}t          |                     ¦   «         |                     ¦   «         |¬	¦  «         |r*t!          |j        dk                         ¦   «         ¦  «         |S )
zcReplace D with a non-canonical equivalent: containing
        duplicate elements and explicit zerosr   r_   r×  rÝ   Nr´   gñhãˆµøä>gH¯¼šò×z>)Úrtol)Úsuperrá   r�   rè  re   r   r  r!   Ú_insert_explicit_zeroÚ_arg1_for_noncanonicalr´   r8   rC   r[  r\  r   r   r…  Úany)r—   rˆ  Úsorted_indicesr;   Ú	constructrL  Úzero_posÚ	has_zerosr”  r  Úarg1ÚNCr!  rS  s                €r3   rá   z_NonCanonicalMixin.spcreator  sÜ  ø€ õ ‘G”GÔ%ˆ	ØˆI�aÐ"Ð"˜6Ð"Ð"ˆà—I’I‘K”K 1Ò$×-Ò-Ñ/Ô/ˆØ˜a”[Ô%¨Ò)ˆ	Øð 	RØ˜”Ô  !Ñ#ˆAÝ"Ñ$Ô$ð R¨Ø—
’
Õ2Ð4UÑVÔVÐVØ×.Ò.¨q°(¸1´+¸a´.À(È1Ä+ÈaÄ.ÑQÔQ�ðRð Rð Rñ Rô Rð Rð Rð Rð Rð Rð Røøøð Rð Rð Rð Rð ×*Ò*¨1¨nÑ=Ô=ˆØ˜&Ð Ð ØœgˆF�7‰OØˆY�tÐ&Ð&˜vÐ&Ð&ˆð Œ8�œ
¥B¤LÐ1Ð1Ð1ð
 ˆDˆDàˆDÝ˜Ÿ
š
™œ a§i¢i¡k¤k¸Ð=Ñ=Ô=Ð=ð ð 	*Ý�R”W ’\×&Ò&Ñ(Ô(Ñ)Ô)Ð)ð ˆ	s   Á9ACÃCÃCz"bool(matrix) counts explicit zerosrÚ  c                 ó   — d S r7   rP   r·   s    r3   rö   z_NonCanonicalMixin.test_boolA  r»  r5   z!getnnz-axis counts explicit zerosc                 ó   — d S r7   rP   r·   s    r3   rà  z#_NonCanonicalMixin.test_getnnz_axisE  r»  r5   znnz counts explicit zerosc                 ó   — d S r7   rP   r·   s    r3   r6  z_NonCanonicalMixin.test_emptyI  r»  r5   ©F)r¬   r­   r®   rá   ró   rš  rô   rö   rà  r6  Ú__classcell__)rS  s   @r3   r  r    sÐ   ø€ € € € € ð#ð #ð #ð #ð #ð #ðJ „[×ÒÐAÐÑBÔBðð ñ CÔBðð „[×ÒÐ@ÐÑAÔAðð ñ BÔAðð „[×ÒÐ8ÐÑ9Ô9ðð ñ :Ô9ðð ð ð ð r5   r  c                   ó   — e Zd Zdd„Zd„ ZdS )Ú_NonCanonicalCompressedMixinFc                 ó>  — t          |j        |j        |j        ¬¦  «        \  }}}|srt	          ||dd…         ¦  «        D ]Y\  }}|||…         ddd…                              ¦   «         |||…<   |||…         ddd…                              ¦   «         |||…<   ŒZ|||fS )ú5Return non-canonical constructor arg1 equivalent to M)r„  rÝ   Nr  )r  r…  rƒ  r„  rX  rþ   )r—   rL  r&  r…  rƒ  r„  ÚstartÚstops           r3   r$  z3_NonCanonicalCompressedMixin._arg1_for_noncanonicalO  sÉ   € å 3°A´F¸A¼IØ;<¼8ð!Eñ !Eô !EÑˆˆg�vàð 	AÝ" 6¨6°!°"°"¬:Ñ6Ô6ð Að A‘��tØ&-¨e°D¨jÔ&9¸$¸$¸B¸$Ô&?×&DÒ&DÑ&FÔ&F�˜˜d˜
Ñ#Ø#'¨¨d¨
Ô#3°D°D°b°DÔ#9×#>Ò#>Ñ#@Ô#@��U˜4�ZÑ Ð Ø�W˜fÐ$Ð$r5   c                 ó   — d|||f<   |S rd   rP   ©r—   rL  rÃ  rÄ  s       r3   r#  z2_NonCanonicalCompressedMixin._insert_explicit_zeroY  s   € Øˆˆ!ˆAˆ#‰Øˆr5   Nr/  )r¬   r­   r®   r$  r#  rP   r5   r3   r2  r2  N  s7   € € € € € ð%ð %ð %ð %ðð ð ð ð r5   r2  c                   ó®   — e Zd Zd„ Zd„ Zej                             dd¬¦  «        d„ ¦   «         Zej                             dd¬¦  «        d„ ¦   «         Z	d	S )
Ú_NonCanonicalCSMixinc                 ól   ‡ — ˆ fd„}t           D ]%}dD ] } |t          j        |¦  «        |¦  «         Œ!Œ&d S )Nc                 ób  •— t          g d¢g d¢g d¢g d¢g| ¬¦  «        }‰	                     ||¬¦  «        }|j        \  }}t          | |¦  «        D ]6}t          | |¦  «        D ]"}t	          |||f         |||f         ¦  «         Œ#Œ7dD ]$}t          t          t          f|j        |¦  «         Œ%d S )NrA  r¶  r·  rB  r^  )r&  r¸  )	r   rá   r´   rø   r   rî   rº  r»  r»  )
r8   r&  rˆ  rJ   rL  rO  rÃ  rÄ  rå  r—   s
            €r3   rñ   z3_NonCanonicalCSMixin.test_getelement.<locals>.check`  sô   ø€ Ý�w�w�wØ�w�wØ�w�wØ�w�wð ð (-ð.ñ .ô .ˆAð —’˜q°�Ñ@Ô@ˆAà”'‰CˆAˆaå˜A˜2˜q‘\”\ð 1ð 1�Ý ˜r 1™œð 1ð 1�AÝ   1 Q 3¤¨¨1¨Q¨3¬Ñ0Ô0Ð0Ð0ð1ð Cð Jð J�Ý�z­9Ð5°q´}ÀbÑIÔIÐIÐIðJð Jr5   )FTr¼  )r—   rñ   r8   r&  s   `   r3   r½  z$_NonCanonicalCSMixin.test_getelement_  sm   ø€ ð	Jð 	Jð 	Jð 	Jð 	Jõ  &ð 	7ð 	7ˆEØ"/ð 7ð 7�Ø�•b”h˜u‘o”o ~Ñ6Ô6Ð6Ð6ð7ð	7ð 	7r5   c                 óÒ  — t          j        d¦  «        }|                      |¦  «        }|                      g d¢g¦  «        }|                     ¦   «         |dd d …f<   t	          ¦   «         5 }|                     t          d¦  «         ||dd d …f<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         |                     ¦   «                              ¦   «         |d d …df<   t	          ¦   «         5 }|                     t          d¦  «         |j	        |d d …df<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d S )NrÞ   r¡  rÝ   r×  r_   )
rC   r   rá   r�   r   r  r!   r   rP  r8  )r—   rˆ  rJ   rK   r  s        r3   Útest_setitem_sparsez(_NonCanonicalCSMixin.test_setitem_sparset  s»  € ÝŒF�1‰IŒIˆØ�NŠN˜1ÑÔˆØ�NŠN˜G˜G˜G˜9Ñ%Ô%ˆà—’‘”ˆˆ!ˆAˆAˆAˆ#‰ÝÑ Ô ð 	 CØ�JŠJÕ.Ð0QÑRÔRÐRØˆAˆa���ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*à—’‘”×"Ò"Ñ$Ô$ˆˆ!ˆ!ˆ!ˆAˆ#‰ÝÑ Ô ð 	 CØ�JŠJÕ.Ð0QÑRÔRÐRØ”SˆAˆaˆaˆa�ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*s$   Á+%BÂB Â#B Ä*D:Ä:D>ÅD>Fz(inverse broken with non-canonical matrixr·  c                 ó   — d S r7   rP   r·   s    r3   rX  z_NonCanonicalCSMixin.test_inv…  r»  r5   z&solve broken with non-canonical matrixc                 ó   — d S r7   rP   r·   s    r3   rÛ  z_NonCanonicalCSMixin.test_solve‰  r»  r5   N)
r¬   r­   r®   r½  r>  ró   rš  rÐ  rX  rÛ  rP   r5   r3   r:  r:  ^  s˜   € € € € € ð7ð 7ð 7ð*+ð +ð +ð" „[×Ò˜5Ð)SÐÑTÔTðð ñ UÔTðð „[×Ò˜5Ð)QÐÑRÔRðð ñ SÔRðð ð r5   r:  c                   ó   — e Zd ZdS )ÚTestCSRNonCanonicalN©r¬   r­   r®   rP   r5   r3   rB  rB  Ž  ó   € € € € € Ø€Dr5   rB  c                   ó   — e Zd ZdS )ÚTestCSCNonCanonicalNrC  rP   r5   r3   rF  rF  ’  rD  r5   rF  c                   ó¨   — e Zd Zd„ Zej                             dd¬¦  «        d„ ¦   «         Zej                             dd¬¦  «        d„ ¦   «         ZdS )	ÚTestBSRNonCanonicalc                 ón   — |                      ¦   «         }d|||f<   |                     |j        ¬¦  «        S )Nr   r,  )r`  rb  r-  )r—   rL  rÃ  rÄ  r9   s        r3   r#  z)TestBSRNonCanonical._insert_explicit_zero—  s2   € Ø�GŠG‰IŒIˆØˆˆ!ˆAˆ#‰Ø�wŠw ¤ˆwÑ-Ô-Ð-r5   Fz&diagonal broken with non-canonical BSRr·  c                 ó   — d S r7   rP   r·   s    r3   rŸ  z!TestBSRNonCanonical.test_diagonalœ  r»  r5   z"expm broken with non-canonical BSRc                 ó   — d S r7   rP   r·   s    r3   rT  zTestBSRNonCanonical.test_expm   r»  r5   N)	r¬   r­   r®   r#  ró   rš  rÐ  rŸ  rT  rP   r5   r3   rH  rH  –  s‰   € € € € € ð.ð .ð .ð
 „[×Ò˜5Ð)QÐÑRÔRðð ñ SÔRðð „[×Ò˜5Ð)MÐÑNÔNðð ñ OÔNðð ð r5   rH  c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚTestCOONonCanonicalNc                 óV   — t          |j        |j        |j        ¦  «        \  }}}|||ffS )r4  )r  r…  r‡  rˆ  )r—   rL  r&  r…  r‡  rˆ  s         r3   r$  z*TestCOONonCanonical._arg1_for_noncanonical¦  s.   € å,¨Q¬V°Q´U¸A¼EÑBÔB‰ˆˆc�3Ø�c˜3�ZÐÐr5   c                 óh  — t           j        |j        j                             d¦  «        |j        f         |_        t           j        |j        j                             |¦  «        |j        f         |_        t           j        |j        j                             |¦  «        |j        f         |_        |S rd   )rC   Úr_r…  r8   r  r‡  rˆ  r8  s       r3   r#  z)TestCOONonCanonical._insert_explicit_zero«  s|   € Ý”�q”v”|×(Ò(¨Ñ+Ô+¨Q¬VÐ3Ô4ˆŒÝ”�a”e”k×&Ò& qÑ)Ô)¨1¬5Ð0Ô1ˆŒÝ”�a”e”k×&Ò& qÑ)Ô)¨1¬5Ð0Ô1ˆŒØˆr5   c                 óN  — |                       t          j        d¦  «        ¦  «        }|                     ¦   «          |                     ddgd¬¦  «         |                     ¦   «          t          t          j        t          j        |j        ¦  «        dk    ¦  «        ¦  «         d S )NrÞ   r_   rÝ   r“  r   )	rá   rC   r   rQ  rË  r   rÆ  rà  rˆ  rØ  s     r3   Útest_setdiag_noncanonicalz-TestCOONonCanonical.test_setdiag_noncanonical±  s†   € Ø�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ	×ÒÑÔÐØ	�	Š	�1�a�&˜Aˆ	ÑÔÐØ	×ÒÑÔÐÝ•”•r”w˜qœu‘~”~¨Ò*Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r5   r7   )r¬   r­   r®   r$  r#  rR  rP   r5   r3   rM  rM  ¥  sF   € € € € € ð ð  ð  ð  ð
ð ð ð-ð -ð -ð -ð -r5   rM  c            	   #   óZ  K  — t           t          t          t          t          t
          t          g} dddddddddœ}| D ]î}t          t          |¦  «        ¦  «        D ]Ï}t          ||¦  «        }| 
                    d¦  «        r¨t          |d	d
¦  «        s—g }|                     |¦  «        }t          |¦  «        r$|t          j                             |¬¦  «        gz  }t          |dg ¦  «        }|D ] }|j        dv r|                     |¦  «         Œ!t          j        |||¬¦  «        V — ŒÐŒïd S )Nz%expm for 64-bit indices not availablez)linsolve for 64-bit indices not availableztest implemented in base classz%test actually requires 64-bit to workztest verifies int32 indexesztest verifies int64 indexes)rT  rX  rÛ  rZ  rÏ  r)  r,  ræ  rê  r›  FrÚ  Ú
pytestmark)r  rô   rÐ  Úxslow)Úmarks)r
  r¬  r  r  rÒ  rò   rŠ  ÚsortedÚdirr€   rí  rô  rð   ró   rš  rô   r‡   rE   Úparam)	ÚTEST_CLASSESÚ
SKIP_TESTSrê   Úmethod_nameÚmethodrV  r/   Úmarkersrš  s	            r3   Úcases_64bitr_  ¹  se  è è € Ý�W¥g­w½å�Wð€Lð =Ø?ØAØ!AØ)PØ%BØ%BØ*Gð	ð 	€Jð ð Bð BˆÝ!¥# c¡(¤(Ñ+Ô+ð 	Bð 	BˆKÝ˜S +Ñ.Ô.ˆFØ×&Ò& wÑ/Ô/ð BÝ ¨°Ñ6Ô6ðBà�à —n’n [Ñ1Ô1�Ý˜‘9”9ð <Ø�fœk×.Ò.°cÐ.Ñ:Ô:Ð;Ñ;�Eå! &¨,¸Ñ;Ô;�Ø#ð +ð +�DØ”yÐ$HÐHÐHØŸš TÑ*Ô*Ð*øå”l 3¨¸5ÐAÑAÔAÐAÐAÐAøð	BðBð Br5   c                   óø  — e Zd ZeeeeegZd„ Z	d„ Z
d„ Zd„ Zd„ Zej                             d e¦   «         ¦  «        d„ ¦   «         Zej                             d e¦   «         ¦  «        d„ ¦   «         Zej                             d e¦   «         ¦  «        d	„ ¦   «         Zej                             d e¦   «         ¦  «        d
„ ¦   «         Zej                             d e¦   «         ¦  «        d„ ¦   «         Zd„ ZdS )Ú	Test64Bitc                 óT   —  |t           j                             ||¦  «        ¦  «        S r7   )rC   rŠ   r  )r—   Úmat_clsrf  rÂ  s       r3   Ú_create_some_matrixzTest64Bit._create_some_matrixá  s"   € Øˆw•r”y—~’~ a¨Ñ+Ô+Ñ,Ô,Ð,r5   c                 óˆ  — t          j        |¦  «        }t          |t          t          t
          f¦  «        r |j        j        |k    o|j        j        |k    S t          |t          ¦  «        r |j	        j        |k    o|j
        j        |k    S t          |t          ¦  «        r|j        j        |k    S t          d|›d�¦  «        ‚)Nzmatrix z has no integer indices)rC   r8   rB   r   r   r   rƒ  r„  r   r‡  rˆ  r   r‰  rï   )r—   rf  r8   s      r3   Ú_compare_index_dtypezTest64Bit._compare_index_dtypeä  s²   € Ý”˜‘”ˆÝ�a�*¥jµ*Ð=Ñ>Ô>ð 	EØ”I”O uÒ,ÐK°1´8´>ÀUÒ3JÐKÝ˜�:Ñ&Ô&ð 	EØ”E”K 5Ò(ÐD¨q¬u¬{¸eÒ/CÐDÝ˜�:Ñ&Ô&ð 	EØ”I”O uÒ,Ð-åÐC qÐCÐCÐCÑDÔDÐDr5   c                 óh   ‡ — t          d¬¦  «        ˆ fd„¦   «         }‰ j        D ]} ||¦  «         Œd S )NrO   ©rk   c                 ó`  •—  | t           j                             dd¦  «        ¦  «        }t          ‰                     |t           j        ¦  «        ¦  «          | t           j                             dd¦  «        ¦  «        }t          ‰                     |t           j        ¦  «        ¦  «         d S )NrO   rÝ   rë  )rC   rŠ   r  r   rf  rT   r`   )rc  rf  r—   s     €r3   rñ   z4Test64Bit.test_decorator_maxval_limit.<locals>.checkò  s‡   ø€ à��œ	Ÿš r¨1Ñ-Ô-Ñ.Ô.ˆAÝ�D×-Ò-¨aµ´Ñ:Ô:Ñ;Ô;Ð;Ø��œ	Ÿš r¨1Ñ-Ô-Ñ.Ô.ˆAÝ�D×-Ò-¨aµ´Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r5   ©r�   ÚMAT_CLASSES©r—   rñ   rc  s   `  r3   Útest_decorator_maxval_limitz%Test64Bit.test_decorator_maxval_limitï  sa   ø€ õ 
!¨bÐ	1Ñ	1Ô	1ð	<ð 	<ð 	<ð 	<ñ 
2Ô	1ð	<ð Ô'ð 	ð 	ˆGØˆE�'‰NŒNˆNˆNð	ð 	r5   c                 óh   ‡ — t          d¬¦  «        ˆ fd„¦   «         }‰ j        D ]} ||¦  «         Œd S )NT©rŠ   c                 ó  •— d}d}t          d¦  «        D ]d}‰                     | dd¦  «        }|p‰                     |t          j        ¦  «        }|p‰                     |t          j        ¦  «        }|r|r d S Œet          d¦  «        ‚)NFr#  r¦  z#both 32 and 64 bit indices not seen)rø   rd  rf  rC   rT   r`   rm   )rc  Úseen_32Úseen_64r”  rf  r—   s        €r3   rñ   z5Test64Bit.test_decorator_maxval_random.<locals>.checkÿ  s™   ø€ àˆGØˆGÝ˜3‘Z”Zð Lð L�Ø×,Ò,¨W°a¸Ñ;Ô;�Ø!ÐK T×%>Ò%>¸qÅ"Ä(Ñ%KÔ%K�Ø!ÐK T×%>Ò%>¸qÅ"Ä(Ñ%KÔ%K�Øð ˜wð Ø�E�Eøå$Ð%JÑKÔKÐKr5   rj  rl  s   `  r3   Útest_decorator_maxval_randomz&Test64Bit.test_decorator_maxval_randomü  sf   ø€ õ 
!¨Ð	-Ñ	-Ô	-ð
	Lð 
	Lð 
	Lð 
	Lñ 
.Ô	-ð
	Lð Ô'ð 	ð 	ˆGØˆE�'‰NŒNˆNˆNð	ð 	r5   c                 óH   — t          di |¤Žd„ ¦   «         } |||¦  «         d S )Nc                 ó4  —  | ¦   «         }t          |d¦  «        r|                     ¦   «          	  t          ||¦  «        ¦   «          t          |d¦  «        r|                     ¦   «          d S d S # t          |d¦  «        r|                     ¦   «          w w xY w)NÚsetup_methodÚteardown_method)r�  rv  r€   rw  )rê   r\  Úinstances      r3   rñ   z*Test64Bit._check_resiliency.<locals>.check  s³   € à�s‘u”uˆHÝ�x Ñ0Ô0ð (Ø×%Ò%Ñ'Ô'Ð'ð/Ø.•˜ +Ñ.Ô.Ñ0Ô0Ð0å˜8Ð%6Ñ7Ô7ð /Ø×,Ò,Ñ.Ô.Ð.Ð.Ð.ð/ð /ø•7˜8Ð%6Ñ7Ô7ð /Ø×,Ò,Ñ.Ô.Ð.Ð.ð/øøøs   °A0 Á0'BrP   )r�   )r—   rê   r\  rƒ   rñ   s        r3   Ú_check_resiliencyzTest64Bit._check_resiliency  sF   € õ 
!Ð	&Ð	& 2Ð	&Ð	&ð	/ð 	/ñ 
'Ô	&ð	/ð 	ˆˆc�;ÑÔÐÐÐr5   zcls,method_namec                 ó6   — |                       ||d¬¦  «         d S )NrO   rh  ©ry  ©r—   rê   r\  s      r3   Útest_resiliency_limit_10z"Test64Bit.test_resiliency_limit_10   s#   € à×Ò˜s K¸bÐÑAÔAÐAÐAÐAr5   c                 ó6   — |                       ||d¬¦  «         d S )NTro  r{  r|  s      r3   Útest_resiliency_randomz Test64Bit.test_resiliency_random$  s%   € ð
 	×Ò˜s K¸ÐÑ=Ô=Ð=Ð=Ð=r5   c                 óJ   — |                       ||t          j        ¬¦  «         d S ©N©r[   )ry  rC   rT   r|  s      r3   Útest_resiliency_all_32z Test64Bit.test_resiliency_all_32+  ó%   € à×Ò˜s K½R¼XÐÑFÔFÐFÐFÐFr5   c                 óJ   — |                       ||t          j        ¬¦  «         d S r�  )ry  rC   r`   r|  s      r3   Útest_resiliency_all_64z Test64Bit.test_resiliency_all_64/  r„  r5   c                 ó6   — |                       ||d¬¦  «         d S )NT)rŒ   r{  r|  s      r3   Ú
test_no_64zTest64Bit.test_no_643  s#   € à×Ò˜s K¸dÐÑCÔCÐCÐCÐCr5   c                 ó¼   — t          t          j        d¬¦  «        d„ ¦   «         }t          t          j        ¬¦  «        d„ ¦   «         } |¦   «           |¦   «          d S )NrÝ   )r[   rp   c                  ój  — t          ddgddgddgg¦  «        } t          t          | j        d¬¦  «         t          t          | j        d¬¦  «         t          g d	¢g d
¢g¦  «        } t          t          | j        d¬¦  «         t          g d	¢g d¢g¦  «        } t          t          | j        d¬¦  «         d S ©NrÝ   r_   rÞ   r|  rZ  r£  r  r   r¡  )rÞ   r|  r£  r2  )r   rî   rm   rÝ  r  r   r   r�   s    r3   Úcheck_limitedz3Test64Bit.test_downcast_intp.<locals>.check_limited>  sº   € õ ˜Q ˜F Q¨ F¨Q°¨FÐ3Ñ4Ô4ˆAÝ�.¨!¬(¸Ð;Ñ;Ô;Ð;Ý�.¨!¬%°aÐ8Ñ8Ô8Ð8å˜I˜I˜I y y yÐ1Ñ2Ô2ˆAÝ�.¨!¬(¸Ð;Ñ;Ô;Ð;å˜I˜I˜I y y yÐ1Ñ2Ô2ˆAÝ�.¨!¬(¸Ð;Ñ;Ô;Ð;Ð;Ð;r5   r‚  c                  ó:  — t          ddgddgddgg¦  «        } |                      d¬¦  «         |                      d¬¦  «         t          g d	¢g d
¢g¦  «        } |                      d¬¦  «         t	          g d	¢g d¢g¦  «        } |                      d¬¦  «         d S r‹  )r   rÝ  r  r   r   r�   s    r3   Úcheck_unlimitedz5Test64Bit.test_downcast_intp.<locals>.check_unlimitedL  s«   € õ ˜Q ˜F Q¨ F¨Q°¨FÐ3Ñ4Ô4ˆAØ�HŠH˜!ˆHÑÔÐØ�EŠE�qˆE‰MŒMˆMå˜I˜I˜I y y yÐ1Ñ2Ô2ˆAØ�HŠH˜!ˆHÑÔÐå˜I˜I˜I y y yÐ1Ñ2Ô2ˆAØ�HŠH˜!ˆHÑÔÐÐÐr5   )r�   rC   r`   )r—   rŒ  rŽ  s      r3   Útest_downcast_intpzTest64Bit.test_downcast_intp7  s€   € õ 
!­R¬XØ12ð
4ñ 
4ô 
4ð
	<ð 
	<ñ
4ô 
4ð
	<õ 
!­R¬XÐ	6Ñ	6Ô	6ð
	ð 
	ñ 
7Ô	6ð
	ð 	ˆ‰ŒˆØˆÑÔÐÐÐr5   N)r¬   r­   r®   r   r   r   r   r   rk  rd  rf  rm  rs  ry  ró   rš  Úparametrizer_  r}  r  rƒ  r†  rˆ  r�  rP   r5   r3   ra  ra  Þ  s–  € € € € € Ø˜z¨:°zÀ:ÐN€Kð-ð -ð -ð	Eð 	Eð 	Eðð ð ðð ð ð& ð  ð  ð" „[×ÒÐ.°°±´Ñ>Ô>ðBð Bñ ?Ô>ðBð „[×ÒÐ.°°±´Ñ>Ô>ð>ð >ñ ?Ô>ð>ð „[×ÒÐ.°°±´Ñ>Ô>ðGð Gñ ?Ô>ðGð „[×ÒÐ.°°±´Ñ>Ô>ðGð Gñ ?Ô>ðGð „[×ÒÐ.°°±´Ñ>Ô>ðDð Dñ ?Ô>ðDð#ð #ð #ð #ð #r5   ra  r7   )NFNNF)T)	TTTTTTTTT)rr˜  Ú
contextlibrç  r  r�  r  Úsysró   r   rî   ÚnumpyrC   r   r   r   r   r   r	   r
   r   r   r   r   r   r   rŠ   Únumpy.testingr   r   r   r   r   r   r   Úscipy.linalgrt   rÏ  ru   r   r   r   r   r   r   r   r   r    r!   r"   Úscipy.sparse._baser#   Úscipy.sparse._sputilsr$   r%   r&   r'   r(   Úscipy.sparse.linalgr)   r*   r+   Úscipy._lib.decoratorr,   Úscipy._lib._utilr-   r…   r  r4   r<   Ú	frozensetr”  rM   r	  r  r�   r�   r’   r°   rÄ   rÛ   r�  r³  rØ  rÝ  r  r.  Úcontextmanagerra  rc  rx  r€  rž  rµ  rÛ  rñ  r  r  rë   r  rò   rŠ  r¬  rÒ  r
  r  r  r2  r:  rB  rF  rH  rM  r_  ra  rP   r5   r3   ú<module>r�     sæ
  ððð ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
à €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð Ð Ð Ð à Ð Ð Ð Ð Ð ð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9ð (Ð 'Ð 'Ð 'Ð 'Ð 'ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fà /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à *Ð *Ð *Ð *Ð *Ð *Ø +Ð +Ð +Ð +Ð +Ð +ð ˜cœkÐ)€ð/ð /ð /ð /ð
'ð 'ð 'ð
 %˜9 e WÑ-Ô-Ð ðð ð ð(  ÐÑ!Ô!€Ø × Ò �>Ñ "Ô "Ð "ð JNØ?DðNð Nð Nð Nðbð ð ð$ð $ð $ð $ð $ñ $ô $ð $ð6"$ð "$ð "$ð "$ð "$ñ "$ô "$ð "$ðHð ð ð ð ñ ô ð ð8i7ð i7ð i7ð i7ð i7ñ i7ô i7ð i7ðX=d;ð d;ð d;ð d;ð d;ñ d;ô d;ð d;ðNc+ð c+ð c+ð c+ð c+ñ c+ô c+ð c+ðL%ð %ð %ð %ð %ñ %ô %ð %ð.[ð [ð [ð [ð [ñ [ô [ð [ð|NKð NKð NKð NKð NKñ NKô NKð NKðbS0ð S0ð S0ð S0ð S0ñ S0ô S0ð S0ðl ÔðBð Bñ ÔðBðk$ð k$ð k$ð k$ð k$ñ k$ô k$ð k$ð\ Lð  Lð  Lð  Lð  Lñ  Lô  Lð  LðF_Kð _Kð _Kð _Kð _Kñ _Kô _Kð _KðD_0ð _0ð _0ð _0ð _0ñ _0ô _0ð _0ðDZ=ð Z=ð Z=ð Z=ð Z=ñ Z=ô Z=ð Z=ðz8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð8ð ð ð ð8 AEØ8<ØJNØ,0ð%'ð %'ð %'ð %'ðXz&ð z&ð z&ð z&ð z&ÐÐÑ!Ô!ñ z&ô z&ð z&ðz × Ò Ñ Ô Ð ðPð Pð Pð Pð PÐÐÑ!Ô!ñ Pô Pð Pðf × Ò Ñ Ô Ð ð_Bð _Bð _Bð _Bð _BÐÐ u°uÐ=Ñ=Ô=ñ _Bô _Bð _BðD × Ò Ñ Ô Ð ðnð nð nð nð nÐÐ uÐ-Ñ-Ô-ñ nô nð nðb × Ò Ñ Ô Ð ðFMð FMð FMð FMð FMÐÐ uØ(-¸eØ/4À5ðJñ Jô Jñ FMô FMð FMðR × Ò Ñ Ô Ð ðG>ð G>ð G>ð G>ð G>ÐÐ u°eÈEØ/4À5Ø',°uð>ñ >ô >ñ G>ô G>ð G>ðT × Ò Ñ Ô Ð ðfð fð fð fð fÐÐ uØ(-¸eØ/4À5Ø).ð0ñ 0ô 0ñ fô fð fðR × Ò Ñ Ô Ð ð.ð .ð .ðB0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ðfð ð ð ð Ð#5ñ ô ð ð -ð -ð -ð -ð -Ð7ñ -ô -ð -ð`	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ðð ð ð ð Ð6¸ñ ô ð ð-ð -ð -ð -ð -Ð,¨gñ -ô -ð -ð("Bð "Bð "BðJ|ð |ð |ð |ð |ñ |ô |ð |ð |ð |r5   