§
    µ³ÙgT@ ã                   ó°
  — 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z;m<Z<m=Z=m>Z>m?Z? dd	l@mAZAmBZBmCZC dd
lDmEZE ddlFmGZG dejH        v ZId|d„ZJd„ ZK eLdg¦  «        ZMd„ ZN e!¦   «         ZOeO P                    eG¦  «         	 	 d}d„ZQd„ ZR G d„ d¦  «        ZS G d„ d¦  «        ZT G d„ d¦  «        ZU G d„ d¦  «        ZV G d„ d¦  «        ZW G d„ d¦  «        ZX G d „ d!¦  «        ZYejZ        j[         G d"„ d#¦  «        ¦   «         Z\ G d$„ d%¦  «        Z] G d&„ d'¦  «        Z^ G d(„ d)¦  «        Z_ej`        d*„ ¦   «         Za G d+„ d,¦  «        Zb G d-„ d.¦  «        Zc G d/„ d0¦  «        Zd G d1„ d2¦  «        Ze G d3„ d4¦  «        Zf G d5„ d6¦  «        Zgd~d8„Zh	 	 	 	 dd9„Zi G d:„ d; ei¦   «         ¦  «        Zjej k                    ¦   «           G d<„ d=eVej¦  «        Zlel k                    ¦   «           G d>„ d? ei¦   «         ¦  «        Zmem k                    ¦   «           G d@„ dAeVem¦  «        Znen k                    ¦   «           G dB„ dC eidd¬D¦  «        ¦  «        Zo G dE„ dFeVeo¦  «        Zpeo k                    ¦   «          ep k                    ¦   «           G dG„ dH eid¬I¦  «        ¦  «        Zq G dJ„ dKeVeq¦  «        Zreq k                    ¦   «          er k                    ¦   «           G dL„ dM eiddddd¬N¦  «        ¦  «        Zs G dO„ dPeVes¦  «        Ztes k                    ¦   «          et k                    ¦   «           G dQ„ dR eiddddddd¬S¦  «        ¦  «        Zu G dT„ dUeVeu¦  «        Zveu k                    ¦   «          ev k                    ¦   «           G dV„ dW eidddddd¬X¦  «        ¦  «        Zw G dY„ dZeVew¦  «        Zxew k                    ¦   «          ex k                    ¦   «          d[„ Zy G d\„ d]¦  «        Zz G d^„ d_ez¦  «        Z{ G d`„ dae{¦  «        Z| G db„ dce|ej¦  «        Z} G dd„ dee}el¦  «        Z~ G df„ dge|em¦  «        Z G dh„ dieen¦  «        Z€ G dj„ dke{ew¦  «        Z� G dl„ dme�ex¦  «        Z‚ G dn„ doezes¦  «        Zƒ G dp„ dqeƒet¦  «        Z„dr„ Z… G ds„ dt¦  «        Z† G du„ dv¦  «        Z‡ejZ        j[        ejZ        jˆ         G dw„ dxe‡¦  «        ¦   «         ¦   «         Z‰ejZ        j[         G dy„ dze‡¦  «        ¦   «         ZŠd{„ Z‹dS )€zò 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Ú	csc_arrayÚ	csr_arrayÚ	dok_arrayÚ	coo_arrayÚ	lil_arrayÚ	dia_arrayÚ	bsr_arrayÚ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Ú
collectionr6   Úmessages       úR/granary/edev/quantum/lib/python3.11/site-packages/scipy/sparse/tests/test_base.pyÚ	assert_inr;   3   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      r:   Úassert_array_equal_dtyperC   8   s7   € ÝˆAŒG�q”wÒÑÔÐÝ�q˜!Ð&Ð&˜vÐ&Ð&Ð&Ð&Ð&r<   Údokc                 óv   — d„ } || ¦  «        D ])} ||¦  «        D ]}t          j        ||¦  «        r  dS ŒŒ*dS )Nc                 óº   — g }| j                              ¦   «         D ]>}t          |t          j        t          j        z  ¦  «        r|                     |¦  «         Œ?|S r>   )Ú__dict__ÚvaluesÚ
isinstanceÚnpr
   ÚgenericÚappend)r@   ÚarraysÚas      r:   Ú_underlying_arraysz3sparse_may_share_memory.<locals>._underlying_arraysB   sY   € ð ˆØ”×"Ò"Ñ$Ô$ð 	!ð 	!ˆAÝ˜!�RœZ­"¬*Ñ4Ñ5Ô5ð !Ø—’˜aÑ Ô Ð øØˆr<   TF)rJ   Úmay_share_memory)ÚAÚBrO   rN   Úbs        r:   Úsparse_may_share_memoryrT   ?   sv   € ðð ð ð  Ð Ñ"Ô"ð ð ˆØ#Ð# AÑ&Ô&ð 	ð 	ˆAÝÔ" 1 aÑ(Ô(ð Ø�t�t�tðð	ð ˆ5r<   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 r>   )r-   r   rJ   ÚiinfoÚmaxÚint32r   Úintc)rM   ÚmaxvalÚcheck_contentsÚtps       r:   Únew_get_index_dtypez4with_64bit_maxval_limit.<locals>.new_get_index_dtypef   sa   € Ý  ¨°Ñ@Ô@ˆBÝ�œ "™œÔ)­2¬8µB´HÑ+=Ô+=Ô+AÑBÔBÐBÝ�B�"œ(’NÐ3 b­B¬G¢mÑ4Ô4Ð4ØˆIr<   c                 ó   •— ‰S r>   rW   )rM   r]   r^   Úfixed_dtypes      €r:   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypel   s	   ø€ ØÐr<   éÒ  )Úseedc                 óf   •— t           j        t           j        f‰                     d¦  «                 S )Né   )rJ   r[   Úint64Úrandint)rM   r]   r^   Úcounters      €r:   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypeq   s#   ø€ Ý”H�bœhÐ'¨¯ª¸Ñ(:Ô(:Ô;Ð;r<   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   )
rJ   r[   rg   r   r?   ÚsizeÚ
issubdtypeÚintegerrZ   Úmin)rM   r]   r^   r?   ÚarrÚminvalÚmaxval_limits         €r:   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypet   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øØˆLr<   c                 ó�   •— |                       ¦   «         ‰k    rt          d¦  «        ‚|                      t          j        ¦  «        S )Nzdowncast limited)rZ   ÚAssertionErrorÚastyperJ   Úintp)rp   Údowncast_maxvals    €r:   Únew_downcast_intp_indexz8with_64bit_maxval_limit.<locals>.new_downcast_intp_indexŠ   s9   ø€ Ø�wŠw‰yŒy˜?Ò*Ð*Ý$Ð%7Ñ8Ô8Ð8Ø—:’:�bœgÑ&Ô&Ð&r<   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Ú
_constructrL   ÚgetattrÚsetattr)ÚfuncrN   ÚkwÚbackupÚmodulesÚmodÚnameÚoldfuncrw   rx   r`   s           €€€r:   Ú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 )rW   NF)rJ   rg   ÚrandomÚRandomStater3   )	rr   r‘   rb   rw   Úassert_32bitr�   ri   rx   r`   s	   ` ``  @@@r:   Úwith_64bit_maxval_limitr”   W   s4  øøøøøø€ ð ÐÝ”x ‘|”|ˆˆõ ”x Ñ-Ô-ˆàð "ð	ð 	ð 	ð 	ð 	ð
 
Ð	 ð	ð 	ð 	ð 	ð 	ð 	ð 	à	ð Ý”)×'Ò'¨TÐ'Ñ2Ô2ˆð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð	ð 	ð 	ð 	ð 	ð 	ð* Ð"ð	'ð 	'ð 	'ð 	'ð 	'õ
 ð0ð 0ð 0ð 0ð 0ð 0ñ „Yð0ð* €Kr<   c                 ó€   — t          | t          j        ¦  «        st          | ¦  «        r| S |                      ¦   «         S r>   )rI   rJ   r
   r,   Útoarray)rN   s    r:   r–   r–   ¨   s6   € Ý�!•R”ZÑ Ô ð ¥L°¡O¤Oð ØˆØ�9Š9‰;Œ;Ðr<   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 rightrW   ©ÚselfÚmats     r:   Ú__add__zBinopTester.__add__±   ó   € Ø$Ð$r<   c                 ó   — dS rš   rW   rœ   s     r:   Ú__mul__zBinopTester.__mul__´   r    r<   c                 ó   — dS rš   rW   rœ   s     r:   Ú__sub__zBinopTester.__sub__·   r    r<   c                 ó   — dS ©Númatrix on the leftrW   rœ   s     r:   Ú__radd__zBinopTester.__radd__º   ó   € Ø#Ð#r<   c                 ó   — dS r¦   rW   rœ   s     r:   Ú__rmul__zBinopTester.__rmul__½   r©   r<   c                 ó   — dS r¦   rW   rœ   s     r:   Ú__rsub__zBinopTester.__rsub__À   r©   r<   c                 ó   — dS rš   rW   rœ   s     r:   Ú
__matmul__zBinopTester.__matmul__Ã   r    r<   c                 ó   — dS r¦   rW   rœ   s     r:   Ú__rmatmul__zBinopTester.__rmatmul__Æ   r©   r<   N)Ú__name__Ú
__module__Ú__qualname__rŸ   r¢   r¤   r¨   r«   r­   r¯   r±   rW   r<   r:   r˜   r˜   ®   sŒ   € € € € € ð%ð %ð %ð%ð %ð %ð%ð %ð %ð$ð $ð $ð$ð $ð $ð$ð $ð $ð%ð %ð %ð$ð $ð $ð $ð $r<   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 r>   ©Ú_shape)r�   Úshapes     r:   Ú__init__zBinopTester_with_shape.__init__Ì   s   € ØˆŒˆˆr<   c                 ó   — | j         S r>   r¸   ©r�   s    r:   rº   zBinopTester_with_shape.shapeÏ   s
   € ØŒ{Ðr<   c                 ó*   — t          | j        ¦  «        S r>   )Úlenr¹   r½   s    r:   ÚndimzBinopTester_with_shape.ndimÒ   s   € Ý�4”;ÑÔÐr<   c                 ó   — dS rš   rW   rœ   s     r:   rŸ   zBinopTester_with_shape.__add__Õ   r    r<   c                 ó   — dS rš   rW   rœ   s     r:   r¢   zBinopTester_with_shape.__mul__Ø   r    r<   c                 ó   — dS rš   rW   rœ   s     r:   r¤   zBinopTester_with_shape.__sub__Û   r    r<   c                 ó   — dS r¦   rW   rœ   s     r:   r¨   zBinopTester_with_shape.__radd__Þ   r©   r<   c                 ó   — dS r¦   rW   rœ   s     r:   r«   zBinopTester_with_shape.__rmul__á   r©   r<   c                 ó   — dS r¦   rW   rœ   s     r:   r­   zBinopTester_with_shape.__rsub__ä   r©   r<   c                 ó   — dS rš   rW   rœ   s     r:   r¯   z!BinopTester_with_shape.__matmul__ç   r    r<   c                 ó   — dS r¦   rW   rœ   s     r:   r±   z"BinopTester_with_shape.__rmatmul__ê   r©   r<   N)r²   r³   r´   r»   rº   rÀ   rŸ   r¢   r¤   r¨   r«   r­   r¯   r±   rW   r<   r:   r¶   r¶   É   s¹   € € € € € ðð ð ðð ð ð ð  ð  ð%ð %ð %ð%ð %ð %ð%ð %ð %ð$ð $ð $ð$ð $ð $ð$ð $ð $ð%ð %ð %ð$ð $ð $ð $ð $r<   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ÚeqrW   ©r�   Úothers     r:   Ú__eq__zComparisonTester.__eq__ï   ó   € Øˆtr<   c                 ó   — dS )NÚnerW   rÍ   s     r:   Ú__ne__zComparisonTester.__ne__ò   rÐ   r<   c                 ó   — dS )NÚltrW   rÍ   s     r:   Ú__lt__zComparisonTester.__lt__õ   rÐ   r<   c                 ó   — dS )NÚlerW   rÍ   s     r:   Ú__le__zComparisonTester.__le__ø   rÐ   r<   c                 ó   — dS )NÚgtrW   rÍ   s     r:   Ú__gt__zComparisonTester.__gt__û   rÐ   r<   c                 ó   — dS )NÚgerW   rÍ   s     r:   Ú__ge__zComparisonTester.__ge__þ   rÐ   r<   N)	r²   r³   r´   rÏ   rÓ   rÖ   rÙ   rÜ   rß   rW   r<   r:   rÊ   rÊ   í   sn   € € € € € ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð ð r<   rÊ   c                   óV   — e Zd ZdZeZeZeZ	e
ZeZeZeZ ee¦  «        Zd„ Zd„ Zd„ ZdS )Ú_MatrixMixinz8mixin to easily allow tests of both sparray and spmatrixc                 ó.  — t          | j                             d¦  «                             ¦   «         | j        dgd d …f         ¦  «         t          | j                             d¦  «                             ¦   «         | j        dgd d …f         ¦  «         d S ©Né   éÿÿÿÿ)r   ÚdatspÚgetrowr–   Údatr½   s    r:   Útest_getrowz_MatrixMixin.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ÐNr<   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    r:   Útest_getcolz_MatrixMixin.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ÐNr<   c                 óâ  — |                       t          dd¬¦  «                             d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 )
Né   r[   ©r?   rf   é   Úfloat64Úint16Úfloat32Ú
complex128)
Ú	spcreatorr   Úreshaper   Úasfptyper?   rJ   Úformatru   r   )r�   rQ   rR   ÚCs       r:   Útest_asfptypez_MatrixMixin.test_asfptype  s	  € Ø�NŠN�6 !¨'Ð2Ñ2Ô2×:Ò:¸1¸QÑ?Ô?Ñ@Ô@ˆå�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�‰Œˆˆˆr<   N)r²   r³   r´   Ú__doc__r   Úbsr_containerr   Úcoo_containerr   Úcsc_containerr   Úcsr_containerr   Údia_containerr   Údok_containerr   Úlil_containerÚstaticmethodr.   Úasdenseré   rì   rú   rW   r<   r:   rá   rá     s   € € € € € ØBÐBØ€MØ€MØ€MØ€MØ€MØ€MØ€MØˆl˜8Ñ$Ô$€GðOð Oð OðOð Oð Oð
ð 
ð 
ð 
ð 
r<   rá   c                   óÚ  — e Zd ZdZeZeZeZ	e
ZeZeZeZe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.d„ Z/e0j1        j2        d„ ¦   «         Z3d„ Z4d„ Z5d„ Z6d„ Z7d „ Z8d!„ Z9d"„ Z:d#„ Z;d$„ Z<d%„ Z=d&„ Z>d'„ Z?d(„ Z@d)„ ZAd*„ ZBeCd+„ ¦   «         ZDeCd,„ ¦   «         ZEeCd-„ ¦   «         ZFeCd.„ ¦   «         ZGd/„ ZHd0„ ZIeCd1„ ¦   «         ZJeCd2„ ¦   «         ZKd3„ ZLd4„ ZMd5„ ZNd6„ ZOd7„ ZPd8„ ZQd9„ ZRd:„ ZSd;„ ZTd<„ ZUd=„ ZVd>„ ZWd?„ ZXd@„ ZYdA„ ZZdB„ Z[dC„ Z\dD„ Z]dE„ Z^dF„ Z_dG„ Z`dH„ ZadI„ ZbdJ„ ZcdK„ ZddL„ ZedM„ ZfdN„ ZgdO„ ZhdP„ ZidQ„ ZjdR„ ZkdS„ ZldT„ ZmdU„ ZndV„ ZodW„ ZpdX„ ZqdY„ ZrdZS )[Ú_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                                      ¦   «         ¦  «         t!          | j        t"          ¦  «        | _        d S )N)rä   r   r   rf   )rð   r   rä   r   )r   rf   r   r   Úd)r   rè   rõ   ræ   Úsetr+   ÚunionÚmath_dtypesÚchecked_dtypesÚ
dat_dtypesÚdatsp_dtypesru   r   rJ   rñ   r–   rI   r)   Úis_array_test)Úclsr?   s     r:   Ú
init_classz_TestCommon.init_class6  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Ñ;Ô;ñ	=ô 	=ð 	=õ ' s¤yµ'Ñ:Ô:ˆÔÐÐr<   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õ   )r?   ræ   r�   s     €r:   Úcheckz$_TestCommon.test_bool.<locals>.checkO  sg   ø€ ØÔ% eÔ,ˆEå�*¥d¨EÑ2Ô2Ð2Ý�D—N’N Q C 5Ñ)Ô)Ñ*Ô*Ð*Ý˜Ÿš¨¨ uÑ-Ô-Ð-Ñ.Ô.Ð.Ð.Ð.r<   z%Cannot create a rank <= 2 DOK matrix.)rI   ÚTestDOKÚpytestÚskipr  ©r�   r  r?   s   `  r:   Ú	test_boolz_TestCommon.test_boolN  sm   ø€ ð	/ð 	/ð 	/ð 	/ð 	/õ �d�GÑ$Ô$ð 	AÝŒKÐ?Ñ@Ô@Ð@ØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óÐ   — t          ddgg¦  «        }|                      |¦  «        }t          d¦  «        D ]}||z   }||z   }Œt          ||                     ¦   «         ¦  «         d S )NTFrV   )r   rõ   Úranger   r–   )r�   rè   ræ   Ú_s       r:   Útest_bool_rolloverz_TestCommon.test_bool_rollover[  so   € õ �d˜E�]�OÑ$Ô$ˆØ—’˜sÑ#Ô#ˆå�r‘”ð 	ð 	ˆAØ˜E‘MˆEØ˜‘)ˆCˆCÝ˜3 §¢¡¤Ñ0Ô0Ð0Ð0Ð0r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó@  •— ‰	j         |          }‰	j        |          }|                     ¦   «         }d|d d …df<   ‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }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  rC   r–   rJ   Únan)
r?   rè   ræ   Údat2Údatsp2ÚdatbsrÚdatcsrÚdatcscÚdatlilr�   s
            €r:   r  z"_TestCommon.test_eq.<locals>.checkj  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r<   ©ÚbsrÚcscÚcsrú8Bool comparisons only implemented for BSR, CSC, and CSR.©	r   Úfilterr(   Úsup_complexræ   rø   r  r  r  ©r�   Úsupr  r?   s   `   r:   Útest_eqz_TestCommon.test_eqf  s¢   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð	Bð 	Bð 	Bð 	Bñ 
Œñ 
Œð	Bð4 Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óè  •— ‰	j         |          }‰	j        |          }|                     ¦   «         }d|d d …df<   ‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }‰	                     |¦  «        }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  rC   r–   rJ   r%  )
r?   rè   ræ   r&  r'  r(  r*  r)  r+  r�   s
            €r:   r  z"_TestCommon.test_ne.<locals>.check�  s9  ø€ ð ”/ %Ô(ˆ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r<   r,  r0  r1  r4  s   `   r:   Útest_nez_TestCommon.test_ne‹  s¢   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð	Bð 	Bð 	Bð 	Bñ 
Œñ 
Œð	Bð8 Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óØ  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }	‰ 	                    |¦  «        }
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   ù      ð?      ð?)rf   rä   r   rå   éþÿÿÿÚignore©Úinvalid©r  r  r$  rõ   ru   Úcomplexrü   rþ   rÿ   r  rC   r–   rJ   rg   Úerrstater%  ©r?   rè   ræ   r&  r'  Ú
datcomplexÚdatspcomplexr(  r*  r)  r+  Úvalr�   s               €r:   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²<Ñ@Ô@Ð@Ð@Ð@ó   Ì0?M;Í;M?ÎM?r,  r0  r1  r4  s   `   r:   Útest_ltz_TestCommon.test_lt²  s£   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð2	Að 2	Að 2	Að 2	Añ 
Œñ 
Œð2	Aðh Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óØ  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }	‰ 	                    |¦  «        }
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<  rB  rE  s               €r:   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²<Ñ@Ô@Ð@Ð@Ð@rI  r,  r0  r1  r4  s   `   r:   Útest_gtz_TestCommon.test_gtñ  s£   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð1	Að 1	Að 1	Að 1	Añ 
Œñ 
Œð1	Aðf Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }	‰ 	                    |¦  «        }
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=  )rf   rä   rå   r>  ©r  r  r$  rõ   ru   rC  rü   rþ   rÿ   r  rC   r–   rJ   rg   rE  s               €r:   r  z"_TestCommon.test_le.<locals>.check3  óQ  ø€ ð ”/ %Ô(ˆ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ÐBr<   r,  r0  r1  r4  s   `   r:   Útest_lez_TestCommon.test_le/  ó£   ø€ ÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	Ý	ð-	Cð -	Cð -	Cð -	Cñ 
Œñ 
Œð-	Cð^ Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óú   ‡ — t          ¦   «         }|                     t          ¦  «         |t          ˆ fd„¦   «         ¦   «         }‰ j        j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó  •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d d …df<   ‰                     |¦  «        }|                     t
          ¦  «        }d|d d …df<   ‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }‰                     |¦  «        }	‰ 	                    |¦  «        }
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 rP  rQ  rE  s               €r:   r  z"_TestCommon.test_ge.<locals>.checkm  rR  r<   r,  r0  r1  r4  s   `   r:   Útest_gez_TestCommon.test_gei  rT  r<   c                 óð  — t          |                      d¦  «                             ¦   «         t          d¦  «        ¦  «         t          |                      d¦  «        j        d¦  «         t          |                      d¦  «                             ¦   «         d¦  «         | j        j        dv rHt          |                      d¦  «                             d¬¦  «        t          g d¢¦  «        ¦  «         d S d S )N©rð   rð   r   ©Úcoor/  r.  Úlil©Úaxis©r   r   r   )	r   rõ   r–   r   ÚnnzÚcount_nonzeroræ   rø   r   r½   s    r:   Ú
test_emptyz_TestCommon.test_empty£  sÏ   € å�T—^’^ FÑ+Ô+×3Ò3Ñ5Ô5µu¸V±}´}ÑEÔEÐEÝ�T—^’^ FÑ+Ô+Ô/°Ñ3Ô3Ð3Ý�T—^’^ FÑ+Ô+×9Ò9Ñ;Ô;¸QÑ?Ô?Ð?ØŒ:ÔÐ <Ð<Ð<Ý˜Ÿš¨Ñ/Ô/×=Ò=À1Ð=ÑEÔEÅuÈYÈYÈYÑGWÔGWÑXÔXÐXÐXÐXð =Ð<r<   c                 óž  — | j         j        dv }|rg d¢nd g}| j         | j         j        fD ]S}|D ]N}t          j        |                     ¦   «         |¬¦  «        }t          |                     |¬¦  «        |¦  «         ŒOŒT|sLt          t          d¬¦  «        5  | j                              d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NrZ  )Nr   rä   rå   r>  r]  znot implemented .* format©Úmatchr   )	ræ   rø   ÚTrJ   ra  r–   r   r  ÚNotImplementedError)r�   Úaxis_supportÚaxesrQ   ÚaxÚexpecteds         r:   Útest_count_nonzeroz_TestCommon.test_count_nonzero«  sA  € Ø”zÔ(Ð,HÐHˆØ'3Ð?Ð#Ð#Ð#Ð#¸$¸ˆà”*˜dœjœlÐ+ð 	Að 	AˆAØð Að A�ÝÔ+¨A¯IªI©K¬K¸bÐAÑAÔA�Ý˜QŸ_š_°"˜_Ñ5Ô5°xÑ@Ô@Ð@Ð@ðAð ð 	1ÝÕ2Ð:UÐVÑVÔVð 1ð 1Ø”
×(Ò(¨aÐ(Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1ð	1ð 	1s   ÂC Ã CÃC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    r:   Útest_invalid_shapesz_TestCommon.test_invalid_shapes¸  sD   € Ý•j $¤.°&Ñ9Ô9Ð9Ý•j $¤.°&Ñ9Ô9Ð9Ý•j $¤.°'Ñ:Ô:Ð:Ð:Ð:r<   c                 ó,  — |                       g d¢g d¢g d¢g¦  «        }|j        dk    rdn|j        dk    rdnd}t          |j                 \  }}| j        rd	nd
}d|› d|› d|j        › d|j        › d|› d|j        › d�}t          |¦  «        |k    sJ ‚d S )N©rä   r   r   r_  ©r   r   r>  Údiaú(1 diagonals) r-  ú(blocksize=1x1) Ú r   r/   ú<ú sparse ú of dtype 'ú'
	with ú stored elements ú
and shape ú>)rõ   rø   r*   r  r?   r`  rº   Úrepr©r�   ræ   Úextrar  ÚfmtÚ
sparse_clsrk  s          r:   Ú	test_reprz_TestCommon.test_repr½  s  € Ø—’ 	 	 	¨9¨9¨9°j°j°jÐAÑBÔBˆà %¤°Ò 5Ð 5ÐÐØ',¤|°uÒ'<Ð'<Ð#Ð#Øð 	õ
 ˜%œ,Ô'‰ˆˆ3Ø $Ô 2Ð@�W�W¸ˆ
ðR�ð Rð R˜Zð Rð R°E´Kð Rð RØ”iðRð RØ27ðRð RØCHÄ;ðRð Rð Rð 	õ �E‰{Œ{˜hÒ&Ð&Ð&Ð&Ð&Ð&r<   c                 ó¬  — |                       t          j        d¦  «                             dd¦  «        ¦  «        }|j        dk    sJ ‚t          t          |¦  «                             d¦  «        ¦  «        dk    sJ ‚t          j        d¦  «                             dd¦  «        }|                       |¦  «        }|j        dk    rd	n|j	        }|                       |d
¬¦  «        }t          t          |¦  «                             d¦  «        ¦  «        |dz   k    sJ ‚t          t          |¦  «                             d¦  «        ¦  «        dk    sJ ‚|                       |dddd¬¦  «        }|                       |dddd¬¦  «        }t          j        t          d¬¦  «        5  |                       |dddd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NéK   é   é   é2   ú
é6   rð   ru  é   rî   )ÚmaxprintrV   )rˆ  rð   ÚiFé   )rº   r?   r$  rŽ  z'positional argument|unpack non-iterablerd  )rõ   rJ   r   rö   rŽ  r¿   ÚstrÚsplitrø   r`  r  r   Ú	TypeError)r�   ræ   rè   Ú	nnz_smallÚ	datsp_mp6s        r:   Útest_str_maxprintz_TestCommon.test_str_maxprintÌ  sð  € Ø—’�rœy¨™}œ}×4Ò4°Q¸Ñ;Ô;Ñ<Ô<ˆØŒ~ Ò#Ð#Ð#Ð#Ý•3�u‘:”:×#Ò# DÑ)Ô)Ñ*Ô*¨fÒ4Ð4Ð4Ð4åŒi˜‰mŒm×#Ò# A aÑ(Ô(ˆØ—’˜sÑ#Ô#ˆàœ,¨%Ò/Ð/�B�B°U´Yˆ	Ø—N’N 3°�NÑ3Ô3ˆ	å•3�u‘:”:×#Ò# DÑ)Ô)Ñ*Ô*¨i¸!©mÒ;Ð;Ð;Ð;Ý•3�y‘>”>×'Ò'¨Ñ-Ô-Ñ.Ô.°%Ò7Ð7Ð7Ð7ð —’˜s¨&¸À%ÐRS�ÑTÔTˆØ—’˜s F¨C°À�ÑCÔCˆÝŒ]�9Ð,UÐVÑVÔVð 	7ð 	7Ø�NŠN˜3 ¨¨U°AÑ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s   Æ"G	Ç	GÇGc                 óF  — |                       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                 \  }}| j        rd
nd}d|› d|› d|j        › d|j        › d|› d|j        › d�}t          |¦  «        |k    sJ ‚d S )Nrs  r_  rt  rf   ru  rv  r-  rw  rx  r   r/   ry  rz  r{  r|  r}  r~  z(>
  Coords	Values
  (0, 0)	1
  (2, 2)	-2)rõ   r`  rø   r*   r  r?   rº   r‘  r�  s          r:   Útest_strz_TestCommon.test_strà  s  € Ø—’ 	 	 	¨9¨9¨9°j°j°jÐAÑBÔBˆØŒ9˜Š>ˆ>ØˆFà %¤°Ò 5Ð 5ÐÐØ',¤|°uÒ'<Ð'<Ð#Ð#Øð 	õ
 ˜%œ,Ô'‰ˆˆ3Ø $Ô 2Ð@�W�W¸ˆ
ð�ð ð ˜Zð ð °E´Kð ð Ø”iðð Ø27ðð ØCHÄ;ðð ð ð 	õ �5‰zŒz˜XÒ%Ð%Ð%Ð%Ð%Ð%r<   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©rˆ  rˆ  r[   ró   rñ   Ú	complex64rô   rï   rf   )rJ   r?   rõ   ÚtocscÚtocsrÚtocoor   r–   )
r�   rº   ÚmytyperN   rS   Úcr  ÚeÚfÚms
             r:   Ú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ð 	7r<   c                 óÜ   — t          g d¢g d¢g d¢g d¢gd¦  «        }t          t          |¦  «        t          |                      |¦  «        ¦  «                             ¦   «         ¦  «         d S )N©rå   r   é   ©r   éûÿÿÿr   ©rä   éüÿÿÿr   r_  r  )r   r   Úabsrõ   r–   ©r�   rQ   s     r:   Útest_absz_TestCommon.test_abs  sf   € Ý�;�;�; 
 
 
¨J¨J¨J¸	¸	¸	ÐBÀCÑHÔHˆÝ•S˜‘V”V�S §¢°Ñ!2Ô!2Ñ3Ô3×;Ò;Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r<   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   rJ   ÚaroundÚroundrõ   r–   )r�   ÚdecimalrQ   s      r:   Ú
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r<   c                 óJ  — t          g d¢g d¢g d¢gd¦  «        }t          t          j        |d¦  «        |                      |¦  «                             d¦  «                             ¦   «         ¦  «         t          t          |                      |¦  «        j        |¦  «         d S )N)r«  éýÿÿÿr>  )rå   r   rä   ©rf   rð   r�  r  rf   )r   r   rJ   Úpowerrõ   r–   r  rg  r­  s     r:   Ú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ÐFr<   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 )Nr¦  r¨  rª  r_  r  )TFF)FFT)r   r   rõ   r–   r  rg  Ú__neg__r­  s     r:   Ú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ÐEr<   c                 ó¬   — t          ddgg¦  «        }|                      |¦  «        }t          |j                             ¦   «         |j        ¦  «         d S ©Nù      ð?      @y       @      À)r   rõ   r   Úrealr–   ©r�   ÚDrQ   s      r:   Ú	test_realz_TestCommon.test_real  óL   € Ý�F˜FÐ#Ð$Ñ%Ô%ˆØ�NŠN˜1ÑÔˆÝ�Q”V—^’^Ñ%Ô% q¤vÑ.Ô.Ð.Ð.Ð.r<   c                 ó¬   — t          ddgg¦  «        }|                      |¦  «        }t          |j                             ¦   «         |j        ¦  «         d S r¿  )r   rõ   r   Úimagr–   rÂ  s      r:   Ú	test_imagz_TestCommon.test_imag$  rÅ  r<   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   rf   rä   r   rf   rð   ©r   r   rä   )r   r   rf   ©r   rð   r   r�  ©rä   rf   rð   r�  ©ÚkrV   i�ÿÿÿ)é(   i?  rÐ  ©r   r   )r‰  r   ©r   rˆ  )rL   r   r   rº   rõ   r  r   Údiagonalr   rJ   r   Úempty)r�   Úmatsr£  ÚrowsÚcolsÚ
sparse_matrÏ  s          r:   Ú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ÐFr<   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ä   rf   rð   ©r�  rˆ  rî   )é   é   é	   r>  rð   )Úoffsetrå   )rJ   r   rõ   r  r   Útrace)r�   rQ   rR   rÏ  s       r:   Ú
test_tracez_TestCommon.test_traceJ  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Ñ,=Ô,=Ñ>Ô>Ð>Ð>ð	?ð 	?r<   c           	      óª  — |                       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¦  «         | j	        r6t	          t          d¬¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   n)d|_        t          |                     ¦   «         |¦  «         t	          t
          |j        |j        f¦  «         t	          t
          |j        d|j        df¦  «         d S )N)rä   r   rÝ  r_  rÌ  )r   r   rˆ  )rù   ÚF))é   rä   )rä   rå  ©Úorder©r   rV   r   r   ©r   r   r   r   ©r   é   é   rÐ  ©rf   rî   )r   rV   r   r   r   r   )r   r   r   rë  rì  rÐ  ©rf   rå   )rå   rî   rp  rf   rî   rä   )Ú
not_an_arg©rð   r�  T©r$  zhas no setter|n't set attributerd  )rõ   r   rö   r–   r  r  r“  r   rº   r  ÚAttributeErrorrl   )r�   r@   rç  ÚsrA   Údesireds         r:   Útest_reshapez_TestCommon.test_reshapeW  sõ  € Ø�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Ñ+Ô+Ð+àÔð 	5Ý�~Ð5VÐWÑWÔWð !ð !Ø �”ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !øð ˆAŒGÝ˜qŸyšy™{œ{¨GÑ4Ô4Ð4õ 	•j !¤)¨a¬f¨YÑ7Ô7Ð7Ý•j !¤)¨a°´¸¨^Ñ<Ô<Ð<Ð<Ð<s   ÉIÉIÉ!I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          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#  )rJ   r   ro   rº   rÀ   r¿   r   rf  )rN   ÚvrÏ  Únr�  ÚjÚdense_setdiags         €r:   rû  z=_TestCommon.test_setdiag_comprehensive.<locals>.dense_setdiagˆ  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Ñ)Ô)Ð)Ð)Ð)ð �r<   c                 ó<  •— dt          t          j        | |¦  «        ¦  «        ddfD �]r}|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	¬
¦  «         nLt          t          |¦  «        t          |¦  «        ¦  «        }t          |d |…         |d |…         d	¬
¦  «         t          |                     ¦   «         | d	¬
¦  «         �Œtd S )Nrå   rf   rì  r   rä   rë  ©rl   zChanging the sparsity structuz	{msg} {r}©Úerr_msg)r¿   rJ   r   r‘   Úchoicer  rh   r   r2  r(   Úsetdiagr   rÀ   r   ro   r–   )	rN   rS   rÏ  Úrrø  r5  r  rù  rû  s	           €r:   Úcheck_setdiagz=_TestCommon.test_setdiag_comprehensive.<locals>.check_setdiag•  s¹  ø€ ð �#�bœg a¨™mœmÑ,Ô,¨a°Ð4ð Hñ H�Ø�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¨!°[ÐAÑAÔAÐAÐAå�C ™FœF¥C¨¡F¤FÑ+Ô+�AÝ& q¨¨!¨¤u¨a°°°¬e¸[ÐIÑIÔIÐIå" 1§9¢9¡;¤;°¸;ÐGÑGÔGÐGÑGð'Hð Hs   Â2CÃC	Ã!C	rc   )rÒ  ©rˆ  r   ©rä   rˆ  ©rˆ  rä   rš  rä   rï   rˆ  rý  )rJ   r‘   rd   r   rñ   r   r   rõ   r   ro   r¿   )r�   r  Úshapesr?   r£  rù  ÚksrÏ  rN   rS   Úk2rû  s              @r:   Útest_setdiag_comprehensivez&_TestCommon.test_setdiag_comprehensive†  sY  ø€ ð	*ð 	*ð 	*ð 	*ð 	*ð	Hð 	Hð 	Hð 	Hð 	Hõ2 	Œ	�Š�tÑÔÐØ4Ð4Ð4ˆÝ”g�rœzÐ*ð 	0ð 	0ˆEØð 
0ð 
0‘��!Ý”Y ˜r !™t Q q¡SÑ)Ô)�Øð 0ð 0�AÝœ ! 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ð 	0r<   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ð   rf   rä   úChanging the sparsity structurer�  rÎ  rä   )rð   rð   r   )r   rf   rf   rË  r>  ©rð   r   rä   )rß  rf   ©r   rf   rß  ©rf   r   r   ©r   r   rä   r   )r   r   r   rä   )rõ   rJ   r&   r   r2  r(   r  r  r  r   rÓ  r–   r   )r�   r£  Úm2rH   r5  s        r:   Útest_setdiagz_TestCommon.test_setdiag½  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 rW   ©Útuple©Ú.0Úijs     r:   ú	<setcomp>z+_TestCommon.test_nonzero.<locals>.<setcomp>ß  s   € Ð;Ð;Ð;˜b•�b‘	”	Ð;Ð;Ð;r<   c                 ó,   — h | ]}t          |¦  «        ’ŒS rW   r  r  s     r:   r  z+_TestCommon.test_nonzero.<locals>.<setcomp>à  s   € Ð?Ð?Ð? •%˜‘)”)Ð?Ð?Ð?r<   )r   rõ   r   Únonzeror   ©r�   rQ   ÚAspÚA_nzÚAsp_nzs        r:   Ú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Ñ"Ô"Ð"Ð"Ð"r<   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 rW   r  r  s     r:   r  z1_TestCommon.test_numpy_nonzero.<locals>.<setcomp>é  s   € Ð=Ð=Ð=˜b•�b‘	”	Ð=Ð=Ð=r<   c                 ó,   — h | ]}t          |¦  «        ’ŒS rW   r  r  s     r:   r  z1_TestCommon.test_numpy_nonzero.<locals>.<setcomp>ê  s   € ÐAÐAÐA •%˜‘)”)ÐAÐAÐAr<   )r   rõ   r   rJ   r  r   r   s        r:   Ú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Ñ"Ô"Ð"Ð"Ð"r<   c                 óê  ‡ ‡	— t           j                             d¦  «         t          j        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 )
Nrc   ©r   rä   rf   ©rð   r«  rˆ  ©éúÿÿÿrÝ  rß  rˆ  )rÐ  rÐ  g{®Gáz„?)Údensityc                 óÞ  •— ‰                      ‰|         | ¬¦  «        }‰                     || ¬¦  «        }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?  )Úoverr]  r   rä   r>  rå   )
r  rõ   rJ   rD  r   Úsumr   r?   r   Úisscalar)r?   rú  rè   ræ   Úmatricesr�   s       €€r:   r  z#_TestCommon.test_sum.<locals>.checkù  s  ø€ Ø—,’,˜x¨œ{°%�,Ñ8Ô8ˆ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&)rJ   r‘   rd   r   Úrandr   r|   r–   r  r  r¿   )
r�   Údat_1Údat_2Údat_3Údat_4Údat_5r  r?   rú  r3  s
   `        @r:   Ú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‘”��ð ð	 ð 	 r<   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)rJ   r   r   rõ   r  r  r1  r“  ©r�   rA  rè   ræ   s       r:   Ú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 %¤)°!¸Ð=Ñ=Ô=Ð=Ð=Ð=r<   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ï   )r1  r   r   r?   )r?   Údat_sumÚ	datsp_sumrè   ræ   s      €€r:   r  z)_TestCommon.test_sum_dtype.<locals>.check#  sS   ø€ Ø—g’g E�gÑ*Ô*ˆGØŸ	š	¨˜	Ñ.Ô.ˆIå% g¨yÑ9Ô9Ð9Ý˜œ¨	¬Ñ8Ô8Ð8Ð8Ð8r<   ©r   rõ   r  ©r�   r  r?   rè   ræ   s      @@r:   Útest_sum_dtypez_TestCommon.test_sum_dtype  sŠ   øø€ Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óÚ  — | j          }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }| j         rt          d¦  «        nt          dgg¦  «        }| j         rt          d¦  «        nt          dgg¦  «        }|                     ||¬¦  «         |                     |¬¦  «         t          ||¦  «         | j         rt          j        d¦  «        nt          j        d¦  «        }| j         rt          j        d¦  «        n t          t          j        d¦  «        ¦  «        }|                     d	||¬
¦  «         |                     d	|¬¦  «         t          ||¦  «         d S ©Nr*  r+  r,  r   )rA  Úkeepdims©rA  ©rð   ©rð   rä   rä   )r^  rA  rN  r@  )r  r   rõ   r/   r1  r   rJ   r   ©r�   Úkeeprè   ræ   Údat_outÚ	datsp_outs         r:   Útest_sum_outz_TestCommon.test_sum_out-  sV  € ØÔ%Ð%ˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆà"Ô0ÐB•%˜‘(”(�(µe¸a¸S¸E±l´lˆØ $Ô 2ÐE•E˜!‘H”H�H½ÀÀ¸u¹¼ˆ	à�Š�G dˆÑ+Ô+Ð+Ø�	Š	�iˆ	Ñ Ô Ð Ý! '¨9Ñ5Ô5Ð5à$(Ô$6ÐL•"”(˜4‘.”.�.½B¼HÀVÑ<LÔ<LˆØ&*Ô&8ÐV•B”H˜T‘N”N�N½fÅRÄXÈfÑEUÔEUÑ>VÔ>Vˆ	à�Š�Q˜G¨dˆÑ3Ô3Ð3Ø�	Š	�q˜iˆ	Ñ(Ô(Ð(Ý! '¨9Ñ5Ô5Ð5Ð5Ð5r<   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S ©Nr*  r+  r,  )r   rõ   rJ   r1  r   r   r?   )r�   rè   ræ   rG  rH  s        r:   Útest_numpy_sumz_TestCommon.test_numpy_sumB  s�   € å�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå”&˜‘+”+ˆÝ”F˜5‘M”Mˆ	å! '¨9Ñ5Ô5Ð5Ý�W”] I¤OÑ4Ô4Ð4Ð4Ð4r<   c                 óP   ‡ ‡— ‰ j          Šˆˆ 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 ¬¦  «        ¦  «         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 S )Nr*  ©rð   r�  rˆ  )rî   rÝ  rß  rï   r]  ©r^  rN  r   rä   r>  rå   )	r   rõ   r   Úmeanr   r?   r   rJ   r2  )r?   rè   ræ   rS  r�   s      €€r:   r  z$_TestCommon.test_mean.<locals>.checkQ  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ÐLr<   )r  r  )r�   r  r?   rS  s   `  @r:   Ú	test_meanz_TestCommon.test_meanO  s`   øø€ ØÔ%Ð%ˆð	Mð 	Mð 	Mð 	Mð 	Mð 	Mð< Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó�  — |                       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  rJ   r   r   rõ   r  r  r^  r“  rB  s       r:   Útest_mean_invalid_paramsz$_TestCommon.test_mean_invalid_paramsr  s¼   € Ø�lŠl�2œ8 FÑ+Ô+Ñ,Ô,ˆÝ�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¸#Ð>Ñ>Ô>Ð>Ð>Ð>r<   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 rF  )r^  r   r   r?   )r?   Údat_meanÚ
datsp_meanrè   ræ   s      €€r:   r  z*_TestCommon.test_mean_dtype.<locals>.check„  sT   ø€ Ø—x’x e�xÑ,Ô,ˆHØŸš¨%˜Ñ0Ô0ˆJå% h°
Ñ;Ô;Ð;Ý˜œ¨Ô)9Ñ:Ô:Ð:Ð:Ð:r<   rI  rJ  s      @@r:   Útest_mean_dtypez_TestCommon.test_mean_dtype~  sŠ   øø€ Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆð	;ð 	;ð 	;ð 	;ð 	;ð 	;ð Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óÚ  — | j          }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }| j         rt          d¦  «        nt          dgg¦  «        }| j         rt          d¦  «        nt          dgg¦  «        }|                     ||¬¦  «         |                     |¬¦  «         t          ||¦  «         | j         rt          j        d¦  «        nt          j        d¦  «        }| j         rt          j        d¦  «        n t          t          j        d¦  «        ¦  «        }|                     d	||¬
¦  «         |                     d	|¬¦  «         t          ||¦  «         d S rM  )r  r   rõ   r/   r^  r   rJ   r   rR  s         r:   Útest_mean_outz_TestCommon.test_mean_outŽ  sV  € ØÔ%Ð%ˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆà"Ô0ÐB•%˜‘(”(�(µe¸a¸S¸E±l´lˆØ $Ô 2ÐE•E˜!‘H”H�H½ÀÀ¸u¹¼ˆ	à�Š�W tˆÑ,Ô,Ð,Ø�
Š
�yˆ
Ñ!Ô!Ð!Ý! '¨9Ñ5Ô5Ð5à$(Ô$6ÐL•"”(˜4‘.”.�.½B¼HÀVÑ<LÔ<LˆØ&*Ô&8ÐV•B”H˜T‘N”N�N½fÅRÄXÈfÑEUÔEUÑ>VÔ>Vˆ	à�Š�a˜W¨tˆÑ4Ô4Ð4Ø�
Š
˜˜yˆ
Ñ)Ô)Ð)Ý! '¨9Ñ5Ô5Ð5Ð5Ð5r<   c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S rX  )r   rõ   rJ   r^  r   r   r?   )r�   rè   ræ   rd  re  s        r:   Útest_numpy_meanz_TestCommon.test_numpy_mean£  s‚   € å�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå”7˜3‘<”<ˆÝ”W˜U‘^”^ˆ
å! (¨JÑ7Ô7Ð7Ý�X”^ ZÔ%5Ñ6Ô6Ð6Ð6Ð6r<   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ð   ©r«  rˆ  rî   rY  ©rº   r?   )ç      @ç        ç      ð?)rp  ç       @rp  )rp  rp  rp  ú&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õ   r{   Úlinalgr1   r   r2  r(   r–   r   r   )
r�   ÚMÚsMÚMexpÚNÚsNÚNexpr5  ÚsMexpÚsNexps
             r:   Ú	test_expmz_TestCommon.test_expm°  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Ê  rl  rm  ru  rt  rs  rY  rn  rð   )r   r   r2  r(   rõ   r2   r   r   r–   rJ   r&   r  r“  )r?   rx  r5  ry  ÚsMinvr�   s        €r:   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)rv  r  s   `  r:   Útest_invz_TestCommon.test_invÌ  sH   ø€ ð	-ð 	-ð 	-ð 	-ð 	-õ �Wð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   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 ©	Nrs  r¸  )r   rˆ  r   r_  )rÀ  r   r   )r   ç      @r   rò   rï   )r   r   rõ   r–   ru   r­  s     r:   Ú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ÐXr<   c                 óì  — |                       g d¢g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         |                       g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         d S r†  )r  r   rõ   Útodenseru   r­  s     r:   Útest_from_matrixz_TestCommon.test_from_matrixé  sö   € à�LŠL˜)˜)˜) Y Y Y°	°	°	¸9¸9¸9ÐEÑFÔFˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:à�LŠLÐ*Ð*Ð*Ø)˜/˜/Ø#˜)˜)ð%ñ &ô &ˆõ 	˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:ÝØ�NŠN˜1 GˆNÑ,Ô,×4Ò4Ñ6Ô6¸¿ºÀÑ8IÔ8Iñ	
ô 	
ð 	
ð 	
ð 	
r<   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 r†  )r   rõ   r–   r   ru   r­  s     r:   Ú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ñ	
ô 	
ð 	
ð 	
ð 	
r<   c                 óä  — t          g d¢g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         |                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         |                      |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |                     d¦  «        ¦  «         d S r†  )r   rÿ   r   rõ   r–   ru   ©r�   rÃ  ÚSs      r:   Útest_from_sparsez_TestCommon.test_from_sparse  sÅ  € å�7�7�7˜7˜7˜7 7 7 7¨7¨7¨7Ð3Ñ4Ô4ˆØ×Ò˜qÑ!Ô!ˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:Ø�NŠN˜1ÑÔˆÝ˜4Ÿ>š>¨!Ñ,Ô,×4Ò4Ñ6Ô6¸Ñ:Ô:Ð:åÐ#Ð#Ð#Ø"�?�?Ø�9�9ðñ ô ˆð ×Ò˜qÑ!Ô!ˆÝ˜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Ñ,Ô,ñ	.ô 	.ð 	.ð 	.ð 	.r<   c                 óÆ  — | j                              ¦   «         }t          || j        rt          j        n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	          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ï   rO  ©rq  rr  ro  ©rq  rr  ro  ç      @)ræ   rŠ  rI   r  rJ   r
   r/   r   rè   r   ÚflagsÚc_contiguousÚf_contiguousr   rº   r?   rP   r  r   rf  rõ   r  ru   )
r�   ÚchkrA  rN   Údense_dot_denser  rS   Úcheck2ÚspboolÚmatbools
             r:   Útest_todensez_TestCommon.test_todense  sÛ  € àŒj× Ò Ñ"Ô"ˆÝ˜#¨TÔ-?ÐN�rœz˜zÅRÄYÑOÔOÐOÐOÐOÝ˜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¨Ñ,Ô,Ð,Ð,Ð,à�lŠl�2œ8 D¤JÔ$4¸D¼JÔ<LÐMÑMÔMÑNÔNˆØŒ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Ð5r<   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ï   rO  rq  .r“  r”  )r   rè   ræ   r–   r   r   r–  r—  r˜  rJ   r   rº   r?   r   r   rõ   r  ru   )r�   rè   r™  rA  rN   rš  r  rS   r›  rœ  Úarrbools              r:   Útest_toarrayz_TestCommon.test_toarrayD  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Ð5r<   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   r_  )TFrñ  FTc                 ó  •— t          ‰| ¦  «        }t          ‰| ¦  «        }t          ||¦  «         t          ||u¦  «         d|j        z  }||         }||          ||<   t          ||         ||         k    ¦  «         |||<   d S )N)r   )r‡   r   r   rÀ   )Ú	attributerN   rS   r�  Úb_iÚS_castedÚS_copieds        €€r:   Ú(check_equal_but_not_same_array_attributezI_TestCommon.test_astype.<locals>.check_equal_but_not_same_array_attribute}  s�   ø€ Ý˜H iÑ0Ô0�Ý˜H iÑ0Ô0�Ý" 1 aÑ(Ô(Ð(Ý˜ ˜
Ñ#Ô#Ð#Ø˜1œ6‘M�Ø˜”d�Ø˜Qœ4�x��!‘Ý˜˜!œ  !¤šÑ%Ô%Ð%Ø��!‘��r<   ©r/  r.  r-  )ÚindicesÚindptrÚdatar[  )ÚrowÚcolr®  ru  )Úoffsetsr®  )	r   rõ   r+   ru   r   r?   r–   rø   r   )
r�   rÃ  r�  r@   ÚD_castedr$  rª  r¦  r¨  r©  s
           @@r:   Útest_astypez_TestCommon.test_astypei  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r<   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 )Nr£  r¤  r_  r®  Fr«  )r   rõ   Úhasattrr®  r–  Ú	writeablerø   r­  r¬  r+   ru   r   r?   )r�   rÃ  r�  r@   r²  r¨  s         r:   Útest_astype_immutablez!_TestCommon.test_astype_immutable’  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ð 	9r<   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÜ   •— ‰j         |          }‰j        |          }t          |dz  |dz                       ¦   «         ¦  «         t          |dz  |dz                       ¦   «         ¦  «         d S ©Nrf   çÍÌÌÌÌL1@©r  r  r   r–   ©r?   rè   ræ   r�   s      €r:   r  z*_TestCommon.test_mul_scalar.<locals>.check£  sj   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå˜s 1™u u¨Q¡w×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:Ý˜s 4™x¨%°©*×)=Ò)=Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r<   ©r  r  s   `  r:   Útest_mul_scalarz_TestCommon.test_mul_scalar¢  óN   ø€ ð	Að 	Að 	Að 	Að 	Að Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÜ   •— ‰j         |          }‰j        |          }t          d|z  d|z                       ¦   «         ¦  «         t          d|z  d|z                       ¦   «         ¦  «         d S rº  r¼  r½  s      €r:   r  z+_TestCommon.test_rmul_scalar.<locals>.check®  sj   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEå˜q ™u q¨¡w×&7Ò&7Ñ&9Ô&9Ñ:Ô:Ð:Ý˜t C™x¨$¨u©*×)=Ò)=Ñ)?Ô)?Ñ@Ô@Ð@Ð@Ð@r<   r¾  r  s   `  r:   Útest_rmul_scalarz_TestCommon.test_rmul_scalar­  rÀ  r<   c                 ó˜   — | j         t          j                 }t          t          ¦  «        5  d |z   d d d ¦  «         d S # 1 swxY w Y   d S r>   )r  rJ   rñ   r  r“  )r�   ræ   s     r:   Ú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 )Nrr  r  r   )r  r  r$  r   r–   r�  ©r?   rè   ræ   rN   rS   r   r�   s         €r:   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Ð5r<   r¾  r  s   `  r:   Útest_addz_TestCommon.test_add¾  sI   ø€ ð	6ð 	6ð 	6ð 	6ð 	6ð$ Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÆ   •— ‰j         |          }‰j        |          }|                     ¦   «         }d|d<   |}||z   }t          |||                     ¦   «         z   ¦  «         d S )Nrr  r  )r  r  r$  r   r–   rÈ  s         €r:   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Ð2r<   r¾  r  s   `  r:   Ú	test_raddz_TestCommon.test_raddÔ  sI   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   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   r©  r  )r  r  r   r–   rJ   r   rõ   r   ©r?   rè   ræ   rQ   r�   s       €r:   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©|Ñ<Ô<Ð<Ð<Ð<r<   r  ©r  rJ   r?   r  s   `  r:   Útest_subz_TestCommon.test_subâ  sa   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð  Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r<   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
                       ¦   «         | ¦  «         ‰                     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       €r:   r  z$_TestCommon.test_rsub.<locals>.checkû  sr  ø€ Ø”/ %Ô(ˆ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Ñ;Ô;Ð;à—’ 	 	 	¨*¨*¨*°Z°Z°ZÐ@Às�ÑKÔKˆ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¸©|Ñ<Ô<Ð<Ð<Ð<r<   r  rÓ  r  s   `  r:   Ú	test_rsubz_TestCommon.test_rsubú  sa   ø€ ð	=ð 	=ð 	=ð 	=ð 	=ð" Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r<   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 rW   rW   )r  rÏ  ræ   s     €r:   ú
<listcomp>z8_TestCommon.test_add0.<locals>.check.<locals>.<listcomp>  s   ø€ Ð7Ð7Ð7 a˜˜E™	Ð7Ð7Ð7r<   rä   rð   c                 ó   •— g | ]}|‰z  ‘ŒS rW   rW   )r  rÏ  rè   s     €r:   rÛ  z8_TestCommon.test_add0.<locals>.check.<locals>.<listcomp>  s   ø€ Ð5Ð5Ð5 A˜˜C™Ð5Ð5Ð5r<   )r  r  r   r–   r1  r  r   )r?   ÚsumSÚsumDrè   ræ   r�   s      @@€r:   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Ð5r<   r¾  r  s   `  r:   Ú	test_add0z_TestCommon.test_add0  sI   ø€ ð		6ð 		6ð 		6ð 		6ð 		6ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   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ß  )rf   r·  rˆ  )r   rÝ  r   )r   r«  r   ©y      ð?       Ày              @y      ð¿        ©y      @      Ày      À      @rˆ  ©y      @       @y      @      Ày       À      ð?©y              ð¿y      À       @rß  )r   rõ   r   Úmultiplyr–   )	r�   rQ   rR   r!  ÚBsprù   rÃ  ÚCspÚDsps	            r:   Ú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Ñ;Ô;Ð;Ð;Ð;r<   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ð   rf   rä   )rÞ  rî   rð   )r«  rð   rf   )rî   rî   rî   rÛ  rð  r   ©r   N)r   rJ   Úonesrf  rõ   r–   r  r  rå  r   r“  r'   )r�   rQ   rR   rù   rÃ  ÚErä  ÚGÚHÚJÚKÚLræ  rè  ÚEspÚFspÚHspÚHsppÚJspÚJsppÚKspr3  Ú
spmatricesr�  rú  Ú
dense_multÚsp_mults                              r:   Ú#test_elementwise_multiply_broadcastz/_TestCommon.test_elementwise_multiply_broadcast7  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  ¦  «        |¦  «         |                      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  rï   ç      à?r·  g      Ð?r   rá  râ  rã  rä  rÛ  )r·  rf   rä   r*  )r   r>  rð   r?  )Údivide)r  rA  )
rJ   r%  r   r–   ræ   rõ   r   r   r   rD  )r�   rk  ÚdenomrQ   rR   r!  ræ  s          r:   Útest_elementwise_dividez#_TestCommon.test_elementwise_dividen  sI  € Ø•r”v�bœf QÐ'Ø•r”v˜a¥¤Ð'Ý”V˜A�bœf¥R¤VÐ,ð.ˆõ 	�7 4¤:°´
Ñ#:Ñ;Ô;¸XÑFÔFÐFà—’ 	 	 	¨*¨*¨*°Z°Z°ZÐ@Às�ÑKÔKˆØ•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$   Ç9$H)È)H-È0H-Ê6K!Ë!K%Ë(K%c                 ó®  — t          g d¢g d¢g d¢g d¢g¦  «        }|                      |¦  «        }| j        rÛdD ]H}||z  }||z  }t          |                     ¦   «         |¦  «         t          |j        |j        ¦  «         ŒIt          t          |j	        d¦  «         t          t          |j	        d¦  «         |                      |d d…d d …f         ¦  «        }t          |d	z                       ¦   «         |                     ¦   «         ¦  «         d S 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   rf   r   )r   rð   r�  r   )r   rˆ  r   r   )r   rî   rÝ  rÞ  )rä   rf   çš™™™™™@rð   r   rå   rð   rä   ©r   rä   rf   rð   )rå   r  rÀ  )r   rõ   r  r   r–   r   r?   r  rg  Ú__pow__r  rJ   rw  Úmatrix_powerr“  )r�   rQ   rR   ÚexponentÚret_spÚret_nps         r:   Útest_powz_TestCommon.test_pow‘  s×  € Ý�<�<�<   ¨|¨|¨|¸\¸\¸\ÐJÑKÔKˆØ�NŠN˜1ÑÔˆàÔð !	3ð +ð 9ð 9�Ø˜H™�Ø˜H™�Ý" 6§>¢>Ñ#3Ô#3°VÑ<Ô<Ð<Ý˜Vœ\¨6¬<Ñ8Ô8Ð8Ð8õ Õ-¨q¬y¸!Ñ<Ô<Ð<Ý�* a¤i°Ñ4Ô4Ð4ð —’˜q  !  A A A œwÑ'Ô'ˆAÝ˜!˜Q™$ŸšÑ)Ô)¨1¯9ª9©;¬;Ñ7Ô7Ð7Ð7Ð7à%ð 9ð 9�Ø˜H™�Ýœ×/Ò/°°8Ñ<Ô<�Ý" 6§>¢>Ñ#3Ô#3°VÑ<Ô<Ð<Ý˜Vœ\¨6¬<Ñ8Ô8Ð8Ð8ð .ð ?ð ?�Ý�j¨!¬)°XÑ>Ô>Ð>Ð>ð —’˜q  !  A A A œwÑ'Ô'ˆAÝ�) Q¤Y°Ñ2Ô2Ð2Ð2Ð2r<   c                 ó*  — |                       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   ©rf   r   ro  ©rf   rð   r   rÍ  )rõ   r   r   r–   r   )r�   rx  r¯  s      r:   Útest_rmatvecz_TestCommon.test_rmatvec¸  s”   € Ø�NŠN˜G˜G˜G G G G¨I¨I¨I°g°g°gÐ>Ñ?Ô?ˆÝ! ) ) )¨a¡-µ°Y°Y°YÀÇ	Â	ÁÄÑ1LÔ1LÑMÔMÐMÝ�Y�Y�Y�KÑ Ô ˆÝ! #¨¡'¨3°·²±´Ñ+<Ñ=Ô=Ð=Ð=Ð=r<   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ä   rf   rð   rÛ  ©rä   rä   ©rä   r   ©rð   r   )rõ   r   r'   r   r   r–   rJ   rî  r­  s     r:   Útest_small_multiplicationz%_TestCommon.test_small_multiplication¾  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�œ ™œÑ(­"¬'°&©/¬/Ñ:Ô:Ð:Ð:Ð:r<   c                 ó„  — t          j        dgdgdgg¦  «        }|                      |¦  «        }| j        rmt	          |t          j        d¦  «        z                       ¦   «         |¦  «         t	          |t          dgg¦  «        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ä   rf   rð   rQ  rÛ  r  r  )rJ   r   rõ   r  r   rî  r–   r   )r�   rQ   r!  s      r:   Ú-test_star_vs_at_sign_for_sparray_and_spmatrixz9_TestCommon.test_star_vs_at_sign_for_sparray_and_spmatrixÊ  s  € åŒH�q�c˜A˜3  �_Ñ%Ô%ˆØ�nŠn˜QÑÔˆàÔð 	AÝ% s­R¬W°V©_¬_Ñ'<×&EÒ&EÑ&GÔ&GÈÑKÔKÐKÝ% s­U°Q°C°5©\¬\Ñ'9×&BÒ&BÑ&DÔ&DÀaÑHÔHÐHÐHÐHå˜�u a S™zœzÑ)­5°°°Ñ+;Ô+;Ñ<Ô<Ð<Ý˜�u q c U™|œ|Ñ+­U°Q°C¸!¸¸q¸c°?Ñ-CÔ-CÑDÔDÐDÝ˜�rœw v™œÑ.µ´¸±´Ñ@Ô@Ð@Ð@Ð@r<   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ä   rf   rð   r§   r›   )rõ   r˜   r   ©r�   rQ   rR   s      r:   Ú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Ð2r<   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ä   rf   rð   rQ  r§   r›   )rõ   r¶   r   r  s      r:   Ú!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Ð2r<   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 r>   ©Úscalar)r�   r&  s     r:   r»   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__init__÷  s   € Ø$�”��r<   c                 ó   — || j         z  S r>   r%  rÍ   s     r:   r«   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__rmul__ú  s   € Ø˜tœ{Ñ*Ð*r<   N)r²   r³   r´   r»   r«   rW   r<   r:   ÚCustomr#  ö  s2   € € € € € ð%ð %ð %ð+ð +ð +ð +ð +r<   r(  rf   rä   rð   )rõ   rC   r–   r   rø   )r�   r(  r&  rQ   r   ÚA_scalarÚA_cs          r:   Ú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Ð1r<   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ä   rf   rð   rÌ   rÒ   rÕ   rØ   rÛ   rÞ   )rõ   rÊ   r   r  s      r:   Ú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Ñ"Ô"Ð"Ð"Ð"r<   c           	      ó  — |                       t          g d¢g d¢g d¢g d¢g¦  «        ¦  «        }d}|                     |¦  «        }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr  r  r  r  rV   )rõ   r   r   r   r–   )r�   rx  r&  Úactualrk  s        r:   Útest_dot_scalarz_TestCommon.test_dot_scalar  s}   € Ø�NŠN�5 ' ' '¨'¨'¨'°)°)°)¸G¸G¸GÐ!DÑEÔEÑFÔFˆØˆØ—’�v‘”ˆØ�v‘:ˆå˜ŸšÑ(Ô(¨(×*:Ò*:Ñ*<Ô*<Ñ=Ô=Ð=Ð=Ð=r<   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          ||d¦  «         t          t          |d|¦  «         d S )
Nr  r  r  r  r   rä   rf   r  rÛ  )	rõ   r   rf  ÚoperatorÚmatmulr   r–   r  r  )r�   rx  rR   r°  r3  s        r:   Útest_matmulz_TestCommon.test_matmul  sp  € Ø�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õ 	•j &¨!¨QÑ/Ô/Ð/Ý•j &¨!¨QÑ/Ô/Ð/Ð/Ð/r<   c           
      óÜ  — |                       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          ¦  «        ¦  «         | j        rt          nt          j        }t          t          |t          g d¢¦  «        j        z  |¦  «        ¦  «         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          j        t#          |                     ¦   «         g d¢¦  «        ¦  «        j        ¦  «         d S )Nr  r  r  r  rÛ  )r�  rä   rf   rð   )r�  rä   rÍ  )rõ   r   rf  r   r–   r   rº   r/   r   rI   r
   r  rJ   r  r  r¯   r   r   Ú
atleast_2d)r�   rx  r°  Úmatrix_or_arrayÚbad_vecsr@   s         r:   Útest_matvecz_TestCommon.test_matvec)  s@  € Ø�NŠN˜G˜G˜G G G G¨I¨I¨I°g°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Ø%)Ô%7ÐF�'˜'½R¼YˆÝ•
˜1�v g g g™œÔ0Ñ0°/ÑBÔBÑCÔCÐCõ ˜1˜Q˜%‘L”L¥%¨	¨	¨	Ñ"2Ô"2µE¸A¸3À¸s¸)Ñ4DÔ4DÝ˜7˜7˜7‘O”O¥V¨a¨S°!°¨IÑ%6Ô%6ð8ˆàð 	7ð 	7ˆAÝ�* a¤l°AÑ6Ô6Ð6Ð6õ 	˜A�e G G G™nœnÑ,­c°!·)²)±+´+¸g¸g¸gÑ.FÔ.FÑGÔGÐGÝ˜A ˜s A 3¨ s˜m™O­R¬]½3¸q¿yºy¹{¼{È7È7È7Ñ;SÔ;SÑ-TÔ-TÔ-VÑWÔWÐWÐWÐWr<   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        |¦  «         | j        rt          t          |j        |¦  «         d S d S )Nr  r  r  r  r   rä   rf   r  rì  g333333Ó?rð   r�  rˆ  rî   )r/   r   rõ   r   r–   rœ  r�  rž  r‘   rd   r   r  rf  r  r  r¯   r  r¢   )r�   rN   Úa2rS   ÚaspÚbspÚcspr   Úwantrô  ÚfracrQ   r�  rú  r  rR   s                   r:   Útest_matmat_sparsez_TestCommon.test_matmat_sparseH  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ØÔð 	4Ý�* a¤i°Ñ3Ô3Ð3Ð3Ð3ð	4ð 	4r<   c           	      ó–  — 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 ]r}||z  }t          t	          || j        rt          nt          |¦  «        ¦  «        ¦  «         t          |j	        d¦  «         t          |t          ||¦  «        ¦  «         Œsd S )Nr  r  r  r  rä   rf   rð   r�  rˆ  rî   ©r�  rf   )rõ   r   r/   r   rI   r  r
   Útyper   rº   r   )r�   rN   r<  ÚbsrS   Úresults         r:   Útest_matmat_densez_TestCommon.test_matmat_dense€  sì   € ØˆWˆW�W�W�W˜Y˜Y˜Y w w wÐ/ˆØ�nŠn˜QÑÔˆõ �a˜�U˜A˜a˜5 ! A Ð'Ñ(Ô(­&°1°Q°%¸¸1¸¸qÀ¸eÐ1DÑ*EÔ*EÐFˆàð 	+ð 	+ˆAØ˜1‘WˆFÝ•J˜v°$Ô2DÐ'Q¥w wÍ$ÈqÉ'Ì'ÑRÔRÑSÔSÐSÝ˜œ uÑ-Ô-Ð-Ý˜¥ Q q¡¤Ñ*Ô*Ð*Ð*ð		+ð 	+r<   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          |j        |¦  «         t          |                     ¦   «         |¦  «         �Œd
D ]e}|                     |¦  «        }t          ||¦  «         |                      |d	z   ¦  «                             |¦  «        }t          ||d	z   ¦  «         Œfd S )NrÊ  ©r   rð   r�  )rˆ  r   r   rä   rf   r   rð   )r-  r[  r.  r/  ru  rD   r\  ù              @)r   Údense)r|   r   r–   rõ   Úasformatr   rø   r   )r�   rQ   rÃ  rø   rN   rS   r   s          r:   Ú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à—’˜qÑ!Ô!×*Ò*¨6Ñ2Ô2ˆAÝ˜œ &Ñ)Ô)Ð)Ý˜qŸyšy™{œ{¨AÑ.Ô.Ð.Ñ.à(ð 	(ð 	(ˆFØ—
’
˜6Ñ"Ô"ˆAÝ˜q !Ñ$Ô$Ð$à—’˜q ™tÑ$Ô$×-Ò-¨fÑ5Ô5ˆAÝ˜q ! B¡$Ñ'Ô'Ð'Ð'ð	(ð 	(r<   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�  rˆ  r*  ©rð   r   rˆ  )r-  Úto)rä   rf   rð   rî   )rä   rf   rð   r�  rî   rå  ©Ú	blocksize)r   r   rõ   r‡   r   r–   )	r�   r@   rA   rQ   r!  rø   ÚfnÚXÚYs	            r:   Ú
test_tobsrz_TestCommon.test_tobsr¦  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r<   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  ©ri  )r   rõ   r   r   r–   r   r?   )r?   rú  rè   ræ   rN   rS   r3  r�   s         €€r:   r  z)_TestCommon.test_transpose.<locals>.check·  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Ý˜œ !¤'Ñ*Ô*Ð*Ð*Ð*r<   rð  ©r�  rð   r   rZ  )rè   rJ   r   rõ   r   r   r–   r   rf  r  r  r  r  r¿   )r�   r5  r6  r  rÔ  r?   rú  r3  s   `      @r:   Útest_transposez_TestCommon.test_transpose²  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‘”��ð ð	 ð 	 r<   c                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óœ   •— ‰j         |          }‰j        |          }||z   }t          |||z   ¦  «         ||z   }t          |||z   ¦  «         d S r>   )r  r  r   ©r?   rè   ræ   Úsum1Úsum2r�   s        €r:   r  z)_TestCommon.test_add_dense.<locals>.checkÏ  s^   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEð ˜‘;ˆDÝ˜t S¨3¡YÑ/Ô/Ð/Ø˜3‘;ˆDÝ˜t S¨3¡YÑ/Ô/Ð/Ð/Ð/r<   r¾  r  s   `  r:   Útest_add_densez_TestCommon.test_add_denseÎ  sI   ø€ ð	0ð 	0ð 	0ð 	0ð 	0ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   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 r>   )r  r  r?   r  r   r_  s        €r:   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Ð3r<   r  rÓ  r  s   `  r:   Útest_sub_densez_TestCommon.test_sub_denseÜ  sa   ø€ ð	4ð 	4ð 	4ð 	4ð 	4ð$ Ô%ð 	ð 	ˆEØ�œ Ñ(Ô(Ò(Ð(ààˆE�%‰LŒLˆLˆLð	ð 	r<   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�  rˆ  r_  )rä   rä   rf   )r   rð   rî   rì  )r   y      @       @rˆ  )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å   rK  r|   zHTaking maximum .minimum. with > 0 .< 0. number results to a dense matrix)rJ   rm   Úcomplexfloatingrõ   ru   rD  r  r   r2  r(   ÚmaximumÚminimumr–   r   r   r?   )r?   Údtype2ÚbtyperQ   rR   r5  Úmax_sÚmin_sÚmax_dÚmin_dÚA_denseÚA_dense_cpxÚB_denser�   s             €€€€r:   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&  ri  rK  r|   )rJ   r   r  r   rñ   rô   r?   )r�   r  r?   rm  rn  rs  rt  ru  s   `    @@@r:   Ú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r<   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ñ  FrQ  )	ræ   r   r$  rø   Ú	__class__r–   r‡   r   rT   )r�   rQ   Útoselfs      r:   Ú	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Ð9r<   c                 ó  — |                       t          j        d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t          ||¦  «        D ]'\  }}t          |                     ¦   «         |¦  «         Œ(d S )NrŠ  rˆ  rV   )r  rJ   r   rö   rõ   Úzipr   r–   )r�   rR   rQ   r@   rA   s        r:   Útest_iteratorz_TestCommon.test_iterator:  s|   € Ø�LŠL�œ 2™œ×.Ò.¨q°"Ñ5Ô5Ñ6Ô6ˆØ�NŠN˜1ÑÔˆå˜˜1‘I”Ið 	)ð 	)‰DˆAˆqÝ˜Ÿš™œ aÑ(Ô(Ð(Ð(ð	)ð 	)r<   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  rˆ  rî   )r   rö   rJ   rî  rõ   r   r   r–   r  r  rå  rŸ   )r�   rž   rN   rS   r   r  r¡  r¢  r<  r=  r>  ÚdspÚespÚfsps                 r:   Ú test_size_zero_matrix_arithmeticz,_TestCommon.test_size_zero_matrix_arithmeticA  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Ð3r<   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   rž  r–   r�  rœ  ÚtolilÚtodokÚtobsr)r�   rž   rN   rS   r   r£  Úspms          r:   Ú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ð 	9r<   c                 óÜ  — t          j        g d¢g d¢gt           j        ¬¦  «        }t          t          d¬¦  «        5  |                      |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |                     t           j        ¦  «        ¦  «        }t          t          d¬¦  «        5  |                      |t           j        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)g      @r   gš™™™™™ñ?r_  rï   zdoes not support dtyperd  )rJ   r   Úfloat16r  r  rõ   ru   ró   )r�   rN   ÚA32s      r:   Útest_dtype_checkz_TestCommon.test_dtype_checkŠ  sQ  € ÝŒH�m�m�m Y Y YÐ/µr´zÐBÑBÔBˆÝ�:Ð-EÐFÑFÔFð 	ð 	Ø�NŠN˜1ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð �nŠn˜QŸXšX¥b¤jÑ1Ô1Ñ2Ô2ˆÝ�:Ð-EÐFÑFÔFð 	2ð 	2Ø�NŠN˜3¥b¤jˆNÑ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s#   ½AÁA#Á&A#Â2"C!Ã!C%Ã(C%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–   rø   rG   ÚitemsrI   rJ   r
   r  r   )ræ   r�  ÚsploadedÚkeyrH  Úpickler�   s        €€r:   r  z&_TestCommon.test_pickle.<locals>.check˜  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¸Ô'=Ò =Ñ>Ô>Ð>Ð>ñ?ð?ð ?r<   )r–  r   r2  r(   )r�   r5  r  r–  s   `  @r:   Útest_picklez_TestCommon.test_pickle“  sd   øø€ ØˆˆˆÝÑ!Ô!ˆØ�
Š
Õ*Ñ+Ô+Ð+à	ð	?ð 	?ð 	?ð 	?ð 	?ñ 
Œð	?ð( 	ˆ‰Œˆˆˆr<   c                 ó2   ‡ — ˆ fd„}dD ]} ||¦  «         Œd S )Nc                 óº  •— | dk    rt          j        d¦  «         ‰j        j        d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 Numpy)rD   r\  z%Unary ops not implemented for dok/lilrë  r�  rˆ  ç      4@)r  r  ræ   rø   r‡   rJ   rõ   r   rö   r–   r   )rŽ   ÚufuncrU  ÚX0ÚX2r�   s        €r:   r  z5_TestCommon.test_unary_ufunc_overrides.<locals>.check°  sÅ   ø€ Ø�vŠ~ˆ~Ý”ð /ñ 0ô 0ð 0àŒzÔ  NÐ2Ð2Ý”Ð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Ð0r<   )ÚsinÚtanÚarcsinÚarctanÚsinhÚtanhÚarcsinhÚarctanhÚrintrš  Úexpm1Úlog1pÚdeg2radÚrad2degÚfloorÚceilÚtruncÚsqrtr¬  rW   )r�   r  rŽ   s   `  r:   Útest_unary_ufunc_overridesz&_TestCommon.test_unary_ufunc_overrides¯  sH   ø€ ð	1ð 	1ð 	1ð 	1ð 	1ðð 	ð 	ˆDð ˆE�$‰KŒKˆKˆKð		ð 	r<   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¦  «         | j        r|j        dv r|                     d¦  «         n(t          t          t          t          f|j        d¦  «         dD ]}t          t          |j        |¦  «         Œd S )N©rä   r   rð   r�  ©rf   r   r   r   ©rð   r   r   r   ©rð   rf   rä   r   rf   rð   ©rf   rf   rY  rs  )rf   r   r   r_  )r[  r/  ))rå   rf   rî  rÛ  )rJ   r   rõ   r   Úresizer   r–   r  rø   r  r  rg  Ú
IndexError)r�   rÃ  r�  Ú	bad_shapes       r:   Útest_resizez_TestCommon.test_resizeÄ  sn  € åŒ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ð Ôð 	V !¤(¨nÐ"<Ð"<Ø�HŠH�Q‰KŒKˆKˆKå�:Õ':½JÐGÈÌÐSTÑUÔUÐUà6ð 	;ð 	;ˆIÝ�* a¤h°	Ñ:Ô:Ð:Ð:ð	;ð 	;r<   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ñ  )r?   r$  T)r/  r.  r[  ru  rD   r\  )ræ   rø   rx  rC   r–   ÚNON_ARRAY_BACKED_FORMATSr   rT   r?   rJ   ró   r   rL  )r�   rQ   Úself_formatrù   Úother_formatrR   s         r:   Ú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ð 		7r<   N)sr²   r³   r´   rû   r+   r  r%   rü   r"   rý   r   rþ   r    rÿ   r$   r   r!   r  r#   r  r   r  Úclassmethodr  r  r   r6  r9  rJ  rM  rS  rW  rb  rl  rq  r…  r–  r˜  r¤  r®  rµ  rº  r½  rÄ  rÈ  rÙ  râ  rõ  r  ÚmarkÚslowr
  r  r$  r(  r:  rC  rK  rV  rY  r_  ra  rf  rh  rj  r€  r„  r3  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-  r0  r4  r9  rA  rG  rM  rW  r\  rb  re  rv  rz  r}  r‚  rˆ  rŒ  r—  r°  rº  r¿  rW   r<   r:   r  r  )  s  € € € € € Ø@Ð@Ø"€Kà€MØ€MØ€MØ€MØ€MØ€MØ€MØ€Gàð;ð ;ñ „[ð;ð.ð ð ð	1ð 	1ð 	1ð#ð #ð #ðJ%ð %ð %ðN=ð =ð =ð~<ð <ð <ð|8ð 8ð 8ðt8ð 8ð 8ðtYð Yð Yð1ð 1ð 1ð;ð ;ð ;ð
'ð 'ð 'ð7ð 7ð 7ð(&ð &ð &ð(7ð 7ð 7ð$?ð ?ð ?ðJð Jð JðGð Gð GðFð Fð Fð/ð /ð /ð
/ð /ð /ð
Gð Gð GðB?ð ?ð ?ð-=ð -=ð -=ð^ „[Ôð40ð 40ñ Ôð40ðlAð Að Að<#ð #ð #ð#ð #ð #ð! ð ! ð ! ðF
>ð 
>ð 
>ðð ð ð 6ð 6ð 6ð*5ð 5ð 5ð!ð !ð !ðF
?ð 
?ð 
?ðð ð ð 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ðN>ð >ð >ð
;ð 
;ð 
;ðAð Að Að3ð 3ð 3ð"3ð 3ð 3ð2ð 2ð 2ð #ð #ð #ð>ð >ð >ð0ð 0ð 0ð$Xð Xð Xð>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ð2ð 2ð 2ðð ð ð8ð ð ð*';ð ';ð ';ðR7ð 7ð 7ð 7ð 7r<   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	          ||¦  «         | j        r�|                     ¦   «         }|                     ¦   «         }t          t          d¬¦  «        5  ||j        z  }d d d ¦  «         n# 1 swxY w Y   ||z  }||z  }t	          || 	                    ¦   «         ¦  «         n�|                     ¦   «         }|                     ¦   «         }t          t          d¬¦  «        5  ||z  }d d d ¦  «         n# 1 swxY w Y   | 
                    |j        ¦  «        }||j        z  }t	          ||¦  «         |                     ¦   «         }	 ||j        z  }|                     ¦   «         }|                     ¦   «         }t          t          d¬¦  «        5  ||z  }d d d ¦  «         n# 1 swxY w Y   | 
                    |j        ¦  «        }||j        z  }t	          ||¦  «         n# t          $ r Y nw xY wt          t          d¬¦  «        5  ||z  }d d d ¦  «         d S # 1 swxY w Y   d S )Nrð  úinconsistent shapesrd  zdimension mismatchúunsupported operand)rJ   rî  rõ   r$  r   r  r  r  rf  r–   r   r“  )r�   rN   rS   r@   rA   s        r:   Útest_inplace_densez)_TestInplaceArithmetic.test_inplace_dense	  s™  € ÝŒ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Ñ Ô Ð àÔð 	%à—’‘”ˆAØ—’‘”ˆAÝ�zÐ1FÐGÑGÔGð ð Ø�Q”S‘�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�A‘ˆAØ�‰FˆAÝ˜q !§)¢)¡+¤+Ñ.Ô.Ð.Ð.ð —’‘”ˆAØ—’‘”ˆAÝ�zÐ1EÐFÑFÔFð ð Ø�Q‘�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à—’�a”c‘
”
ˆAØ�”‰HˆAÝ˜q !Ñ$Ô$Ð$ð �FŠF‰HŒHˆð	%Ø�”‰HˆAð —’‘”ˆAØ—’‘”ˆAÝ�zÐ1EÐFÑFÔFð ð Ø�Q‘�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à—’�a”c‘
”
ˆAØ�”‰HˆAÝ˜q !Ñ$Ô$Ð$Ð$øõ ð 	ð 	ð 	ØˆDð	øøøõ �9Ð,AÐBÑBÔBð 	ð 	Ø�!‰GˆAð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sZ   Ã3D
Ä
DÄDÆ FÆFÆFÇ&
J  È.I É IÉIÊ 
JÊJÊ&J9Ê9J=Ë J=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)Úcastingrf   r»  ©	r  r  rJ   Úcan_castÚintr$  r   r–   rv  ©r?   rè   ræ   rN   rS   r�   s        €r:   r  z6_TestInplaceArithmetic.test_imul_scalar.<locals>.checkI	  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ð 3r<   r¾  r  s   `  r:   Útest_imul_scalarz'_TestInplaceArithmetic.test_imul_scalarH	  sI   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð& Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   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        €r:   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ð 3r<   )r  rJ   rÏ  r?   rÐ  r  s   `  r:   Útest_idiv_scalarz'_TestInplaceArithmetic.test_idiv_scalar_	  sf   ø€ ð	3ð 	3ð 	3ð 	3ð 	3ð$ Ô%ð 	ð 	ˆEõ ”;˜u¥b¤h­s¡m¤mÑ4Ô4ð Ø��e‘”�øð		ð 	r<   c                 óV  — |                       t          j        d¦  «        ¦  «        }|                       t          j        d¦  «        ¦  «        }|                       t          j        d¦  «        ¦  «        }||z  }||z   }t          |                     ¦   «         |                     ¦   «         ¦  «         | j        r>||z  }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         ||z  }||z  }t          |                     ¦   «         |                     ¦   «         ¦  «         ||z  }||z
  }t          |                     ¦   «         |                     ¦   «         ¦  «         t          t          d¬¦  «        5  ||z  }d d d ¦  «         d S # 1 swxY w Y   d S )Nrˆ  rÇ  rd  )rõ   rJ   r&   r   r–   r  r  r“  )r�   rN   rS   Úbps       r:   Útest_inplace_successz+_TestInplaceArithmetic.test_inplace_successx	  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àÔð 	7Ø�‰FˆAØ�a‘ˆBÝ˜AŸIšI™KœK¨¯ª©¬Ñ6Ô6Ð6à	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2à	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2å�9Ð,AÐBÑBÔBð 	ð 	Ø�!‰GˆAð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ÆFÆF"Æ%F"N)r²   r³   r´   rÈ  rÒ  rÕ  rØ  rW   r<   r:   rÄ  rÄ  	  sQ   € € € € € ð6ð 6ð 6ðpð ð ð.ð ð ð2ð ð ð ð r<   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 )Nrs  ©r�  rð   r   ©r   rf   r   r_  rï   r  ©©r   rð   rn  )r�  r   r[  )r�  rå   rÛ  )
r   rõ   rº   r  r   rD  r  r¸  r“  Ú__getitem__)	r?   rÃ  rQ   rx  r{  r�  rú  r  r�   s	           €r:   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r<   ©r+   rJ   r?   r  s   `  r:   Útest_getelementz_TestGetSet.test_getelement•	  sW   ø€ ð	Jð 	Jð 	Jð 	Jð 	Jõ$ &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r<   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Ñ  r•  ©rä   rf   rð   r>  rr  r  rÞ  ©r   rå   rÝ  ©rå   r>  rˆ  )r   rˆ  r   rÞ  )r   r   r�  r   )rf   r   rÝ  r   ))r   r�  )rå   r�  r  rð  ro  g     À^@rÛ  )rJ  )rõ   r   r2  r(   rD  rJ   Úbool_r   r–   r  r¸  Ú__setitem__r   r  rm   rj  r“  )r?   rQ   r5  r  rø  r�   s        €r:   r  z*_TestGetSet.test_setelement.<locals>.check¬	  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   `  r:   Útest_setelementz_TestGetSet.test_setelement«	  sX   ø€ ð	Fð 	Fð 	Fð 	Fð 	FõB &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r<   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ð   rV   rï   r  rä   )r   r«  )rõ   r   r2  r(   r   ©r?   rQ   r5  r�   s      €r:   r  z9_TestGetSet.test_negative_index_assignment.<locals>.checkÓ	  s±   ø€ Ø—’˜w¨e�Ñ4Ô4ˆAÝ"Ñ$Ô$ð ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��%‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜˜5œ 1Ñ%Ô%Ð%Ð%Ð%s   §!AÁAÁArÓ  r  s   `  r:   Útest_negative_index_assignmentz*_TestGetSet.test_negative_index_assignmentÐ	  sU   ø€ ð	&ð 	&ð 	&ð 	&ð 	&ð Ô%ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r<   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©rˆ  rV   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   r2  r(   r   r1  )	r�  rú  Únitemsr6   rQ   r5  r£  rù  r�   s	         €€€r:   Ú	_test_setz3_TestGetSet.test_scalar_assign_2.<locals>._test_setà	  sö   ø€ ØÐ/Ð/˜QÐ/Ð/ VÐ/Ð/ˆCØ—’  1˜vÑ&Ô&ˆAÝ"Ñ$Ô$ð ¨Ø—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ   §¢¡¤¨¸Ð=Ñ=Ô=Ð=Ý  ! Q $¤¨°CÐ8Ñ8Ô8Ð8Ð8Ð8s   ±#A Á A$Á'A$©rf   rð   ©rå   rÞ  rè  rå   r>  rä   )r   ©r�   rô  r�  rú  r£  rù  s   `   @@r:   Útest_scalar_assign_2z _TestGetSet.test_scalar_assign_2Ý	  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ÑÔÐÐð	ð 	r<   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 )Nrš  r  rä   r>  r�  r  rß  ©rõ   rJ   r   r   r2  r(   r   r–   ©r�   rQ   rR   r5  rù   s        r:   Útest_index_scalar_assignz$_TestGetSet.test_index_scalar_assignî	  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ü  rW   r<   r:   rÚ  rÚ  ”	  s`   € € € € € ð#ð #ð #ð,##ð ##ð ##ðJ#ð #ð #ðð ð ð"	+ð 	+ð 	+ð 	+ð 	+r<   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ä   rg  rs  )rJ   r‘   rd   r   rC  r4  r  r¿   r   rõ   r   r2  r(   r0   Úsolver   )r�   rù  rQ   r@   rA   r  r�  r5  s           r:   Ú
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  rW   r<   r:   rþ  rþ  ú	  s#   € € € € € ð%ð %ð %ð %ð %r<   rþ  c                   óœ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                             d¦  «        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ä   rV   rï   r   rä   rˆ  )r   rõ   rJ   rò   r?   r[   ró   rñ   r½   s    r:   Ú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ÐWr<   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   rf   ©rJ   rò   r[   ró   rñ   rõ   r   r?   ©r�   ÚdtrQ   s      r:   Ú#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ð 	0r<   c           	      ód  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }| j        rdndgdgdgf\  }}}t          ||d d …f         |dd d …f                              ¦   «         ¦  «         t          ||dd…f         |ddd…f                              ¦   «         ¦  «         |                       g d¢g d	¢g d
¢g d¢g¦  «        }|                      |¦  «        }t          ||dd…f         |ddd…f                              ¦   «         ¦  «         |                       g d¢g d¢g d
¢g d¢g¦  «        }|                      |¦  «        }	t          ||dd…f         |	ddd…f                              ¦   «         ¦  «         t          ||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@rˆ  rV   r*  r   rä   rf   ©rä   rf   rä   ©r�  r   rî   r_  rË  rð   ©r�  r   r   r>  é   rî   rÝ  )r  r   rö   rõ   r  r   r–   r  r¸  rá  Úslice)
r�   rR   rQ   Úr0Úr1Úr2rù   rÃ  rï  rä  s
             r:   Útest_get_horiz_slicez!_TestSlicing.test_get_horiz_slice#
  s  € Ø�LŠL� ™œ×,Ò,¨Q¨rÑ2Ô2Ñ3Ô3ˆØ�NŠN˜1ÑÔˆØ"&Ô"4ÐI�Y�Y¸A¸3ÀÀÀaÀS¸/‰
ˆˆB�Ý˜1˜R   ˜Uœ8 Q q¨!¨!¨! t¤W§_¢_Ñ%6Ô%6Ñ7Ô7Ð7Ý˜1˜R  1 ˜Wœ: q¨¨A¨a¨C¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;à�LŠL˜)˜)˜) Y Y Y°	°	°	¸9¸9¸9ÐEÑFÔFˆØ�NŠN˜1ÑÔˆÝ˜1˜R  1 ˜Wœ: q¨¨A¨a¨C¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;ð �LŠL˜)˜)˜) Y Y Y°	°	°	¸9¸9¸9ÐEÑFÔFˆØ�NŠN˜1ÑÔˆÝ˜1˜R  1 ˜Wœ: q¨¨A¨a¨C¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;Ý˜1˜R   ˜Wœ: q¨¨B¨C¨C¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;õ 	•j !¤-µ%¸±+´+¸rÐ1BÑCÔCÐCÝ•j !¤-°!µU¸1¸a±[´[Ð1AÑBÔBÐBÐBÐBr<   c           	      ó’  — t          d¦  «                             dd¦  «        }|                      |¦  «        }| j        rdndgdgdgf\  }}}t	          |dd…|f         |dd…df                              ¦   «         ¦  «         t	          |d d …|f         |d d …df                              ¦   «         ¦  «         t          g d¢g d	¢g d
¢g d¢g¦  «        }|                      |¦  «        }t	          |dd…|f         |dd…df                              ¦   «         ¦  «         t	          |d d …|f         |d d …df                              ¦   «         ¦  «         t          g d¢g d¢g d
¢g d¢g¦  «        }|                      |¦  «        }	t	          |d d …|f         |	d d …df                              ¦   «         ¦  «         t	          |dd …|f         |	dd …df                              ¦   «         ¦  «         t          t          |j	        t          d ¦  «        df¦  «         t          t          |j	        dt          dd¦  «        f¦  «         d S )Nr  rˆ  rV   r*  r   rä   rf   r  r  r_  rË  rð   r  r  r>  r  rî   rÝ  )r   rö   rõ   r  r   r–   r   r  r¸  rá  r  )
r�   rR   rQ   Úc0Úc1Úc2rù   rÃ  rï  rä  s
             r:   Útest_get_vert_slicez _TestSlicing.test_get_vert_slice8
  s;  € Ý�3‰KŒK×Ò  2Ñ&Ô&ˆØ�NŠN˜1ÑÔˆØ"&Ô"4ÐI�Y�Y¸A¸3ÀÀÀaÀS¸/‰
ˆˆB�Ý˜1˜Q˜q˜S "˜Wœ: q¨¨1¨¨a¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;Ý˜1˜Q˜Q˜Q ˜Uœ8 Q q q q¨! t¤W§_¢_Ñ%6Ô%6Ñ7Ô7Ð7å�9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S "˜Wœ: q¨¨1¨¨a¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;Ý˜1˜Q˜Q˜Q ˜Uœ8 Q q q q¨! t¤W§_¢_Ñ%6Ô%6Ñ7Ô7Ð7õ �9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜Q˜Q ˜Uœ8 Q q q q¨! t¤W§_¢_Ñ%6Ô%6Ñ7Ô7Ð7Ý˜1˜R˜S˜S "˜Wœ: q¨¨¨¨a¨¤y×'8Ò'8Ñ':Ô':Ñ;Ô;Ð;õ 	•j !¤-µ%¸±+´+¸rÐ1BÑCÔCÐCÝ•j !¤-°!µU¸1¸a±[´[Ð1AÑBÔBÐBÐBÐBr<   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  rˆ  rV   rf   r   rð   rä   rå   r  r  r_  rË  )r   rö   rõ   r   r–   r   )r�   rR   rQ   rï  rä  s        r:   Útest_get_slicesz_TestSlicing.test_get_slicesN
  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Ð8r<   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 )NrŠ  r   é   rf   rì  rð   úfeature not implemented)	rJ   r‘   r4  rõ   r  r  r  r   r–   )r�   Úv0rø  s      r:   Ú 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          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 )NrŠ  rˆ  rV   rõ  rö  rè  rå   r>  rf   rð   r�  rß  rä   r©  )	r  r   rö   rõ   r   r   r–   r  r   )r�   rR   rQ   ró  s       r:   Útest_slicing_2z_TestSlicing.test_slicing_2f
  s  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�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Ð2r<   rf   c                 óx  ‡‡— |                       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 )NrŠ  rˆ  rV   rf   rä   rð   r‰  rë  rÞ  rå   r�  r>  r   r©  r·  c                 ó  •— ‰|          }‰|          }|j         dk    r t          ||t          | ¦  «        ¦  «         d S |j        dk    r|j        dk    rd S t	          |                     ¦   «         |t          | ¦  «        ¦  «         d S ©NrW   r   )rº   r   r€  rl   r   r–   )rN   r@   rA   rQ   rR   s      €€r:   Ú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Ñ?Ô?Ð?Ð?Ð?r<   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'  )
rI   rJ   r
   rÐ  rº   r   r€  rl   r   r–   )rN   rS   ÚaiÚbir@   rA   rQ   rR   s         €€r:   Úcheck_2z,_TestSlicing.test_slicing_3.<locals>.check_2­
  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ÐDr<   )
Nr   rä   rf   rˆ  r‰  rå   r>  rˆ  iñÿÿÿ)r  r   rö   rõ   rJ   Ús_r   r   Ú	enumerateÚ	itertoolsÚproductrL   r  )r�   r-  Úslicesr(  rú  rN   r,  r�  rS   Úextra_slicesr   rQ   rR   s              @@r:   Útest_slicing_3z_TestSlicing.test_slicing_3“
  sP  øø€ à�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�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ð	ð 	r<   c                 óž  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }|d         j        dk    sJ ‚|d ddd…f         j        dk    sJ ‚|d	         j        d
k    sJ ‚|d         j        dk    sJ ‚|d         j        dk    sJ ‚|d dd d …f         j        dk    sJ ‚|dd d d …f         j        dk    sJ ‚|dd d …d f         j        dk    sJ ‚|d dd…df         j        |d dd…df         j        cxk    rdk    sn J ‚|dd…d df         j        |dd…d df         j        cxk    rdk    sn J ‚|dd…dd f         j        |dd…dd f         j        cxk    rdk    sn J ‚|d ddd…f         j        |d ddd…f         j        cxk    rdk    sn J ‚|dd dd…f         j        |dd dd…f         j        cxk    rdk    sn J ‚|ddd…d f         j        |ddd…d f         j        cxk    rdk    sn J ‚| j        rÕ|dd…df         j        |dd…df         j        cxk    rdk    sn J ‚|ddd…f         j        |ddd…f         j        cxk    rdk    sn J ‚|d         j        |d         j        cxk    rdk    sn J ‚|d         j        |d         j        cxk    rdk    sn J ‚|d         j        |d         j        cxk    rdk    sn J ‚d S |ddd…f         j        |ddd…f         j        cxk    rdk    sn J ‚|dd…df         j        |dd…df         j        cxk    rdk    sn J ‚|d         j        |d         j        cxk    rd
k    sn J ‚|d         j        |d         j        cxk    rd
k    sn J ‚|d         j        |d         j        cxk    rd
k    sn J ‚d S )NrŠ  rˆ  rV   ræ  r   rä   rf   r�  )Nrä   rf   Nr  )Nrä   r  )rä   N)rV   rä   rð   ©rf   rä   )rf   )Nrä   rf   )rä   )rä   Nrf   )rä   rf   N)r  r   rö   rõ   rÀ   rº   r  )r�   rR   rQ   s      r:   Útest_None_slicingz_TestSlicing.test_None_slicingÖ
  s  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�NŠN˜1ÑÔˆà�ŒwŒ|˜qÒ Ð Ð Ð Ø��q˜!˜A˜#�ŒÔ$¨Ò.Ð.Ð.Ð.ØÐ!Ô"Ô(¨FÒ2Ð2Ð2Ð2ð �ŒzÔ 7Ò*Ð*Ð*Ð*Ø�ŒzÔ 7Ò*Ð*Ð*Ð*Ø��q˜!˜!˜!�Œ}Ô" gÒ-Ð-Ð-Ð-Ø��D˜!˜!˜!�Œ}Ô" gÒ-Ð-Ð-Ð-Ø��A�A�A�t�Œ}Ô" gÒ-Ð-Ð-Ð-à��q˜�s˜A�ŒÔ$¨¨$°°!°°Q¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ��1��d˜A�ŒÔ$¨¨!¨A¨#¨t°Q¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ��1��a˜�ŒÔ$¨¨!¨A¨#¨q°$¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ��q˜!˜A˜#�ŒÔ$¨¨$°°1°Q°3¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ��D˜!˜A˜#�ŒÔ$¨¨!¨T°1°Q°3¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ��A�a�C˜�ŒÔ$¨¨!¨Q¨q¨S°$¨,¬Ô(=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGð Ôð 	HØ�Q�q�S˜!�V”9”? a¨¨!¨¨Q¨¤i¤oÐ=Ð=Ò=Ð=¸Ò=Ð=Ð=Ð=Ð=Ð=Ø�Q˜˜!˜�V”9”? a¨¨1¨Q¨3¨¤i¤oÐ=Ð=Ò=Ð=¸Ò=Ð=Ð=Ð=Ð=Ð=Ø�Z”=Ô&¨!¨J¬-Ô*=ÐEÐEÒEÐEÀÒEÐEÐEÐEÐEÐEØ�Z”=Ô&¨!¨J¬-Ô*=ÐEÐEÒEÐEÀÒEÐEÐEÐEÐEÐEØ�Z”=Ô&¨!¨J¬-Ô*=ÐEÐEÒEÐEÀÒEÐEÐEÐEÐEÐEÐEÐEà�Q˜˜!˜�V”9”? a¨¨1¨Q¨3¨¤i¤oÐ?Ð?Ò?Ð?¸Ò?Ð?Ð?Ð?Ð?Ð?Ø�Q�q�S˜!�V”9”? a¨¨!¨¨Q¨¤i¤oÐ?Ð?Ò?Ð?¸Ò?Ð?Ð?Ð?Ð?Ð?Ø�Z”=Ô&¨!¨J¬-Ô*=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ�Z”=Ô&¨!¨J¬-Ô*=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGØ�Z”=Ô&¨!¨J¬-Ô*=ÐGÐGÒGÐGÀÒGÐGÐGÐGÐGÐGÐGÐGr<   c                 ó  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |d                              ¦   «         |d         ¦  «         t	          |d                              ¦   «         |d         ¦  «         t	          |d                              ¦   «         |d         ¦  «         t	          |d                              ¦   «         |d         ¦  «         t	          |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 ¦  «         n# 1 swxY w Y   t          j        t          d	¬
¦  «        5  |j	        d          d d d ¦  «         n# 1 swxY w Y   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 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 …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 d…f                              ¦   «         |ddd d…f         ¦  «         t	          |ddd d…f                              ¦   «         |ddd d…f         ¦  «         t          |d         |d         ¦  «         t          |d         |d         ¦  «         d S )NrŠ  rˆ  rV   .).)r�  .).r�  ).rˆ  zindex .5. out of rangerd  )rˆ  .zindex .10. out of range).rV   rä   rf   )rä   rä   .)rä   .rä   )r  r   rö   rõ   r   r–   r  r   r¸  rf  r   ©r�   rS   rN   s      r:   Útest_ellipsis_slicingz"_TestSlicing.test_ellipsis_slicingú
  sÜ  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�NŠN˜1ÑÔˆå˜1˜Sœ6Ÿ>š>Ñ+Ô+¨Q¨s¬VÑ4Ô4Ð4Ý˜1˜Tœ7Ÿ?š?Ñ,Ô,¨a°¬gÑ6Ô6Ð6å˜1˜Vœ9×,Ò,Ñ.Ô.°°&´	Ñ:Ô:Ð:Ý˜1˜Vœ9×,Ò,Ñ.Ô.°°&´	Ñ:Ô:Ð:Ý˜1˜Vœ9×,Ò,Ñ.Ô.°°&´	Ñ:Ô:Ð:ÝŒ]�:Ð-EÐFÑFÔFð 	ð 	ØˆfŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ð-FÐGÑGÔGð 	ð 	ØˆgŒJˆJð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ð-EÐFÑFÔFð 	ð 	ØŒC�ŒKˆKð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1˜Q˜R˜R ˜Wœ:×-Ò-Ñ/Ô/°°1°2°2°s°7´Ñ<Ô<Ð<Ý˜1˜S ! " "˜Wœ:×-Ò-Ñ/Ô/°°3¸¸¸°7´Ñ<Ô<Ð<Ý˜1˜R˜a˜R ˜Wœ:×-Ò-Ñ/Ô/°°2°A°2°s°7´Ñ<Ô<Ð<Ý˜1˜S " 1 "˜Wœ:×-Ò-Ñ/Ô/°°3¸¸¸°7´Ñ<Ô<Ð<õ 	˜1˜R˜a˜R ˜Wœ:×-Ò-Ñ/Ô/°°2°A°2°s°7´Ñ<Ô<Ð<Ý˜1˜S " 1 "˜Wœ:×-Ò-Ñ/Ô/°°3¸¸¸°7´Ñ<Ô<Ð<Ý˜1˜Q˜R˜R ˜Wœ:×-Ò-Ñ/Ô/°°1°2°2°s°7´Ñ<Ô<Ð<Ý˜1˜S ! " "˜Wœ:×-Ò-Ñ/Ô/°°3¸¸¸°7´Ñ<Ô<Ð<Ý˜1˜R˜S˜S #˜Xœ;×.Ò.Ñ0Ô0°!°B°C°C¸°H´+Ñ>Ô>Ð>Ý˜1˜S " # #˜Xœ;×.Ò.Ñ0Ô0°!°C¸¸¸°H´+Ñ>Ô>Ð>õ 	˜1˜Q˜R˜R  C˜Zœ=×0Ò0Ñ2Ô2°A°a°b°b¸!¸S°j´MÑBÔBÐBÝ˜1˜Q  Q R R˜Zœ=×0Ò0Ñ2Ô2°A°a¸¸a¸b¸b°j´MÑBÔBÐBÝ˜1˜S ! Q R R˜Zœ=×0Ò0Ñ2Ô2°A°a¸¸a¸b¸b°j´MÑBÔBÐBÝ˜1˜R˜a˜R  C˜Zœ=×0Ò0Ñ2Ô2°A°b°q°b¸!¸S°j´MÑBÔBÐBÝ˜1˜Q  R a R˜Zœ=×0Ò0Ñ2Ô2°A°a¸¸b¸q¸b°j´MÑBÔBÐBÝ˜1˜S ! R a R˜Zœ=×0Ò0Ñ2Ô2°A°a¸¸b¸q¸b°j´MÑBÔBÐBå�Q�y”\ 1 Y¤<Ñ0Ô0Ð0Ý�Q�y”\ 1 Y¤<Ñ0Ô0Ð0Ð0Ð0s6   Å	E"Å"E&Å)E&Æ	FÆF!Æ$F!ÇGÇG!Ç$G!c                 óÀ  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }g d¢}dgdz  |z   }||z   }|gdz  }t	          t          ||df         ¦  «        ||df         ¦  «         t	          t          |d|f         ¦  «        |d|f         ¦  «         t	          t          ||df         ¦  «        ||df         ¦  «         t	          t          |d|f         ¦  «        |d|f         ¦  «         t	          t          ||d|f         ¦  «        ||d|f         ¦  «         t	          t          |d||f         ¦  «        |d||f         ¦  «         t	          t          |||df         ¦  «        |||df         ¦  «         t          t          d¬¦  «        5  |||f          d d d ¦  «         d S # 1 swxY w Y   d S )	NrŠ  rˆ  rV   )TFTFTF.zshape mismatchrd  )r  r   rö   rõ   r   r–   r  r  )r�   Únumpy_arN   Úix5Úix10Ú
ix10_6TrueÚfull_ixs          r:   Útest_ellipsis_fancy_boolz%_TestSlicing.test_ellipsis_fancy_bool#  s  € Ø—,’,�v b™zœz×1Ò1°!°RÑ8Ô8Ñ9Ô9ˆØ�NŠN˜7Ñ#Ô#ˆà.Ð.Ð.ˆØˆw˜‰{˜SÑ ˆØ˜3‘Yˆ
Ø�&˜1‘*ˆå�7 1 W¨c \¤?Ñ3Ô3°W¸WÀc¸\Ô5JÑKÔKÐKÝ�7 1 S¨' \¤?Ñ3Ô3°W¸SÀ'¸\Ô5JÑKÔKÐKå�7 1 S¨# X¤;Ñ/Ô/°¸¸c¸Ô1BÑCÔCÐCÝ�7 1 S¨$ Y¤<Ñ0Ô0°'¸#¸t¸)Ô2DÑEÔEÐEå�7 1 S¨#¨t ^Ô#4Ñ5Ô5°w¸sÀCÈ¸~Ô7NÑOÔOÐOÝ�7 1 S¨#¨t ^Ô#4Ñ5Ô5°w¸sÀCÈ¸~Ô7NÑOÔOÐOÝ�7 1 S¨$° ^Ô#4Ñ5Ô5°w¸sÀDÈ#¸~Ô7NÑOÔOÐOå�:Ð-=Ð>Ñ>Ô>ð 	ð 	Øˆc�:ˆoÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Æ;GÇGÇGc           	      óÔ  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |dgdf                              ¦   «         |dgdf         ¦  «         t	          |ddgdf                              ¦   «         |ddgdf         ¦  «         t	          |ddgf                              ¦   «         |ddgf         ¦  «         t	          |dddgf                              ¦   «         |dddgf         ¦  «         t	          |dgddf                              ¦   «         |dgddf         ¦  «         t	          |ddgddf                              ¦   «         |ddgddf         ¦  «         t	          |dgddf                              ¦   «         |dgddf         ¦  «         t	          |ddgdf                              ¦   «         |ddgdf         ¦  «         t	          t          |ddgdddgf         ¦  «        |ddgdddgf         ¦  «         t	          t          |dddgddgf         ¦  «        |dddgddgf         ¦  «         d S )NrŠ  rˆ  rV   r�  .rf   rä   )r  r   rö   rõ   r   r–   r8  s      r:   Útest_ellipsis_fancy_slicingz(_TestSlicing.test_ellipsis_fancy_slicing9  s^  € Ø�LŠL� ™œ×+Ò+¨A¨rÑ2Ô2Ñ3Ô3ˆØ�NŠN˜1ÑÔˆå˜1˜a˜S #˜Xœ;×.Ò.Ñ0Ô0°!°Q°C¸°H´+Ñ>Ô>Ð>Ý˜1˜a ˜V S˜[œ>×1Ò1Ñ3Ô3°Q¸¸1°v¸s°{´^ÑDÔDÐDÝ˜1˜S 1 #˜Xœ;×.Ò.Ñ0Ô0°!°C¸!¸°H´+Ñ>Ô>Ð>Ý˜1˜S 1 a &˜[œ>×1Ò1Ñ3Ô3°Q°s¸QÀ¸F°{´^ÑDÔDÐDå˜1˜a˜S ! S˜[œ>×1Ò1Ñ3Ô3°Q¸°s¸A¸s°{´^ÑDÔDÐDÝ˜1˜a ˜V Q¨˜^Ô,×4Ò4Ñ6Ô6¸¸1¸a¸&À!ÀS¸.Ô8IÑJÔJÐJÝ˜1˜a˜S # q˜[œ>×1Ò1Ñ3Ô3°Q¸°s¸CÀ°{´^ÑDÔDÐDÝ˜1˜S 1 # q˜[œ>×1Ò1Ñ3Ô3°Q°s¸Q¸CÀ°{´^ÑDÔDÐDå�7 1 a¨ V¨S°1°a°&Ð%8Ô#9Ñ:Ô:¸A¸qÀ!¸fÀcÈAÈqÈ6Ð>QÔ<RÑSÔSÐSÝ�7 1 S¨1¨a¨&°1°a°&Ð%8Ô#9Ñ:Ô:¸A¸cÀAÀqÀ6ÈAÈqÈ6Ð>QÔ<RÑSÔSÐSÐSÐSr<   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ð   rf   z(an index can only have a single ellipsisrd  )..).rä   .)rõ   r   rö   r  r   r¸  ©r�   rN   s     r:   Útest_multiple_ellipsis_slicingz+_TestSlicing.test_multiple_ellipsis_slicingJ  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Á  Ú	fail_slowr3  r6  r9  r@  rB  rE  rW   r<   r:   r  r  
  s
  € € € € € ðXð Xð Xð0ð 0ð 0ðCð Cð Cð*Cð Cð Cð,9ð 9ð 9ð	<ð 	<ð 	<ð+3ð +3ð +3ðZ „[×Ò˜1ÑÔð@ð @ñ Ôð@ðD"Hð "Hð "HðH'1ð '1ð '1ðRð ð ð,Tð Tð Tð"ð ð ð ð r<   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 )	Nrš  r  rä   r   r�  rð   rß  rå   rú  rû  s        r:   Útest_slice_scalar_assignz+_TestSlicingAssign.test_slice_scalar_assignV  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   r2  r(   rJ   r   r   r–   )	r�  rú  r6   rQ   r5  rR   r£  rù  r�   s	         €€€r:   rô  z9_TestSlicingAssign.test_slice_assign_2.<locals>._test_setf  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"rf   rð   rV   r�  rˆ  r>  )r  r   r÷  s   `   @@r:   Útest_slice_assign_2z&_TestSlicingAssign.test_slice_assign_2c  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ð	ð 	r<   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 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 )Nr[  r  rf   rÑ  rÝ  ræ  rð   r5  rV   r  r   rä   rå   )	rõ   r   r2  r(   r   r–   rJ   r   rf  )r�   rR   r5  rQ   s       r:   Útest_self_self_assignmentz,_TestSlicingAssign.test_self_self_assignmentt  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Ø˜˜a   ˜”{”}ˆ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          |¦  «        ¦  «        |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 )Nr[  ©rV   r   r   )r   r   rî   )r   r�  r   r_  rä   r   r�  r  rˆ  rÑ  rð   ræ  rÝ  r5  rf   )rõ   r   r   r2  r(   r   r–   rþ   )r�   rR   rk  Úblockr5  s        r:   Útest_slice_assignmentz(_TestSlicingAssign.test_slice_assignmentŠ  sv  € Ø�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à×)Ò)­%°©,¬,Ñ7Ô7ˆAˆbˆqˆb��!�ˆe‰HÝ˜qŸyšy™{œ{¨2¨A¨2¨r°¨r¨6Ô2°EÑ:Ô:Ð:ð		;ð 		;ð 		;ñ 		;ô 		;ð 		;ð 		;ð 		;ð 		;ð 		;ð 		;ð 		;øøøð 		;ð 		;ð 		;ð 		;ð 		;ð 		;s   ÁB4DÄDÄDc                 ó¬  — |                       d¦  «        }t          ¦   «         5 }|                     t          d¦  «         d|d<   d|d<   d|d<   d	|d
<   |                      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 )Nr[  r  rˆ  rÑ  rð   ræ  rÝ  r5  rV   r  rs  r  rË  rQ  )
rõ   r   r2  r(   rÿ   rJ   r&   r   r   r–   )r�   rR   r5  rk  s       r:   Ú"test_sparsity_modifying_assignmentz5_TestSlicingAssign.test_sparsity_modifying_assignment�  s  € Ø�NŠN˜5Ñ!Ô!ˆÝÑ Ô ð 	2 CØ�JŠJÕ.Ð0QÑRÔRÐRØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØ×&Ò&¥r¤v¨a¡y¤yÑ1Ô1ˆAˆbˆqˆb‰Eð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2õ ˜'˜'˜' ' ' '¨'¨'¨'°(°(°(Ð;Ñ<Ô<ˆÝ˜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ñ  rf   rä   rð   rÞ  rå   r�  r>  rˆ  r   r©  r·  r  rV   éè  rÑ  éd   rÛ  rI  rÍ  )r�  rä   rð   ©rä   rf   r�  )r   rä   rð   r¸  )rõ   r   r   rv  rJ   r-  r   r   r2  r(   r.  r   r–   r€  r  r   r  r  rê  Úlistr  r$  )
r�   rQ   rR   r-  r1  r5  rú  rN   r�  rS   s
             r:   Ú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ä   rf   ©rä   rä   rä   rË  )rõ   rJ   rî  r   r–   r  s      r:   Ú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Ð(>Ñ?Ô?Ð?Ð?Ð?r<   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 )NrY  rð   r   rä   r  r_  )rõ   rJ   rî  r   r   r–   ©r�   rQ   r@   s      r:   Ú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ÐJr<   N)r²   r³   r´   rJ  rM  rO  rS  rU  r[  r^  ra  rW   r<   r:   rH  rH  U  s˜   € € € € € ð+ð +ð +ðð ð ð"Gð Gð Gð,;ð ;ð ;ð&2ð 2ð 2ð+(ð +(ð +(ðZ@ð @ð @ðKð Kð Kð Kð Kr<   rH  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      r:   Ú#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œœ¨Ñ,Ô,Ð,Ð,ð	-ð 	-r<   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 )Nrˆ  Úfoo©rf   rg  rÛ  rÍ  )rõ   rJ   r   r  r¸  r  r“  rá  r­  s     r:   Ú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ð 	1r<   c           
      óv  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |dg                              ¦   «         |dg         ¦  «         t	          |ddg                              ¦   «         |ddg         ¦  «         t	          |ddgf                              ¦   «         |ddgf         ¦  «         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gdf                              ¦   «         |dgd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gd d …f                              ¦   «         |dgd 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gd
gf         ¦  «        |dgd
g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gd d …f         d d …d
gf                              ¦   «         |dgd d …f         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	          |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ggf         ddggdf                              ¦   «         |dddggf         ddggdf         ¦  «         t	          |dddggf         ddggdf                              ¦   «         |dddggf         ddggdf         ¦  «         t          j        t          d¬¦  «        5  |d d…ddggf          d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |ddggd d…f          d d d ¦  «         n# 1 swxY w Y   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 )NrŠ  rˆ  rV   rð   rä   rå   rf   r©  )rf   rÞ  rð   rå   r�  rß  r«  rÞ  r·  r>  r   zOnly 1D or 2D arrays allowedrd  rï   )r  r   rö   rõ   r   r–   r   r  r   r¸  r  r   rJ   rÐ  )r�   rR   rQ   ró  r�  s        r:   Útest_fancy_indexingz&_TestFancyIndexing.test_fancy_indexingû  sÌ  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�NŠN˜1ÑÔˆõ 	�Q˜�s”V—^’^Ñ%Ô% q¨!¨¤vÑ.Ô.Ð.Ý�Q˜˜1�v”Y×&Ò&Ñ(Ô(¨!¨Q°¨F¬)Ñ4Ô4Ð4õ 	�Q�q˜1˜#�v”Y×&Ò&Ñ(Ô(¨!¨A°¨s¨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˜�s˜A�v”Y×&Ò&Ñ(Ô(¨!¨Q¨C°¨F¬)Ñ4Ô4Ð4Ý�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˜�s˜A˜A˜A�v”Y×&Ò&Ñ(Ô(¨!¨Q¨C°°°¨F¬)Ñ4Ô4Ð4Ý�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 ˜s Q C˜xœ[Ñ)Ô)¨1¨a¨S°1°#¨X¬;Ñ7Ô7Ð7Ý•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˜�s˜A˜A˜A�v”Y˜q˜q˜q 1 #˜vÔ&×.Ò.Ñ0Ô0°!°Q°C¸¸¸°F´)¸A¸A¸AÀ¸s¸FÔ2CÑDÔDÐDÝØˆ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�1�a�&�ˆkŒN˜Q ˜F˜8 Q˜;Ô'×/Ò/Ñ1Ô1°1°Q¸!¸Q¸¸°[´>ÀAÀqÀ6À(ÈAÀ+Ô3Nñ	
ô 	
ð 	
õ 	Øˆa�2�r�(�ˆmÔ˜q "˜g˜Y¨˜\Ô*×2Ò2Ñ4Ô4°a¸¸RÀ¸H¸:¸Ô6FÈÈBÈÀyÐRSÀ|Ô6Tñ	
ô 	
ð 	
õ Œ]�:Ð-KÐLÑLÔLð 	ð 	Øˆbˆqˆb�A�q�6�(ˆlŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒ]�:Ð-KÐLÑLÔLð 	ð 	Ø��1ˆvˆh˜˜˜ˆlŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	Øˆ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Ñ<Ô<Ð<Ð<Ð<s$   ì l<ì<m ím í"m>í>nînc                 ó¼  — t           j                             d¦  «         d}d}d}|                      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 )Nrc   rŠ  rî   r�  r  rä   rý  )rJ   r‘   rd   r  r4  rå  rh   rõ   r'   r–   r   r  r¸  rá  )r�   ÚNUM_SAMPLESrx  r{  rÃ  ÚIrò  r�  ÚSIJÚI_badÚJ_bads              r:   Útest_fancy_indexing_randomizedz1_TestFancyIndexing.test_fancy_indexing_randomizedx  s8  € Ý
Œ	�Š�tÑÔÐàˆØˆØˆà�LŠL�œŸš¨¨!Ñ,Ô,Ñ-Ô-ˆÝŒ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°Ñ;Ô;Ð;Ð;Ð;r<   c                 óæ  — d\  }}|                       t          ||z  ¦  «                             ||¦  «        ¦  «        }|                      |¦  «        }t	          j        |dz   t          ¬¦  «        }t	          j        |dz
  t          ¬¦  «        }t	          j        |dz   t          ¬¦  «        }t	          j        |dz
  t          ¬¦  «        }d}	t          j        ||t          d ¦  «        f||t          d ¦  «        f¦  «        D ]m\  }
}t          |
t          ¦  «        rt          |t          ¦  «        rŒ0t          j        t          |	¬¦  «        5  ||
|f         }d d d ¦  «         n# 1 swxY w Y   Œnd S )Nrñ  rä   rï   rf   z(bool index .* has shape .* instead of .*rd  )r  r   rö   rõ   rJ   rî  r  r/  r0  r  rI   r  r   r¸  )r�   rx  r{  rR   rQ   Úrow_longÚ	row_shortÚcol_longÚ	col_shortre  r�  rú  r  s                r:   Útest_missized_maskingz(_TestFancyIndexing.test_missized_masking’  s˜  € Ø‰ˆˆ1à�LŠL�  A¡™œ×.Ò.¨q°!Ñ4Ô4Ñ5Ô5ˆØ�NŠN˜1ÑÔˆõ ”7˜1˜q™5­Ð-Ñ-Ô-ˆÝ”G˜A ™E­Ð.Ñ.Ô.ˆ	Ý”7˜1˜q™5­Ð-Ñ-Ô-ˆÝ”G˜A ™E­Ð.Ñ.Ô.ˆ	à8ˆÝÔ%Ø�y¥%¨¡+¤+Ð.Ø�y¥%¨¡+¤+Ð.ñ
ô 
ð 	ð 	‰DˆAˆqõ ˜!�UÑ#Ô#ð ­
°1µeÑ(<Ô(<ð ØÝ”�z°Ð7Ñ7Ô7ð ð Ø�a˜�d”G�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øð	ð 	s   ÅE%Å%E)	Å,E)	c                 óö  — t           j                             d¦  «         |                      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 )Nrc   rŠ  rˆ  rV   r   rf   rý  rï   rñ  rß  )TFTTF)
FTTFTFFFFF)rî   r  Trç  )rå   r   rä   )rJ   r‘   rd   r  r   rö   rõ   r   rh   r  r   r–   r   r  r¸  rá  r  )	r�   rR   rQ   rn  rò  rU  ÚZ1ÚZ2ÚZ3s	            r:   Útest_fancy_indexing_booleanz._TestFancyIndexing.test_fancy_indexing_boolean¨  sp  € Ý
Œ	�Š�tÑÔÐà�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�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ÐFr<   c                 ó"  — t           j                             d¦  «         |                      t	          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t          j        t           j                             ddd¬¦  «        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          |j        |¦  «         t          t          |j        |¦  «         t          t          t           f|j        |df¦  «         d S )Nrc   rŠ  rˆ  rV   r   rf   rñ  rý  rï   rß  )rˆ  r  )rî   rV   rä   )rJ   r‘   rd   r  r   rö   rõ   r   rh   r  rÿ   r   r–   r  r¸  rá  r  )	r�   rR   rQ   rU  ÚXspÚZrV  ÚZspÚYsps	            r:   Ú"test_fancy_indexing_sparse_booleanz5_TestFancyIndexing.test_fancy_indexing_sparse_booleanÈ  s™  € Ý
Œ	�Š�tÑÔÐà�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØ�NŠN˜1ÑÔˆåŒH•R”Y×&Ò& q¨!°'Ð&Ñ:Ô:Å$ÐGÑGÔGˆà× Ò  Ñ#Ô#ˆå•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ˆà× Ò  Ñ#Ô#ˆØ× Ò  Ñ#Ô#ˆå•j !¤-°Ñ5Ô5Ð5Ý•j !¤-°Ñ5Ô5Ð5Ý•z¥:Ð.°´ÀÀQ¸xÑHÔHÐHÐHÐHr<   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 )Nrs  r  r   rä   )rõ   r   rJ   Úravelr1  r   r–   )r�   rž   Údesired_colss      r:   Ú#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ÐNr<   c           	      ó¶   — |                       t          ddgddgg¦  «        ¦  «        }t          t          |j        dt          j        ddg¦  «        ¦  «         d S )Nrä   r   rÑ  rf   )rõ   r   r  r  rê  rJ   rœ   s     r:   Ú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ÐKr<   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   rf   rð   r  )rõ   r   r   r2  r(   r   r–   )r�   rž   r5  s      r:   Ú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          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 )NrŠ  rˆ  rV   r   rä   rf   ©rð   rî   ©FFFFFrï   ©r   rä   rf   rð   r�  ©	r  r   rö   rõ   rJ   r   r   r–   rÐ  ©r�   rR   rQ   ró  rò  s        r:   Útest_fancy_indexing_emptyz,_TestFancyIndexing.test_fancy_indexing_emptyð  sn  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØˆˆ!ˆ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Ñ/Ô/Ð/Ð/Ð/r<   N)r²   r³   r´   rû   re  ri  rk  rr  rx  r}  rƒ  r‡  r‰  r‹  r’  rW   r<   r:   rc  rc  å  sÔ   € € € € € ðð ð-ð -ð -ð1ð 1ð 1ð{=ð {=ð {=ðz<ð <ð <ð4ð ð ð,Gð Gð Gð@Ið Ið Ið.Oð Oð Oð
Lð Lð Lð<ð <ð <ð0ð 0ð 0ð 0ð 0r<   rc  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   )rU  r¬  s     r:   Úcheck_remains_sortedr–    s�   è è € õ �1Ð*Ñ+Ô+ð °1Ô3Gð ØˆˆˆØˆØ	€E€E€EØŒi�nŠnÑÔ€GØ €AÔØ‡N‚NÑÔÐÝ�w ¤	Ø@ñBô Bð Bð Bð Br<   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 )Nrˆ  rg  rf   rh  )rõ   rJ   r   r  r¸  r  r“  rê  r­  s     r:   Ú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ÐXr<   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          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  rJ   r   r   r2  r(   r–  r   r–   )r�  rú  rQ   rR   r5  r£  rù  r�   s        €€€r:   Ú_test_set_slicezI_TestFancyIndexingAssign.test_fancy_indexing_set.<locals>._test_set_slice  sH  ø€ Ø—’  1˜vÑ&Ô&ˆAØ—’�RœX q¨! fÑ-Ô-Ñ.Ô.ˆ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-Â-B1Â4B1r¸  rV   r�  rð   rˆ  r>  rf   )rI  rY  )r  rJ   r   ©r�   rž  r�  rú  r£  rù  s   `   @@r:   Útest_fancy_indexing_setz0_TestFancyIndexingAssign.test_fancy_indexing_set  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Ñ!Ô!Ð!Ð!ð	"ð 	"r<   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 )
Nrš  rï   r  rä   r   rf   rq  r�  r¶  )rõ   r   r2  r(   rD  r   r1  rî  s      €r:   r  zD_TestFancyIndexingAssign.test_fancy_assignment_dtypes.<locals>.check+  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   `  r:   Útest_fancy_assignment_dtypesz5_TestFancyIndexingAssign.test_fancy_assignment_dtypes*  sW   ø€ ð		Gð 		Gð 		Gð 		Gð 		Gõ &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r<   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          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          j        d¦  «        ¦  «        }g d¢|d<   t          | 	                    ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr[  rð   r�  r*  r  r   rä   rf   rõ  rV   rë  r_  )r   rV   rë  rµ  rY  rÜ  rÛ  )rÛ  r*  rî   )rõ   r&   r   r   r2  r(   r–  rf  r   r–   r  rJ   r   r   r1  )r�   rQ   rR   Úi0Úi1Úi2r5  rù   s           r:   Útest_sequence_assignmentz1_TestFancyIndexingAssign.test_sequence_assignment9  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Ø—’�RœX e™_œ_Ñ-Ô-ˆ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å §¢¡¤¨Ñ+Ô+Ð+Ø—’�RœX fÑ-Ô-Ñ.Ô.ˆ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	Ç	A9MÉI$ÉMÉ$I(	É(MÉ+I(	É,A	MÊ5K	Ê=MË	K	ËMËK	ËA5MÍMÍMc                 óÚ  — |                       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 )NrŠ  rˆ  rV   r   rä   rf   r�  rŽ  é*   rï   r�  r�  r‘  s        r:   Útest_fancy_assign_emptyz0_TestFancyIndexingAssign.test_fancy_assign_emptyf  sa  € Ø�LŠL� ™œ×+Ò+¨A¨bÑ1Ô1Ñ2Ô2ˆØˆˆ!ˆ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 Ñ#Ô#Ð#Ð#Ð#r<   N)r²   r³   r´   rš  r   r£  r¨  r«  rW   r<   r:   r˜  r˜    sc   € € € € € ðYð Yð Yð
"ð "ð "ð(#ð #ð #ð+/ð +/ð +/ðZ$ð $ð $ð $ð $r<   r˜  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 �]N\  }}t           j                             d	¦  «         |                      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¦  «         �ŒPd S )Nrä   rf   rð   ©rð   r�  rf   rÛ  r�  ©rˆ  rî   rð   ©rf   rð   rä   rc   rˆ  rÝ  )rJ   r   r‘   rd   r  r4  rõ   r'   r–   r   r  r¸  rá  r  )	r�   Úsetsrn  rò  rÃ  r�  ro  rp  rq  s	            r:   Ú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Ñ Ô Ð Ø—’�RœYŸ^š^¨A¨qÑ1Ô1Ñ2Ô2ˆ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r<   N)r²   r³   r´   r³  rW   r<   r:   r­  r­  ~  s(   € € € € € ðLð Lð Lð Lð Lr<   r­  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestFancyMultidimAssignc                 ó  — t           j                             d¦  «         |                      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 )
Nrc   rˆ  rÝ  rf   rð   rÛ  r¯  r°  r±  )rJ   r‘   rd   r  r4  rõ   r   r–  r   r–   r  r¸  rê  ©	r�   rÃ  r�  rU  rn  rò  rp  rq  rù   s	            r:   Útest_fancy_assign_ndarrayz2_TestFancyMultidimAssign.test_fancy_assign_ndarray¢  s©  € Ý
Œ	�Š�tÑÔÐà�LŠL�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆØ�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#Ä0EÅ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          j        ‰‰f¦  «        ¦  «        }d|| |f<   t          | 	                    ¦   «         |¦  «         d S r�  )
rõ   r–  r   r2  r(   r  rJ   r   r   r–   )r�  rú  rQ   r5  rR   r£  rù  r�   s        €€€r:   rž  zR_TestFancyMultidimAssign.test_fancy_indexing_multidim_set.<locals>._test_set_sliceÆ  sH  ø€ Ø—’  1˜vÑ&Ô&ˆAÝ% aÑ(Ô(ð ð Õ*;Ñ*=Ô*=ð ÀØ—
’
Õ2Ð4UÑVÔVÐVØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð —’�RœX q¨! fÑ-Ô-Ñ.Ô.ˆ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ä   rf   rð   r   r�  rÛ  ©r   rf   r�  )r   r�  rð   )r�  rä   rf   )rJ   r   rŸ  s   `   @@r:   Ú 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Ñ!Ô!Ð!Ð!ð	"ð 	"r<   c                 ó  — t           j                             d¦  «         |                      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 )Nrc   rˆ  rÝ  rf   rð   rÛ  r¯  r°  r±  c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó   — g | ]}|d z   ‘ŒS ©rˆ  rW   ©r  Úiis     r:   rÛ  zN_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>.<listcomp>â  ó   € Ð%Ð%Ð%˜R�"�q‘&Ð%Ð%Ð%r<   rW   )r  r�  s     r:   rÛ  zC_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>â  ó'   € Ð1Ð1Ð1¨!Ð%Ð% 1Ð%Ñ%Ô%Ð1Ð1Ð1r<   c                 ó&   — g | ]}d „ |D ¦   «         ‘ŒS )c                 ó   — g | ]}|d z   ‘ŒS ©rÝ  rW   ©r  Újjs     r:   rÛ  zN_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>.<listcomp>ã  rÃ  r<   rW   )r  rú  s     r:   rÛ  zC_TestFancyMultidimAssign.test_fancy_assign_list.<locals>.<listcomp>ã  rÄ  r<   )rJ   r‘   rd   r  r4  rõ   r   r–   r  r¸  rê  r·  s	            r:   Útest_fancy_assign_listz/_TestFancyMultidimAssign.test_fancy_assign_listÔ  s€  € Ý
Œ	�Š�tÑÔÐà�LŠL�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆØ�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Ñ>Ô>Ð>Ð>Ð>r<   c                 ó  — t           j                             d¦  «         |                      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 )	Nrc   rˆ  rÝ  )rä   rf   rð   rð   r�  rf   )rˆ  rî   rð   rf   rð   rä   c                 ó   — g | ]}|d z   ‘ŒS rÀ  rW   rÁ  s     r:   rÛ  zD_TestFancyMultidimAssign.test_fancy_assign_slice.<locals>.<listcomp>ú  ó   € Ð$Ð$Ð$˜B��a‘Ð$Ð$Ð$r<   c                 ó   — g | ]}|d z   ‘ŒS rÇ  rW   rÈ  s     r:   rÛ  zD_TestFancyMultidimAssign.test_fancy_assign_slice.<locals>.<listcomp>û  rÍ  r<   )rä   rf   rð   r�  rˆ  rî   rÝ  )rJ   r‘   rd   r  r4  rõ   r   r  r¸  rê  r  )	r�   rÃ  r�  rn  rò  rp  rq  ÚC1ÚC2s	            r:   Útest_fancy_assign_slicez0_TestFancyMultidimAssign.test_fancy_assign_sliceñ  sñ   € Ý
Œ	�Š�tÑÔÐà�LŠL�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆàÐÐˆØÐÐˆà$Ð$ !Ð$Ñ$Ô$ˆØ$Ð$ !Ð$Ñ$Ô$ˆà"Ð"Ð"ˆÝŒY�q‰\Œ\˜!˜!˜!˜T˜'Ô"ˆÝ•j !¤-°%½¸t¹¼Ð1EÀrÑJÔJÐJÝ•j !¤-µ%¸±+´+¸uÐ1EÀrÑJÔJÐJÐJÐJr<   N)r²   r³   r´   r¸  r¼  rÊ  rÑ  rW   r<   r:   rµ  rµ  ¡  sV   € € € € € ð?ð ?ð ?ðB"ð "ð "ð"?ð ?ð ?ð:Kð Kð Kð Kð Kr<   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                 ó2  — 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¦  «        |_        t          |dz                       d¦  «        d|z  ¦  «         t          |j        dz                       d¦  «        d|j        z  ¦  «         t          |j        dz                       d¦  «        d|j        z  ¦  «         |                      |¦  «        }|                      |¦  «        }||||fS )N)g      ø¿g      @r   ç      @r   r   )g      	@g     €Àg      ä?r   r   r   )r   r   ç      À¿rq  r   r   )r   r   g     À @r   r   r   rñ   )g      Ø?r   r   r   r©  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   é   r[   )r   rÇ  r   ru   rÁ  rõ   )r�   Ú_TestArithmetic__AÚ_TestArithmetic__BÚ_TestArithmetic__AspÚ_TestArithmetic__Bsps        r:   Ú__arith_initz_TestArithmetic.__arith_init  sp  € åÐ/Ð/Ð/Ø9Ð9Ð9Ø3Ð3Ð3Ø0Ð0Ð0ð2ð 4=ñ>ô >ˆõ Ð.Ð.Ð.Ø9Ð9Ð9Ø/Ð/Ð/Ø5Ð5Ð5ð7ð 9EñFô Fˆõ Ð4Ð4Ð4Ø;Ð;Ð;Ø5Ð5Ð5Ø7Ð7Ð7ð9ð ;DñEô EˆŒõ 	˜C ™FŸ?š?¨7Ñ3Ô3°B°s±FÑ;Ô;Ð;Ý˜CœH R™K×/Ò/°Ñ8Ô8¸¸C¼H¹ÑEÔEÐEÝ˜CœH R™K×/Ò/°Ñ8Ô8¸¸C¼H¹ÑEÔEÐEà—’˜sÑ#Ô#ˆØ—’˜sÑ#Ô#ˆØ�C˜ Ð%Ð%r<   rë  c                 ól  — |                       ¦   «         \  }}}}t          ||z                        ¦   «         ||z   ¦  «         t          D �]é}t	          j        d¬¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          D �]†}t	          j        |t          j	        ¦  «        sHt	          j        d¬¦  «        5  |j
                             |¦  «        }	d d d ¦  «         n# 1 swxY w Y   n|                     |¦  «        }	|                      |	¦  «        }
||	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+   rJ   rD  ru   rõ   rm   rj  rÁ  r   r?   ©r�   rÚ  rÛ  rÜ  rÝ  r@   rQ   r!  rA   rR   ræ  ÚD1ÚS1s                r:   Útest_add_subz_TestArithmetic.test_add_sub  s¤  € à!%×!2Ò!2Ñ!4Ô!4ÑˆˆS�%˜õ 	Ø�U‰]×#Ò#Ñ%Ô% s¨S¡yñ	
ô 	
ð 	
õ
 "ð  	/ñ  	/ˆAÝ” XÐ.Ñ.Ô.ð "ð "Ø—J’J˜q‘M”M�ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à—.’. Ñ#Ô#ˆCÝ%ð /ñ /�Ý”} Q­Ô(:Ñ;Ô;ð &Ýœ¨XÐ6Ñ6Ô6ð /ð /ØœHŸOšO¨AÑ.Ô.˜ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /øð Ÿ
š
 1™œ�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$   Á!BÂB	Â
B	Ã!DÄDÄDc           
      ó„  — |                       ¦   «         \  }}}}t          ||j        z                       ¦   «         ||j        z  ¦  «         t          D �]k}t          j        d¬¦  «        5  |                     |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «        }t          D �]}t          j	        |t
          j
        ¦  «        r|                     |¦  «        }	nGt          j        d¬¦  «        5  |j                             |¦  «        }	d d d ¦  «         n# 1 swxY w Y   |                      |	¦  «        }
||	j        z  }||
j        z  }t          |                     ¦   «         |dt          |¦  «                             ¦   «         z  ¬¦  «         t          |j        |j        ¦  «         �Œ
�Œmd S )Nr?  r@  g›+¡†›„=)Úatol)rà  r   rf  r–   r+   rJ   rD  ru   rõ   rm   rj  rÁ  r   r¬  rZ   r   r?   rá  s                r:   Útest_muz_TestArithmetic.test_muK  s  € Ø!%×!2Ò!2Ñ!4Ô!4ÑˆˆS�%˜õ 	˜E E¤G™O×4Ò4Ñ6Ô6Ø #¤%™Kñ	)ô 	)ð 	)õ "ð 	0ñ 	0ˆAÝ” XÐ.Ñ.Ô.ð "ð "Ø—J’J˜q‘M”M�ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "à—.’. Ñ#Ô#ˆCÝ%ð 0ñ 0�Ý”= ¥BÔ$6Ñ7Ô7ð /ØŸ
š
 1™œ�A�Aåœ¨XÐ6Ñ6Ô6ð /ð /ØœHŸOšO¨AÑ.Ô.˜ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /à—n’n QÑ'Ô'�à˜œ‘W�Ø˜3œ5‘[�å §
¢
¡¤¨bØ%*­3¨r©7¬7¯;ª;©=¬=Ñ%8ð:ñ :ô :ð :å˜RœX b¤hÑ/Ô/Ð/Ñ/ñ0ð		0ð 	0s$   Á+BÂB	ÂB	ÄD(Ä(D,Ä/D,N)
r²   r³   r´   rû   rà  r  rÁ  rF  rä  rç  rW   r<   r:   rÓ  rÓ    si   € € € € € ðð ð&ð &ð &ð0 „[×Ò˜2ÑÔð)/ð )/ñ Ôð)/ðV0ð 0ð 0ð 0ð 0r<   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ï   rˆ  r�  r   é   rå   iíÿÿÿiòÿÿÿrä   rV   rð   r  rf   rÑ  ©r   rV   ©rV   r   )rJ   ró   rñ   r[   rg   rô   r   rö   rõ   r   ro   rZ   r?   r   rv  r  r  )r�   r?   rÃ  rU  r€  s        r:   Útest_minmaxz_TestMinMax.test_minmaxg  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Ñ,Ô,Ð,Ð,ð	-ð 	-r<   c                 óx  — | j          }t          j        d¦  «                             dd¦  «        }d|dd d …f<   d|d d …df<   d|d<   d|d	<   |                      |¦  «        }dd
g}ddg}||z   D ]˜}t          |                     |¬¦  «                             ¦   «         |                     ||¬¦  «        ¦  «         t          |                     |¬¦  «                             ¦   «         |                     ||¬¦  «        ¦  «         Œ™|D ]Ñ}t          |                     |d¬¦  «                             ¦   «         |  
                    g d¢¦  «        ¦  «         t          j        |j        dk    ¦  «        r|  
                    g d¢¦  «        }n|  
                    g d¢¦  «        }t          |                     |d¬¦  «                             ¦   «         |¦  «         ŒÒ|D ]Í}t          j        g d¢¦  «        }t          j        g d¢¦  «        }	| j         s*|                     d¦  «        }|	                     d¦  «        }	t          |                     |d¬¦  «                             ¦   «         |¦  «         t          |                     |d¬¦  «                             ¦   «         |	¦  «         ŒÎt          j        dd¦  «                             dd¦  «        }|                      |¦  «        }||z   D ]˜}t          |                     |¬¦  «                             ¦   «         |                     ||¬¦  «        ¦  «         t          |                     |¬¦  «                             ¦   «         |                     ||¬¦  «        ¦  «         Œ™|D ]©}|dd d …f         }|dd d …f         }	| j         s|d dd d …f         }|d dd d …f         }	t          |                     |d¬¦  «                             ¦   «         |¦  «         t          |                     |d¬¦  «                             ¦   «         |	¦  «         Œª|D ]©}|d d …df         }|d d …df         }	| j         s|d d …dd f         }|d d …dd f         }	t          |                     |d¬¦  «                             ¦   «         |¦  «         t          |                     |d¬¦  «                             ¦   «         |	¦  «         Œª|  
                    t          j        d¦  «        ¦  «        }|                      |¦  «        }||z   D ]˜}t          |                     |d¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         t          |                     |d¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         Œ™|  
                    t          j        d¦  «        ¦  «        }|                      |¦  «        }ddg}
t          t!          j        ||
¦  «        ¦  «        }t          t!          j        ||
¦  «        ¦  «        }|D ]?\  }}t%          t&          |j        ||¬¦  «         t%          t&          |j        ||¬¦  «         Œ@|D ]›\  }}t          |                     ||¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         t          |                     ||¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         Œœ|  
                    t          j        d¦  «        ¦  «        }|                      |¦  «        }|D ]?\  }}t%          t&          |j        ||¬¦  «         t%          t&          |j        ||¬¦  «         Œ@|D ]›\  }}t          |                     ||¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         t          |                     ||¬¦  «                             ¦   «         |                     |¬¦  «        ¦  «         Œœd S )NrŠ  rˆ  rV   r   rä   rß  rY  rå   r¶  r>  r]  r]  T©r^  Úexplicit)
rÐ  é)   rª  é+   é,   é-   é.   é/   é0   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  é3   )rV   rˆ  rì  Frí  )r  rJ   r   rö   rõ   r   rZ   r–   ro   r   r  Úanyr®  r   r   rZ  r/  r0  r  r  )r�   rS  rÃ  rU  Ú	axes_evenÚaxes_oddr^  rk  Úexpected_maxÚexpected_minÚexplicit_valuesÚeven_explicit_pairsÚodd_explicit_pairsÚexs                 r:   Útest_minmax_axisz_TestMinMax.test_minmax_axis–  s  € ØÔ%Ð%ˆÝŒI�b‰MŒM×!Ò! ! RÑ(Ô(ˆàˆˆ!ˆQˆQˆQˆ$‰àˆˆ!ˆ!ˆ!ˆQˆ$‰àˆˆ$‰àˆˆ$‰Ø�NŠN˜1ÑÔˆà˜�Gˆ	Ø�r�7ˆØ˜yÑ(ð 	ð 	ˆDÝØ—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð õ Ø—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð ð ð ð 
	Nð 
	NˆDÝØ—’˜4¨$�Ñ/Ô/×7Ò7Ñ9Ô9Ø—’ÐDÐDÐDÑEÔEñô ð õ Œv�a”f ’kÑ"Ô"ð JàŸ<š<Ð(HÐ(HÐ(HÑIÔI��àŸ<š<Ð(HÐ(HÐ(HÑIÔI�Ý˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀHÑMÔMÐMÐMàð 	Rð 	RˆDÝœ8Ð$6Ð$6Ð$6Ñ7Ô7ˆLÝœ8Ð$6Ð$6Ð$6Ñ7Ô7ˆLØÔ%ð <Ø+×3Ò3°FÑ;Ô;�Ø+×3Ò3°FÑ;Ô;�Ý˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÝ˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÐQõ ŒI�a˜ÑÔ×$Ò$ R¨Ñ+Ô+ˆØ�NŠN˜1ÑÔˆØ˜yÑ(ð 	ð 	ˆDÝØ—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð õ Ø—’˜4�Ñ Ô ×(Ò(Ñ*Ô*¨A¯EªE°tÀd¨EÑ,KÔ,Kñô ð ð ð ð 	Rð 	RˆDØ˜R   ˜Uœ8ˆLØ˜Q   ˜Tœ7ˆLØÔ%ð -Ø   r¨1¨1¨1 œ~�Ø   q¨!¨!¨! œ}�Ý˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÝ˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÐQØð 	Rð 	RˆDØ˜Q˜Q˜Q ˜Uœ8ˆLØ˜Q˜Q˜Q ˜Tœ7ˆLØÔ%ð -Ø     B¨ œ~�Ø     A t œ}�Ý˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÝ˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀLÑQÔQÐQÐQð �LŠL�œ 'Ñ*Ô*Ñ+Ô+ˆØ�NŠN˜1ÑÔˆØ Ñ(ð 	Vð 	VˆDÝ˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀAÇEÂEÈtÀEÑDTÔDTÑUÔUÐUÝ˜Ÿš D°4˜Ñ8Ô8×@Ò@ÑBÔBÀAÇEÂEÈtÀEÑDTÔDTÑUÔUÐUÐUð �LŠL�œ 'Ñ*Ô*Ñ+Ô+ˆØ�NŠN˜1ÑÔˆØ ˜-ˆÝ"¥9Ô#4°YÀÑ#PÔ#PÑQÔQÐÝ!¥)Ô"3°H¸oÑ"NÔ"NÑOÔOÐØ+ð 	Eð 	E‰HˆD�"Ý�* a¤e°$ÀÐDÑDÔDÐDÝ�* a¤e°$ÀÐDÑDÔDÐDÐDØ*ð 	Tð 	T‰HˆD�"Ý˜Ÿš D°2˜Ñ6Ô6×>Ò>Ñ@Ô@À!Ç%Â%ÈTÀ%ÑBRÔBRÑSÔSÐSÝ˜Ÿš D°2˜Ñ6Ô6×>Ò>Ñ@Ô@À!Ç%Â%ÈTÀ%ÑBRÔBRÑSÔSÐSÐSà�LŠL�œ 'Ñ*Ô*Ñ+Ô+ˆØ�NŠN˜1ÑÔˆØ*ð 	Eð 	E‰HˆD�"Ý�* a¤e°$ÀÐDÑDÔDÐDÝ�* a¤e°$ÀÐDÑDÔDÐDÐDØ+ð 	Tð 	T‰HˆD�"Ý˜Ÿš D°2˜Ñ6Ô6×>Ò>Ñ@Ô@À!Ç%Â%ÈTÀ%ÑBRÔBRÑSÔSÐSÝ˜Ÿš D°2˜Ñ6Ô6×>Ò>Ñ@Ô@À!Ç%Â%ÈTÀ%ÑBRÔBRÑSÔSÐSÐSð	Tð 	Tr<   c                 óÖ  — |                       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          j        ||¬¦  «        ¦  «         t          || j        ¦  «        sJ ‚| 	                    |¬¦  «        }t          |                     ¦   «         t          j	        ||¬¦  «        ¦  «         t          || j        ¦  «        sJ ‚ŒÉd S )NrŠ  rˆ  rV   rï   r   rä   rß  rY  rå   r¶  rC  )rä   r�  )r>  rå   r   rä   r]  )r  rJ   r   rö   rv  r%  rõ   Únanmaxr2  Únanminr   r–   rI   rý   )	r�   rÃ  rU  ÚX_nan_maximumÚX_nan_minimumri  r^  ÚX_nan_maximaÚX_nan_minimas	            r:   Útest_nanminmaxz_TestMinMax.test_nanminmaxû  sÙ  € Ø�LŠL�œ 2™œ×.Ò.¨q°Ñ4Ô4½EˆLÑBÔBˆØˆˆ!ˆQˆQˆQˆ$‰Øˆˆ!ˆ!ˆ!ˆQˆ$‰Øˆˆ$‰Øˆˆ$‰Ý”&ˆˆ$‰Ý”&ˆˆ$‰Ø�NŠN˜1ÑÔˆàŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àˆ~ˆ~ˆØð 	@ð 	@ˆDØŸ8š8¨˜8Ñ.Ô.ˆLÝ˜L×0Ò0Ñ2Ô2µB´I¸aÀdÐ4KÑ4KÔ4KÑLÔLÐLÝ˜l¨DÔ,>Ñ?Ô?Ð?Ð?Ð?àŸ8š8¨˜8Ñ.Ô.ˆLÝ˜L×0Ò0Ñ2Ô2µB´I¸aÀdÐ4KÑ4KÔ4KÑLÔLÐLÝ˜l¨DÔ,>Ñ?Ô?Ð?Ð?Ð?Ð?ð	@ð 	@r<   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,  )ro   rZ   rð   r]  r>  r?  rä   r@  )r   rõ   r‡   r  r  r“  )r�   rè   ræ   Úfnamer‰   s        r:   Ú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°¸Ð:Ñ:Ô:Ð:Ð:ð	;ð 	;r<   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õ   rI   Ú_minmax_mixinr   rJ   ro   rZ   )r�   r  rè   ræ   s       r:   Ú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Ñ:Ô:Ð:Ð:Ð:ð	;ð 	;r<   c                 óL  — 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ŒCt          | 
                    ¦   «         t          j
        |¦  «        ¦  «         t          |                     ¦   «         t          j        |¦  «        ¦  «         t          | 
                    d¬¦  «        t          j
        |d¬¦  «        ¦  «         t          |                     d¬¦  «        t          j        |d¬¦  «        ¦  «         t          | 
                    d¬¦  «        t          j
        |d¬¦  «        ¦  «         t          |                     d¬¦  «        t          j        |d¬¦  «        ¦  «         �Œ�|                      t          j        d¦  «        ¦  «        }	|                      t          j        d¦  «        ¦  «        }
ddg}t          j        |	|
gg d¢|¦  «        D �]1\  }}}|�|j        |         dk    r•t!          j        t$          d¬¦  «        5  | 
                    ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t!          j        t$          d¬¦  «        5  |                     ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ¯| j        rt          j        d¦  «        }nt          j        |dk    rdnd¦  «        }t          |                     ||¬¦  «        |¦  «         t          | 
                    ||¬¦  «        |¦  «         �Œ3|                      |¦  «        }t          | 
                    dd¬¦  «        |                      g d¢¦  «        ¦  «         t          |                     dd¬¦  «        |                      g d¢¦  «        ¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }|j        dk    rd |d!<   | j        s*|                     d"¦  «        }|                     d"¦  «        }t          | 
                    dd¬¦  «        |¦  «         t          t/          |                     dd¬¦  «        ¦  «        |¦  «         t          j        d#¦  «        }|                      |¦  «        }|j        dk    rLt          |                     d d¬¦  «        d¦  «         t          | 
                    d d¬¦  «        d¦  «         d S t!          j        t$          d¬¦  «        5  |                     d d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t!          j        t$          d¬¦  «        5  | 
                    d d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )$Nr   r  )rå   rˆ  rf   rð   )r   r   rå   r>  )rå   r>  r·  r«  rÍ  )rä   rf   r   r   r�  rð   rÝ  rˆ  )rˆ  rˆ  rð   )r�  rß  rV   )rð   r�  rß  r]  rä   rÒ  r  TFr#  zCannot applyrd  rð  r>  r  )rð   r   rð   rð   )r   rf   rf   rf   )rä   rf   r   rð   rä   )r   rð   rð   r   r   rÙ  rf   rå   r  r¶  )r  r  rJ   r   r   r  rõ   rI   r  r   ÚargmaxÚargminrÔ  r/  r0  rº   r  r   r  r  r   r`  rö   r   )r�   r  râ  ÚD2ÚD3ÚD4ÚD5rÃ  rž   ÚD6ÚD7Ú	explicitsr^  r  rk  rÿ  r   s                    r:   Útest_argmaxz_TestMinMax.test_argmax6  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 "Ð%ð 	Cñ 	CˆAØ—’˜Q‘”ˆAØ—.’. Ñ#Ô#ˆCÝ˜c 5Ô#6Ñ7Ô7ð Øå˜Ÿš™œ¥r¤y°¡|¤|Ñ4Ô4Ð4Ý˜Ÿš™œ¥r¤y°¡|¤|Ñ4Ô4Ð4å˜Ÿš¨˜Ñ+Ô+­R¬Y°q¸qÐ-AÑ-AÔ-AÑBÔBÐBÝ˜Ÿš¨˜Ñ+Ô+­R¬Y°q¸qÐ-AÑ-AÔ-AÑBÔBÐBå˜Ÿš¨˜Ñ+Ô+­R¬Y°q¸qÐ-AÑ-AÔ-AÑBÔBÐBÝ˜Ÿš¨˜Ñ+Ô+­R¬Y°q¸qÐ-AÑ-AÔ-AÑBÔBÐBÑBð �^Š^�BœH VÑ,Ô,Ñ-Ô-ˆØ�^Š^�BœH VÑ,Ô,Ñ-Ô-ˆØ˜5�Mˆ	å&Ô.°°B¨x¸¸¸ÀyÑQÔQð 	Kñ 	K‰MˆC��rØˆ|˜sœy¨œ°!Ò3Ð3Ý”]¥:°^ÐDÑDÔDð 7ð 7Ø—J’J D°2�JÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7å”]¥:°^ÐDÑDÔDð 7ð 7Ø—J’J D°2�JÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7øð Ô%ð IÝ!œx¨™{œ{�H�Hå!œx°$¸!²)°)¨¨ÀÑHÔH�HÝ˜SŸZšZ¨T¸B˜ZÑ?Ô?ÀÑJÔJÐJÝ˜SŸZšZ¨T¸B˜ZÑ?Ô?ÀÑJÔJÐJÑJà�nŠn˜RÑ Ô ˆÝ�S—Z’Z Q°�ZÑ6Ô6¸¿ºÀ\À\À\Ñ8RÔ8RÑSÔSÐSÝ�S—Z’Z Q°�ZÑ6Ô6¸¿ºÀ\À\À\Ñ8RÔ8RÑSÔSÐSå”x   Ñ0Ô0ˆÝ”x   Ñ0Ô0ˆØŒ7�bŠ=ˆ=à ˆL˜ÑØÔ!ð 	8Ø'×/Ò/°Ñ7Ô7ˆLØ'×/Ò/°Ñ7Ô7ˆLå�S—Z’Z Q°�ZÑ6Ô6¸ÑEÔEÐEÝ•W˜SŸZšZ¨Q¸˜ZÑ>Ô>Ñ?Ô?ÀÑNÔNÐNõ ŒH�VÑÔˆØ�nŠn˜QÑÔˆØŒ7�aŠ<ˆ<å˜Ÿš¨¸˜Ñ=Ô=¸qÑAÔAÐAÝ˜Ÿš¨¸˜Ñ=Ô=¸qÑAÔAÐAÐAÐAõ ”�z°Ð@Ñ@Ô@ð 5ð 5Ø—
’
 ¨t�
Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5å”�z°Ð@Ñ@Ô@ð 5ð 5Ø—
’
 ¨t�
Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5sH   ËK(Ë(K,	Ë/K,	ÌL2Ì2L6	Ì9L6	Ö*W×W×W×4XØXØ XN)	r²   r³   r´   rî  r  r  r  r  r!  rW   r<   r:   ré  ré  f  s~   € € € € € ð--ð --ð --ð^cTð cTð cTðJ@ð @ð @ð8;ð ;ð ;ð;ð ;ð ;ð$M5ð M5ð M5ð M5ð M5r<   ré  c                   ó   — e Zd Zd„ ZdS )Ú_TestGetNnzAxisc                 ó4  — t          ddgddgddgg¦  «        }|                     t          ¦  «        }|                      |¦  «        }t          j        t          j        f}| j        r|j        n|j	        }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          |d¬¦  «         d S )Nr   rf   rð   rˆ  r-  rß  r]  rä   r>  rå   )r   ru   r  rõ   rJ   r[   rg   r  ra  Úgetnnzr   r1  r;   r?   r  r  )r�   rè   Úbool_datræ   Úaccepted_return_dtypesr%  s         r:   Útest_getnnz_axisz _TestGetNnzAxis.test_getnnz_axis‡  sð  € Ý�a˜�VØ˜�VØ˜!�Wðñ ô ˆð —:’:�dÑ#Ô#ˆØ—’˜sÑ#Ô#ˆå"$¤(­B¬HÐ!5Ðà(,Ô(:ÐL�Ô$Ð$ÀÄˆÝ˜8Ÿ<š<¨T˜<Ñ2Ô2°F°FÀÐ4EÑ4EÔ4EÑFÔFÐFÝ˜8Ÿ<š<™>œ>¨6¨6©8¬8Ñ4Ô4Ð4Ý˜8Ÿ<š<¨Q˜<Ñ/Ô/°°¸Q°±´Ñ@Ô@Ð@Ý�&�&˜a�.‘.”.Ô&Ð(>Ñ?Ô?Ð?Ý˜8Ÿ<š<¨Q˜<Ñ/Ô/°°¸Q°±´Ñ@Ô@Ð@Ý�&�&˜a�.‘.”.Ô&Ð(>Ñ?Ô?Ð?Ý˜8Ÿ<š<¨R˜<Ñ0Ô0°&°&¸b°/±/´/ÑBÔBÐBÝ�&�&˜b�/‘/”/Ô'Ð)?Ñ@Ô@Ð@Ý˜8Ÿ<š<¨R˜<Ñ0Ô0°&°&¸b°/±/´/ÑBÔBÐBÝ�&�&˜b�/‘/”/Ô'Ð)?Ñ@Ô@Ð@å•j &¨qÐ1Ñ1Ô1Ð1Ð1Ð1r<   N)r²   r³   r´   r(  rW   r<   r:   r#  r#  †  s#   € € € € € ð2ð 2ð 2ð 2ð 2r<   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   )rg  r“  r  r¸  rò  r  r  )rN   rŠ   Úfcs     €r:   Ú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   ` r:   Úwrapz%_possibly_unimplemented.<locals>.wrap«  s=   ø€ ÝŒ_˜RÑ Ô ðAð Að Að Añ !Ô ðAð ˆNr<   Útest_ÚNotImplemented)ÚdictrG   r“  Ú
startswithrD  r²   Ú	__bases__)r  Úrequirer0  Únew_dictrŽ   r‰   s         r:   Ú_possibly_unimplementedr8  £  sœ   € ð
 ð Øˆ
ð		ð 		ð 		õ ˜œÑ%Ô%ˆØœ,×,Ò,Ñ.Ô.ð 	,ð 	,‰JˆD�$Ø�Š˜wÑ'Ô'ð ,Ø!%  d¡¤�˜‘øÝ�C”LÐ#3Ñ3Ø”MØñô ð 	r<   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.
    r1  NzTest class z overloads test z defined in ÚTestBase)r  r8  rÚ  rþ  rÄ  rÓ  r  rH  rc  r˜  r­  rµ  ré  r#  rG   r4  Úgetr  r²   rD  )ÚgetsetÚslicingÚslicing_assignÚfancy_indexingÚfancy_assignÚfancy_multidim_indexingÚfancy_multidim_assignÚminmaxÚnnz_axisÚbasesÚnamesr  rŽ   Úold_clss                 r:   Úsparse_test_classrH  ¿  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Ñ&Ô&Ð&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„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCSRc                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S ©Nr  )r   r2  r(   r    ©r  ÚargsrB   r5  s       r:   rõ   zTestCSR.spcreatorì  ó•   € åÑ Ô ð 	. CØ�JŠJÕ.Ð0QÑRÔRÐRÝ˜dÐ- fÐ-Ð-ð	.ð 	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ó   �'AÁAÁ
Ac                 ó„  — t          g d¢g d¢g d¢gd¦  «        }|                      |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |j        d¦  «         t          |j	        d	¦  «         t	          | 
                    ¦   «         |¦  «         d S )
N)r   r�  r   r  rÞ  r  )r�  rð   rf   r  r  rð   r/  )r   rÿ   r   r®  r   r¬  r­  r   r`  rø   r–   ©r�   rS   r=  s      r:   Útest_constructor1zTestCSR.test_constructor1ó  sÆ   € Ý�9�9�9Ø�9�9Ø�9�9ðà"ñ$ô $ˆð × Ò  Ñ#Ô#ˆÝ! #¤(¨7¨7¨7Ñ3Ô3Ð3Ý˜3œ; w w wÑ/Ô/Ð/Ý˜3œ: i i iÑ0Ô0Ð0Ý�S”W˜QÑÔÐÝ�S”Z Ñ&Ô&Ð&Ý˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,Ð,Ð,r<   c                 ó$  — t          dd¦  «        }d|d<   |                      |¦  «        }t          |j        dg¦  «         t	          |j        dg¦  «         t	          |j        g 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–   rR  s      r:   Útest_constructor2zTestCSR.test_constructor2ÿ  s‰   € Ý�%˜ÑÔˆØˆˆ#‰Ø× Ò  Ñ#Ô#ˆÝ! #¤(¨A¨3Ñ/Ô/Ð/Ý˜3œ;¨ sÑ+Ô+Ð+Ý˜3œ: o o oÑ6Ô6Ð6Ý! #§+¢+¡-¤-°Ñ3Ô3Ð3Ð3Ð3r<   c                 ó0  — t          ddgddgddggd¦  «        }|                      |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |                     ¦   «         |¦  «         d S )	Nrä   r   rf   rð   r  rÛ  r  r  )r   rÿ   r   r®  r   r¬  r­  r–   rR  s      r:   Útest_constructor3zTestCSR.test_constructor3  s¢   € Ý�A�q�6Ø�q�6Ø�q�6ðàñ!ô !ˆð × Ò  Ñ#Ô#ˆÝ! #¤(¨7¨7¨7Ñ3Ô3Ð3Ý˜3œ; w w wÑ/Ô/Ð/Ý˜3œ: i i iÑ0Ô0Ð0Ý! #§+¢+¡-¤-°Ñ3Ô3Ð3Ð3Ð3r<   c                 óx  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          ||f¦  «        }|                      ||fd¦  «        }t          t	          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         |                      dd	gd
d	gd
d	gfft          j        ¬¦  «        }t          dd
gd
d	ggt          j        ¬¦  «        }t          ||                     ¦   «         ¦  «         |                      g d¢g d¢g d¢ff¦  «        }|j	        dk    sJ ‚d S )N©rf   rð   rä   rð   r   rä   rð   r   rf   rä   rf   ©r   rä   r   r   rä   rä   rf   rf   rf   rf   rä   ©g      @g      $@ro  g      "@rq  r•  g      &@rr  g       @g      @r‡  r[  rå  r�  rð   ì           rä   r   rï   ©rä   rä   rä   rä   ©r   rf   rf   r   ©r   rä   rä   r   rf   )
r   r	   rÿ   r   r   rö   r–   rJ   Úuint64r`  )r�   r¯  r°  r®  r  r/  rK  s          r:   Útest_constructor4zTestCSR.test_constructor4  sK  € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝð 3ð 3ð 3ñ 4ô 4ˆõ �S˜�IÑÔˆØ× Ò  $ r ¨5Ñ1Ô1ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCð × Ò  9¨a .°A°q°6¸A¸q¸6Ð2BÐ!CÍ2Ì9Ð ÑUÔUˆÝ˜	 1�~¨¨1 vÐ.µb´iÐ@Ñ@Ô@ˆÝ˜5 #§+¢+¡-¤-Ñ0Ô0Ð0ð × Ò  ) ) )¨i¨i¨i¸¸¸Ð-CÐ!DÑEÔEˆØŒw˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r<   c                 óÆ   — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||f¦  «        }t          |j        d¦  «         d S ©N©r   rä   rð   rð   ©r   rˆ  rä   rf   rÍ  r�  )r   rÿ   r   rº   ©r�   r­  r¬  r®  r/  s        r:   Útest_constructor5zTestCSR.test_constructor5&  óg   € å�y�y�yÑ!Ô!ˆÝ˜	˜	˜	Ñ"Ô"ˆÝ�Y�Y�YÑÔˆØ× Ò  $¨°Ð!8Ñ9Ô9ˆÝ˜3œ9 UÑ+Ô+Ð+Ð+Ð+r<   c                 óÚ   — g d¢}g d¢}g d¢}|                       |||f¦  «        }t          |j        d¦  «         t          t	          j        |j        t          j        ¦  «        ¦  «         d S rd  )rÿ   r   rº   r   rJ   rm   r?   Úsignedintegerrg  s        r:   Útest_constructor6zTestCSR.test_constructor6.  sn   € à��ˆØ�,�,ˆØˆ|ˆ|ˆØ× Ò  $¨°Ð!8Ñ9Ô9ˆÝ˜3œ9 eÑ,Ô,Ð,Ý•”˜cœi­Ô)9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r<   c                 ó  — t          d¦  «        dz   }t          g d¢t          j        ¬¦  «        }t          g d¢t          j        ¬¦  «        }|                      |||fd¬¦  «        }t          g d¢g d	¢g d
¢gd¦  «        }t          j        | j        rt          j        nt          j        ¦  «        }t          |j	        j        |¦  «         t          |j
        j        |¦  «         t          |                     ¦   «         |¦  «         d S )Nrî   rä   )rä   rf   rä   r   r   rf   rï   ©r   rf   r�  rî   rY  ©rº   r*  rÝ  )rˆ  r   rî   r  )r   r   rJ   rg   rÿ   r?   r  r[   r   r­  r¬  r   r–   )r�   r®  r°  ÚptrrN   rS   Úexpected_dtypes          r:   Útest_constructor_smallcolz!TestCSR.test_constructor_smallcol7  sõ   € å�a‰yŒy˜1‰}ˆÝÐ&Ð&Ð&­b¬hÐ7Ñ7Ô7ˆÝ�L�L�L­¬Ð1Ñ1Ô1ˆà×Ò  c¨3Ð/°vÐÑ>Ô>ˆå�9�9�9Ø�9�9Ø�9�9ðà"ñ$ô $ˆõ
 œ¨dÔ.@Ð"N¥"¤( (ÅbÄhÑOÔOˆÝ�Q”X”^ ^Ñ4Ô4Ð4Ý�Q”Y”_ nÑ5Ô5Ð5Ý˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*r<   c           	      óT  — 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        ¬¦  «        }|                      |||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ä   rX  r   rf   rï   rn  rð   )r   rJ   rY   r[   rZ   r   rg   rÿ   r   r­  r?   r¬  r   rº   )r�   r®  Úlarger°  rp  rN   s         r:   Útest_constructor_largecolz!TestCSR.test_constructor_largecolI  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Ð/Ñ0Ô0ˆå�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Ð4r<   c                 ó‚  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        g d¢¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nrˆ  ©rÝ  rf   rä   rˆ  r�  ©r   rð   rˆ  ©rf   rV   ro  ©rä   rf   rÝ  r�  rˆ  )r   r   rÿ   r$  r•  r   r¬  r–   ©r�   r®  r¬  r­  r<  r=  s         r:   Útest_sort_indiceszTestCSR.test_sort_indicesV  s©   € Ý�a‰yŒyˆÝ˜˜˜Ñ(Ô(ˆÝ�y�y�yÑ!Ô!ˆØ× Ò  $¨°Ð!8ÀÐ ÑGÔGˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ;   Ñ7Ô7Ð7Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c                 ó°  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        d¦  «         t	          |j        g d¢¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         d S )N©rä   r   r   r   rf   r   rð   r   ©rä   rf   rð   r�  rˆ  rî   rÝ  rÞ  ©r   rð   rÞ  ry  ro  rð   rÛ  )r   rÿ   r$  Úeliminate_zerosr   r`  r®  r–   r{  s         r:   Útest_eliminate_zeroszTestCSR.test_eliminate_zeros`  óÇ   € ÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ0Ð0Ð0Ñ1Ô1ˆÝ�y�y�yÑ!Ô!ˆØ× Ò  $¨°Ð!8ÀÐ ÑGÔGˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ7 AÑ&Ô&Ð&Ý˜3œ8 I I IÑ.Ô.Ð.Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c           	      ó>  — |                       t          j        d¦  «                             dd¦  «        dz  ¦  «        }dD ]Û}t	          t          | j        |¦  «        d¦  «          t          ||¦  «        ¦   «         }t	          |j        |j        ¦  «         t          |j
        |j
        ¦  «         t          |j        |j        ¦  «         t          |                     ¦   «          t          t          |¦  «        |                     ¦   «         ¦  «        ¦  «         ŒÜd S )Nrë  r�  rˆ  r›  ©rŸ  r   r¡  r¢  r£  r¤  r¥  r¦  r§  rš  r¨  r©  rª  r«  r¬  r­  r®  r¯  T)rÿ   rJ   r   rö   r   rµ  ræ   r‡   rº   r   r¬  r­  r–   ©r�   rU  r¢  rž  s       r:   Útest_ufuncszTestCSR.test_ufuncsk  óô   € Ø×Ò�rœy¨™}œ}×4Ò4°Q¸Ñ:Ô:¸SÑ@ÑAÔAˆð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r<   c                 óÊ  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }t          ||z                        ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         d S )	Nrˆ  rw  rx  ry  ro  rî   ©rÞ  rä   rˆ  rÝ  rf   r�  ©r   rf   rî   )r   r   rÿ   r   r–   r{  s         r:   Útest_unsorted_arithmeticz TestCSR.test_unsorted_arithmeticw  óØ   € Ý�a‰yŒyˆÝ˜˜˜Ñ(Ô(ˆÝ�y�y�yÑ!Ô!ˆØ× Ò  $¨°Ð!8ÀÐ ÑGÔGˆÝ�a‰yŒyˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝ�y�y�yÑ!Ô!ˆØ× Ò  $¨°Ð!8ÀÐ ÑGÔGˆÝ�c˜C‘i×(Ò(Ñ*Ô*¨C¯KªK©M¬M¸C¿KºK¹M¼MÑ,IÑJÔJÐJÐJÐJr<   c                 ó¾  — t          j        dgdgdgg¦  «        }t          j        g d¢¦  «        }t           j                             d¦  «         |                      t           j                             dd¦  «        ¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r|                     ¦   «         }t          ||||f         ¦  «         d S ©Nrä   rf   rð   r¯  rc   rˆ  rÝ  ©
rJ   r   r‘   rd   r  r4  rõ   r'   r–   r   ©r�   rn  rò  rÃ  r�  ro  s         r:   Útest_fancy_indexing_broadcastz%TestCSR.test_fancy_indexing_broadcast‚  ó¼   € åŒH�q�c˜A˜3  �_Ñ%Ô%ˆÝŒH�Y�Y�YÑÔˆå
Œ	�Š�tÑÔÐØ�LŠL�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆà��!�ŒfˆÝ�C‰=Œ=ð 	 Ø—+’+‘-”-ˆCÝ�S˜!˜A˜a˜Cœ&Ñ!Ô!Ð!Ð!Ð!r<   c                 ón  — t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }t          j        ddg¦  «        }|                      |||f¦  «                             ¦   «         }t	          d|j        ¦  «         t          |j        t          ¦  «        sJ ‚|                      |||f¦  «                             ¦   «         }t	          d|j        ¦  «         |                     ¦   «          t	          d|j        ¦  «         t          |j
        |¦  «         |                      |||f¦  «                             ¦   «         }d|_        t	          d|j        ¦  «         t          |j
        |¦  «         |                     ¦   «          t          |j
        |¦  «         dS )z@Ensure has_sorted_indices memoizes sorted state for sort_indicesr   rä   rf   TFN)rJ   r   rÿ   r$  r   r”  rI   r  r•  r   r¬  )r�   Úsorted_indsÚunsorted_indsr®  r­  rx  s         r:   Útest_has_sorted_indiceszTestCSR.test_has_sorted_indices�  s�  € å”h  1˜vÑ&Ô&ˆÝœ ! Q Ñ(Ô(ˆÝŒx˜˜A˜ÑÔˆÝ”˜1˜a˜&Ñ!Ô!ˆØ×Ò  k°6Ð:Ñ;Ô;×@Ò@ÑBÔBˆÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜!Ô.µÑ5Ô5Ð5Ð5Ð5à×Ò  m°VÐ<Ñ=Ô=×BÒBÑDÔDˆÝ�U˜AÔ0Ñ1Ô1Ð1ð 	
�ŠÑÔÐÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜1œ9 kÑ2Ô2Ð2à×Ò  m°VÐ<Ñ=Ô=×BÒBÑDÔDˆà#ˆÔÝ�T˜1Ô/Ñ0Ô0Ð0Ý˜1œ9 mÑ4Ô4Ð4ð 	
�ŠÑÔÐÝ˜1œ9 mÑ4Ô4Ð4Ð4Ð4r<   c                 óà  — |                       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¦  «        }|                       |||f¦  «                             ¦   «         }t          d|j        ¦  «         t          |j        t          ¦  «        sJ ‚|                     ¦   «          t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                       |||f¦  «                             ¦   «         }d|_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         dS )z=Ensure has_canonical_format memoizes state for sum_duplicatesrf   r   rä   TFN)rÿ   rJ   r   r   Úhas_canonical_formatr$  rI   r  Úsum_duplicatesr¿   r¬  )r�   rx  r¬  r®  r­  s        r:   Útest_has_canonical_formatz!TestCSR.test_has_canonical_format¬  s¨  € ð ×Ò¥¤¨!¨¡¤­r¬x¸¸©}¬}½b¼hÈÈ1ÀvÑ>NÔ>NÐOÑPÔPˆÝ�T˜1Ô1Ñ2Ô2Ð2å”(˜A˜q˜6Ñ"Ô"ˆÝŒx˜˜A˜ÑÔˆÝ”˜1˜a˜&Ñ!Ô!ˆà×Ò  g¨vÐ6Ñ7Ô7×<Ò<Ñ>Ô>ˆÝ�U˜AÔ2Ñ3Ô3Ð3Ý˜!Ô0µ$Ñ7Ô7Ð7Ð7Ð7ð 	
×ÒÑÔÐÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'à×Ò  g¨vÐ6Ñ7Ô7×<Ò<Ñ>Ô>ˆà!%ˆÔÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'ð 	
×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ð'Ð'r<   c                 óÞ  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }|                      |||fd¬¦  «        }|                      |||fd¬¦  «        }t          j        dt           j        ¬¦  «        }|                      ||fd¬¦  «        }|                      ||fd¬¦  «        }|                      d¦  «        }	|                      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 )Nrf   rï   r   ©rä   éÿÿÿro  ©rä   ì        r  )rJ   r   r[   rÿ   r   r­  r?   rg   ©r�   r­  r¬  ÚvalsrN   rS   r  r   r  r¡  r¢  r@   s               r:   Útest_scalar_idx_dtypezTestCSR.test_scalar_idx_dtypeÉ  ó¦  € õ ”˜!¥2¤8Ð,Ñ,Ô,ˆÝ”(˜1¥B¤HÐ-Ñ-Ô-ˆÝŒx˜‰{Œ{ˆØ×Ò  g¨vÐ6¸lÐÑKÔKˆØ×Ò  g¨vÐ6¸jÐÑIÔIˆÝŒX�f¥B¤HÐ-Ñ-Ô-ˆØ×Ò  b˜z°ÐÑ>Ô>ˆØ×Ò  b˜z°ÐÑ<Ô<ˆØ×Ò˜|Ñ,Ô,ˆØ×Ò˜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ð	ð 	r<   c                 ó  — |                       t          j        d¦  «        gdgfd¬¦  «        }|                      |¦  «        }|                     dt          j        |j        d         ¦  «        z  ¦  «         |d         dk    sJ ‚d S ©Néê  r   )r§  r§  ro  rˆ  rp  ©r   rJ   r   rõ   r  rî  rº   rÂ  s      r:   Útest_setdiag_csrzTestCSR.test_setdiag_csrá  óy   € à×Ò¥¤¨4¡¤Ð 1°A°3Ð7¸|ÐÑLÔLˆØ�NŠN˜1ÑÔˆØ	�	Š	�!•b”g˜aœg aœjÑ)Ô)Ñ)Ñ*Ô*Ð*Ø�Œy˜AŠ~ˆ~ˆ~ˆ~ˆ~ˆ~r<   c                 óÆ   — |                       g d¢g¦  «        }|                       g d¢g¦  «        }||z   j        dk    sJ ‚|                     |¦  «        j        dk    sJ ‚d S )Nr  ©rä   rä   r   rf   rä   )rÿ   r`  rå  ©r�   rN   rS   s      r:   Útest_binop_explicit_zerosz!TestCSR.test_binop_explicit_zerosè  sq   € ð ×Ò 	 	 	˜{Ñ+Ô+ˆØ×Ò 	 	 	˜{Ñ+Ô+ˆØ�A‘Œ{˜aÒÐÐÐØ�zŠz˜!‰}Œ}Ô  AÒ%Ð%Ð%Ð%Ð%Ð%r<   N)r²   r³   r´   rÀ  rõ   rJ   ré  Úint_rñ   rô   r  rS  rV  rX  rb  rh  rl  rr  ru  r|  r‚  r‡  rŒ  r’  r—  r›  r£  r©  r®  rW   r<   r:   rJ  rJ  ë  sY  € € € € € Øð.ð .ñ „[ð.ð ”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ð ð ð&ð &ð &ð &ð &r<   rJ  c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚTestCSRMatrixc                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S rL  )r   r2  r(   r   rM  s       r:   rõ   zTestCSRMatrix.spcreatorõ  ó•   € åÑ Ô ð 	/ CØ�JŠJÕ.Ð0QÑRÔRÐRÝ˜tÐ. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/rP  N©r²   r³   r´   rÀ  rõ   rW   r<   r:   r±  r±  ô  ó-   € € € € € Øð/ð /ñ „[ð/ð /ð /r<   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„ ZdS )ÚTestCSCc                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S rL  )r   r2  r(   r   rM  s       r:   rõ   zTestCSC.spcreator   rO  rP  c                 ót  — t          g d¢g d¢g d¢gd¦  «        }|                      |¦  «        }t          |j        g d¢¦  «         t	          |j        g d¢¦  «         t	          |j        g d¢¦  «         t          |j        d¦  «         t          |j	        |j	        ¦  «         t          |j
        d	¦  «         d S )
N©rä   r   r   r   r  ©r   rf   r   rð   r  )rä   rf   rä   rð   )r   rf   rä   rf   r�  r�  r.  )r   rþ   r   r®  r   r¬  r­  r   r`  rº   rø   rR  s      r:   rS  zTestCSC.test_constructor1  s·   € Ý�<�<�<   ¨|¨|¨|Ð<¸cÑBÔBˆØ× Ò  Ñ#Ô#ˆÝ! #¤(¨9¨9¨9Ñ5Ô5Ð5Ý˜3œ; y y yÑ1Ô1Ð1Ý˜3œ: k k kÑ2Ô2Ð2Ý�S”W˜QÑÔÐÝ�S”Y˜qœwÑ'Ô'Ð'Ý�S”Z Ñ&Ô&Ð&Ð&Ð&r<   c                 óà   — t          dd¦  «        }d|d<   |                      |¦  «        }t          |j        dg¦  «         t	          |j        dg¦  «         t	          |j        g d¢¦  «         d S )NrU  r  rˆ  ©rf   r�  rf   )r   r   r   r   r   rä   rä   )r   rþ   r   r®  r   r¬  r­  rR  s      r:   rV  zTestCSC.test_constructor2  sq   € Ý�%˜ÑÔˆØˆˆ#‰Ø× Ò  Ñ#Ô#ˆÝ! #¤(¨A¨3Ñ/Ô/Ð/Ý˜3œ;¨ sÑ+Ô+Ð+Ý˜3œ: o o oÑ6Ô6Ð6Ð6Ð6r<   c                 óì   — t          ddgddgddggd¦  «        }|                      |¦  «        }t          |j        ddg¦  «         t	          |j        ddg¦  «         t	          |j        g d¢¦  «         d S )Nrä   r   rf   r  r*  )r   rþ   r   r®  r   r¬  r­  rR  s      r:   rX  zTestCSC.test_constructor3  s   € Ý�A�q�6˜A˜q˜6 A q 6Ð*¨CÑ0Ô0ˆØ× Ò  Ñ#Ô#ˆÝ! #¤(¨A¨a¨5Ñ1Ô1Ð1Ý˜3œ;¨¨! uÑ-Ô-Ð-Ý˜3œ: g g gÑ.Ô.Ð.Ð.Ð.r<   c                 óœ  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          ||f¦  «        }|                      ||fd¦  «        }t          t	          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         |                      g d¢g d	¢g d
¢ff¦  «        }|j        dk    sJ ‚d S )NrZ  r[  r\  r[  rå  r�  rð   r^  r_  r`  rf   )r   r	   rþ   r   r   rö   r–   r`  )r�   r¯  r°  r®  r  r.  s         r:   rb  zTestCSC.test_constructor4   sÔ   € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝÐCÐCÐCÑDÔDˆå�S˜�IÑÔˆØ× Ò  $ r ¨5Ñ1Ô1ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCð × Ò  ) ) )¨i¨i¨i¸¸¸Ð-CÐ!DÑEÔEˆØŒw˜!Š|ˆ|ˆ|ˆ|ˆ|ˆ|r<   c                 óÆ   — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||f¦  «        }t          |j        d¦  «         d S ©Nre  rf  rÍ  )rî   rð   )r   rþ   r   rº   ©r�   r­  r¬  r®  r.  s        r:   rh  zTestCSC.test_constructor5.  ri  r<   c                 óÚ   — g d¢}g d¢}g d¢}|                       |||f¦  «        }t          |j        d¦  «         t          t	          j        |j        t          j        ¦  «        ¦  «         d S rÁ  )rþ   r   rº   r   rJ   rm   r?   rk  rÂ  s        r:   rl  zTestCSC.test_constructor66  sn   € à��ˆØ�,�,ˆØˆ|ˆ|ˆØ× Ò  $¨°Ð!8Ñ9Ô9ˆÝ˜3œ9 UÑ+Ô+Ð+Ý•”˜cœi­Ô)9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r<   c                 ó°  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        d¦  «         t	          |j        g d¢¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr~  r  r€  ©rV   rf   ro  rð   rÛ  )r   rþ   r$  r�  r   r`  r®  r–   r{  s         r:   r‚  zTestCSC.test_eliminate_zeros?  rƒ  r<   c                 óh  — t          d¦  «        }t          g d¢¦  «        }g d¢}|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        g d¢¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nrˆ  rw  rx  rÅ  ro  rz  )r   r   rþ   r$  r•  r   r¬  r–   )r�   r®  r¯  rp  r<  r=  s         r:   r|  zTestCSC.test_sort_indicesJ  s¡   € Ý�a‰yŒyˆÝ�O�O�OÑ$Ô$ˆØˆiˆiˆØ× Ò  $¨¨SÐ!1¸Ð Ñ@Ô@ˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ;   Ñ7Ô7Ð7Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c           	      ó>  — |                       t          j        d¦  «                             dd¦  «        dz  ¦  «        }dD ]Û}t	          t          | j        |¦  «        d¦  «          t          ||¦  «        ¦   «         }t	          |j        |j        ¦  «         t          |j
        |j
        ¦  «         t          |j        |j        ¦  «         t          |                     ¦   «          t          t          |¦  «        |                     ¦   «         ¦  «        ¦  «         ŒÜd S )Né   rÝ  rð   g      5@r…  T)rþ   rJ   r   rö   r   rµ  ræ   r‡   rº   r   r¬  r­  r–   r†  s       r:   r‡  zTestCSC.test_ufuncsT  rˆ  r<   c                 óÊ  — t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }t          d¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }t          ||z                        ¦   «         |                     ¦   «         |                     ¦   «         z   ¦  «         d S )	Nrˆ  rw  rx  rÅ  ro  rî   rŠ  r‹  )r   r   rþ   r   r–   r{  s         r:   rŒ  z TestCSC.test_unsorted_arithmetic`  r�  r<   c                 ó¾  — t          j        dgdgdgg¦  «        }t          j        g d¢¦  «        }t           j                             d¦  «         |                      t           j                             dd¦  «        ¦  «        }|                      |¦  «        }|||f         }t          |¦  «        r|                     ¦   «         }t          ||||f         ¦  «         d S r�  r�  r‘  s         r:   r’  z%TestCSC.test_fancy_indexing_broadcastk  r“  r<   c                 óÞ  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }|                      |||fd¬¦  «        }|                      |||fd¬¦  «        }t          j        dt           j        ¬¦  «        }|                      ||fd¬¦  «        }|                      ||fd¬¦  «        }|                      d¦  «        }	|                      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 )
Nrf   rï   r   )rž  rä   ro  )r   rä   r  r�  rŸ  )	rJ   r   r[   rþ   rÿ   r   r­  r?   rg   r¡  s               r:   r£  zTestCSC.test_scalar_idx_dtypey  r¤  r<   c                 ó  — |                       t          j        d¦  «        gdgfd¬¦  «        }|                      |¦  «        }|                     dt          j        |j        d         ¦  «        z  ¦  «         |d         dk    sJ ‚d S r¦  r¨  rÂ  s      r:   Útest_setdiag_csczTestCSC.test_setdiag_csc‘  rª  r<   N)r²   r³   r´   rÀ  rõ   rJ   ré  r¯  rñ   rô   r  rS  rV  rX  rb  rh  rl  r‚  r|  r‡  rŒ  r’  r£  rÍ  rW   r<   r:   r·  r·  ÿ  s  € € € € € Øð.ð .ñ „[ð.ð ”8˜RœW b¤j°"´-Ð@€Kð'ð 'ð 'ð7ð 7ð 7ð/ð /ð /ðð ð ð,ð ,ð ,ð<ð <ð <ð	9ð 	9ð 	9ð9ð 9ð 9ð
Jð 
Jð 
Jð	Kð 	Kð 	Kð"ð "ð "ðð ð ð0ð ð ð ð r<   r·  c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚTestCSCMatrixc                 ó    — t          ¦   «         5 }|                     t          d¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S rL  )r   r2  r(   r   rM  s       r:   rõ   zTestCSCMatrix.spcreator�  r³  rP  Nr´  rW   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S )r  c                 óø   — |                       d¦  «        }d|d<   d|d<   ||j        z  }||j                             ¦   «         z  }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )N)rV   rå  rV   rà  rë  ©rˆ  rî   )r  rf  r   r   r–   )r�   rQ   rÃ  rï  s       r:   Ú	test_multzTestDOK.test_mult«  sl   € Ø×Ò˜xÑ(Ô(ˆØˆˆ$‰Øˆˆ$‰Ø�”‰GˆØ�”—’‘”ÑˆÝ˜1Ÿ9š9™;œ;¨¯	ª	©¬Ñ4Ô4Ð4Ð4Ð4r<   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  rV   r   rì  rg  )rõ   r   r   r–   r  s      r:   Útest_add_nonzerozTestDOK.test_add_nonzero³  s–   € Ø�NŠN˜5Ñ!Ô!ˆØˆˆ#‰Øˆˆ#‰Ø�‰FˆÝ�B˜�7˜R ˜H r¨2 hÐ/Ñ0Ô0ˆÝ˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*à�‰FˆØ�‰FˆÝ˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*r<   c                 ó,  — |                       d¦  «        }d|d<   d|d<   t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         d S ©Nrµ  rÖ  r>  rë  r  rg  rß  ©rõ   r   r–   r­  s     r:   Útest_dok_divide_scalarzTestDOK.test_dok_divide_scalar¿  s}   € Ø�NŠN˜5Ñ!Ô!ˆØˆˆ#‰Øˆˆ#‰å˜A˜b™DŸ>š>Ñ+Ô+¨Q¯YªY©[¬[¸©^Ñ<Ô<Ð<Ý˜A˜a™CŸ=š=™?œ?¨A¯IªI©K¬K¸©MÑ:Ô:Ð:Ð:Ð:r<   c                 ó  — d\  }}|                       ||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ä   r5  rf   r  rð   rQ  r�  r  rˆ  r[  rî   rC  )	r  r   r–   r   rœ  r   r   rº   r�  )r�   r£  rù  rN   r.  rS   r/  s          r:   Útest_convertzTestDOK.test_convertÇ  sj  € à‰ˆˆ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±´Ñ;Ô;Ð;Ð;Ð;r<   c                 ó¶  — t          t          | j        ¦  «         t          g d¢g d¢g d¢gd¦  «        }|                      |¦  «        }t	          |j        |j        ¦  «         t	          |                     ¦   «         |¦  «         |                      |¦  «        }t	          |                     ¦   «         |                     ¦   «         ¦  «         g d¢g d¢g}|                      |t          j	        ¬¦  «        }t	          |j        t          j	        ¦  «         |                     ¦   «         }t	          |j        t          j	        ¦  «         t          ||¦  «         d S )Nrº  r  r»  r  r*  r  rï   )r  r“  r  r   r   r?   r–   rÿ   rJ   ró   r   )r�   rS   rQ   r   r®  r  Údas          r:   Ú	test_ctorzTestDOK.test_ctoræ  s$  € å•i Ô!3Ñ4Ô4Ð4õ �<�<�<   ¨|¨|¨|Ð<¸cÑBÔBˆØ×Ò˜qÑ!Ô!ˆÝ�Q”W˜aœgÑ&Ô&Ð&Ý�Q—Y’Y‘[”[ !Ñ$Ô$Ð$ð ×Ò˜qÑ!Ô!ˆÝ�Q—Y’Y‘[”[ !§)¢)¡+¤+Ñ.Ô.Ð.à�	�	˜9˜9˜9Ð%ˆØ×Ò˜t­2¬:ÐÑ6Ô6ˆÝ�Q”W�bœjÑ)Ô)Ð)Ø�YŠY‰[Œ[ˆÝ�R”X�rœzÑ*Ô*Ð*Ý˜2˜tÑ$Ô$Ð$Ð$Ð$r<   c                 ó$  — |                       d¦  «        }d|d<   t          d|                     ¦   «         vd¦  «         |                       d¦  «        }d|d d …df<   t          t          |                     ¦   «         ¦  «        dk    d¦  «         d S )NrY  r   rÑ  zUnexpected entry (0,0) in keyszUnexpected entries in keys)r  r   Úkeysr¿   r­  s      r:   Ú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ÐAr<   N)r²   r³   r´   r!   rõ   rJ   r¯  rñ   rô   r  rÔ  r×  rÛ  rÝ  rà  rã  rW   r<   r:   r  r  §  sŠ   € € € € € Ø€IØ”7˜BœJ¨¬Ð6€Kð5ð 5ð 5ð
+ð 
+ð 
+ð;ð ;ð ;ð<ð <ð <ð>%ð %ð %ð*Bð Bð Bð Bð Br<   r  )rC  rD  c                   ó   — e Zd ZeZdS )ÚTestDOKMatrixN)r²   r³   r´   r   rõ   rW   r<   r:   rå  rå  	  ó   € € € € € Ø€I€I€Ir<   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<   |                      dt          j        ¬¦  «        }d|d<   d|d<   t	          j        ¦   «         dk    r2t          ||j        z  ||j        z                       ¦   «         ¦  «         t          || 	                    ¦   «         j        z  || 	                    ¦   «         j        z                       ¦   «         ¦  «         d S )N©rV   rV   rV   rà  y              4@rÓ  rï   Úppc64le)
r   rJ   rô   r  ÚplatformÚmachiner   rf  r–   r   r  s      r:   Útest_dotzTestLIL.test_dot  sÏ   € Ý�(�BœMÑ*Ô*ˆØˆˆ$‰Øˆˆ$‰à×Ò˜x­r¬}ÐÑ=Ô=ˆØˆˆ$‰Øˆˆ$‰õ ÔÑÔ Ò*Ð*Ý˜q 1¤3™w¨¨Q¬S©×(9Ò(9Ñ(;Ô(;Ñ<Ô<Ð<å˜1˜qŸ{š{™}œ}œÑ.°°Q·[²[±]´]´_Ñ1D×0MÒ0MÑ0OÔ0OÑPÔPÐPÐPÐPr<   c                 ó¦   — |                       d¦  «        }d|d<   |dz  }t          |d         d¦  «         |dz  }t          |d         d¦  «         d S )NrY  rf   rÑ  r�  r   )r  r   )r�   r@   s     r:   Útest_scalar_mulzTestLIL.test_scalar_mul$  s^   € Ø×Ò˜vÑ&Ô&ˆØˆˆ$‰àˆa‰CˆÝ�Q�t”W˜aÑ Ô Ð àˆa‰CˆÝ�Q�t”W˜aÑ Ô Ð Ð Ð r<   c                 ó,  — |                       d¦  «        }d|d<   d|d<   t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         t          |dz                       ¦   «         |                     ¦   «         dz  ¦  «         d S rÙ  rÚ  r­  s     r:   Ú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Ñ>Ô>Ð>Ð>Ð>r<   c                 ó   — |                       g d¢g d¢g¦  «        }|                       g d¢g d¢g¦  «        }|||z   f|||z
  fd|dz  fdœ}|                     ¦   «         D ]m\  }\  }}|                     ¦   «         } t          |d|› d�¦  «        |¦  «         t	          |                     ¦   «         |                     ¦   «         ¦  «         Œn|                       dt          j        d	¦  «        ¬
¦  «        }|                      g d¢¦  «        }|dd d …fxx         |z  cc<   t	          |dd d …f                              ¦   «         |¦  «         d S )N©r   rf   rð   r  r  rð   )ÚaddÚsubÚmulÚ__iÚ__r=  rñ   rï   )çš™™™™™¹?rú  rú  r   )	r  r“  r$  r‡   r   r–   rJ   r?   r  )r�   rQ   rR   r®  ÚoprÎ   rk  rF  s           r:   Útest_inplace_opszTestLIL.test_inplace_ops6  sn  € Ø×Ò 	 	 	¨9¨9¨9Ð5Ñ6Ô6ˆØ×Ò 	 	 	¨9¨9¨9Ð5Ñ6Ô6ˆà˜1˜q™5�zØ˜1˜q™5�zØ˜1˜q™5�zð#ð #ˆð &*§Z¢Z¡\¤\ð 	Eð 	EÑ!ˆBÑ!�˜Ø—V’V‘X”XˆFØ)�G�F˜L "˜L˜L˜LÑ)Ô)¨%Ñ0Ô0Ð0å˜vŸ~š~Ñ/Ô/°×1AÒ1AÑ1CÔ1CÑDÔDÐDÐDð ×Ò˜v­R¬X°iÑ-@Ô-@ÐÑAÔAˆØ�LŠL˜˜˜Ñ)Ô)ˆØ	ˆ!ˆQˆQˆQˆ$ˆˆŒ�1‰ˆˆ‰Ý˜1˜Q   ˜Tœ7Ÿ?š?Ñ,Ô,¨aÑ0Ô0Ð0Ð0Ð0r<   c                 óü   — g d¢g d¢g}|                       t          |¦  «        ¦  «        }t          |¦  «        D ]A\  }}t          |                     ¦   «         t          ||         |j        ¬¦  «        ¦  «         ŒBd S )NrÛ  rÜ  )Úndmin)r  r   r.  r   r–   rÀ   )r�   Úrow_datarR   r  r¯  s        r:   Útest_lil_iterationzTestLIL.test_lil_iterationJ  s‚   € Ø�I�I˜y˜y˜yÐ)ˆØ×Ò�u X™œÑ/Ô/ˆÝ ‘l”lð 	Rð 	R‰FˆAˆsÝ˜sŸ{š{™}œ}­e°H¸Q´KÀsÄxÐ.PÑ.PÔ.PÑQÔQÐQÐQð	Rð 	Rr<   c                 ó  — |                       d¦  «        }d|d<   d|d<   d|d<   d|d	<   d
|d<   |                     ¦   «         }|                       |¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nrê  rV   rà  rë  rÓ  rì  )rÞ  rð   rÐ  )rð   rÞ  rŠ  )rÞ  rß  )r  r�  r   r–   )r�   rR   rù   rÃ  s       r:   Útest_lil_from_csrzTestLIL.test_lil_from_csrP  sˆ   € à×Ò˜xÑ(Ô(ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Ø�GŠG‰IŒIˆØ×Ò˜qÑ!Ô!ˆÝ˜1Ÿ9š9™;œ;¨¯	ª	©¬Ñ4Ô4Ð4Ð4Ð4r<   c                 óD  — |                       t          d¦  «                             dd¦  «        ¦  «        }|                      |¦  «        }t	          |t          g d¢¦  «        dd…f                              ¦   «         |t          g d¢¦  «        dd…f         ¦  «         d S )Nr  rˆ  rÛ  rf   rð   )r  r   rö   r  r   r   r–   )r�   rx  rQ   s      r:   Útest_fancy_indexing_lilzTestLIL.test_fancy_indexing_lil\  s�   € Ø�LŠL� ™œ×+Ò+¨A¨qÑ1Ô1Ñ2Ô2ˆØ×Ò˜qÑ!Ô!ˆå�Q•u˜Y˜Y˜YÑ'Ô'¨¨1¨Ð,Ô-×5Ò5Ñ7Ô7Ø•u˜Y˜Y˜YÑ'Ô'¨¨1¨Ð,Ô-ñ	/ô 	/ð 	/ð 	/ð 	/r<   c                 óê  — |                       d¦  «        }d|d<   d|d<   d|d<   d|d	<   |                       d¦  «        }d|d<   d|d
<   d|d<   d|d	<   d|d<   t          |                     |¦  «                             ¦   «         |                     |¦  «                             ¦   «         ¦  «         t          |                     |¦  «                             ¦   «         g d¢g d¢g d¢g d¢g¦  «         d S )Nr[  rä   rÑ  rf   r  rð   r¶  r�  rQ  r>  rµ  rs  r_  ©r   r   rß  )r   rÙ  r   )r  r   rå  r–   )r�   Úlr£  s      r:   Útest_point_wise_multiplyz TestLIL.test_point_wise_multiplyc  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ð(ñ	)ô 	)ð 	)ð 	)ð 	)r<   c                 óp   — |                       t          j        d¦  «        ¦  «        }|dz  }d|dd d …f<   d S )NrY  rr  r   )r  rJ   rî  rD  s     r:   Útest_lil_multiply_removalz!TestLIL.test_lil_multiply_removalz  s;   € à×Ò�rœw v™œÑ/Ô/ˆØ	ˆR‰ˆØˆˆ!ˆQˆQˆQˆ$‰ˆˆr<   N)r²   r³   r´   r#   rõ   rJ   r¯  rñ   rô   r  rî  rð  rò  rü  r   r  r  r  r
  rW   r<   r:   rè  rè    s¸   € € € € € Ø€IØ”7˜BœJ¨¬Ð6€KðQð Qð Qð!ð !ð !ð?ð ?ð ?ð1ð 1ð 1ð(Rð Rð Rð
5ð 
5ð 
5ð/ð /ð /ð)ð )ð )ð.ð ð ð ð r<   rè  )rC  c                   ó   — e Zd ZeZdS )ÚTestLILMatrixN)r²   r³   r´   r   rõ   rW   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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¢¦  «        }|                      |||ffd¦  «        }t          t          d¦  «                             dd¦  «        |                     ¦   «         ¦  «         |                      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 )NrZ  r[  r\  r[  rå  r�  rð   r]  rä   r   rï   )r   rý   r   r   rö   r–   rJ   ra  )r�   r¯  r°  r®  r[  rK  s         r:   rS  zTestCOO.test_constructor1�  sû   € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝÐCÐCÐCÑDÔDˆà× Ò  $¨¨C yÐ!1°%Ñ8Ô8ˆÝ�6 "™:œ:×-Ò-¨a°Ñ3Ô3°S·[²[±]´]ÑCÔCÐCð × Ò  9¨a .°A°q°6¸A¸q¸6Ð2BÐ!CÍ2Ì9Ð ÑUÔUˆÝ˜	 1�~¨¨1 vÐ.µb´iÐ@Ñ@Ô@ˆÝ˜5 #§+¢+¡-¤-Ñ0Ô0Ð0Ð0Ð0r<   c                 ó  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||ffd¦  «        }t          g d¢g d¢g d¢g¦  «        }t          ||                     ¦   «         ¦  «         d S )N)
r   rä   rf   rf   rf   rf   r   r   rf   rf   )
r   rf   r   rf   rä   rä   rä   r   r   rf   )
rf   rß  r«  rˆ  rÝ  r   rå   rf   rä   r©  rY  )r�  rå   r   r  )r·  rÝ  r   )r   rý   r   r–   )r�   r¯  r°  r®  r[  rž   s         r:   rV  zTestCOO.test_constructor2�  sš   € åÐ)Ð)Ð)Ñ*Ô*ˆÝÐ)Ð)Ð)Ñ*Ô*ˆÝÐ-Ð-Ð-Ñ.Ô.ˆØ× Ò  $¨¨C yÐ!1°%Ñ8Ô8ˆå�Z�Z�Z   ¨J¨J¨JÐ7Ñ8Ô8ˆå˜3 §¢¡¤Ñ.Ô.Ð.Ð.Ð.r<   c                 ó6  — |                       d¦  «        }t          |j        d¦  «         t          |j        g ¦  «         t          |j        g ¦  «         t          |j        g ¦  «         t          |                     ¦   «         t          d¦  «        ¦  «         d S )Nr[  )rý   r   rº   r¯  r°  r®  r–   r   ©r�   r[  s     r:   rX  zTestCOO.test_constructor3¨  s�   € à× Ò  Ñ'Ô'ˆå˜3œ9 UÑ+Ô+Ð+Ý˜3œ7 2Ñ&Ô&Ð&Ý˜3œ7 2Ñ&Ô&Ð&Ý˜3œ8 BÑ'Ô'Ð'Ý˜3Ÿ;š;™=œ=­%°©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c                 ó®  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |                     ¦   «         |¦  «         t          g d¢¦  «        }|                      |¦  «        }| j        r|n|                     dd¦  «        }t          |                     ¦   «         |¦  «         t          j        t          d¬¦  «        5  |                      g d¢g d	¢g d
¢f¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                      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 interpretedrd  )r   r  é   é!   r  ré  rÆ  r  ro  )
r   rý   r   r–   r  rö   r  r   r“  r  )r�   rž   r[  rk  s       r:   rb  zTestCOO.test_constructor4²  sò  € å�Y�Y�YØ�Y�YØ�Y�Yð ñ !ô !ˆð × Ò  Ñ%Ô%ˆÝ˜3Ÿ;š;™=œ=¨#Ñ.Ô.Ð.õ �I�I�IÑÔˆØ× Ò  Ñ%Ô%ˆØÔ,ÐD�3�3°#·+²+¸aÀÑ2DÔ2DˆÝ˜3Ÿ;š;™=œ=¨(Ñ3Ô3Ð3õ Œ]�9Ð,KÐLÑLÔLð 	Nð 	NØ×Ò˜˜˜°°°¸|¸|¸|Ð0LÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nõ Œ]�:Ð-CÐDÑDÔDð 	>ð 	>Ø×Ò˜˜˜°fÐÑ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>s$   ÃC=Ã=DÄDÄ#E
Å
EÅEc                 óŽ   — dg}|                       |dgdgffd ¬¦  «        }|j        t          j        |¦  «        j        k    sJ ‚d S )Nrä   r   rï   )rý   r?   rJ   r   )r�   r®  r[  s      r:   Ú"test_constructor_data_ij_dtypeNonez*TestCOO.test_constructor_data_ij_dtypeNoneÈ  sR   € ØˆsˆØ× Ò  $¨!¨¨q¨c¨
Ð!3¸4Ð Ñ@Ô@ˆØŒy�BœH T™NœNÔ0Ò0Ð0Ð0Ð0Ð0Ð0r<   FzCOO does not have a __getitem__©ÚrunÚreasonc                 ó   — d S r>   rW   r½   s    r:   r}  zTestCOO.test_iteratorÍ  ó   € àˆr<   c                 ó¢   — ddgg}|                       |¦  «                             ¦   «         }t          |                     ¦   «         |¦  «         d S rk   )rý   Útodiar   r–   )r�   r   ru  s      r:   Útest_todia_all_zeroszTestCOO.test_todia_all_zerosÑ  sJ   € Ø�Q��ˆØ× Ò  Ñ'Ô'×-Ò-Ñ/Ô/ˆÝ˜3Ÿ;š;™=œ=¨%Ñ0Ô0Ð0Ð0Ð0r<   c                 óH  — |                       d¦  «        }|                     ¦   «          |                       ddgddgddgff¦  «        }|                     ¦   «          t          |                     ¦   «         ddgddgg¦  «         |                       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 )Nr[  rä   rf   r   rð   )rý   rš  r   r–   r¯  r°  r®  r  s     r:   Útest_sum_duplicateszTestCOO.test_sum_duplicatesÖ  s%  € Ø× Ò  Ñ'Ô'ˆØ×ÒÑÔÐØ× Ò  1 Q %¨1¨Q¨%°!°A°¨Ð!8Ñ9Ô9ˆØ×ÒÑÔÐÝ˜3Ÿ;š;™=œ=¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ø× Ò  1 Q %¨1¨Q¨%°!°A°¨Ð!8Ñ9Ô9ˆØ×ÒÑÔÐÝ˜3Ÿ;š;™=œ=¨A¨a¨5°!°A°¨-Ñ8Ô8Ð8Ý˜3œ7 Q CÑ(Ô(Ð(Ý˜3œ7 Q CÑ(Ô(Ð(Ý˜3œ8 a SÑ)Ô)Ð)Ð)Ð)r<   c                 óÔ   — |                       g d¢g d¢g d¢ff¦  «        }|                     ¦   «         }t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr^  r_  r`  )rý   r…  r   r–   )r�   r[  rD   s      r:   Útest_todok_duplicateszTestCOO.test_todok_duplicatesã  s^   € Ø× Ò  ) ) )¨i¨i¨i¸¸¸Ð-CÐ!DÑEÔEˆØ�iŠi‰kŒkˆÝ˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c                 ó  — |                       g d¢g d¢g d¢ff¦  «        }|                     ¦   «         }t          |j        dz   |j        ¦  «         |                     ¦   «         }t          |j        dz   |j        ¦  «         d S )Nr^  r_  r`  rf   )rý   r�  r   r`  rœ  )r�   r[  r/  r.  s       r:   Útest_tocompressed_duplicatesz$TestCOO.test_tocompressed_duplicatesè  s{   € Ø× Ò  ) ) )¨i¨i¨i¸¸¸Ð-CÐ!DÑEÔEˆØ�iŠi‰kŒkˆÝ�S”W˜q‘[ #¤'Ñ*Ô*Ð*Ø�iŠi‰kŒkˆÝ�S”W˜q‘[ #¤'Ñ*Ô*Ð*Ð*Ð*r<   c                 ó®  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||ffd¬¦  «        }|                     ¦   «         }|                     ¦   «          t	          |j        dk                         ¦   «         ¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S )Nr~  )r   r   r   rä   rä   rä   rä   rä   r  ry  ro  r   )	r   rý   r$  r�  r   r®  Úallr   r–   )r�   r®  r¯  r°  r<  r=  s         r:   r‚  zTestCOO.test_eliminate_zerosï  sÄ   € ÝÐ-Ð-Ð-Ñ.Ô.ˆÝÐ,Ð,Ð,Ñ-Ô-ˆÝÐ,Ð,Ð,Ñ-Ô-ˆØ× Ò  $¨¨c¨
Ð!3¸6Ð ÑBÔBˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ�”˜Q’×#Ò#Ñ%Ô%Ñ&Ô&Ð&Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c                 ó–  — g d¢g d¢g d¢g}d}|                       |¦  «        }|                     |¦  «        }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®  rJ   rP   )r�   rp   Ú	new_shaper@   rA   s        r:   Útest_reshape_copyzTestCOO.test_reshape_copyù  sÃ   € Øˆ}ˆ}˜l˜l˜l¨O¨O¨OÐ<ˆØˆ	Ø×Ò˜sÑ#Ô#ˆà�IŠI�iÑ Ô ˆÝ�”˜!œ&Ð Ñ!Ô!Ð!à�IŠI�i eˆIÑ,Ô,ˆÝ�”˜!œ&Ð Ñ!Ô!Ð!à�IŠI�i dˆIÑ+Ô+ˆÝ•BÔ'¨¬°´Ñ7Ô7Ð7Ñ8Ô8Ð8Ð8Ð8r<   c                 ó>  — |                       dgdgdgffd¦  «        }|                       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ÀÆ- rW  )éÁÆ- éé  )r.  r-  rù   ræ  r   rä  )rý   r   rö   r`  )r�   Úmat1Úmat2s      r:   Útest_large_dimensions_reshapez%TestCOO.test_large_dimensions_reshape  s¬   € ð ×!Ò! A 3¨'¨°T°FÐ(;Ð"<¸oÑNÔNˆØ×!Ò! A 3¨$¨°'°Ð(;Ð"<¸oÑNÔNˆõ 	�—’˜o°S�Ñ9Ô9¸TÒAÔFÈ!ÒKÑLÔLÐLÝ�—’˜o°S�Ñ9Ô9¸TÒAÔFÈ!ÒKÑLÔLÐLÐLÐLr<   N)r²   r³   r´   r"   rõ   rJ   r¯  rñ   rô   r  rS  rV  rX  rb  r  r  rÁ  Úxfailr}  r   r"  r$  r&  r‚  r+  r1  rW   r<   r:   r  r  ‰  s  € € € € € ð €IØ”7˜BœJ¨¬Ð6€Kð1ð 1ð 1ð	/ð 	/ð 	/ð9ð 9ð 9ð>ð >ð >ð,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r<   r  )r<  r=  r>  r?  r@  c                   ó   — e Zd ZeZdS )ÚTestCOOMatrixN)r²   r³   r´   r   rõ   rW   r<   r:   r4  r4    ræ  r<   r4  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                 ó2  — t          g d¢g d¢g d¢g d¢g¦  «        }t          j         g d¢g¦  «                             dd¬¦  «        }t          j         g d	¢¦  «        }t          |                      ||fd
¬¦  «                             ¦   «         |¦  «         d S )N)rä   r   rð   r   )rä   rf   r   r�  )r   rf   rð   r   )r   r   rð   r�  rÍ  rð   r   r]  ©r   rå   rf   r  ro  )r   rJ   Úrepeatr   r   r–   )r�   rÃ  r®  r±  s       r:   rS  zTestDIA.test_constructor1!  s¨   € Ý�<�<�<Ø�<�<Ø�<�<Ø�<�<ð!ñ "ô "ˆõ Œx˜˜˜˜Ñ$Ô$×+Ò+¨A°1Ð+Ñ5Ô5ˆÝ”(˜8˜8˜8Ñ$Ô$ˆÝ�T×'Ò'¨¨w¨¸vÐ'ÑFÔF×NÒNÑPÔPÐRSÑTÔTÐTÐTÐTr<   FzDIA does not have a __getitem__r  c                 ó   — d S r>   rW   r½   s    r:   r}  zTestDIA.test_iterator*  r  r<   rð   c                 ó  — |                       t          j        d¦  «        ¦  «        }t          |j        j        t          j        ¦  «         |                     dd¬¦  «         t          |j        j        t          j        ¦  «         |                       t          j        d¦  «        ¦  «        }t          |j        j        t          j        ¦  «         |                     dd¬¦  «         t          |j        j        t          j        ¦  «         d S )Nrð   rP  rf   rÎ  r�  )	r   rJ   r&   r   r±  r?   r[   r  rg   ©r�   r£  s     r:   Ú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Ñ/Ô/Ð/Ð/Ð/r<   zDIA stores extra zeros©r  c                 ó   — d S r>   rW   r½   s    r:   r(  zTestDIA.test_getnnz_axis:  r  r<   c                 ó8  — |                       g d¢gdgfd¬¦  «        }|                     ¦   «         }t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         d S )Nr¬  rå   rC  ro  )r   r–   r   rœ  r�  )r�   r£  rk  s      r:   Útest_convert_gh14555zTestDIA.test_convert_gh14555>  s‚   € à×Ò    ¨b¨TÐ2¸&ÐÑAÔAˆØ—9’9‘;”;ˆÝ˜1Ÿ7š7™9œ9×,Ò,Ñ.Ô.°Ñ9Ô9Ð9Ý˜1Ÿ7š7™9œ9×,Ò,Ñ.Ô.°Ñ9Ô9Ð9Ð9Ð9r<   c                 ó  — |                       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ä   rf   rð   r�  r   )
r   rž  rJ   Úravel_multi_indexr¯  r°  rº   r(  Údiffr™  )r�   r£  Ú	flat_indsÚinds_are_sorteds       r:   Útest_tocoo_gh10050zTestDIA.test_tocoo_gh10050E  s‚   € à×Ò  A ¨¨A¨Ð/Ñ0Ô0×6Ò6Ñ8Ô8ˆÝÔ(¨!¬%°´¨¸¼ÑAÔAˆ	Ýœ&¥¤¨Ñ!3Ô!3°aÒ!7Ñ8Ô8ˆØÔ%¨Ò8Ð8Ð8Ð8Ð8Ð8r<   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]  r8  rï   r  ro  )rJ   r   r9  r[   r|   r$   rž  r°  r?   r�  r¬  rœ  )r�   r®  r±  ru  r[  r/  r.  s          r:   Útest_tocoo_tocsr_tocsc_gh19245z&TestDIA.test_tocoo_tocsr_tocsc_gh19245L  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Ò,Ð,Ð,Ð,Ð,Ð,r<   c                 ól  — |                       ddgddgg¦  «        }|dz  }t          ||j        ¦  «        sJ ‚t          |                     ¦   «         ddgddgg¦  «         |                     d¦  «        }t          ||j        ¦  «        sJ ‚t          |                     ¦   «         ddgddgg¦  «         d S )Nrä   rf   r   r�  rð   rî   rå  )r   rI   rx  r   r–   rå  )r�   r£  ÚresÚres2s       r:   r¿  zTestDIA.test_mul_scalarY  sº   € à×Ò  A ¨¨A¨Ð/Ñ0Ô0ˆØ�!‰eˆÝ˜#˜qœ{Ñ+Ô+Ð+Ð+Ð+Ý˜3Ÿ;š;™=œ=¨A¨q¨6°A°r°7Ð*;Ñ<Ô<Ð<à�zŠz˜!‰}Œ}ˆÝ˜$ ¤Ñ,Ô,Ð,Ð,Ð,Ý˜4Ÿ<š<™>œ>¨Q°¨F°Q¸°GÐ+<Ñ=Ô=Ð=Ð=Ð=r<   N)r²   r³   r´   r$   rõ   rJ   r¯  rñ   rô   r  rS  r  rÁ  r2  r}  r”   r=  r  r(  rA  rG  rI  r¿  rW   r<   r:   r6  r6    s  € € € € € ð €IØ”7˜BœJ¨¬Ð6€KðUð Uð Uð „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð Ð˜QÑÔð	0ð 	0ñ  Ôð	0ð „[×ÒÐ5ÐÑ6Ô6ðð ñ 7Ô6ðð:ð :ð :ð9ð 9ð 9ð-ð -ð -ð	>ð 	>ð 	>ð 	>ð 	>r<   r6  )r<  r=  r>  r?  r@  rC  rD  c                   ó   — e Zd ZeZdS )ÚTestDIAMatrixN)r²   r³   r´   r   rõ   rW   r<   r:   rN  rN  e  ræ  r<   rN  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 )ÚTestBSRc                 óR  — 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¦  «        }|                      |||fd¬¦  «        }t	          |                     ¦   «         |¦  «         |                      |||f¦  «        }t	          |                     ¦   «         |¦  «         d S ©N)r   rf   rf   r�  )r   rf   rf   rð   )r�  rf   rð   r*  rP  r   r»  )rî   r   rV   rä   )r   r�  rÞ  )rå  r   rë  rf   )r   rˆ  rV   )r‰  r   r  rð   r  ré  rO  ©rî   rå  ro  )r   r   r   rü   r   r–   )r�   r­  r¬  r®  rQ   r!  s         r:   rS  zTestBSR.test_constructor1t  se  € å�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Ð!6¸VÐ ÑDÔDˆÝ�S—[’[‘]”] AÑ&Ô&Ð&ð × Ò  $ w¨vÐ!6Ñ7Ô7ˆÝ�S—[’[‘]”] AÑ&Ô&Ð&Ð&Ð&r<   c                 óè  — dD ]F}t          |¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         ŒGt          d¦  «        }t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t	          g d¢g d¢g d¢gg d	¢g d
¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t          |                      |d¬¦  «                             ¦   «         |¦  «         t	          g d¢g d¢g d¢gg d	¢g d
¢g¦  «        }t          |                      |d¬¦  «                             ¦   «         |¦  «         d S )N)r  r  r  )rV   r�  )rð   rÝ  r5  )r�  rî   r¶  rR  rõ  r  ré  rO  r*  rP  rS  ro  r  rí  )rf   rå  )rð   rå  r  )r   r   rü   r–   r   )r�   rº   rQ   s      r:   rV  zTestBSR.test_constructor2‹  s»  € ð Bð 	=ð 	=ˆEÝ�e‘”ˆAÝ˜×+Ò+¨AÑ.Ô.×6Ò6Ñ8Ô8¸!Ñ<Ô<Ð<Ð<Ý�%‰LŒLˆÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJå�)�)�)˜I˜I˜I i i iÐ0°7°7°7¸7¸7¸7Ð2CÑDÔDˆÝ�T×'Ò'¨Ñ*Ô*×2Ò2Ñ4Ô4°aÑ8Ô8Ð8Ý�T×'Ò'¨°Ð'Ñ9Ô9×AÒAÑCÔCÀQÑGÔGÐGÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJÝ�T×'Ò'¨°WÐ'Ñ=Ô=×EÒEÑGÔGÈÑKÔKÐKÝ�T×'Ò'¨°WÐ'Ñ=Ô=×EÒEÑGÔGÈÑKÔKÐKÝ�T×'Ò'¨°WÐ'Ñ=Ô=×EÒEÑGÔGÈÑKÔKÐKå�)�)�)˜I˜I˜I i i iÐ0°7°7°7¸7¸7¸7Ð2CÑDÔDˆÝ�T×'Ò'¨°VÐ'Ñ<Ô<×DÒDÑFÔFÈÑJÔJÐJÐJÐJr<   c                 ó¶   — g d¢g d¢g d¢ff}t          ddgddgg¦  «        }t          |                      |d¬	¦  «                             ¦   «         |¦  «         d S )
NrÛ  r  rË  rä   r   rf   rð   r¶  rR  )r   r   rü   r–   )r�   ÚargrQ   s      r:   rX  zTestBSR.test_constructor3£  sk   € àˆwˆw˜˜˜ ' ' 'Ð*Ð+ˆÝ�A�a�5˜!˜A˜�-Ñ Ô ˆÝ�T×'Ò'¨°vÐ'Ñ>Ô>×FÒFÑHÔHÈ!ÑLÔLÐLÐLÐLr<   c                 ó  — d}t          j        ||dft           j        ¬¦  «        }t          j        d|gt           j        ¬¦  «        }t          j        |t           j        ¬¦  «        }|                      |||f|dfd¬¦  «         d S )NrÞ  rä   rï   r   F)rS  r$  )rJ   rî  r   r   r[   r   rü   )r�   rù  r®  r­  r¬  s        r:   rb  zTestBSR.test_constructor4©  s�   € ð ˆÝŒw˜˜1˜a�y­¬Ð0Ñ0Ô0ˆÝ”˜1˜a˜&­¬Ð1Ñ1Ô1ˆÝ”)˜A¥R¤XÐ.Ñ.Ô.ˆØ×Ò˜D '¨6Ð2¸qÀ!¸fÈ5ÐÑQÔQÐQÐQÐQr<   c                 óV  — d}t          j        |¦  «        }t          j        |||f¦  «        }t          j        d|g¦  «        }t          j        |¦  «        }t	          t
          ¦  «        5  |                      |||f¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          ¦  «        5  |                      |||fd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          ¦  «        5  |                      |||fd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÞ  r   r]  rR  r  )rJ   rî  r   r   r  r  rü   )r�   rù  Ú	data_1dimr®  r­  r¬  s         r:   rh  zTestBSR.test_constructor5²  s  € àˆÝ”G˜A‘J”Jˆ	ÝŒw˜˜1˜a�yÑ!Ô!ˆÝ”˜1˜a˜&Ñ!Ô!ˆÝ”)˜A‘,”,ˆå�:Ñ&Ô&ð 	=ð 	=à×Ò 	¨7°FÐ;Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=õ �:Ñ&Ô&ð 	Mð 	Mà×Ò  g¨vÐ6À)ÐÑLÔLÐLð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mõ �:Ñ&Ô&ð 	Jð 	Jà×Ò  g¨vÐ6À&ÐÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jð 	Jð 	Js6   Á,BÂBÂBÂ0CÃCÃCÃ6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        ¬¦  «        }|                      |||fd¬¦  «        }|j        t          j        |¦  «        j        k    sJ ‚d S )Nrä   r   rf   rï   r5  rR  )rJ   r   r[   rü   r?   )r�   rH   r­  r¬  rS   s        r:   Útest_default_dtypezTestBSR.test_default_dtypeÆ  s•   € à�3˜˜�* ˜s Q C˜jÐ)ˆÝ”˜1˜a˜&­¬Ð1Ñ1Ô1ˆÝ”(˜A˜q˜6­¬Ð2Ñ2Ô2ˆØ×Ò ¨°Ð8ÀFÐÑKÔKˆØŒw�"œ( 6Ñ*Ô*Ô0Ò0Ð0Ð0Ð0Ð0Ð0r<   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¦  «        }|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «                              ¦   «         }t          |                     ¦   «         |¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         d S rR  )r   r   r   rü   r�  rž  r   r–   )r�   r­  r¬  r®  rQ   ÚAbsrÚAcsrÚAcsr_via_coos           r:   Útest_bsr_tocsrzTestBSR.test_bsr_tocsrÎ  s‚  € å�|�|�|Ñ$Ô$ˆÝ˜˜˜Ñ%Ô%ˆÝ�YÑÔˆå˜˜˜Ø"˜˜ð$ñ %ô %ˆˆQ‰å˜˜˜Ø#˜˜ð%ñ &ô &ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰å˜˜˜Ø$˜˜ð&ñ 'ô 'ˆˆQ‰õ �,�,�,   ¨l¨l¨lÐ;Ø�)�)˜Y˜Y˜YÐ'ñ)ô )ˆà×!Ò! 4¨°&Ð"9ÀÐ!ÑIÔIˆØ�zŠz‰|Œ|ˆØ—z’z‘|”|×)Ò)Ñ+Ô+ˆÝ�T—\’\‘^”^ QÑ'Ô'Ð'Ý�T—\’\‘^”^ \×%9Ò%9Ñ%;Ô%;Ñ<Ô<Ð<Ð<Ð<r<   c                 óÈ  — t          g d¢ddgddgg¦  «        j        }|                     ddd¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                      |||fd¬¦  «        }|                     ¦   «         }|                     ¦   «          t          |j        d	¦  «         t          | 	                    ¦   «         | 	                    ¦   «         ¦  «         d S )
Nr~  rä   rå   rf   r  r€  )r�  rë  ro  rå  )
r   rf  rö   r   rü   r$  r�  r   r`  r–   r{  s         r:   r‚  zTestBSR.test_eliminate_zeroså  s×   € ÝÐ,Ð,Ð,°°!¨u°a¸°U¨mÑ<Ô<Ô>ˆØ�|Š|˜B˜q Ñ#Ô#ˆÝÐ0Ð0Ð0Ñ1Ô1ˆÝ�y�y�yÑ!Ô!ˆØ× Ò  $¨°Ð!8ÀÐ ÑGÔGˆØ�hŠh‰jŒjˆØ×ÒÑÔÐÝ˜3œ7 CÑ(Ô(Ð(Ý˜3Ÿ;š;™=œ=¨#¯+ª+©-¬-Ñ8Ô8Ð8Ð8Ð8r<   c                 óZ  — t           j                             d¦  «         |                      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õ  rR  gÍÌÌÌÌÌì?éB   )r  rf   rð   rq  rô  )rJ   r‘   rd   rü   r®  r�  r   r`  r   rº   r–   r   r<  s     r:   Útest_eliminate_zeros_all_zeroz%TestBSR.test_eliminate_zeros_all_zeroñ  sZ  € Ý
Œ	�Š�qÑÔÐØ×Ò�rœy×/Ò/°Ñ9Ô9ÀVÐÑLÔLˆð !"ˆŒˆ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™;œ;­¬°Ñ(:Ô(:Ñ;Ô;Ð;Ð;Ð;r<   c                 ó"  — |                       t          d¦  «                             dd¦  «        d¬¦  «        }t          |j        d         ¦  «                             dd¦  «        }t	          ||z  |                     ¦   «         |z  ¦  «         d S )Néx   rÞ  r‰  ©r�  rˆ  rR  rä   rå   ©rü   r   rö   rº   r   r–   r`  s      r:   Útest_bsr_matveczTestBSR.test_bsr_matvec  sy   € Ø×Ò�v g™œ×6Ò6°s¸3Ñ?Ô?È5ÐÑQÔQˆÝ�1”7˜1”:ÑÔ×&Ò& r¨!Ñ,Ô,ˆÝ�Q˜‘U˜AŸIšI™KœK¨!™OÑ,Ô,Ð,Ð,Ð,r<   c                 ó(  — |                       t          d¦  «                             dd¦  «        d¬¦  «        }t          |j        d         dz  ¦  «                             dd¦  «        }t	          ||z  |                     ¦   «         |z  ¦  «         d S )	Nrf  rÞ  r‰  rg  rR  rä   rî   rå   rh  r`  s      r:   Útest_bsr_matvecszTestBSR.test_bsr_matvecs  s}   € Ø×Ò�v g™œ×6Ò6°s¸3Ñ?Ô?È5ÐÑQÔQˆÝ�1”7˜1”:˜a‘<Ñ Ô ×(Ò(¨¨AÑ.Ô.ˆÝ�Q˜‘U˜AŸIšI™KœK¨!™OÑ,Ô,Ð,Ð,Ð,r<   FzBSR does not have a __getitem__r  c                 ó   — d S r>   rW   r½   s    r:   r}  zTestBSR.test_iterator  r  r<   zBSR does not have a __setitem__c                 ó   — d S r>   rW   r½   s    r:   r  zTestBSR.test_setdiag  r  r<   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æ  rR  rµ  rä   r   rf   rð   r¶  rð  rº  ré  rõ  )	rJ   r   rõ   r   r·  r   r–   r  r  r�  s      r:   Ú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Ð3r<   c                 ó   — d S r>   rW   r½   s    r:   r
  z"TestBSR.test_setdiag_comprehensive1  r  r<   zexceeds memory limitr>  c                 ó,  — t          j        dt           j        ¬¦  «        }t          j        dt           j        ¬¦  «        }t          j        d¦  «        }|                      |||fd¬¦  «        }|                      |||fd¬¦  «        }|                      d¦  «        }|                      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	¦  «        }	|                      |||fd¬¦  «        }
|                      |	||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 )
Nrf   rï   r   r  r�  ro  rŸ  )r   rä   rž  )r   rä   r   )
rJ   r   r[   rü   r   r­  r?   rg   ÚMemoryErrorr  )r�   r­  r¬  r¢  rN   rS   r   r  Úvals2Úvals3r¡  r¢  r@   s                r:   r£  zTestBSR.test_scalar_idx_dtype5  sì  € õ ”˜!¥2¤8Ð,Ñ,Ô,ˆÝ”(˜1¥B¤HÐ-Ñ-Ô-ˆÝŒx˜	Ñ"Ô"ˆØ×Ò  g¨vÐ6¸lÐÑKÔKˆØ×Ò  g¨vÐ6¸jÐÑIÔIˆØ×Ò˜|Ñ,Ô,ˆØ×Ò˜zÑ*Ô*ˆÝ�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ý�Q”X”^¥R¤XÑ.Ô.Ð.ð
	Ý”H˜_Ñ-Ô-ˆEÝ”H˜]Ñ+Ô+ˆEØ×"Ò" E¨7°FÐ#;À<Ð"ÑPÔPˆAØ×"Ò" E¨7°FÐ#;À:Ð"ÑNÔNˆAÝ˜œœ­¬Ñ2Ô2Ð2Ý˜œœ­¬Ñ2Ô2Ð2Ð2øÝ�ZÐ(ð 	ð 	ð 	àˆAØˆAˆAˆAð	øøøð �Q˜˜1˜a Ð#ð 	ð 	ˆAØ�‰EˆEˆEð	ð 	s   ÅB$G) Ç)HÈ HN)r²   r³   r´   r%   rõ   rJ   r¯  rñ   rô   r  rS  rV  rX  rb  rh  r[  r`  r‚  rd  ri  rk  r  rÁ  r2  r}  r  ro  r
  ÚskipifÚIS_COLABr£  rW   r<   r:   rP  rP  m  s¹  € € € € € ð €IØ”7˜BœJ¨¬Ð6€Kð'ð 'ð 'ð.Kð Kð Kð0Mð Mð MðRð Rð RðJð Jð Jð(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Ô@ðð ð r<   rP  )r<  r=  r>  r?  r@  rD  c                   ó   — e Zd ZeZdS )ÚTestBSRMatrixN)r²   r³   r´   r   rõ   rW   r<   r:   rx  rx  V  ræ  r<   rx  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   rf   r]  rä   c              3   ó&   K  — | ]}|d          V — ŒdS rí  rW   )r  Úps     r:   ú	<genexpr>z&_same_sum_duplicate.<locals>.<genexpr>u  s&   è è € Ð,Ð,˜Q�A�a”DÐ,Ð,Ð,Ð,Ð,Ð,r<   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )rf   N)r9  )r  r¬  s     r:   r|  z&_same_sum_duplicate.<locals>.<genexpr>{  s.   è è € Ð7Ð7 w�—’ Ñ"Ô"Ð7Ð7Ð7Ð7Ð7Ð7r<   )
ÚpoprJ   rm   r?   ré  Úunsignedintegerr  r9  rl   r  )r®  ÚindsrB   r­  Ú	zeros_posÚposÚpos1Úpos2s           r:   Ú_same_sum_duplicater…  b  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˜‰~ ¨!¡ Ñ-Ð-r<   c                   óü   ‡ — e Zd Zddœˆ fd„
Zej                             d¬¦  «        d„ ¦   «         Zej                             d¬¦  «        d„ ¦   «         Zej                             d	¬¦  «        d
„ ¦   «         Z	ˆ xZ
S )Ú_NonCanonicalMixinF©Úsorted_indicesc                ó&  •— t          ¦   «         j        } ||g|¢R 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   rf   r  rä   Nrº   gñhãˆµøä>gH¯¼šò×z>)Úrtol)Úsuperrõ   r–   r  rl   r   r2  r(   Ú_insert_explicit_zeroÚ_arg1_for_noncanonicalrº   r?   rJ   ró   r›  r   r   r®  rü  )r�   rÃ  r‰  rN  rB   Ú	constructrx  Úzero_posÚ	has_zerosrÏ  r5  Úarg1ÚNCr‹  rx  s                 €r:   rõ   z_NonCanonicalMixin.spcreator„  sä  ø€ õ ‘G”GÔ%ˆ	ØˆI�aÐ)˜$Ð)Ð)Ð) &Ð)Ð)ˆà—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   Á<ACÃCÃCz"bool(matrix) counts explicit zerosr>  c                 ó   — d S r>   rW   r½   s    r:   r  z_NonCanonicalMixin.test_bool©  r  r<   z!getnnz-axis counts explicit zerosc                 ó   — d S r>   rW   r½   s    r:   r(  z#_NonCanonicalMixin.test_getnnz_axis­  r  r<   znnz counts explicit zerosc                 ó   — d S r>   rW   r½   s    r:   rb  z_NonCanonicalMixin.test_empty±  r  r<   )r²   r³   r´   rõ   r  rÁ  r  r  r(  rb  Ú__classcell__)rx  s   @r:   r‡  r‡  ƒ  sØ   ø€ € € € € Ø16ð #ð #ð #ð #ð #ð #ð #ðJ „[×ÒÐAÐÑBÔBðð ñ CÔBðð „[×ÒÐ@ÐÑAÔAðð ñ BÔAðð „[×ÒÐ8ÐÑ9Ô9ðð ñ :Ô9ðð ð ð ð r<   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­  r|  r$  )r�   rx  r‰  r®  r¬  r­  ÚstartÚstops           r:   rŽ  z3_NonCanonicalCompressedMixin._arg1_for_noncanonical·  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Ð$Ð$r<   c                 ó   — d|||f<   |S rk   rW   ©r�   rx  r�  rú  s       r:   r�  z2_NonCanonicalCompressedMixin._insert_explicit_zeroÁ  s   € Øˆˆ!ˆAˆ#‰Øˆr<   N)F)r²   r³   r´   rŽ  r�  rW   r<   r:   r™  r™  ¶  s7   € € € € € ð%ð %ð %ð %ðð ð ð ð r<   r™  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 )Nrs  rÝ  rÞ  r_  rï   rˆ  rß  )	r   rõ   rº   r  r   r  r¸  r“  rá  )
r?   r‰  rÃ  rQ   rx  r{  r�  rú  r  r�   s
            €r:   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r<   )FTrâ  )r�   r  r?   r‰  s   `   r:   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ð 	7r<   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  rf   )
rJ   r&   rõ   r–   r   r2  r(   r   r…  rf  )r�   rÃ  rQ   rR   r5  s        r:   Útest_setitem_sparsez(_NonCanonicalCSMixin.test_setitem_sparseÜ  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 r>   rW   r½   s    r:   r„  z_NonCanonicalCSMixin.test_inví  r  r<   z&solve broken with non-canonical matrixc                 ó   — d S r>   rW   r½   s    r:   r  z_NonCanonicalCSMixin.test_solveñ  r  r<   N)
r²   r³   r´   rã  r¥  r  rÁ  r2  r„  r  rW   r<   r:   r¡  r¡  Æ  s˜   € € € € € ð7ð 7ð 7ð*+ð +ð +ð" „[×Ò˜5Ð)SÐÑTÔTðð ñ UÔTðð „[×Ò˜5Ð)QÐÑRÔRðð ñ SÔRðð ð r<   r¡  c                   ó   — e Zd ZdS )ÚTestCSRNonCanonicalN©r²   r³   r´   rW   r<   r:   r©  r©  ö  ó   € € € € € Ø€Dr<   r©  c                   ó   — e Zd ZdS )ÚTestCSRNonCanonicalMatrixNrª  rW   r<   r:   r­  r­  ú  r«  r<   r­  c                   ó   — e Zd ZdS )ÚTestCSCNonCanonicalNrª  rW   r<   r:   r¯  r¯  þ  r«  r<   r¯  c                   ó   — e Zd ZdS )ÚTestCSCNonCanonicalMatrixNrª  rW   r<   r:   r±  r±    r«  r<   r±  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   rR  )r�  r†  rS  )r�   rx  r�  rú  r@   s        r:   r�  z)TestBSRNonCanonical._insert_explicit_zero  s2   € Ø�GŠG‰IŒIˆØˆˆ!ˆAˆ#‰Ø�wŠw ¤ˆwÑ-Ô-Ð-r<   Fz&diagonal broken with non-canonical BSRr  c                 ó   — d S r>   rW   r½   s    r:   rÙ  z!TestBSRNonCanonical.test_diagonal  r  r<   z"expm broken with non-canonical BSRc                 ó   — d S r>   rW   r½   s    r:   r€  zTestBSRNonCanonical.test_expm  r  r<   N)	r²   r³   r´   r�  r  rÁ  r2  rÙ  r€  rW   r<   r:   r³  r³    s‰   € € € € € ð.ð .ð .ð
 „[×Ò˜5Ð)QÐÑRÔRðð ñ SÔRðð „[×Ò˜5Ð)MÐÑNÔNðð ñ OÔNðð ð r<   r³  c                   ó   — e Zd ZdS )ÚTestBSRNonCanonicalMatrixNrª  rW   r<   r:   r¸  r¸    r«  r<   r¸  c                   ó"   — e Zd Zdd„Zd„ Zd„ ZdS )ÚTestCOONonCanonicalNc                 óV   — t          |j        |j        |j        ¦  «        \  }}}|||ffS )r›  )r…  r®  r¯  r°  )r�   rx  r‰  r®  r¯  r°  s         r:   rŽ  z*TestCOONonCanonical._arg1_for_noncanonical  s.   € å,¨Q¬V°Q´U¸A¼EÑBÔB‰ˆˆc�3Ø�c˜3�ZÐÐr<   c                 óh  — t           j        |j        j                             d¦  «        |j        f         |_        t           j        |j        j                             |¦  «        |j        f         |_        t           j        |j        j                             |¦  «        |j        f         |_        |S rk   )rJ   Úr_r®  r?   rD  r¯  r°  rŸ  s       r:   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ˆŒØˆr<   c                 óN  — |                       t          j        d¦  «        ¦  «        }|                     ¦   «          |                     ddgd¬¦  «         |                     ¦   «          t          t          j        t          j        |j        ¦  «        dk    ¦  «        ¦  «         d S )Nrð   rf   rä   rÎ  r   )	rõ   rJ   r&   rš  r  r   r(  rD  r°  r<  s     r:   Útest_setdiag_noncanonicalz-TestCOONonCanonical.test_setdiag_noncanonical%  s†   € Ø�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ	×ÒÑÔÐØ	�	Š	�1�a�&˜Aˆ	ÑÔÐØ	×ÒÑÔÐÝ•”•r”w˜qœu‘~”~¨Ò*Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r<   r>   )r²   r³   r´   rŽ  r�  r¿  rW   r<   r:   rº  rº    sF   € € € € € ð ð  ð  ð  ð
ð ð ð-ð -ð -ð -ð -r<   rº  c                   ó   — e Zd ZdS )ÚTestCOONonCanonicalMatrixNrª  rW   r<   r:   rÁ  rÁ  -  r«  r<   rÁ  c           	   #   óô  K  — | dk    r-t           t          t          t          t          t
          t          g}nF| dk    r-t          t          t          t          t          t          t          g}nt          d| ›d�¦  «        ‚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 )a�  Yield all tests for all formats that use get_index_dtype

    This is more than testing get_index_dtype. It allows checking whether upcasting
    or downcasting the index dtypes affects test results. The approach used here
    does not try to figure out which tests might fail due to 32/64-bit issues.
    We just run them all.
    So, each test method in that uses cases_64bit reruns most of the test suite!
    r)   Úspmatrixzparameter sp_api=z& is not one of 'sparray' or 'spmatrix'z%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)r€  r„  r  r£  r1  rr  ru  rI  r1  rÂ  Fr>  Ú
pytestmark)ru  r  r2  Úxslow)ÚmarksN)rP  r  r·  rJ  r6  r  rè  rx  r4  rÏ  r±  rN  rå  r  r  ÚsortedÚdirr‡   r4  r;  r  r  rÁ  r  rŽ   rL   Úparam)
Úsp_apiÚTEST_CLASSESÚ
SKIP_TESTSr  Úmethod_nameÚmethodrÆ  r6   ÚmarkersrÁ  s
             r:   Úcases_64bitrÐ  2  s¹  è è € ð �ÒÐÝ¥­'µ7½Gõ
 !¥'ðˆˆð 
�:Ò	Ð	Ý%¥}µmÝ&­å&­ðˆˆõ ÐU fÐUÐUÐUÑVÔVÐVð =Ø?Ø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r<   c            
       óª   — e Zd Zeeeeeee	e
eeg
Zd„ Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )Ú	Test64Bitc                 ó.  — t          j        |¦  «        }|j        dv r |j        j        |k    o|j        j        |k    S |j        dk    r |j        j        |k    o|j        j        |k    S |j        dk    r|j        j        |k    S t          d|›d�¦  «        ‚)N)r.  r/  r-  r[  ru  zmatrix z has no integer indices)	rJ   r?   rø   r¬  r­  r¯  r°  r±  r  )r�   r£  r?   s      r:   Ú_compare_index_dtypezTest64Bit._compare_index_dtyper  sš   € Ý”˜‘”ˆØŒ8Ð,Ð,Ð,Ø”I”O uÒ,ÐK°1´8´>ÀUÒ3JÐKØŒX˜ÒÐØ”E”K 5Ò(ÐD¨q¬u¬{¸eÒ/CÐDØŒX˜ÒÐØ”I”O uÒ,Ð-åÐC qÐCÐCÐCÑDÔDÐDr<   c                 óh   ‡ — t          d¬¦  «        ˆ fd„¦   «         }‰ j        D ]} ||¦  «         Œd S )NrV   ©rr   c                 ó`  •—  | t           j                             dd¦  «        ¦  «        }t          ‰                     |t           j        ¦  «        ¦  «          | t           j                             dd¦  «        ¦  «        }t          ‰                     |t           j        ¦  «        ¦  «         d S )NrV   rä   r  )rJ   r‘   r4  r   rÔ  r[   rg   )Úmat_clsr£  r�   s     €r:   r  z4Test64Bit.test_decorator_maxval_limit.<locals>.check�  s‡   ø€ à��œ	Ÿš r¨1Ñ-Ô-Ñ.Ô.ˆAÝ�D×-Ò-¨aµ´Ñ:Ô:Ñ;Ô;Ð;Ø��œ	Ÿš r¨1Ñ-Ô-Ñ.Ô.ˆAÝ�D×-Ò-¨aµ´Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r<   ©r”   ÚMAT_CLASSES©r�   r  rØ  s   `  r:   Útest_decorator_maxval_limitz%Test64Bit.test_decorator_maxval_limit}  sa   ø€ õ 
!¨bÐ	1Ñ	1Ô	1ð	<ð 	<ð 	<ð 	<ñ 
2Ô	1ð	<ð Ô'ð 	ð 	ˆGØˆE�'‰NŒNˆNˆNð	ð 	r<   c                 óh   ‡ — t          d¬¦  «        ˆ fd„¦   «         }‰ j        D ]} ||¦  «         Œd S )NT©r‘   c                 ó6  •— d}d}t          d¦  «        D ]v} | t          j                             dd¦  «        ¦  «        }|p‰                     |t          j        ¦  «        }|p‰                     |t          j        ¦  «        }|r|r d S Œwt          d¦  «        ‚)NFrX  rß  z#both 32 and 64 bit indices not seen)r  rJ   r‘   r4  rÔ  r[   rg   rt   )rØ  Úseen_32Úseen_64rÏ  r£  r�   s        €r:   r  z5Test64Bit.test_decorator_maxval_random.<locals>.check�  s¡   ø€ àˆGØˆGÝ˜3‘Z”Zð Lð L�Ø�G�BœIŸNšN¨1¨aÑ0Ô0Ñ1Ô1�Ø!ÐK T×%>Ò%>¸qÅ"Ä(Ñ%KÔ%K�Ø!ÐK T×%>Ò%>¸qÅ"Ä(Ñ%KÔ%K�Øð ˜wð Ø�E�Eøå$Ð%JÑKÔKÐKr<   rÙ  rÛ  s   `  r:   Útest_decorator_maxval_randomz&Test64Bit.test_decorator_maxval_random‹  sf   ø€ õ 
!¨Ð	-Ñ	-Ô	-ð
	Lð 
	Lð 
	Lð 
	Lñ 
.Ô	-ð
	Lð Ô'ð 	ð 	ˆGØˆE�'‰NŒNˆNˆNð	ð 	r<   c                 ót  — t          t          j        d¬¦  «        d„ ¦   «         }t          t          j        ¬¦  «        d„ ¦   «         } |t          t          t
          ¦  «          |t          t          t
          ¦  «          |t          t          t          ¦  «          |t          t          t          ¦  «         d S )Nrä   )rb   rw   c                 óÌ  —  | ddgddgddgg¦  «        }t          t          |j        d¬¦  «         t          t          |j        d¬¦  «          |g d	¢g d
¢g¦  «        }t          t          |j        d¬¦  «         t          t          |j        d¬¦  «          |g d	¢g d¢g¦  «        }t          t          |j        d¬¦  «         d|_        t          t          |j        ¦  «         d S ©Nrä   rf   rð   r�  rˆ  rî   r]  r   rÛ  )rð   r�  rî   r\  F)r  rt   ra  r1  r™  rš  ©rþ   rÿ   rý   rN   s       r:   Úcheck_limitedz3Test64Bit.test_downcast_intp.<locals>.check_limited§  sò   € ð �  1˜v¨¨1 v°°1¨vÐ6Ñ7Ô7ˆAÝ�.¨!¬/ÀÐBÑBÔBÐBÝ�.¨!¬%°aÐ8Ñ8Ô8Ð8à�˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ˆAÝ�.¨!¬/ÀÐBÑBÔBÐBÝ�.¨!¬%°aÐ8Ñ8Ô8Ð8à�˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ˆAÝ�.¨!¬/ÀÐBÑBÔBÐBØ%*ˆAÔ"Ý�.¨!Ô*:Ñ;Ô;Ð;Ð;Ð;r<   ©rb   c                 ó„  —  | ddgddgddgg¦  «        }|                      d¬¦  «         |                     d¬¦  «          |g d	¢g d
¢g¦  «        }|                      d¬¦  «         |                     d¬¦  «          |g d	¢g d¢g¦  «        }|                      d¬¦  «         d|_        |                     ¦   «          d S rå  )ra  r1  r™  rš  ræ  s       r:   Úcheck_unlimitedz5Test64Bit.test_downcast_intp.<locals>.check_unlimited·  sÜ   € ð �  1˜v¨¨1 v°°1¨vÐ6Ñ7Ô7ˆAØ�OŠO ˆOÑ#Ô#Ð#Ø�EŠE�qˆE‰MŒMˆMà�˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ˆAØ�OŠO ˆOÑ#Ô#Ð#Ø�EŠE�qˆE‰MŒMˆMà�˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ˆAØ�OŠO ˆOÑ#Ô#Ð#Ø%*ˆAÔ"Ø×ÒÑÔÐÐÐr<   )	r”   rJ   rg   r   r    r"   r   r   r   )r�   rç  rê  s      r:   Útest_downcast_intpzTest64Bit.test_downcast_intpŸ  s¯   € õ 
!­R¬XÀqÐ	IÑ	IÔ	Ið	<ð 	<ñ 
JÔ	Ið	<õ 
!­R¬XÐ	6Ñ	6Ô	6ð	ð 	ñ 
7Ô	6ð	ð 	ˆ•i¥­IÑ6Ô6Ð6Øˆ�	¥9­iÑ8Ô8Ð8Øˆ•j¥*­jÑ9Ô9Ð9Øˆ�
¥Jµ
Ñ;Ô;Ð;Ð;Ð;r<   N)r²   r³   r´   r   r   r   r   r   r%   r"   r   r    r$   rÚ  rÔ  r  rÁ  Úthread_unsaferÜ  râ  rë  rW   r<   r:   rÒ  rÒ  k  s¨   € € € € € ð 	�J 
¨J¸
Ø�9˜i¨°Ið€Kð
	Eð 	Eð 	Eð „[Ôðð ñ Ôðð „[Ôðð ñ Ôðð& „[Ôð*<ð *<ñ Ôð*<ð *<ð *<r<   rÒ  c                   ó   — e Zd Zd„ ZdS )ÚRunAll64Bitc                 ó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µ  rñ  r‡   rò  )r  rÍ  Úinstances      r:   r  z,RunAll64Bit._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rW   )r”   )r�   r  rÍ  rŠ   r  s        r:   Ú_check_resiliencyzRunAll64Bit._check_resiliencyÐ  sF   € õ 
!Ð	&Ð	& 2Ð	&Ð	&ð	/ð 	/ñ 
'Ô	&ð	/ð 	ˆˆc�;ÑÔÐÐÐr<   N)r²   r³   r´   rô  rW   r<   r:   rî  rî  Ï  s#   € € € € € ð ð  ð  ð  ð  r<   rî  c                   ó¶  — e Zd Zej                             d ed¦  «        ¦  «        d„ ¦   «         Zej                             d¦  «        ej                             d ed¦  «        ¦  «        d„ ¦   «         ¦   «         Z	ej                             d ed¦  «        ¦  «        d„ ¦   «         Z
ej                             d ed¦  «        ¦  «        d„ ¦   «         ZdS )	ÚTest64BitArrayúcls,method_namer)   c                 ó6   — |                       ||d¬¦  «         d S ©NrV   rÖ  ©rô  ©r�   r  rÍ  s      r:   Útest_resiliency_limit_10z'Test64BitArray.test_resiliency_limit_10ç  ó#   € à×Ò˜s K¸bÐÑAÔAÐAÐAÐAr<   rf   c                 ó6   — |                       ||d¬¦  «         d S ©NTrÞ  rú  rû  s      r:   Útest_resiliency_randomz%Test64BitArray.test_resiliency_randomë  ó%   € ð 	×Ò˜s K¸ÐÑ=Ô=Ð=Ð=Ð=r<   c                 óJ   — |                       ||t          j        ¬¦  «         d S ©Nrè  ©rô  rJ   r[   rû  s      r:   Útest_resiliency_all_32z%Test64BitArray.test_resiliency_all_32ó  ó%   € à×Ò˜s K½R¼XÐÑFÔFÐFÐFÐFr<   c                 óJ   — |                       ||t          j        ¬¦  «         d S r  ©rô  rJ   rg   rû  s      r:   Útest_resiliency_all_64z%Test64BitArray.test_resiliency_all_64÷  r  r<   N)r²   r³   r´   r  rÁ  ÚparametrizerÐ  rü  rF  r   r  r	  rW   r<   r:   rö  rö  â  s"  € € € € € ð
 „[×ÒÐ.°°¸IÑ0FÔ0FÑGÔGðBð Bñ HÔGðBð „[×Ò˜1ÑÔØ„[×ÒÐ.°°¸IÑ0FÔ0FÑGÔGð>ð >ñ HÔGñ Ôð>ð „[×ÒÐ.°°¸IÑ0FÔ0FÑGÔGðGð Gñ HÔGðGð „[×ÒÐ.°°¸IÑ0FÔ0FÑGÔGðGð Gñ HÔGðGð Gð Gr<   rö  c                   óP  — e Zd Zej                             d¦  «        ej                             d ed¦  «        ¦  «        d„ ¦   «         ¦   «         Zej                             d ed¦  «        ¦  «        d„ ¦   «         Z	ej                             d¦  «        ej                             d ed¦  «        ¦  «        d„ ¦   «         ¦   «         Z
ej                             d ed¦  «        ¦  «        d„ ¦   «         Zej                             d ed¦  «        ¦  «        d	„ ¦   «         Zd
S )ÚTest64BitMatrixrˆ  r÷  rÃ  c                 ó6   — |                       ||d¬¦  «         d S )NT)r“   rú  rû  s      r:   Ú
test_no_64zTest64BitMatrix.test_no_64ÿ  s%   € ð 	×Ò˜s K¸dÐÑCÔCÐCÐCÐCr<   c                 ó6   — |                       ||d¬¦  «         d S rù  rú  rû  s      r:   rü  z(Test64BitMatrix.test_resiliency_limit_10  rý  r<   rf   c                 ó6   — |                       ||d¬¦  «         d S rÿ  rú  rû  s      r:   r   z&Test64BitMatrix.test_resiliency_random
  r  r<   c                 óJ   — |                       ||t          j        ¬¦  «         d S r  r  rû  s      r:   r  z&Test64BitMatrix.test_resiliency_all_32  r  r<   c                 óJ   — |                       ||t          j        ¬¦  «         d S r  r  rû  s      r:   r	  z&Test64BitMatrix.test_resiliency_all_64  r  r<   N)r²   r³   r´   r  rÁ  rF  r
  rÐ  r  rü  r   r  r	  rW   r<   r:   r  r  ü  sz  € € € € € ð „[×Ò˜1ÑÔØ„[×ÒÐ.°°¸JÑ0GÔ0GÑHÔHðDð Dñ IÔHñ ÔðDð
 „[×ÒÐ.°°¸JÑ0GÔ0GÑHÔHðBð Bñ IÔHðBð „[×Ò˜1ÑÔØ„[×ÒÐ.°°¸JÑ0GÔ0GÑHÔHð>ð >ñ IÔHñ Ôð>ð „[×ÒÐ.°°¸JÑ0GÔ0GÑHÔHðGð Gñ IÔHðGð „[×ÒÐ.°°¸JÑ0GÔ0GÑHÔHðGð Gñ IÔHðGð Gð Gr<   r  c                  óx  — t          j        g d¢g¦  «        } t          j        dgdgdgg¦  «        }t          j        g d¢g d¢g¦  «        }t          j        dgg¦  «        }t          j        dgg¦  «        }t          j        g d¢g¦  «        }t          t          t          t
          fD �]�} || ¦  «                             d¦  «        } ||¦  «                             d	¦  «        } ||¦  «                             d¦  «        }	 ||¦  «                             d
¦  «        }
 ||¦  «                             d¦  «        } ||¦  «                             d¦  «        }t          |                     ¦   «         t          j	        | d¦  «        ¦  «         t          |                     ¦   «         t          j	        |d	¦  «        ¦  «         t          |	                     ¦   «         |¦  «         t          |
                     ¦   «         t          j	        |d
¦  «        ¦  «         t          |                     ¦   «         t          j	        |d¦  «        ¦  «         t          |                     ¦   «         t          j	        |d¦  «        ¦  «         t          j        t          d¬¦  «        5   |g d¢g d¢g¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   |g d¢g¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   �Œ‘d S )NrÊ  rä   r   rf   rÌ  rÝ  ré  rõ  rð  r  rÓ  r½  zcannot be broadcastrd  )rä   rf   r   r  r5  ro  r*  rµ  )rJ   r   r   r   r   r    Ú_broadcast_tor   r–   Úbroadcast_tor  r   r  )rN   rS   r   r  r¡  r¢  Ú	containerÚres_aÚres_bÚres_cÚres_dÚres_eÚres_fs                r:   Útest_broadcast_tor    sT  € Ý
Œ�)�)�)�ÑÔ€AÝ
Œ�1�#˜�s˜Q˜C�Ñ!Ô!€AÝ
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ
Œ�1�#�‰Œ€AÝ
Œ�1�#�‰Œ€AÝ
Œ�)�)�)�ÑÔ€AÝ ¥)­Z½ÐCð ?ñ ?ˆ	Ø�	˜!‘”×*Ò*¨5Ñ1Ô1ˆØ�	˜!‘”×*Ò*¨5Ñ1Ô1ˆØ�	˜!‘”×*Ò*¨5Ñ1Ô1ˆØ�	˜!‘”×*Ò*¨5Ñ1Ô1ˆØ�	˜!‘”×*Ò*¨5Ñ1Ô1ˆØ�	˜!‘”×*Ò*¨5Ñ1Ô1ˆÝ˜5Ÿ=š=™?œ?­B¬O¸A¸uÑ,EÔ,EÑFÔFÐFÝ˜5Ÿ=š=™?œ?­B¬O¸A¸uÑ,EÔ,EÑFÔFÐFÝ˜5Ÿ=š=™?œ?¨AÑ.Ô.Ð.Ý˜5Ÿ=š=™?œ?­B¬O¸A¸uÑ,EÔ,EÑFÔFÐFÝ˜5Ÿ=š=™?œ?­B¬O¸A¸uÑ,EÔ,EÑFÔFÐFÝ˜5Ÿ=š=™?œ?­B¬O¸A¸uÑ,EÔ,EÑFÔFÐFåŒ]�:Ð-BÐCÑCÔCð 	Jð 	JØˆI�y�y�y ) ) )Ð,Ñ-Ô-×;Ò;À&Ð;ÑIÔIÐIð	Jð 	Jð 	Jñ 	Jô 	Jð 	Jð 	Jð 	Jð 	Jð 	Jð 	Jøøøð 	Jð 	Jð 	Jð 	Jõ Œ]�:Ð-BÐCÑCÔCð 	?ð 	?ØˆI�y�y�y�kÑ"Ô"×0Ò0°vÐ0Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ùð#?ð ?s$   Ê&&KËK	ËK	Ë>#L-Ì-L1	Ì4L1	r>   )NFNNF)T)	TTTTTTTTT)Œrû   Ú
contextlibr.  r2  rì  r/  Úsysr  r   r  ÚnumpyrJ   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r‘   Únumpy.testingr   r   r   r   r   r   r   Úscipy.linalgr{   r  r|   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Úscipy.sparse._baser*   Úscipy.sparse._sputilsr+   r,   r-   r.   r/   Úscipy.sparse.linalgr0   r1   r2   Úscipy._lib.decoratorr3   Úscipy._lib._utilr4   rŒ   rv  r;   rC   Ú	frozensetr¼  rT   r3  r2  r”   r–   r˜   r¶   rÊ   rá   r  rÄ  rÚ  rÁ  rì  rþ  r  rH  rc  Úcontextmanagerr–  r˜  r­  rµ  rÓ  ré  r#  r8  rH  rJ  r  r±  r·  rÏ  r  rå  rè  r  r  r4  r6  rN  rP  rx  r…  r‡  r™  r¡  r©  r­  r¯  r±  r³  r¸  rº  rÁ  rÐ  rÒ  rî  rÂ  rö  r  r  rW   r<   r:   ú<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ð 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ð ð ð ð ñ ô ð ð4ð ð ð ð ñ ô ð ðDc7ð c7ð c7ð c7ð c7ñ c7ô c7ð c7ðL?Bð Bð Bð Bð Bñ Bô Bð BðJc+ð c+ð c+ð c+ð c+ñ c+ô c+ð c+ðL „Ôð%ð %ð %ð %ð %ñ %ô %ñ Ôð%ð.@ð @ð @ð @ð @ñ @ô @ð @ðF
MKð MKð MKð MKð MKñ MKô MKð MKð`Y0ð Y0ð Y0ð Y0ð Y0ñ Y0ô Y0ð Y0ðx Ôð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ðF]5ð ]5ð ]5ð ]5ð ]5ñ ]5ô ]5ð ]5ð@	2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð:ð ð ð ð8 AEØ8<ØJNØ,0ð%'ð %'ð %'ð %'ðXC&ð C&ð C&ð C&ð C&ÐÐÑ!Ô!ñ C&ô C&ð C&ðL × Ò Ñ Ô Ð ð/ð /ð /ð /ð /�L 'ñ /ô /ð /ð × Ò Ñ Ô Ð ðWð Wð Wð Wð WÐÐÑ!Ô!ñ Wô Wð Wðt × Ò Ñ Ô Ð ð/ð /ð /ð /ð /�L 'ñ /ô /ð /ð × Ò Ñ Ô Ð ð_Bð _Bð _Bð _Bð _BÐÐ u°uÐ=Ñ=Ô=ñ _Bô _Bð _BðDð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðmð mð mð mð mÐÐ uÐ-Ñ-Ô-ñ mô mð mð`ð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðGMð GMð GMð GMð GMÐÐ uØ(-¸eØ/4À5ðJñ Jô Jñ GMô GMð GMðTð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðG>ð G>ð G>ð G>ð G>ÐÐ u°eÈEØ/4À5Ø',°uð>ñ >ô >ñ G>ô G>ð G>ðTð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðfð fð fð fð fÐÐ uØ(-¸eØ/4À5Ø).ð0ñ 0ô 0ñ fô fð fðRð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ð.ð .ð .ðB0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ðfð ð ð ð Ð#5ñ ô ð ð -ð -ð -ð -ð -Ð7ñ -ô -ð -ð`	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ðð ð ð ð Ð6¸ñ ô ð ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ð-ð -ð -ð -ð -Ð,¨gñ -ô -ð -ð(	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ð
6Bð 6Bð 6Bðr_<ð _<ð _<ð _<ð _<ñ _<ô _<ð _<ðH ð  ð  ð  ð  ñ  ô  ð  ð& „ÔØ„ÔðGð Gð Gð Gð G�[ñ Gô Gñ Ôñ ÔðGð0 „ÔðGð Gð Gð Gð G�kñ Gô Gñ ÔðGð:?ð ?ð ?ð ?ð ?r<   