§
    fŠtjÂl ã                   ó>
  — 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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! ddl"m#Z# ddl$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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< dd	l=m>Z> dd
l?m@Z@mAZAmBZBmCZCmDZD ddlEmFZFmGZGmHZH dejI        v ZJd~d„ZKd„ ZL eMdg¦  «        ZNdZOd„ ZP	 	 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         [                    d#¬$¦  «         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 d0„ d1¦  «        Zc G d2„ d3¦  «        Zd G d4„ d5¦  «        Ze G d6„ d7¦  «        Zf G d8„ d9¦  «        Zgd€d;„Zh	 	 	 	 d�d<„Zi G d=„ d>¦  «        Zj G d?„ d@ej ei¦   «         ¦  «        Zkek l                    ¦   «           G dA„ dBeVek¦  «        ZmdC„ Znem l                    ¦   «           G dD„ dEej ei¦   «         ¦  «        Zoeo l                    ¦   «           G dF„ dGeVeo¦  «        Zpep l                    ¦   «           G dH„ dI eidd¬J¦  «        ¦  «        Zq G dK„ dLeVeq¦  «        Zreq l                    ¦   «          er l                    ¦   «           G dM„ dN eid¬O¦  «        ¦  «        Zs G dP„ dQeVes¦  «        Ztes l                    ¦   «          et l                    ¦   «           G dR„ dS¦  «        Zu G dT„ dUeu eid:d:d:d:d:¬V¦  «        ¦  «        Zv G dW„ dXeVeu eiddddd¬V¦  «        ¦  «        Zwev l                    ¦   «          ew l                    ¦   «          dY„ Zx G dZ„ d[ eiddddddd¬\¦  «        ¦  «        Zy G d]„ d^eVey¦  «        Zzey l                    ¦   «          ez l                    ¦   «           G d_„ d` eidddddd¬a¦  «        ¦  «        Z{ G db„ dceVe{¦  «        Z|e{ l                    ¦   «          e| l                    ¦   «          dd„ Z} G de„ df¦  «        Z~ G dg„ dhe~¦  «        Z G di„ dje¦  «        Z€ G dk„ dle€ek¦  «        Z� G dm„ dne�em¦  «        Z‚ G do„ dpe€eo¦  «        Zƒ G dq„ dreƒep¦  «        Z„ G ds„ dtee{¦  «        Z… G du„ dve…e|¦  «        Z† G dw„ dxe~¦  «        Z‡ G dy„ dze‡ev¦  «        Zˆ G d{„ d|e‡ew¦  «        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)ÚComplexWarning)ÚGenericAlias)Ú
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Úspmatrix)Ú_formats)Úsupported_dtypesÚisscalarlikeÚget_index_dtypeÚasmatrixÚmatrix)ÚspluÚexpmÚinvzgoogle.colabc                 óB   — |�|n| ›d|›�}t          | |v |¬¦  «         d S )Nz not found in )Úmsg)r   )ÚmemberÚ
collectionr6   Úmessages       úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_base.pyÚ	assert_inr;   4   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   9   s7   € ÝˆAŒG�q”wÒÑÔÐÝ�q˜!Ð&Ð&˜vÐ&Ð&Ð&Ð&Ð&r<   ÚdokzChanging the sparsity structurec                 ó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_arraysE   sY   € ð ˆØ”×"Ò"Ñ$Ô$ð 	!ð 	!ˆAÝ˜!�RœZ­"¬*Ñ4Ñ5Ô5ð !Ø—’˜aÑ Ô Ð øØˆr<   TF)rJ   Úmay_share_memory)ÚAÚBrO   rN   Úbs        r:   Úsparse_may_share_memoryrT   B   sv   € ðð ð ð  Ð Ñ"Ô"ð ð ˆØ#Ð# AÑ&Ô&ð 	ð 	ˆAÝÔ" 1 aÑ(Ô(ð Ø�t�t�tðð	ð ˆ5r<   Fc                 ó   ‡ ‡‡‡‡‡— ‰ €t          j        d¦  «        Š nt          j        ‰ ¦  «        Š |rdd„Šn7‰�dˆfd„	Šn.|r&t           j                             d¦  «        Šdˆfd„	Šndˆ fd	„	Š‰�ˆfd
„Šˆˆˆ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_dtypee   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_dtypek   s	   ø€ ØÐr<   éÒ  c                 óf   •— t           j        t           j        f‰                     d¦  «                 S )Né   )rJ   r[   Úint64Úintegers)rM   r]   r^   Úrngs      €r:   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypeo   s!   ø€ Ý”H�bœhÐ'¨¯ª°Q©¬Ô8Ð8r<   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[   rf   r   r?   ÚsizeÚ
issubdtypeÚintegerrZ   Úmin)rM   r]   r^   r?   ÚarrÚminvalÚmaxval_limits         €r:   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtyper   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)ro   Ú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
Št          j        ‰ ¦  «        ˆˆˆ ˆˆˆfd„¦   «         }|S )Nc            
      ó~  •— 	 ‰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)rL   ÚgetattrÚsetattr)rN   ÚkwÚmodÚnameÚoldfuncÚbackuprv   ÚfuncÚmodulesrw   r`   s        €€€€€€r:   Úwrapperz;with_64bit_maxval_limit.<locals>.decorator.<locals>.wrapper”   s(  ø€ ð4Ø"ð Uð U�CØ—M’MØØ)Ý Ð%6¸Ñ=Ô=ð#ñ ô ð õ
 ˜CÐ!2Ð4GÑHÔHÐHà&Ð2ØŸšØØ1Ý# CÐ)>ÀÑEÔEð'ñ ô ð õ
   Ð%:Ð<SÑTÔTÐTøà�t˜Q�~ "�~�~à*0ð 4ð 4Ñ&�C˜˜wØÐ*Ý  T¨7Ñ3Ô3Ð3øð4ø¨&ð 4ð 4Ñ&�C˜˜wØÐ*Ý  T¨7Ñ3Ô3Ð3øð4øøøs   ƒA>B ÂB<)ÚscipyÚsparseÚ_bsrÚ_cooÚ_cscÚ_csrÚ_diaÚ_dokÚ_lilÚ_sputilsÚ_compressedÚ
_constructÚ	functoolsÚwraps)r‚   r„   r�   rƒ   rv   rw   r`   s   ` @@€€€r:   Ú	decoratorz*with_64bit_maxval_limit.<locals>.decorator�   s­   øøøø€ ØˆÝ”<Ô$¥e¤lÔ&7½¼Ô9JÝ”<Ô$¥e¤lÔ&7½¼Ô9JÝ”<Ô$¥e¤lÔ&;Ý”<Ô+­U¬\Ô-DðFˆõ
 
Œ˜Ñ	Ô	ð	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ñ 
Ô	ð	4ð. ˆr<   )rW   NF)rJ   rf   ÚrandomÚdefault_rng)	rq   r”   rb   rv   Úassert_32bitr“   rw   r`   rh   s	   ` ``  @@@r:   Úwith_64bit_maxval_limitr—   V   s'  øøøøøø€ ð ÐÝ”x ‘|”|ˆˆõ ”x Ñ-Ô-ˆàð !ð	ð 	ð 	ð 	ð 	ð
 
Ð	 ð	ð 	ð 	ð 	ð 	ð 	ð 	à	ð ÝŒi×#Ò# DÑ)Ô)ˆð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð	ð 	ð 	ð 	ð 	ð 	ð* Ð"ð	'ð 	'ð 	'ð 	'ð 	'ð
ð ð ð ð ð ð ð@ Ðr<   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?   re   é   Úfloat64Úint16Úfloat32Ú
complex128)
Ú	spcreatorr   Úreshaper   Úasfptyper?   rJ   Úformatrt   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Ústaticmethodr0   Ú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/d„ Z0e1j2        j3        d„ ¦   «         Z4d„ Z5d„ Z6d„ Z7d „ Z8d!„ Z9d"„ Z:d#„ Z;d$„ Z<d%„ Z=d&„ Z>d'„ Z?d(„ Z@d)„ ZAd*„ ZBd+„ ZCd,„ ZDd-„ ZEd.„ ZFd/„ ZGd0„ ZHd1„ ZId2„ ZJd3„ ZKd4„ ZLd5„ ZMd6„ ZNd7„ ZOd8„ ZPd9„ ZQd:„ ZRd;„ ZSd<„ ZTd=„ ZUd>„ ZVd?„ ZWd@„ ZXdA„ ZYdB„ ZZdC„ Z[dD„ Z\dE„ Z]dF„ Z^dG„ Z_dH„ Z`dI„ ZadJ„ ZbdK„ ZcdL„ ZddM„ ZedN„ ZfdO„ ZgdP„ ZhdQ„ ZidR„ ZjdS„ ZkdT„ ZldU„ ZmdV„ ZndW„ ZodX„ ZpdY„ ZqdZ„ Zrd[„ Zsd\S )]Ú_TestCommonz6test common functionality shared by all sparse formatsc                 óî  — t          g d¢g d¢g d¢gd¦  «        | _        |                      | j        ¦  «        | _        t	          t
          ¦  «                             | j        ¦  «        | _        i | _	        i | _
        | j        D ]Y}| j                             |¦  «        | j	        |<   |                      | j                             |¦  «        ¦  «        | j
        |<   ŒZt          | j        | j	        t          j                 ¦  «         t          | j                             ¦   «         | j
        t          j                                      ¦   «         ¦  «         t!          | j        t"          ¦  «        | _        d S )N)rç   r   r   re   )ró   r   rç   r   )r   re   r   r   Úd)r   rë   rø   ré   Úsetr-   ÚunionÚmath_dtypesÚchecked_dtypesÚ
dat_dtypesÚdatsp_dtypesrt   r   rJ   rô   r™   rI   r*   Úis_array_test)Úclsr?   s     r:   Ú
init_classz_TestCommon.init_class>  s;  € õ ˜˜˜ | | |°\°\°\ÐBÀCÑHÔHˆŒØ—M’M #¤'Ñ*Ô*ˆŒ	õ
 !Õ!1Ñ2Ô2×8Ò8¸¼ÑIÔIˆÔØˆŒØˆÔØÔ'ð 	Kð 	KˆEØ$'¤G§N¢N°5Ñ$9Ô$9ˆCŒN˜5Ñ!Ø&)§m¢m°C´G·N²NÀ5Ñ4IÔ4IÑ&JÔ&JˆCÔ˜UÑ#Ð#õ 	�S”W˜cœn­R¬ZÔ8Ñ9Ô9Ð9Ý�S”Y×&Ò&Ñ(Ô(ØÔ%¥b¤jÔ1×9Ò9Ñ;Ô;ñ	=ô 	=ð 	=õ ' 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>.checkW  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_boolV  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_rolloverc  so   € õ �d˜E�]�OÑ$Ô$ˆØ—’˜sÑ#Ô#ˆå�r‘”ð 	ð 	ˆAØ˜E‘MˆEØ˜‘)ˆCˆCÝ˜3 §¢¡¤Ñ0Ô0Ð0Ð0Ð0r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó   •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰	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 d d ¦  «         d S # 1 swxY w Y   d S ©NÚignorer   rç   )ÚwarningsÚcatch_warningsÚsimplefilterr)   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>.checkp  s‘  ø€ ÝÔ(Ñ*Ô*ð Fð FÝÔ% hÕ0GÑHÔHÐHÝÔ% hµÑ?Ô?Ð?Ø”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�õ )¨°ª°uÀ²×6OÒ6OÑ6QÔ6QÑRÔRÐRå(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSå(¨°ª¸À#ºÑFÔFÐFå(¨°ª°E¸Q²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨°ª°E¸Q²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨µ´ªØ*/µ2´6ª/×)BÒ)BÑ)DÔ)DñFô Fð Fð3Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs   •II3É3I7É:I7©ÚbsrÚcscÚcsrú8Bool comparisons only implemented for BSR, CSC, and CSR.©ré   rû   r  r  r  r  s   `  r:   Útest_eqz_TestCommon.test_eqn  sp   ø€ ð	Fð 	Fð 	Fð 	Fð 	Fð: Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó¨  •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰	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 d d ¦  «         d S # 1 swxY w Y   d S r'  )r)  r*  r+  r)   r   r  r  r,  rø   r   r  r  r  rC   r™   rJ   r-  )
r?   rë   ré   r.  r/  r0  r2  r1  r3  r    s
            €r:   r  z"_TestCommon.test_ne.<locals>.check“  sÙ  ø€ ÝÔ(Ñ*Ô*ð Fð FÝÔ% hÕ0GÑHÔHÐHÝÔ% hµÑ?Ô?Ð?Ø”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�õ )¨°ª°uÀ²×6OÒ6OÑ6QÔ6QÑRÔRÐRå(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSÝ(¨°ª°vÀÒ7G×6PÒ6PÑ6RÔ6RÑSÔSÐSå(¨°ª¸À#ºÑFÔFÐFå(¨°ª°E¸Q²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨°ª°E¸Q²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨¨cª°A¸²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨¨cª°A¸²J×3GÒ3GÑ3IÔ3IÑJÔJÐJÝ(¨µ´ªØ*/µ2´6ª/×)BÒ)BÑ)DÔ)DñFô Fð Fð7Fð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fs   •J%KËKËKr4  r8  r9  r  s   `  r:   Útest_nez_TestCommon.test_ne’  sp   ø€ ð	Fð 	Fð 	Fð 	Fð 	Fð> Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó®   — | j         j        dvrt          j        d¦  «         | j         | j         j        k    du sJ ‚| j         | j         j        k    du sJ ‚d S )Nr4  r8  FT)ré   rû   r  r  ÚTrÀ   s    r:   Útest_eq_ne_different_shapesz'_TestCommon.test_eq_ne_different_shapes·  sb   € ØŒ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSà”
˜dœjœlÒ*¨uÐ4Ð4Ð4Ð4Ø”
˜dœjœlÒ*¨tÐ3Ð3Ð3Ð3Ð3Ð3r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó˜  •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰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 d d ¦  «         d S # 1 swxY w Y   d S ©Nr(  r   ù      ð?      ð?)re   rç   r   rè   éþÿÿÿ©Úinvalid©r)  r*  r+  r)   r   r  r  r,  rø   rt   Úcomplexr   r  r  r  rC   r™   rJ   rf   Úerrstater-  ©r?   rë   ré   r.  r/  Ú
datcomplexÚdatspcomplexr0  r2  r1  r3  Úvalr    s               €r:   r  z"_TestCommon.test_lt.<locals>.check¿  s‡  ø€ ÝÔ(Ñ*Ô*ð 4Eð 4EÝÔ% hÕ0GÑHÔHÐHÝÔ% hµÑ?Ô?Ð?à”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�Ø ŸZšZ­Ñ0Ô0�
Ø"(�
˜1˜1˜1˜Q˜3‘Ø#Ÿ~š~¨jÑ9Ô9�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�õ )¨¨tª°e¸f²n×5MÒ5MÑ5OÔ5OÑPÔPÐPÝ(¨°dÒ):Ø*6¸Ò*?×)HÒ)HÑ)JÔ)JñLô Lð Lõ )¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQå(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQå(¨¨tª°U¸T²\ÑBÔBÐBÝ(¨°dÒ):¸LÈ4Ò<OÑPÔPÐPà,ð Qð Q�CÝœ( 3™-œ-�CÝ,¨e°cªk×-BÒ-BÑ-DÔ-DÀcÈCÂiÑPÔPÐPÝ,¨c°Eªk×-BÒ-BÑ-DÔ-DÀcÈCÂiÑPÔPÐPÐPå”[¨Ð2Ñ2Ô2ð ;ð ;Ý,¨eµb´fªn×-EÒ-EÑ-GÔ-GØ-0µ2´6ª\ñ;ô ;ð ;ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð
 ”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�õ )¨¨vª°u¸t²|ÑDÔDÐDði4Eð 4Eð 4Eñ 4Eô 4Eð 4Eð 4Eð 4Eð 4Eð 4Eð 4Eð 4Eøøøð 4Eð 4Eð 4Eð 4Eð 4Eð 4Eó7   •M#P?Í8?OÎ7P?ÏO	ÏP?Ï
O	ÏA'P?Ð?QÑQr4  r8  r9  r  s   `  r:   Útest_ltz_TestCommon.test_lt¾  sq   ø€ ð5	Eð 5	Eð 5	Eð 5	Eð 5	Eðn Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 ó˜  •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰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 d d ¦  «         d S # 1 swxY w Y   d S rC  rH  rK  s               €r:   r  z"_TestCommon.test_gt.<locals>.checkü  s‡  ø€ ÝÔ(Ñ*Ô*ð 3Eð 3EÝÔ% hÕ0GÑHÔHÐHÝÔ% hµÑ?Ô?Ð?Ø”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�Ø ŸZšZ­Ñ0Ô0�
Ø"(�
˜1˜1˜1˜Q˜3‘Ø#Ÿ~š~¨jÑ9Ô9�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�õ )¨¨tª°e¸f²n×5MÒ5MÑ5OÔ5OÑPÔPÐPÝ(¨°dÒ):Ø*6¸Ò*?×)HÒ)HÑ)JÔ)JñLô Lð Lõ )¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨¨tª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQå(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQÝ(¨°ª°f¸v²o×5NÒ5NÑ5PÔ5PÑQÔQÐQå(¨¨tª°U¸T²\ÑBÔBÐBÝ(¨°dÒ):¸LÈ4Ò<OÑPÔPÐPà,ð Qð Q�CÝœ( 3™-œ-�CÝ,¨e°cªk×-BÒ-BÑ-DÔ-DÀcÈCÂiÑPÔPÐPÝ,¨c°Eªk×-BÒ-BÑ-DÔ-DÀcÈCÂiÑPÔPÐPÐPå”[¨Ð2Ñ2Ô2ð ;ð ;Ý,¨eµb´fªn×-EÒ-EÑ-GÔ-GØ-0µ2´6ª\ñ;ô ;ð ;ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð
 ”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�õ )¨¨vª°u¸t²|ÑDÔDÐDðg3Eð 3Eð 3Eñ 3Eô 3Eð 3Eð 3Eð 3Eð 3Eð 3Eð 3Eð 3Eøøøð 3Eð 3Eð 3Eð 3Eð 3Eð 3ErO  r4  r8  r9  r  s   `  r:   Útest_gtz_TestCommon.test_gtû  sq   ø€ ð4	Eð 4	Eð 4	Eð 4	Eð 4	Eðl Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óÂ  •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰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 d d ¦  «         d S # 1 swxY w Y   d S ©Nr(  r   rD  )re   rç   rè   rE  ©r)  r*  r+  r)   r   r  r  r,  rø   rt   rI  r   r  r  r  rC   r™   rJ   rf   rK  s               €r:   r  z"_TestCommon.test_le.<locals>.check8  óø  ø€ ÝÔ(Ñ*Ô*ð /Gð /GÝÔ% hÕ0GÑHÔHÐHÝÔ% hµÑ?Ô?Ð?Ø”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�Ø ŸZšZ­Ñ0Ô0�
Ø"(�
˜1˜1˜1˜Q˜3‘Ø#Ÿ~š~¨jÑ9Ô9�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�Ø×+Ò+¨CÑ0Ô0�õ )¨°ª°uÀ²×6OÒ6OÑ6QÔ6QÑRÔRÐRÝ(¨°tÒ);Ø*6¸&Ò*@×)IÒ)IÑ)KÔ)KñMô Mð Mõ )¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀsÈdÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀsÈdÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀsÈdÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀsÈdÂ{ÑSÔSÐSå(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀtÈsÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀtÈsÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀtÈsÂ{ÑSÔSÐSÝ(¨&°FÒ*:×)CÒ)CÑ)EÔ)EÀtÈsÂ{ÑSÔSÐSå(¨°$ª¸¸tºÑDÔDÐDÝ(¨¸Ò)=¸zÈTÒ?QÑRÔRÐRà)ð Sð S�CÝœ( 3™-œ-�CÝ,¨e°sªl×-CÒ-CÑ-EÔ-EÀsÈcÂzÑRÔRÐRÝ,¨c°Uªl×-CÒ-CÑ-EÔ-EÀsÈcÂzÑRÔRÐRÐRð ”o eÔ,�ØÔ)¨%Ô0�Ø—x’x‘z”z�Ø��Q�Q�Q�q�S‘	ØŸš¨Ñ-Ô-�õ )¨°ª¸ÀºÑFÔFÐFð_/Gð /Gð /Gñ /Gô /Gð /Gð /Gð /Gð /Gð /Gð /Gð /Gøøøð /Gð /Gð /Gð /Gð /Gð /Gó   •N2OÏOÏOr4  r8  r9  r  s   `  r:   Útest_lez_TestCommon.test_le7  óq   ø€ ð0	Gð 0	Gð 0	Gð 0	Gð 0	Gðd Œ:ÔÐ$9Ð9Ð9ÝŒKÐRÑSÔSÐSØÔ(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó€   ‡ — ˆ fd„}‰ j         j        dvrt          j        d¦  «         ‰ j        D ]} ||¦  «         Œd S )Nc                 óÂ  •— t          j        ¦   «         5  t          j        dt          ¦  «         t          j        dt          ¦  «         ‰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 d d ¦  «         d S # 1 swxY w Y   d S rV  rW  rK  s               €r:   r  z"_TestCommon.test_ge.<locals>.checkp  rX  rY  r4  r8  r9  r  s   `  r:   Útest_gez_TestCommon.test_geo  r[  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   ©Úcoor7  r6  Ú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 )Nra  )Nr   rç   rè   rE  rd  znot implemented .* format©Úmatchr   )	ré   rû   r?  rJ   rh  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   rf  ©r   r   rE  Údiaú(1 diagonals) r5  ú(blocksize=1x1) Ú r   r1   ú<ú sparse ú of dtype 'ú'
	with ú stored elements ú
and shape ú>)rø   rû   r,   r  r?   rg  r½   Úrepr©r    ré   Úextrar#  ÚfmtÚ
sparse_clsrq  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ó   r{  é   rñ   )ÚmaxprintrV   )rŽ  ró   ÚiFé   )r½   r?   r,  r”  z'positional argument|unpack non-iterablerk  )rø   rJ   r   rù   r”  rÂ   ÚstrÚsplitrû   rg  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 )Nry  rf  rz  re   r{  r|  r5  r}  r~  r   r1   r  r€  r�  r‚  rƒ  r„  z(>
  Coords	Values
  (0, 0)	1
  (2, 2)	-2)rø   rg  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ò   re   )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   rf  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±  éýÿÿÿrE  ©rè   r   rç   ©re   ró   r–  r  re   )r   r   rJ   Úpowerrø   r™   r  rm  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°  rf  r  )TFF)FFT)r   r   rø   r™   r  rm  Ú__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   re   rç   r   re   ró   ©r   r   rç   )r   r   re   ©r   ró   r   r–  ©rç   re   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ç   re   ró   ©r–  rŽ  rñ   )é   é   é	   rE  ró   )Úoffsetrè   )rJ   r   rø   r"  r   Útrace)r    rQ   rR   rÖ  s       r:   Ú
test_tracez_TestCommon.test_traceN  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ä  rf  rÓ  )r   r   rŽ  )rý   ÚF))é   rç   )rç   rì  ©Úorder©r   rV   r   r   ©r   r   r   r   ©r   é   é   r×  ©re   rñ   )r   rV   r   r   r   r   )r   r   r   rò  ró  r×  ©re   rè   )rè   rñ   rv  re   rñ   rç   )Ú
not_an_arg©ró   r–  T©r,  zhas no setter|n't set attributerk  )rø   r   rù   r™   r  r  r™  r   r½   r  ÚAttributeErrorrk   )r    r@   rî  ÚsrA   Údesireds         r:   Útest_reshapez_TestCommon.test_reshape[  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 ©Nr   rç   )rJ   r   rn   r½   rÃ   rÂ   r   r?  )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                 óP  •— dt          t          j        | |¦  «        ¦  «        ddfD �]|}|dk     r.t          j                             t          dd¦  «        ¦  «        }n"t          j                             dd|¬¦  «        } ‰| ||¦  «         t          j        ¦   «         5  t          j	        dt          t          ¦  «         |                     ||¦  «         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	¬
¦  «         �Œ~d S )Nrè   re   ró  r   rç   rò  ©rk   r(  z	{msg} {r}©Úerr_msg)rÂ   rJ   r   r”   Úchoicer"  Úrandintr)  r*  ÚfilterwarningsÚWMSGr)   Úsetdiagr   rÃ   r   rn   r™   )rN   rS   rÖ  Úrr   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Ñ&Ô&Ð&ÝÔ,Ñ.Ô.ð $ð $ÝÔ+¨HµdÕ<SÑTÔTÐTØ—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   Â!7C$Ã$C(	Ã+C(	rc   )rÙ  ©rŽ  r   ©rç   rŽ  ©rŽ  rç   r   rç   rò   rŽ  r  )rJ   r”   Úseedr   rô   r   r   rø   r  rn   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          j        ¦   «         5  t          j        dt          t          ¦  «         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ó   re   rç   r(  r–  rÕ  rç   )ró   ró   r   )r   re   re   rÒ  rE  ©ró   r   rç   )ræ  re   ©r   re   ræ  ©re   r   r   ©r   r   rç   r   )r   r   r   rç   )rø   rJ   r'   r)  r*  r
  r  r)   r  r  r  r   rÚ  r™   r   )r    r©  Úm2rH   s       r:   Útest_setdiagz_TestCommon.test_setdiagÁ  sÊ  € à�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�^Š^˜FÑ#Ô#ˆØ��ˆÝÔ$Ñ&Ô&ð 	Að 	AÝÔ# H­dÕ4KÑLÔLÐLÝ�* 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&JÊ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ç   re   ©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        ¦  «         t	          |                     d	¬¦  «        |                     d	¬¦  «        ¦  «         t          |                     d	¬¦  «        j        |                     d	¬¦  «        j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrò   r(  )Úoverrd  r   rç   rE  rè   ©r   rç   )
r  rø   rJ   rJ  r   Úsumr   r?   r   Úisscalar)r?   r  rë   ré   Úmatricesr    s       €€r:   r  z#_TestCommon.test_sum.<locals>.checký  sS  ø€ Ø—,’,˜x¨œ{°%�,Ñ8Ô8ˆCØ—N’N 3¨e�NÑ4Ô4ˆEÝ” (Ð+Ñ+Ô+ð Wð WÝ)¨#¯'ª'©)¬)°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¨'Ñ*<Ô*<¸e¿iºiÈT¸iÑ>RÔ>RÑSÔSÐSÝ˜SŸWšW¨$˜WÑ/Ô/Ô5°u·y²yÀd°yÑ7KÔ7KÔ7QÑRÔRÐRÝ)¨#¯'ª'°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Ý)¨#¯'ª'°v¨'Ñ*>Ô*>ÀÇ	Â	ÈvÀ	Ñ@VÔ@VÑWÔWÐWÝ˜SŸWšW¨&˜WÑ1Ô1Ô7¸¿ºÈ¸Ñ9OÔ9OÔ9UÑVÔVÐVðWð Wð Wñ Wô Wð Wð Wð Wð Wð Wð Wð Wøøøð Wð Wð Wð Wð Wð Ws   ÁNOÏO Ï#O )rJ   r”   r  r   Úrandr   r†   r™   r  r"  rÂ   )
r    Údat_1Údat_2Údat_3Údat_4Údat_5r  r?   r  r?  s
   `        @r:   Útest_sumz_TestCommon.test_sumò  s  øø€ Ý
Œ	�Š�tÑÔÐÝ”˜)˜)˜)Ø"˜
˜
Ø"˜
˜
ð$ñ %ô %ˆõ ”	—’˜q !Ñ$Ô$ˆÝ”˜"˜‘”ˆÝ”˜Ñ"Ô"ˆÝ”˜A˜q¨$Ð/Ñ/Ô/×7Ò7Ñ9Ô9ˆØ˜5 %¨°Ð6ˆð	Wð 	Wð 	Wð 	Wð 	Wð 	Wð( Ô(ð 	 ð 	 ˆEÝ�3˜x™=œ=Ñ)Ô)ð  ð  �Ø��e˜Q‘”��ð ð	 ð 	 r<   c                 ó¬  — t          j        d¦  «        }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t	          t
          d¬¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          d¬¦  «        5  |                     d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          d
¬¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t
          d¬¦  «        5  |                     d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N©rç   ró   r5  r6  r7  zaxis out of rangerk  ró   rd  ©r   ró   zaxis must be an integerç      ø?z&do.*n.t match.*shape|wrong.*dimensionsrç   ©re  Úout)	rJ   r   r   rø   r  r  r=  r™  Úmean©r    rM  rë   ré   s       r:   Útest_sum_invalid_paramsz#_TestCommon.test_sum_invalid_params  sS  € ÝŒh�vÑÔˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå�:Ð-@ÐAÑAÔAð 	ð 	Ø�IŠI˜1ˆIÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�:Ð-@ÐAÑAÔAð 	#ð 	#Ø�IŠI˜6ˆIÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#å�9Ð,EÐFÑFÔFð 	 ð 	 Ø�IŠI˜3ˆIÑÔÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ �:Ð-UÐVÑVÔVð 	(ð 	(Ø�JŠJ˜A 3ˆJÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(sH   ÁA;Á;A?ÂA?ÂB?Â?CÃCÃ DÄDÄ
DÄ$E	Å	EÅEc                 óš   ‡‡— t          g d¢g d¢g d¢g¦  «        Š|                      ‰¦  «        Šˆˆfd„}| j        D ]} ||¦  «         Œd S )Nr5  r6  r7  c                 ó´   •— ‰                      | ¬¦  «        }‰                      | ¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S ©Nrò   )r=  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                 ó8  — | 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          ||¦  «         t          t          d¬¦  «        5  |                     t          dg¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  |                     t          | j         rdggnd¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr5  r6  r7  r   ©rM  Úkeepdims©rM  ©ró   ©ró   rç   rç   ©re  rM  r[  rL  zoutput parameterrk  )
r  r   rø   r1   r=  r   rJ   r   r  r  ©r    Úkeeprë   ré   Údat_outÚ	datsp_outs         r:   Útest_sum_outz_TestCommon.test_sum_out6  s�  € ØÔ%Ð%ˆÝ�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õ �:Ð-?Ð@Ñ@Ô@ð 	&ð 	&Ø�IŠI�%  ™*œ*ˆIÑ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&å�:Ð-?Ð@Ñ@Ô@ð 	Eð 	EØ�IŠI�%¨Ô);Ð B !   ÀÑCÔCˆIÑDÔDÐDð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eó$   Æ%F2Æ2F6Æ9F6Ç/HÈHÈHc                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S ©Nr5  r6  r7  )r   rø   rJ   r=  r   r   r?   )r    rë   ré   rT  rU  s        r:   Útest_numpy_sumz_TestCommon.test_numpy_sumQ  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  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          |                     ¦   «         ¦  «        sJ ‚| j        rt
          nt          j        }t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          | 	                    ¦   «         ¦  «        sJ ‚t          | 	                    d¬¦  «        |¦  «        sJ ‚t          | 	                    d¬¦  «        |¦  «        sJ ‚d S ©Nr5  r6  r7  r   rd  rç   )
r   rø   r.   r=  r  r
   rJ   r1   rI   rN  )r    rë   ré   Úmatrix_or_arrays       r:   Útest_sum_mean_container_typez(_TestCommon.test_sum_mean_container_type^  s  € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå˜EŸIšI™KœKÑ(Ô(Ð(Ð(Ð(Ø%)Ô%7ÐF�'˜'½R¼YˆÝ˜%Ÿ)š)¨˜)Ñ+Ô+¨_Ñ=Ô=Ð=Ð=Ð=Ý˜%Ÿ)š)¨˜)Ñ+Ô+¨_Ñ=Ô=Ð=Ð=Ð=å˜EŸJšJ™LœLÑ)Ô)Ð)Ð)Ð)Ý˜%Ÿ*š*¨!˜*Ñ,Ô,¨oÑ>Ô>Ð>Ð>Ð>Ý˜%Ÿ*š*¨!˜*Ñ,Ô,¨oÑ>Ô>Ð>Ð>Ð>Ð>Ð>r<   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        ¦  «         t          |                     d‰¬¦  «        |                     d¬¦  «        ¦  «         t	          |                     d¬¦  «        j        |                     d¬¦  «        j        ¦  «         d S )Nr5  )ró   r–  rŽ  )rñ   rä  ræ  rò   rd  ©re  r[  r   rç   rE  rè   r<  )	r   rø   r   rN  r   r?   r   rJ   r>  )r?   rë   ré   ra  r    s      €€r:   r  z$_TestCommon.test_mean.<locals>.checko  s2  ø€ Ý˜˜˜Ø"˜˜Ø"˜˜ð$à+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Ý%Ø—’˜f¨t�Ñ4Ô4°e·j²jÀf°jÑ6MÔ6Mñô ð õ ˜Ÿš v˜Ñ.Ô.Ô4°e·j²jÀf°jÑ6MÔ6MÔ6SÑTÔTÐTÐTÐTr<   )r  r  )r    r  r?   ra  s   `  @r:   Ú	test_meanz_TestCommon.test_meanm  sa   øø€ ØÔ%Ð%ˆð 	Uð  	Uð  	Uð  	Uð  	Uð  	UðF Ô(ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óÒ  — |                       t          j        d¦  «        ¦  «        }t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          t          d¬¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  |                     d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d
¬¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  |                     d|¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rH  )	r  rJ   r   r   rø   r  r  rN  r™  rO  s       r:   Útest_mean_invalid_paramz#_TestCommon.test_mean_invalid_param•  s_  € Ø�lŠl�2œ8 FÑ+Ô+Ñ,Ô,ˆÝ�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆå�:Ð-@ÐAÑAÔAð 	ð 	Ø�JŠJ˜AˆJÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å�:Ð-@ÐAÑAÔAð 	$ð 	$Ø�JŠJ˜FˆJÑ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$å�9Ð,EÐFÑFÔFð 	!ð 	!Ø�JŠJ˜CˆJÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ �:Ð-UÐVÑVÔVð 	(ð 	(Ø�JŠJ˜A 3ˆJÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(sH   Á+BÂBÂBÂ/CÃCÃCÃ3DÄDÄDÄ7EÅE Å#E c                 óš   ‡‡— t          g d¢g d¢g d¢g¦  «        Š|                      ‰¦  «        Šˆˆfd„}| j        D ]} ||¦  «         Œd S )Nr5  r6  r7  c                 ó´   •— ‰                      | ¬¦  «        }‰                      | ¬¦  «        }t          ||¦  «         t          |j        |j        ¦  «         d S rS  )rN  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<   rV  rW  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                 ó8  — | 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          ||¦  «         t          t          d¬¦  «        5  |                     t          dg¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  |                     t          | j         rdggnd¦  «        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr5  r6  r7  r   rZ  r\  r]  r^  rç   r_  rL  z"output parameter.*wrong.*dimensionrk  )
r  r   rø   r1   rN  r   rJ   r   r  r  r`  s         r:   Útest_mean_outz_TestCommon.test_mean_out¶  s�  € ØÔ%Ð%ˆÝ�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õ �:Ð-QÐRÑRÔRð 	'ð 	'Ø�JŠJ�5 ! ™:œ:ˆJÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'å�:Ð-QÐRÑRÔRð 	Fð 	FØ�JŠJ�5¨$Ô*<Ð!C 1 #  À!ÑDÔDˆJÑEÔEÐEð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fre  c                 ó  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          j        |¦  «        }t          j        |¦  «        }t	          ||¦  «         t          |j        |j        ¦  «         d S rg  )r   rø   rJ   rN  r   r   r?   )r    rë   ré   ru  rv  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          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          j        ¦   «         5  t          j        d	d
t          ¦  «         t          j        d	dt          ¦  «         t          j        d	dt          ¦  «         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ñ   r`  ©r½   r?   )ç      @ç        ç      ð?)r�  ç       @r�  )r�  r�  r�  r(  ú&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…   Úlinalgr3   r)  r*  r
  r)   r™   r   r   )	r    ÚMÚsMÚMexpÚNÚsNÚNexpÚ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ˆÝŒ|× Ò  Ñ#Ô#ˆåÔ$Ñ&Ô&ð 	'ð 	'ÝÔ#ØØ8Ý'ñô ð õ
 Ô#ØØUÝ'ñô ð õ
 Ô#ØØ@Ý'ñô ð õ
 ˜‘H”H×$Ò$Ñ&Ô&ˆEÝ˜‘H”H×$Ò$Ñ&Ô&ˆEð#	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'õ& 	" 5¨4¡<µ%¸±-´-Ñ@Ô@Ð@Ý! 5¨4¡<µ%¸±-´-Ñ@Ô@Ð@Ð@Ð@s   ÃBE"Å"E&Å)E&c                 ó>   ‡ — ˆ fd„}t           fD ]} ||¦  «         Œd S )Nc                 óD  •— t          g d¢g d¢g d¢g| ¦  «        }t          j        ¦   «         5  t          j        ddt          ¦  «         t          j        ddt          ¦  «         t          j        ddt          ¦  «         ‰                     |d| ¬	¦  «        }t          |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |                     |¦  «         	                    ¦   «         t          j        d
¦  «        ¦  «         t          t          t          |¦  «         d S )NrÑ  r}  r~  r(  r†  r…  r„  r`  r  ró   )r   r)  r*  r
  r)   rø   r4   r   r   r™   rJ   r'   r  r™  )r?   r‰  rŠ  ÚsMinvr    s       €r:   r  z#_TestCommon.test_inv.<locals>.checkþ  sU  ø€ Ý�y�y�y ) ) )¨Z¨Z¨ZÐ8¸%Ñ@Ô@ˆAÝÔ(Ñ*Ô*ð  ð  ÝÔ'ØØDÝ+ñô ð õ
 Ô'Øð2å+ñ	ô ð õ Ô'ØØ<Ý+ñô ð ð
 —^’^ A¨U¸%�^Ñ@Ô@�Ý˜B™œ�ð% ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ& & e§i¢i°¡m¤m×&;Ò&;Ñ&=Ô&=½r¼vÀa¹y¼yÑIÔIÐIÝ�)¥S¨!Ñ,Ô,Ð,Ð,Ð,s   ®A9B3Â3B7Â:B7)r‡  r  s   `  r:   Útest_invz_TestCommon.test_invý  sH   ø€ ð	-ð 	-ð 	-ð 	-ð 	-õ. �Wð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 ó`  — t          j        ¦   «         5  t          j        dt          ¦  «         t	          g d¢g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t	          g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬	¦  «                             ¦   «         |                     d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©
Nr(  ry  r¿  )r   rŽ  r   rf  )rÇ  r   r   )r   ç      @r   rõ   rò   )	r)  r*  r+  r   r   r   rø   r™   rt   r³  s     r:   Útest_from_arrayz_TestCommon.test_from_array  s�  € ÝÔ$Ñ&Ô&ð 
	Nð 
	NÝÔ! (­NÑ;Ô;Ð;Ý�w�w�w˜w˜w˜w w w w¨w¨w¨wÐ7Ñ8Ô8ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>åÐ'Ð'Ð'Ø&��Ø �y�yð"ñ #ô #ˆAõ ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>ÝØ—’˜q¨�Ñ0Ô0×8Ò8Ñ:Ô:¸1¿8º8ÀGÑ;LÔ;LñNô Nð Nð
	Nð 
	Nð 
	Nñ 
	Nô 
	Nð 
	Nð 
	Nð 
	Nð 
	Nð 
	Nð 
	Nð 
	Nøøøð 
	Nð 
	Nð 
	Nð 
	Nð 
	Nð 
	Nó   ”DD#Ä#D'Ä*D'c                 óx  — t          j        ¦   «         5  t          j        dt          ¦  «         |                      g d¢g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         |                      g d¢g d¢g d¢g¦  «        }t          |                      |¦  «                             ¦   «         |¦  «         t          |                      |d¬	¦  «                             ¦   «         |                     d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r—  )	r)  r*  r+  r   r  r   rø   Útodensert   r³  s     r:   Útest_from_matrixz_TestCommon.test_from_matrix&  sr  € ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! (­NÑ;Ô;Ð;Ø—’˜i˜i˜i¨¨¨°I°I°I¸y¸y¸yÐIÑJÔJˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>à—’Ð.Ð.Ð.Ø-˜o˜oØ'˜i˜ið)ñ *ô *ˆAõ ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>ÝØ—’˜q¨�Ñ0Ô0×8Ò8Ñ:Ô:¸A¿HºHÀWÑ<MÔ<Mñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ”DD/Ä/D3Ä6D3c                 ó`  — t          j        ¦   «         5  t          j        dt          ¦  «         g d¢g d¢g d¢g d¢g}t	          |                      |¦  «                             ¦   «         |¦  «         g d¢g d¢g d¢g}t	          |                      |¦  «                             ¦   «         t          |¦  «        ¦  «         t	          |                      |d¬	¦  «                             ¦   «         t          |¦  «                             d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r—  )	r)  r*  r+  r   r   rø   r™   r   rt   r³  s     r:   Útest_from_listz_TestCommon.test_from_list4  sa  € ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! (­NÑ;Ô;Ð;Ø��˜˜˜   ¨¨¨Ð1ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>à!Ð!Ð!Ø ��Ø��ðˆAõ ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:½EÀ!¹H¼HÑEÔEÐEÝØ—’˜q¨�Ñ0Ô0×8Ò8Ñ:Ô:½EÀ!¹H¼H¿OºOÈGÑ<TÔ<Tñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	rš  c                 óp  — t          j        ¦   «         5  t          j        dt          ¦  «         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 d d ¦  «         d S # 1 swxY w Y   d S r—  )
r)  r*  r+  r   r   r  r   rø   r™   rt   ©r    rÊ  ÚSs      r:   Útest_from_sparsez_TestCommon.test_from_sparseB  sA  € ÝÔ$Ñ&Ô&ð 	2ð 	2ÝÔ! (­NÑ;Ô;Ð;Ý�w�w�w˜w˜w˜w w w w¨w¨w¨wÐ7Ñ8Ô8ˆAØ×"Ò" 1Ñ%Ô%ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>Ø—’˜qÑ!Ô!ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>åÐ'Ð'Ð'Ø&��Ø �y�yð"ñ #ô #ˆAð ×"Ò" 1Ñ%Ô%ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>Ý˜tŸ~š~¨a°w˜~Ñ?Ô?×GÒGÑIÔIØ Ÿxšx¨Ñ0Ô0ñ2ô 2ð 2à—’˜qÑ!Ô!ˆAÝ˜tŸ~š~¨aÑ0Ô0×8Ò8Ñ:Ô:¸AÑ>Ô>Ð>Ý˜tŸ~š~¨a°w˜~Ñ?Ô?×GÒGÑIÔIØ Ÿxšx¨Ñ0Ô0ñ2ô 2ð 2ð#	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   ”H
H+È+H/È2H/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ò   r\  ©r‚  rƒ  r€  ©r‚  rƒ  r€  ç      @)ré   rœ  rI   r  rJ   r
   r1   r   rë   r   ÚflagsÚc_contiguousÚf_contiguousr   r½   r?   rP   r  r   r?  rø   r  rt   )
r    ÚchkrM  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ò   r\  r‚  .r¥  r¦  )r   rë   ré   r™   r   r   r¨  r©  rª  rJ   r   r½   r?   r   r   rø   r  rt   )r    rë   r«  rM  rN   r¬  r  rS   r­  r®  Úarrbools              r:   Útest_toarrayz_TestCommon.test_toarray„  sJ  € å�d”hÑÔˆØŒj× Ò Ñ"Ô"ˆÝ˜3 Ñ$Ô$Ð$Ý�”	Ô&¨#¬)Ô*@Ò@ÑAÔAÐAàŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 Ñ$Ô$Ð$Ý�”	Ô&Ñ'Ô'Ð'Ý�C”IÔ*Ð*Ñ+Ô+Ð+àŒj× Ò  sÐ Ñ+Ô+ˆÝ˜3 Ñ$Ô$Ð$Ý�C”IÔ*Ð*Ñ+Ô+Ð+Ý�”	Ô&Ñ'Ô'Ð'åŒh�t”zÔ'¨t¬zÔ/?Ð@Ñ@Ô@ˆØŒ
×Ò˜sÐÑ#Ô#Ð#Ý˜3 Ñ$Ô$Ð$àˆˆC‰ØŒ
×Ò˜sÐÑ#Ô#Ð#Ý˜3 Ñ$Ô$Ð$Ý�*�*�*ÑÔˆÝ˜a ™+œ+ˆÝ�A�t”z×)Ò)Ñ+Ô+Ñ,Ô,ˆÝ˜?¨EÑ2Ô2Ð2Ý�-�-�-Ñ Ô ˆÝ˜c 1™+œ+ˆÝ�T”Z×'Ò'Ñ)Ô)¨1Ñ-Ô-ˆÝ˜?¨FÑ3Ô3Ð3à—’ ¤µ�Ñ5Ô5ˆØ—*’*�TÑ"Ô"ˆÝ˜6Ÿ>š>Ñ+Ô+¨WÑ5Ô5Ð5Ð5Ð5r<   c                 ód  ‡‡	— t          j        ¦   «         5  t          j        dt          ¦  «         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 ]} ||¦  «         Œ�Œ2	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr(  ©y       @      @r   r   ©r   y      @      @r   rf  )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�   ø€ Ý ¨)Ñ4Ô4�AÝ ¨)Ñ4Ô4�AÝ& q¨!Ñ,Ô,Ð,Ý˜A Q˜JÑ'Ô'Ð'Ø˜qœv™�AØ˜Aœ$�CØ  œt˜8�A�a‘DÝ˜A˜aœD A a¤DšLÑ)Ô)Ð)Ø�A�a‘D�D�Dr<   ©r7  r6  r5  )ÚindicesÚindptrÚdatarb  )ÚrowÚcolrÀ  r{  )ÚoffsetsrÀ  )r)  r*  r+  r   r   rø   r-   rt   r   r?   r™   rû   r   )
r    rÊ  r¢  r@   ÚD_castedr,  r¼  r¸  rº  r»  s
           @@r:   Útest_astypez_TestCommon.test_astype©  s  øø€ ÝÔ$Ñ&Ô&ð '	Lð '	LÝÔ! (­NÑ;Ô;Ð;ÝÐ'Ð'Ð'Ø'Ð'Ð'Ø �y�yð"ñ #ô #ˆAð —’˜qÑ!Ô!ˆAå%ð  Lñ  L�àŸ8š8 A™;œ;�Ø)ð <ð <�DØ Ÿxšx¨°˜xÑ5Ô5�HÝ  ¤°´Ñ@Ô@Ð@Ý  ×!1Ò!1Ñ!3Ô!3°XÑ>Ô>Ð>Ý  ¤°!´(Ñ;Ô;Ð;Ð;å˜Ÿš¨°˜Ñ6Ô6¸(ÐBÑCÔCÐCØ#Ÿ?š?¨1°4˜?Ñ8Ô8�Ý˜¨Ð0Ñ1Ô1Ð1ð	ð 	ð 	ð 	ð 	ð 	ð ”?Ð&;Ð;Ð;Ø%Bð Lð L˜	Ø@Ð@ÀÑKÔKÐKÐKðLà”_¨Ò-Ð-Ø%;ð Lð L˜	Ø@Ð@ÀÑKÔKÐKÐKñLà”_¨Ò-Ð-Ø%8ð Lð L˜	Ø@Ð@ÀÑKÔKÐKÐKùðA Lð'	Lð '	Lð '	Lñ '	Lô '	Lð '	Lð '	Lð '	Lð '	Lð '	Lð '	Lð '	Løøøð '	Lð '	Lð '	Lð '	Lð '	Lð '	Ls   –FF%Æ%F)Æ,F)c                 ó"  — t          j        ¦   «         5  t          j        dt          ¦  «         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        ¦  «         ŒG	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr(  rµ  r¶  rf  rÀ  Fr½  )r)  r*  r+  r   r   rø   ÚhasattrrÀ  r¨  Ú	writeablerû   r¿  r¾  r-   rt   r   r?   )r    rÊ  r¢  r@   rÄ  rº  s         r:   Útest_astype_immutablez!_TestCommon.test_astype_immutableÓ  sU  € ÝÔ$Ñ&Ô&ð 	=ð 	=ÝÔ! (­NÑ;Ô;Ð;ÝÐ'Ð'Ð'Ø'Ð'Ð'Ø �y�yð"ñ #ô #ˆAð —’˜qÑ!Ô!ˆAÝ�q˜&Ñ!Ô!ð /Ø).�””Ô&ØŒxÐ0Ð0Ð0Ø+0�””Ô(Ø,1�”	”Ô)Ý%ð =ð =�ØŸ8š8 A™;œ;�ØŸ8š8 A™;œ;�Ý˜Xœ^¨X¬^Ñ<Ô<Ð<Ð<ð=ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   ”C"DÄDÄDc                 ó<   ‡ — ˆ fd„}‰ j         D ]} ||¦  «         Œd S )Nc                 óÜ   •— ‰j         |          }‰j        |          }t          |dz  |dz                       ¦   «         ¦  «         t          |dz  |dz                       ¦   «         ¦  «         d S ©Nre   çÍÌÌÌÌ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 )Nrƒ  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 )Nrƒ  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™   r=  r"  r   )r?   ÚsumSÚsumDrë   ré   r    s      @@€r:   r  z$_TestCommon.test_add0.<locals>.checkV  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_add0U  sI   ø€ ð		6ð 		6ð 		6ð 		6ð 		6ð Ô%ð 	ð 	ˆEØˆE�%‰LŒLˆLˆLð	ð 	r<   c                 óZ  — t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }|                      |¦  «        }|                      |¦  «        }|j        dv r|j        nd}|                     |¦  «        j        |k    sJ ‚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æ  )re   r½  rŽ  )r   rä  r   )r   r±  r   )r6  r{  r5  r7  ©y      ð?       Ày              @y      ð¿        ©y      @      Ày      À      @rŽ  ©y      @       @y      @      Ày       À      ð?©y              ð¿y      À       @ræ  )r   rø   rû   Úmultiplyr   r™   )
r    rQ   rR   r,  ÚBspÚout_fmtrý   rÊ  ÚCspÚDsps
             r:   Útest_elementwise_multiplyz%_TestCommon.test_elementwise_multiplyd  sø  € å�7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆÝ�7�7�7˜8˜8˜8Ð$Ñ%Ô%ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆà #¤
Ð.CÐ CÐ C�#”*�*ÈˆØ—’˜SÑ!Ô!Ô)¨WÒ4Ð4Ð4Ð4Ý˜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	 |                     |¦  «        }n# t          $ r Y Œtw xY wt          |¦  «        r#t          |                     ¦   «         |¦  «         Œªt          ||¦  «         Œ»ŒÀd S )Nr–  é÷ÿÿÿ©rç   rè   r   )rä  ræ  rþ  ró   re   rç   )rå  rñ   ró   )r±  ró   re   )rñ   rñ   rñ   râ  r÷  r   ©r   N)r   rJ   Úonesr?  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ÚKspr?  Ú
spmatricesr•  r  Ú
dense_multÚsp_mults                              r:   Ú#test_elementwise_multiply_broadcastz/_TestCommon.test_elementwise_multiply_broadcast|  sV  € Ý�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ðøøøðØŸjšj¨™mœm�G�GøÝ!ð ð ð Ø�Hðøøøå˜GÑ$Ô$ð =Ý'¨¯ªÑ(9Ô(9¸:ÑFÔFÐFÐFå'¨°Ñ<Ô<Ð<Ð<ð=ð	=ð 	=s<   Æ')GÇ%G9Ç8G9È>IÉ
J	É"$J	ÊJ	ÊJ#Ê#
J0Ê/J0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½  re   rç   r5  )r   rE  ró   r(  )Údivide)r  rG  )
rJ   r-  r   r™   ré   rø   r   r   r   rJ  )r    rq  ÚdenomrQ   rR   r,  rø  s          r:   Útest_elementwise_dividez#_TestCommon.test_elementwise_divide¶  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   re   r   )r   ró   r–  r   )r   rŽ  r   r   )r   rñ   rä  rå  )rç   re   çš™™™™™@ró   rÇ  r   rè   ró   rç   ©r   rç   re   ró   )rè   r  rÇ  )r   rø   r  r   r™   r   r?   r  rm  Ú__pow__r  rJ   rˆ  Úmatrix_powerr™  )r    rQ   rR   ÚexponentÚret_spÚret_nps         r:   Útest_powz_TestCommon.test_powÙ  sÕ  € Ý�<�<�<   ¨|¨|¨|¸\¸\¸\ÐJÑKÔKˆØ�NŠN˜1ÑÔˆàÔð 	3Ø0ð 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   ©re   r   r€  ©re   ró   r   rÔ  )rø   r   r   r™   r   )r    r‰  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ç   re   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ç   re   ró   r^  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ç   re   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ç   re   ró   r^  rª   rž   )rø   r¹   r   r0  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    r9  s     r:   r¾   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__init__9  s   € Ø$�”��r<   c                 ó   — || j         z  S r>   r8  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:   ÚCustomr6  8  s2   € € € € € ð%ð %ð %ð+ð +ð +ð +ð +r<   r;  re   rç   ró   )rø   rC   r™   r   rû   )r    r;  r9  rQ   r¦  ÚA_scalarÚA_cs          r:   Útest_mul_custom_typez _TestCommon.test_mul_custom_type7  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ç   re   ró   rÏ   rÕ   rØ   rÛ   rÞ   rá   )rø   rÍ   r   r0  s      r:   Útest_comparisons_custom_typez(_TestCommon.test_comparisons_custom_typeG  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    r‰  r9  Úactualrq  s        r:   Útest_dot_scalarz_TestCommon.test_dot_scalarQ  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ç   re   r  râ  )	rø   r   r?  ÚoperatorÚmatmulr   r™   r  r  )r    r‰  rR   rÂ  rF  s        r:   Útest_matmulz_TestCommon.test_matmulY  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ç   re   ró   )r–  rç   rÔ  )rø   r   r?  r   r™   r   r½   r1   r   rI   r
   r  rJ   r  r  r²   r   r   Ú
atleast_2d)r    r‰  rÂ  rk  Úbad_vecsr@   s         r:   Útest_matvecz_TestCommon.test_matveck  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ç   re   r  ró  g333333Ó?ró   r–  rŽ  rñ   )r1   r   rø   r   r™   r¢  r£  r¤  r”   r  r   r"  r?  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_sparseŠ  sÈ  € Ý�G�G�G˜G˜G˜G I I I¨g¨g¨gÐ6Ñ7Ô7ˆÝ�G�G�G˜G˜G˜G I I I¨g¨g¨gÐ6Ñ7Ô7ˆÝ�Q�q�E˜1˜Q˜%  1 Ð& sÑ+Ô+ˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸¸Q¹Ñ?Ô?Ð?Ý! #¨¡'¨1¨q©5Ñ1Ô1Ð1Ý! ! c¡'¨1¨q©5Ñ1Ô1Ð1Ý! " s¡(¨A°©EÑ2Ô2Ð2ð �iŠi‰kŒkˆØˆØ�1‰uˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1Ø�iŠi‰kŒkˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1Ø�iŠi‰kŒkˆÝ! 3¨¡9×"5Ò"5Ñ"7Ô"7¸Ñ>Ô>Ð>Ý! #¨¡'¨4Ñ0Ô0Ð0å! ! c¡'¨4Ñ0Ô0Ð0Ý! " s¡(¨DÑ1Ô1Ð1ð ˆØˆÝŒ�A‰ŒˆÝ�1�Q�%‰LŒLˆÝ�q‘”ð 	$ð 	$ˆAÝ˜1‘X”Xð $ð $�Ý”M‘O”O�Ø�t’8�8Ø˜t™V�A�a˜�c‘Føð$ð
 �NŠN˜1ÑÔˆØ�”‰GˆÝ! !§)¢)¡+¤+¨q¯yªy©{¬{¸Q¼S¿[º[¹]¼]Ñ/JÑKÔKÐKÝ! !§)¢)¡+¤+¨q¯yªy©{¬{¸Q¿YºY¹[¼[¼]Ñ/JÑKÔKÐKð �NŠN˜Q˜q˜E 1 Q %˜=Ñ)Ô)ˆØ�NŠN˜Q˜q˜E 1 Q %¨¨1¨Ð.Ñ/Ô/ˆÝ•j !¤,°Ñ2Ô2Ð2ØÔð 	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ç   re   ró   r–  rŽ  rñ   ©r–  re   )rø   r   r1   r   rI   r  r
   Útyper   r½   r   )r    rN   rN  Ú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ç   re   r   ró   )r5  rb  r6  r7  r{  rD   rc  ù              @)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Ž  r5  ©ró   r   rŽ  )r5  Úto)rç   re   ró   rñ   )rç   re   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*  ©ro  )r   rø   r   r   r™   r   r?   )r?   r  rë   ré   rN   rS   r?  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   rl  )rë   rJ   r   rø   r   r   r™   r   r?  r  r  r  r"  rÂ   )r    rA  rB  r  rÛ  r?   r  r?  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   rq  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Ž  rf  )rç   rç   re   )r   ró   rñ   rÿ  )r   y      @       @rŽ  )r   ù              ð?y       €      ð¿c                 ó‚  •— 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          j        ¦   «         5  t          j	        ddt          ¦  «         |                     |¦  «        }|                     |¦  «        }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 )	Nr9  rç   Úscalar2rè   r]  r†   r(  zTTaking (maximum|minimum) with a (positive|negative) number results in a dense matrix)rJ   rl   Úcomplexfloatingrø   rt   rV  r  r)  r*  r
  r)   ÚmaximumÚminimumr™   r   r   r?   )r?   Údtype2ÚbtyperQ   rR   Ú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Ð"åÔ(Ñ*Ô*ð 	%ð 	%ÝÔ'Øð0å+ñ	ô ð ð Ÿ	š	 !™œ�ØŸ	š	 !™œ�ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%õ ”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,)r9  r{  r]  r†   )rJ   r   r  r   rô   r÷   r?   )r    r  r?   r  r€  r…  r†  r‡  s   `    @@@r:   Útest_maximum_minimumz _TestCommon.test_maximum_minimum9  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ðF Ô%ð 	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ø  Frc  )	ré   r   r,  rû   Ú	__class__r™   r{   r   rT   )r    rQ   Útoselfs      r:   Ú	test_copyz_TestCommon.test_copyg  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¨  rN  rO  rP  ÚdspÚespÚfsps                 r:   Ú test_size_zero_matrix_arithmeticz,_TestCommon.test_size_zero_matrix_arithmetic†  sC  € õ �B‰iŒiˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆÝŒG�Q˜�F‰OŒOˆà�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆØ�nŠn˜QÑÔˆõ 	˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@Ý˜3Ÿ7š7 3™<œ<×/Ò/Ñ1Ô1µ2´6¸!¸Q±<´<Ñ@Ô@Ð@õ 	•j #¤'¨1Ñ-Ô-Ð-Ý•j #¤'¨1Ñ-Ô-Ð-õ 	˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJÝ˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJÝ˜3Ÿ<š<¨Ñ,Ô,×4Ò4Ñ6Ô6½¼ÀAÀqÑ8IÔ8IÑJÔJÐJå˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHå˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHÝ˜3Ÿ<š<¨™?œ?×2Ò2Ñ4Ô4µb´kÀ!ÀQÑ6GÔ6GÑHÔHÐHõ 	•j #¤,°Ñ2Ô2Ð2Ý•j #¤,°Ñ2Ô2Ð2õ 	˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDÝ˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDÝ˜3Ÿ;š; sÑ+Ô+×3Ò3Ñ5Ô5°q·y²yÀ±|´|ÑDÔDÐDõ 	•j #¤+¨sÑ3Ô3Ð3Ý•j #¤+¨sÑ3Ô3Ð3Ð3Ð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š™™™™™ñ?rf  rò   zdoes not support dtyperk  )rJ   r   Úfloat16r  r  rø   rt   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                 ó2   ‡ ‡— dd l Šˆˆ fd„} |¦   «          d S )Nr   c                  óª  •— t          j        ¦   «         5  t          j        dt          ¦  «         ‰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 d d ¦  «         d S # 1 swxY w Y   d S )Nr(  )Úprotocolr   )r)  r*  r+  r)   ré   r,  r"  ÚHIGHEST_PROTOCOLÚloadsÚdumpsr   r½   r   r™   rû   rG   ÚitemsrI   rJ   r
   r$  r   )ré   r¡  ÚsploadedÚkeyrN  Úpickler    s        €€r:   r  z&_TestCommon.test_pickle.<locals>.checkÚ  s  ø€ ÝÔ(Ñ*Ô*ð Cð CÝÔ% hÕ0GÑHÔHÐHØœ
ŸšÑ)Ô)�Ý % fÔ&=Ñ >Ô >ð Cñ C�HØ%Ÿ|š|¨F¯LªL¸È¨LÑ,RÔ,RÑSÔS�HÝ  ¤¨h¬nÑ=Ô=Ð=Ý& u§}¢}¡¤¸×8HÒ8HÑ8JÔ8JÑKÔKÐKÝ  ¤¨x¬Ñ?Ô?Ð?ð %*¤N×$8Ò$8Ñ$:Ô$:ð Cð C™˜˜SÝ% c­2¬:Ñ6Ô6ð CÝ.¨s°HÔ4EÀcÔ4JÑKÔKÐKÐKÝ(¨­eÑ4Ô4ð C¸ð CÝ",¨S°¬VµR´ZÑ"@Ô"@ðCå.¨s°HÔ4EÀcÔ4JÑKÔKÐKÐKå# C¨8Ô+<¸SÔ+AÒ$AÑBÔBÐBÐBñCðCðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cs   •F%GÇGÇG)r¨  )r    r  r¨  s   ` @r:   Útest_picklez_TestCommon.test_pickleØ  sB   øø€ Øˆˆˆð	Cð 	Cð 	Cð 	Cð 	Cð 	Cð, 	ˆ‰Œˆˆˆ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   rc  z%Unary ops not implemented for dok/lilrò  r–  rŽ  ç      4@)r  r  ré   rû   r{   rJ   rø   r   rù   r™   r   )r   Úufuncrg  Ú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–  ©re   r   r   r   ©ró   r   r   r   ©ró   re   rç   r   re   ró   ©re   re   r`  ry  )re   r   r   rf  )rb  r7  ))rè   re   rõ  râ  )rJ   r   rø   r   Úresizer   r™   r  rû   r  r  rm  Ú
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)r7  r6  rb  r{  rD   rc  )ré   rû   rŠ  rC   r™   ÚNON_ARRAY_BACKED_FORMATSr   rT   r?   rJ   rö   r   r^  )r    rQ   Úself_formatrý   Úother_formatrR   s         r:   Útest_constructor1_basez"_TestCommon.test_constructor1_base0	  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)trµ   r¶   r·   rÿ   r-   r  r&   r   r#   r  r    r  r!   r  r%   r  r"   r  r$   r  r   r  Úclassmethodr  r   r$  r:  r=  r@  rP  rS  rZ  r^  ri  rr  rw  r‹  rœ  rž  rª  r´  r»  rÁ  rÄ  rË  rÏ  rà  ré  rü  r  ÚmarkÚslowr  r  r/  r3  rF  rP  rX  rd  rh  rl  rp  rr  rw  ry  r{  r‘  r•  r™  r�  rŸ  r£  r°  r³  rÅ  rÉ  rÑ  rÕ  r×  rÛ  rÞ  ræ  ré  rñ  rü  r  r  r!  r'  r,  r.  r1  r3  r>  r@  rC  rG  rK  rS  rY  r_  ri  rn  rt  rw  rˆ  rŒ  r�  r”  rš  rž  r©  rÂ  rÌ  rÑ  rW   r<   r:   r
  r
  1  sî  € € € € € Ø@Ð@Ø"€Kà€MØ€MØ€MØ€MØ€MØ€MØ€MØ€Gàð;ð ;ñ „[ð;ð.ð ð ð	1ð 	1ð 	1ð"ð "ð "ðH#ð #ð #ðJ4ð 4ð 4ð;ð ;ð ;ðz:ð :ð :ðx6ð 6ð 6ðp6ð 6ð 6ðp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(ð (ð (ð"ð ð ð Eð Eð Eð65ð 5ð 5ð?ð ?ð ?ð&ð &ð &ðP(ð (ð (ð"ð ð ð Fð Fð Fð67ð 7ð 7ðAð Að Að>ð ð ð6Nð Nð Nðð ð ðð ð ð2ð 2ð 2ð2'6ð '6ð '6ðR#6ð #6ð #6ðJ(Lð (Lð (LðT=ð =ð =ð"	ð 	ð 	ð	ð 	ð 	ðð ð ð
ð ð ð,ð ð ðð ð ð0ð ð ð2ð ð ð<ð <ð <ð08=ð 8=ð 8=ðt!Dð !Dð !DðF3ð 3ð 3ðB>ð >ð >ð
;ð 
;ð 
;ð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ð\:ð :ð :ð0)ð )ð )ð84ð 84ð 84ðt9ð 9ð 9ð2ð 2ð 2ðð ð ð4ð ð ð*';ð ';ð ';ðR7ð 7ð 7ð 7ð 7r<   r
  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú_TestInplaceArithmeticc                 óh  — 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	          ||¦  «         t          t          d¬¦  «        5  ||z  }d d d ¦  «         d S # 1 swxY w Y   d S )Nr÷  úinconsistent shapesrk  zdimension mismatchúunsupported operand)rJ   r  rø   r,  r   r  r  r  r?  r™   r   r™  )r    rN   rS   r@   rA   s        r:   Útest_inplace_densez)_TestInplaceArithmetic.test_inplace_denseS	  sm  € ÝŒ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ˆØ	ˆQŒS‰ˆØ�FŠF‰HŒHˆØ�FŠF‰HŒHˆÝ�:Ð-AÐBÑBÔBð 	ð 	Ø�‰FˆAð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�EŠE�!”#‰JŒJˆØ	ˆQŒS‰ˆÝ˜1˜aÑ Ô Ð õ �9Ð,AÐBÑBÔBð 	ð 	Ø�!‰GˆAð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	sH   Ã3D
Ä
DÄDÆ FÆFÆFÈ-H?È?IÉIÊJ'Ê'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)Úcastingre   rÍ  ©	r  r  rJ   Úcan_castÚintr,  r   r™   r‡  ©r?   rë   ré   rN   rS   r    s        €r:   r  z6_TestInplaceArithmetic.test_imul_scalar.<locals>.check†	  sè   ø€ Ø”/ %Ô(ˆCØÔ% eÔ,ˆEõ Œ{�3 ¨{Ð;Ñ;Ô;ð 3Ø—J’J‘L”L�Ø�Q‘�Ø—H’H‘J”J�Ø�Q‘�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2åŒ{�5 %°Ð=Ñ=Ô=ð 3Ø—J’J‘L”L�Ø�T‘	�Ø—H’H‘J”J�Ø�T‘	�Ý" 1 a§i¢i¡k¤kÑ2Ô2Ð2Ð2Ð2ð3ð 3r<   rÐ  r  s   `  r:   Útest_imul_scalarz'_TestInplaceArithmetic.test_imul_scalar…	  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Ù  rk  )rø   rJ   r'   r   r™   r  r  r™  )r    rN   rS   Úbps       r:   Útest_inplace_successz+_TestInplaceArithmetic.test_inplace_successµ	  s£  € ð �NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�NŠN�2œ6 !™9œ9Ñ%Ô%ˆØ�^Š^�BœF 1™IœIÑ&Ô&ˆà	ˆQ‰ˆØ�!‰VˆÝ˜Ÿ	š	™œ R§Z¢Z¡\¤\Ñ2Ô2Ð2àÔð 	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Ö  R	  sQ   € € € € € ð0ð 0ð 0ðdð ð ð.ð ð ð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 )Nry  ©r–  ró   r   ©r   re   r   rf  rò   r)  ©rJ  rt  )r–  r   rm  )r–  rè   râ  )
r   rø   r½   r"  r   rV  r  rÊ  r™  Ú__getitem__)	r?   rÊ  rQ   r‰  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„}d„ t           j        d„ g}|D ]*}t          D ] } |t          j        |¦  «        |¦  «         Œ!Œ+d S )Nc                 ób  •— ‰                      d| ¬¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «          ||                      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ç   re   ró   r<  rƒ  r  rå  ©r   rè   rä  ©rè   rE  rŽ  )r   rŽ  r   rå  )r   r   r–  r   )re   r   rä  r   ))r   r–  )rè   r–  r+  r÷  ru  g     À^@râ  )r\  )rø   r)  r*  r
  r  r)   rV  rJ   Úbool_r   r™   r  rÊ  Ú__setitem__r   r  rl   r|  r™  )r?   Úscalar_containerrQ   r'  r   r    s        €r:   r  z*_TestGetSet.test_setelement.<locals>.checké	  s}  ø€ Ø—’˜v¨U�Ñ3Ô3ˆAÝÔ(Ñ*Ô*ð :ð :ÝÔ'¨µ$Õ8OÑPÔPÐPØ*Ð*¨5¯:ª:°a©=¬=Ñ9Ô9��$‘Ø*Ð*¨5¯:ª:°c©?¬?Ñ;Ô;��$‘Ø*Ð*¨5¯:ª:°a©=¬=Ñ9Ô9��$‘Ø*Ð*¨5¯:ª:°c©?¬?Ñ;Ô;��$‘Ø+Ð+¨E¯JªJ°q©M¬MÑ:Ô:��%‘Ø,Ð,¨U¯ZªZ¸©]¬]Ñ;Ô;��&‘	Ø*Ð*¨5¯:ª:°a©=¬=Ñ9Ô9��$‘ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð �œÒ Ð Ý"Ø—I’I‘K”K , , ,°°°¸l¸l¸lÐ!Kñô ð ð Að Dð D�Ý�j¨!¬-¸¸UÑCÔCÐCÐCà�i�i¥ y y yÑ!1Ô!1Ð2ð Dð D�Ý�j¨!¬-¸ÀÑCÔCÐCÐCå”= ­Ô(:Ñ;Ô;ð GÀÍÌÒ@QÐ@QØð Gð G�AÝ!¥)¨Q¬]¸FÀAÑFÔFÐFÐFðGð GÐ@QÐ@QðGð Gs   ¬DE Å EÅEc                 óH   — t          t          j        | gg¦  «        ¦  «        S r>   )r!   rJ   r   ©r@   s    r:   ú<lambda>z-_TestGetSet.test_setelement.<locals>.<lambda>
  s   € •i¥¤¨1¨#¨¡¤Ñ0Ô0€ r<   c                 ó   — | S r>   rW   rþ  s    r:   rÿ  z-_TestGetSet.test_setelement.<locals>.<lambda>
  s   € Àa€ r<   )rJ   r   r-   r?   )r    r  Úscalar_containersrü  r?   s   `    r:   Útest_setelementz_TestGetSet.test_setelementè	  s‡   ø€ ð	Gð 	Gð 	Gð 	Gð 	Gð8 1Ð0µ"´(¸K¸Kð
Ðð !2ð 	9ð 	9ÐÝ)ð 9ð 9�Ø�•b”h˜u‘o”oÐ'7Ñ8Ô8Ð8Ð8ð9ð	9ð 	9r<   c                 ó`   ‡ — ˆ fd„}‰ j         D ]} |t          j        |¦  «        ¦  «         Œ d S )Nc                 ó  •— ‰                      d| ¬¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «         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)  r*  r
  r  r)   r   ©r?   rQ   r    s     €r:   r  z9_TestGetSet.test_negative_index_assignment.<locals>.check
  s·   ø€ Ø—’˜w¨e�Ñ4Ô4ˆAÝÔ(Ñ*Ô*ð ð ÝÔ'¨µ$Õ8OÑPÔPÐPØ��%‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜˜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                 ój  •— | ›d|›d|›�}‰                      ‰‰f¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «         d|| |f<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         ||¬¦  «         t          || |f         d|¬¦  «         d S )Nz ; r(  rç   r  )rø   r)  r*  r
  r  r)   r   r=  )r•  r  Únitemsr6   rQ   r©  r  r    s        €€€r:   Ú	_test_setz3_TestGetSet.test_scalar_assign_2.<locals>._test_set
  sü   ø€ ØÐ/Ð/˜QÐ/Ð/ VÐ/Ð/ˆCØ—’  1˜vÑ&Ô&ˆAÝÔ(Ñ*Ô*ð ð ÝÔ'¨µ$Õ8OÑPÔPÐPØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ   §¢¡¤¨¸Ð=Ñ=Ô=Ð=Ý  ! Q $¤¨°CÐ8Ñ8Ô8Ð8Ð8Ð8s   ¶(A*Á*A.Á1A.©re   ró   ©rè   rå  rù  rè   rE  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                 ó`  — |                       d¦  «        }t          j        d¦  «        }t          j        ¦   «         5  t          j        dt          t          ¦  «         ||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)  r*  r
  r  r)   r   r™   rü   s       r:   Útest_index_scalar_assignz$_TestGetSet.test_index_scalar_assign)
  sñ   € Ø�NŠN˜6Ñ"Ô"ˆÝŒH�VÑÔˆÝÔ$Ñ&Ô&ð 	ð 	ÝÔ# H­dÕ4KÑLÔLÐLØ˜�Vð ð �Ø��#‘Ø��#‘Ø��#‘�ðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*s   ½7BÂBÂBN)rµ   r¶   r·   rô  r  r  r  r  rW   r<   r:   rì  rì  Ñ	  s`   € € € € € ð#ð #ð #ð,!9ð !9ð !9ðF#ð #ð #ðð ð ð"	+ð 	+ð 	+ð 	+ð 	+r<   rì  zfails in parallel©Úreasonc                   ó   — 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          j        ¦   «         5  t          j        ddt          ¦  «         t          |¦  «                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   t!          ||z  |¦  «         d S )Nrò  r   rò   rç   ry  r(  r„  )rJ   r”   r  r   rI  r@  r"  rÂ   r   rø   r)  r*  r
  r)   r2   Úsolver   )r    r  rQ   r@   rA   r  r•  s          r:   Ú
test_solvez_TestSolve.test_solve7
  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ÑÔˆÝÔ$Ñ&Ô&ð 	!ð 	!ÝÔ#ØÐBÝ'ñ)ô )ð )õ �Q‘”—’˜aÑ Ô ˆAð		!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!õ
 	˜A ™E !Ñ$Ô$Ð$Ð$Ð$s   Å >F*Æ*F.Æ1F.N)rµ   r¶   r·   r  rW   r<   r:   r  r  5
  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_preservationO
  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   re   ©rJ   rõ   r[   rö   rô   rø   r   r?   ©r    ÚdtrQ   s      r:   Ú#test_dtype_preservation_empty_slicez0_TestSlicing.test_dtype_preservation_empty_sliceU
  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   r5  r   rç   re   ©rç   re   rç   ©r–  r   rñ   rf  rÒ  ró   ©r–  r   r   rE  é   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   r5  r   rç   re   r&  r'  rf  rÒ  ró   r   r(  rE  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_slicet
  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   re   r   ró   rç   rè   r   r(  rf  rÒ  )r   rù   rø   r   r™   r   )r    rR   rQ   r  rë  s        r:   Útest_get_slicesz_TestSlicing.test_get_slicesŠ
  s™  € Ý�3‰KŒK×Ò  2Ñ&Ô&ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S ! A #˜Xœ;×.Ò.Ñ0Ô0°!°A°a°C¸¸1¸°H´+Ñ>Ô>Ð>Ý˜1˜Q˜R˜R  " ˜Wœ:×-Ò-Ñ/Ô/°°1°2°2°s¸°s°7´Ñ<Ô<Ð<Ý˜1˜S˜b˜S ! " "˜Wœ:×-Ò-Ñ/Ô/°°3°B°3¸¸¸°7´Ñ<Ô<Ð<õ �9�9�9˜i˜i˜i¨¨¨°I°I°IÐ>Ñ?Ô?ˆØ�NŠN˜1ÑÔˆÝ˜1˜Q˜q˜S ! A #˜Xœ;¨¨!¨A¨#¨q°¨s¨(¬×(;Ò(;Ñ(=Ô(=Ñ>Ô>Ð>Ý˜1˜Q˜Q˜Q   ˜Uœ8 Q q q q¨!¨"¨" u¤X×%5Ò%5Ñ%7Ô%7Ñ8Ô8Ð8Ð8Ð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   é   re   ró  ró   úfeature not implemented)	rJ   r”   r@  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è   rE  re   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_2¢
  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<   re   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   re   rç   ró   r�  rò  rå  rè   r–  rE  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†  rk   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†  rk   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ç   re   rŽ  r�  rè   rE  rŽ  iñÿÿÿ)r  r   rù   rø   rJ   Ús_r   r   Ú	enumerateÚ	itertoolsÚproductrL   r*  )r    rE  Úslicesr@  r  rN   rD  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ç   re   r–  )Nrç   re   Nr)  )Nrç   r  )rç   N)rV   rç   ró   ©re   rç   )re   )Nrç   re   )rç   )rç   Nre   )rç   re   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 rangerk  )rŽ  .zindex .10. out of range).rV   rç   re   )rç   rç   .)rç   .rç   )r  r   rù   rø   r   r™   r  r   rÊ  r?  r   ©r    rS   rN   s      r:   Útest_ellipsis_slicingz"_TestSlicing.test_ellipsis_slicing6  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.úshape mismatchrk  )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–  .re   rç   )r  r   rù   rø   r   r™   rQ  s      r:   Útest_ellipsis_fancy_slicingz(_TestSlicing.test_ellipsis_fancy_slicingu  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ó   re   z(an index can only have a single ellipsisrk  )..).rç   .)rø   r   rù   r  r   rÊ  ©r    rN   s     r:   Útest_multiple_ellipsis_slicingz+_TestSlicing.test_multiple_ellipsis_slicing†  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.  r3  r5  r:  r<  r  rÓ  Ú	fail_slowrK  rO  rR  rZ  r\  r_  rW   r<   r:   r  r  N
  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          j        ¦   «         5  t          j        dt          t          ¦  «         ||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_assign’  s1  € Ø�NŠN˜6Ñ"Ô"ˆÝŒH�VÑÔˆÝÔ$Ñ&Ô&ð 	 ð 	 ÝÔ# H­dÕ4KÑLÔLÐLØ˜�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                 ól  •— d| ›d|›�}‰                      ‰‰f¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «         d|| |f<   d d d ¦  «         n# 1 swxY w Y   t          j        ‰‰f¦  «        }d|| |f<   t          | 	                    ¦   «         ||¬¦  «         d S )Nzi=z; j=r(  rç   r  )
rø   r)  r*  r
  r  r)   rJ   r   r   r™   )r•  r  r6   rQ   rR   r©  r  r    s        €€€r:   r  z9_TestSlicingAssign.test_slice_assign_2.<locals>._test_set¢  sù   ø€ Ø%�qÐ%Ð% Ð%Ð%ˆCØ—’  1˜vÑ&Ô&ˆAÝÔ(Ñ*Ô*ð ð ÝÔ'¨µ$Õ8OÑPÔPÐPØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ”˜!˜Q˜Ñ Ô ˆAØˆAˆa�ˆd‰GÝ% a§i¢i¡k¤k°1¸cÐBÑBÔBÐBÐBÐBs   ´(A(Á(A,Á/A,re   ró   rV   r–  rŽ  rE  )r*  r   r  s   `   @@r:   Útest_slice_assign_2z&_TestSlicingAssign.test_slice_assign_2Ÿ  s¯   øøø€ Ø‰ˆˆ1ð	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð �˜q™œ�] Q­¨d°B¸Ñ(:Ô(:Ð$;¸aÅÀqÈ"ÁÄÐ=NÝ˜A‘h”h¥ a¨¡¤Ð-ð/ð 	ð 	‰DˆAˆqàˆI�a˜‰OŒOˆOˆOð	ð 	r<   c                 ó8  — |                       d¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «         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 )Nrm  r(  re   rØ  rä  r÷  ró   rM  rV   r+  r   rç   rè   )rø   r)  r*  r
  r  r)   r   r™   rJ   r   r?  rN  s      r:   Útest_self_self_assignmentz,_TestSlicingAssign.test_self_self_assignment°  sø  € à�NŠN˜5Ñ!Ô!ˆÝÔ$Ñ&Ô&ð 	Gð 	GÝÔ# H­dÕ4KÑLÔLÐLØˆ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          j        ¦   «         5  t          j        d	t
          t          ¦  «         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 )Nrm  ©rV   r   r   )r   r   rñ   )r   r“  r   rf  rç   r   r–  r(  rŽ  rØ  ró   r÷  rä  rM  re   )
rø   r   r)  r*  r
  r  r)   r   r™   r  )r    rR   rq  Úblocks       r:   Útest_slice_assignmentz(_TestSlicingAssign.test_slice_assignmentÆ  s|  € Ø�NŠN˜5Ñ!Ô!ˆÝ˜(˜(˜(Ø!˜'˜'Ø"˜(˜(Ø!˜'˜'ð#ñ $ô $ˆð �A�˜˜!�u�ˆåÔ$Ñ&Ô&ð 		;ð 		;ÝÔ# H­dÕ4KÑLÔLÐLØˆ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   ÁB9DÄDÄDc                 óÀ  — |                       d¦  «        }t          j        ¦   «         5  t          j        dt          t
          ¦  «         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 )Nrm  r(  rŽ  rØ  ró   r÷  rä  rM  rV   r+  ry  r$  rÒ  rk  )rø   r)  r*  r
  r  r)   r  rJ   r'   r   r   r™   )r    rR   rq  s      r:   Ú"test_sparsity_modifying_assignmentz5_TestSlicingAssign.test_sparsity_modifying_assignmentÙ  s  € Ø�NŠN˜5Ñ!Ô!ˆÝÔ$Ñ&Ô&ð 	2ð 	2ÝÔ# H­dÕ4KÑLÔLÐLØˆ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          j        ¦   «         5  t          j	        dt          t          ¦  «         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%          t0          |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  re   rç   ró   rå  rè   r–  rE  rŽ  r   r¯  r½  r(  rV   éè  rØ  éd   râ  r[  rÔ  )r–  rç   ró   ©rç   re   r–  )r   rç   ró   r¿  )rø   r   r   r‡  rJ   rE  r   r)  r*  r
  r  r)   rF  r   r™   r†  r"  r   r  r  rû  Úlistr*  r,  rÊ  )	r    rQ   rR   rE  rI  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™[œ[ð*ˆõ
 Ô$Ñ&Ô&ð 	/ð 	/ÝÔ# H­dÕ4KÑLÔLÐLÝ! &Ñ)Ô)ð <ð <‘��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   ÃF6JÊJÊJc                 óà   — |                       t          j        d¦  «        ¦  «        }|                       d¦  «        }||dd d…f<   t          |                     ¦   «         g d¢g d¢g¦  «         d S )Nr  r÷  rç   re   ©rç   rç   rç   rÒ  )rø   rJ   r  r   r™   r0  s      r:   Útest_assign_emptyz$_TestSlicingAssign.test_assign_empty  sj   € Ø�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 )Nr`  ró   r   rç   r!  rf  )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·   rd  rg  ri  rm  ro  ru  rx  r{  rW   r<   r:   rb  rb  ‘  s˜   € € € € € ð+ð +ð +ðð ð ð"Gð Gð Gð,;ð ;ð ;ð&2ð 2ð 2ð+(ð +(ð +(ðZ@ð @ð @ðKð Kð Kð Kð Kr<   rb  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                 ó|  — |                       t          j        ddg¦  «        ¦  «        }t          t          |j        d¦  «                             d¦  «         t          t          |j        d¦  «                             d¦  «         g d¢g d¢f}t          t          |j        |¦  «                             d¦  «         d S )NrŽ  ÚfoozIndex dimension©re   r�  râ  rÔ  rT  )rø   rJ   r   r  rÊ  rò  rl  )r    rQ   Úidxs      r:   Útest_bad_indexz!_TestFancyIndexing.test_bad_index2  s¢   € Ø�NŠN�2œ8 Q¨ FÑ+Ô+Ñ,Ô,ˆÝ•j !¤-°Ñ7Ô7×=Ò=Ð>OÑPÔPÐPÝ•j !¤-°Ñ<Ô<×BÒBÐCTÑUÔUÐUØˆyˆy˜,˜,˜,Ð'ˆÝ•j !¤-°Ñ5Ô5×;Ò;Ð<LÑMÔMÐMÐMÐMr<   c           
      ó~  — |                       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         ¦  «         |j        dk    ryt	          |d d…ddggf                              ¦   «         |d d…ddggf         ¦  «         t	          |ddggd d…f                              ¦   «         |ddggd d…f         ¦  «         n„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è   re   r¯  )re   rå  ró   rè   r–  ræ  r±  rå  r½  rE  r   rb  z"Only 1D or 2D|>2D is not supportedrk  rò   )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_indexing9  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ñ	
ô 	
ð 	
ð Œ8�uÒÐÝ˜˜2˜A˜2  A ˜x˜<œ×0Ò0Ñ2Ô2°A°b°q°b¸A¸q¸6¸(°l´OÑDÔDÐDÝ˜˜Q ˜F˜8 R a R˜<œ×0Ò0Ñ2Ô2°A¸¸1°v°hÀÀÀ°l´OÑDÔDÐDÐDå”�zÐ1UÐVÑVÔVð  ð  Ø�"�1�"˜˜1�v�h�,”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  å”�zÐ1UÐVÑVÔVð  ð  Ø�A�q�6�(˜B˜Q˜B�,”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ 	Øˆ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$   î$o ï oïoï&pðpð	p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”   r  r  r@  r÷  r	  rø   r(   r™   r   r  rÊ  rò  )r    ÚNUM_SAMPLESr‰  rŒ  rÊ  ÚIr  r¢  ÚSIJÚI_badÚJ_bads              r:   Útest_fancy_indexing_randomizedz1_TestFancyIndexing.test_fancy_indexing_randomized¹  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ò   re   z(bool index .* has shape .* instead of .*rk  )r  r   rù   rø   rJ   r  r  rG  rH  r*  rI   r  r   rÊ  )r    r‰  rŒ  rR   rQ   Úrow_longÚ	row_shortÚcol_longÚ	col_shortrl  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   re   r  rò   r  ræ  )TFTTF)
FTTFTFFFFF)rñ   r)  Trø  )rè   r   rç   )rJ   r”   r  r  r   rù   rø   r   r	  r  r   r™   r   r  rÊ  rò  r  )	r    rR   rQ   r‰  r  rg  Ú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   re   r  r  rò   ræ  )rŽ  r)  )rñ   rV   rç   )rJ   r”   r  r  r   rù   rø   r   r	  r  r  r   r™   r  rÊ  rò  r  )	r    rR   rQ   rg  ÚXspÚZrh  Ú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 )Nry  r$  r   rç   )rø   r   rJ   Úravelr=  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Ø  re   )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                 óz  — |                       t          ddgddgg¦  «        ¦  «        }t          j        ¦   «         5  t          j        dt
          t          ¦  «         |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   re   ró   r(  )	rø   r   r)  r*  r
  r  r)   r   r™   rŸ   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ð 	6ÝÔ# H­dÕ4KÑLÔLÐLØ"% 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   ¼8B Â BÂB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ç   re   ©ró   rñ   ©FFFFFrò   ©r   rç   re   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_empty1  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ÿ   r  r„  r†  r�  r“  r˜  rž  r¢  r¤  r¦  r­  rW   r<   r:   r}  r}  #  s×   € € € € € ðð ð-ð -ð -ðNð Nð Nð~=ð ~=ð ~=ð@<ð <ð <ð4ð ð ð,Gð Gð Gð@Ið Ið Ið.Oð Oð Oð
Lð Lð Lð<ð <ð <ð0ð 0ð 0ð 0ð 0r<   r}  c              #   óà   K  — t          | d¦  «        r| j        sdV — dS dV — | j                             ¦   «         }d| _        |                      ¦   «          t          || j        d¦  «         dS )zIChecks that sorted indices property is retained through an operation
    Úhas_sorted_indicesNFz'Expected sorted indices, found unsorted)rÇ  r¯  r¾  r,  Úsort_indicesr   )rg  r¾  s     r:   Úcheck_remains_sortedr±  B  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Ž  r�  re   r‚  )rø   rJ   r   r  rÊ  r  r™  rû  r³  s     r:   Útest_bad_index_assignz._TestFancyIndexingAssign.test_bad_index_assignR  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	          j        ¦   «         5  t	          j        dt          t          ¦  «         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)  r*  r
  r  r)   r±  r   r™   ©r•  r  rQ   rR   r©  r  r    s       €€€r:   Ú_test_set_slicezI_TestFancyIndexingAssign.test_fancy_indexing_set.<locals>._test_set_sliceZ  sN  ø€ Ø—’  1˜vÑ&Ô&ˆAØ—’�RœX q¨! fÑ-Ô-Ñ.Ô.ˆAÝÔ(Ñ*Ô*ð  ð  ÝÔ'¨µ$Õ8OÑPÔPÐPØ��!�Q�$‘Ý)¨!Ñ,Ô,ð  ð  Ø�A�a˜�d‘Gð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ
 & a§i¢i¡k¤k°1Ñ5Ô5Ð5Ð5Ð5s6   Á7B7ÂB ÂB7Â B$	Â$B7Â'B$	Â(B7Â7B;Â>B;r¿  rV   r–  ró   rŽ  rE  re   )r[  rs  )r*  rJ   r   ©r    rº  r•  r  r©  r  s   `   @@r:   Útest_fancy_indexing_setz0_TestFancyIndexingAssign.test_fancy_indexing_setW  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          j        ¦   «         5  t          j        dt          t
          ¦  «         |                      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   re   r‚  r–  rÈ  )	rø   r)  r*  r
  r  r)   rV  r   r=  r  s     €r:   r  zD_TestFancyIndexingAssign.test_fancy_assignment_dtypes.<locals>.checkl  s‡  ø€ Ø—’˜v¨U�Ñ3Ô3ˆAÝÔ(Ñ*Ô*ð Gð GÝÔ'¨µ$Õ8OÑPÔPÐPØ!&§¢¨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   ¬D3E,Å,E0Å3E0ró  r  s   `  r:   Útest_fancy_assignment_dtypesz5_TestFancyIndexingAssign.test_fancy_assignment_dtypesk  sW   ø€ ð		Gð 		Gð 		Gð 		Gð 		Gõ &ð 	#ð 	#ˆEØˆE•"”(˜5‘/”/Ñ"Ô"Ð"Ð"ð	#ð 	#r<   c                 óÔ  — |                       d¦  «        }|                       t          dd¦  «        ¦  «        }g d¢}d}t          |¦  «        }t          j        ¦   «         5  t          j        dt          t          ¦  «         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 )Nrm  ró   r–  r5  r(  r   rç   re   r  rV   rò  rf  )r   rV   rò  rÇ  r`  rã  râ  )râ  r5  rñ   )rø   r'   r   r)  r*  r
  r  r)   r±  r?  r   r™   r  rJ   r   r   r=  )r    rQ   rR   Úi0Úi1Úi2rý   s          r:   Útest_sequence_assignmentz1_TestFancyIndexingAssign.test_sequence_assignmentz  sÃ  € Ø�NŠN˜5Ñ!Ô!ˆØ�NŠN�3˜q ™8œ8Ñ$Ô$ˆàˆWˆWˆØˆÝ�2‰YŒYˆåÔ$Ñ&Ô&ð #	/ð #	/ÝÔ# H­dÕ4KÑLÔLÐLÝ% 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Ë   Á!0MÂ=CÃMÃC	ÃMÃ!C	Ã"A MÅEÅMÅE	ÅMÅ!E	Å"AMÆ1GÆ?MÇG	ÇMÇG	ÇA9MÉI.É"MÉ.I2	É2MÉ5I2	É6A	MÊ?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ç   re   r¨  r©  é*   rò   rª  r«  r¬  s        r:   Útest_fancy_assign_emptyz0_TestFancyIndexingAssign.test_fancy_assign_empty§  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³  Q  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}t           j                             d	¦  «         |                      t           j                             d
d¦  «        ¦  «        }|                      |¦  «        }|j        dk    rW|                     t          j        dgdgdggdgdgdggg¦  «        t          j        d
gdgdggdgdgdggg¦  «        f¦  «         |D �]S\  }}|||f         }|||f         }t          t          |¦  «        |¦  «         |d
z   }|dz   }	t          t          |j        ||f¦  «         t          t          |j        ||	f¦  «         |j        dk    rYt          t          |j        ||gt          d ¦  «        f¦  «         t          t          |j        t          d ¦  «        ||gf¦  «         Œßt          |||gd d …f          
                    ¦   «         |||gd d …f         ¦  «         t          |d d …||gf          
                    ¦   «         |d d …||gf         ¦  «         �ŒUd S )Nrç   re   ró   ©ró   r–  re   râ  r–  ©rŽ  rñ   ró   ©re   ró   rç   rc   rŽ  rä  rb  rñ   )rJ   r   r”   r  r  r@  rø   rû   rL   r   r™   r  rÊ  rò  r*  )
r    ÚIandJrÊ  r¢  r‰  r  rŠ  ÚDIJr‹  rŒ  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 ) ) )Ð,Ñ-Ô-­r¬x¸¸¸ÀIÀIÀIÐ8NÑ/OÔ/OÐPð
ˆõ 	Œ	�Š�tÑÔÐØ�LŠL�œŸš¨¨1Ñ-Ô-Ñ.Ô.ˆØ�NŠN˜1ÑÔˆð Œ8�uÒÐØ�LŠLÝ”˜Q˜C !  q c˜?¨a¨S°1°#¸°s¨OÐ<Ñ=Ô=Ý”˜Q˜C !  q c˜?¨a¨S°1°#¸°s¨OÐ<Ñ=Ô=ð?ñô ð ð
 ð 	Cñ 	C‰DˆAˆqØ�A�q�D”'ˆCØ�A�q�D”'ˆCÝ� ™œ sÑ+Ô+Ð+à˜‘EˆEØ˜‘EˆEå�* a¤m°e¸Q°ZÑ@Ô@Ð@Ý�* a¤m°a¸°ZÑ@Ô@Ð@àŒx˜5Ò Ð Ý�j¨!¬-¸1¸a¸&Å%ÈÁ+Ä+Ð9NÑOÔOÐOÝ�j¨!¬-½%À¹+¼+ÈÈ1ÀvÐ9NÑOÔOÐOÐOå˜Q  1˜v q q q˜yœ\×1Ò1Ñ3Ô3°Q¸¸1°v¸q¸q¸q°y´\ÑBÔBÐBÝ˜Q˜q˜q˜q 1 a &˜yœ\×1Ò1Ñ3Ô3°Q°q°q°q¸1¸a¸&°y´\ÑBÔBÐBÑBð!	Cð 	Cr<   N)rµ   r¶   r·   rÐ  rW   r<   r:   rÉ  rÉ  ¿  s(   € € € € € ð$Cð $Cð $Cð $Cð $C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ä  re   ró   râ  rË  rÌ  rÍ  )rJ   r”   r  r  r@  rø   r   r±  r   r™   r  rÊ  rû  ©	r    rÊ  r¢  rg  r‰  r  r‹  rŒ  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          j        ¦   «         5  t          j        dt
          t          ¦  «         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)  r*  r
  r  r)   r  rJ   r   r   r™   r¹  s       €€€r:   rº  zR_TestFancyMultidimAssign.test_fancy_indexing_multidim_set.<locals>._test_set_slice  sM  ø€ Ø—’  1˜vÑ&Ô&ˆAÝ% aÑ(Ô(ð ð ­(Ô*AÑ*CÔ*Cð ð ÝÔ'¨µ$Õ8OÑPÔPÐPØ��!�Q�$‘ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð —’�RœX q¨! fÑ-Ô-Ñ.Ô.ˆAØˆAˆa�ˆd‰GÝ% a§i¢i¡k¤k°1Ñ5Ô5Ð5Ð5Ð5s4   ¨B¼(A0Á$BÁ0A4	Á4BÁ7A4	Á8BÂBÂBrç   re   ró   r   r–  râ  ©r   re   r–  )r   r–  ró   )r–  rç   re   )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ä  re   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”   r  r  r@  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ç   re   ró   ró   r–  re   )rŽ  rñ   ró   re   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>A  rê  r<   )rç   re   ró   r–  rŽ  rñ   rä  )rJ   r”   r  r  r@  rø   r   r  rÊ  rû  r*  )	r    rÊ  r¢  r‰  r  r‹  rŒ  ÚC1ÚC2s	            r:   Útest_fancy_assign_slicez0_TestFancyMultidimAssign.test_fancy_assign_slice7  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   ç      À¿r‚  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   rt   rÈ  rø   )r    Ú_TestArithmetic__AÚ_TestArithmetic__BÚ_TestArithmetic__AspÚ_TestArithmetic__Bsps        r:   Ú__arith_initz_TestArithmetic.__arith_initM  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(  rF  r  )Ú_TestArithmetic__arith_initr   r™   r-   rJ   rJ  rt   rø   rl   r|  rÈ  r   r?   ©r    r÷  rø  rù  rú  r@   rQ   r,  rA   rR   rø  ÚD1ÚS1s                r:   Útest_add_subz_TestArithmetic.test_add_sube  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(  rF  g›+¡†›„=)Úatol)rý  r   r?  r™   r-   rJ   rJ  rt   rø   rl   r|  rÈ  r   r²  rZ   r   r?   rþ  s                r:   Útest_muz_TestArithmetic.test_mu‘  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Ó  r`  r  r  rW   r<   r:   rð  rð  I  si   € € € € € ðð ð&ð &ð &ð0 „[×Ò˜2ÑÔð)/ð )/ñ Ôð)/ðV0ð 0ð 0ð 0ð 0r<   rð  c                   ó8   — e Zd 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¬¦  «        d
¦  «         | }t          |                     ¦   «         d¦  «         t          |                     d¬¦  «        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ó   T©Úexplicitr)  re   rØ  ©r   rV   ©rV   r   )rJ   rö   rô   r[   rf   r÷   r   rù   rø   r   rn   rZ   r?   r   r‡  r  r  )r    r?   rÊ  rg  r›  s        r:   Útest_minmaxz_TestMinMax.test_minmax­  sq  € Ý”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Ñ,Ô,Ð,Ý�Q—U’U D�UÑ)Ô)¨1Ñ-Ô-Ð-àˆBˆÝ�Q—U’U‘W”W˜bÑ!Ô!Ð!Ý�Q—U’U D�UÑ)Ô)¨2Ñ.Ô.Ð.ð �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                 óê  — | 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          |                     |¬¦  «                             ¦   «         |                     ||¬¦  «        ¦  «         Œ™t          |                     d¬¦  «        |                     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¬¦  «                             ¦   «         |	¦  «         Œª|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æ  r`  rè   rÈ  rE  rd  ro  T©re  r
  )
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   r<  )rV   rŽ  r  Fr  )r  rJ   r   rù   rø   r   rZ   r™   rn   r   r  ÚanyrÀ  r   r   rt  rG  rH  r  r  )r    ra  rÊ  rg  Ú	axes_evenÚaxes_oddre  rq  Úexpected_maxÚexpected_minÚexplicit_valuesÚeven_explicit_pairsÚodd_explicit_pairsÚexs                 r:   Útest_minmax_axisz_TestMinMax.test_minmax_axisÞ  sH  € ØÔ%Ð%ˆÝŒ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ñô ð ð õ 	�Q—U’U �UÑ'Ô'¨¯ª°FÀT¨Ñ)JÔ)JÑKÔ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          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }| j        rt          nt          j        }| j        rt          nt          }t          | 	                    ¦   «         ¦  «        sJ ‚t          | 	                    d¬¦  «        |¦  «        sJ ‚t          | 	                    d¬¦  «        |¦  «        sJ ‚t          |                     ¦   «         ¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     ¦   «         ¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     ¦   «         ¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     ¦   «         ¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     ¦   «         ¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚t          |                     d¬¦  «        |¦  «        sJ ‚d S rj  )r   rø   r  r
   rJ   r1   r*   r+   r.   rn   rI   rZ   ÚnanminÚnanmaxÚargminÚargmax)r    rë   ré   rk  Úspmatrix_or_sparrays        r:   Útest_minmax_container_typez&_TestMinMax.test_minmax_container_typeD  sÈ  € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆØ%)Ô%7ÐF�'˜'½R¼YˆØ)-Ô);ÐI�g˜gÅÐå˜EŸIšI™KœKÑ(Ô(Ð(Ð(Ð(Ý˜%Ÿ)š)¨˜)Ñ+Ô+Ð-@ÑAÔAÐAÐAÐAÝ˜%Ÿ)š)¨˜)Ñ+Ô+Ð-@ÑAÔAÐAÐAÐAå˜EŸIšI™KœKÑ(Ô(Ð(Ð(Ð(Ý˜%Ÿ)š)¨˜)Ñ+Ô+Ð-@ÑAÔAÐAÐAÐAÝ˜%Ÿ)š)¨˜)Ñ+Ô+Ð-@ÑAÔAÐAÐAÐAå˜EŸLšL™NœNÑ+Ô+Ð+Ð+Ð+Ý˜%Ÿ,š,¨A˜,Ñ.Ô.Ð0CÑDÔDÐDÐDÐDÝ˜%Ÿ,š,¨A˜,Ñ.Ô.Ð0CÑDÔDÐDÐDÐDå˜EŸLšL™NœNÑ+Ô+Ð+Ð+Ð+Ý˜%Ÿ,š,¨A˜,Ñ.Ô.Ð0CÑDÔDÐDÐDÐDÝ˜%Ÿ,š,¨A˜,Ñ.Ô.Ð0CÑDÔDÐDÐDÐDå˜EŸLšL™NœNÑ+Ô+Ð+Ð+Ð+Ý˜%Ÿ,š,¨A˜,Ñ.Ô.°Ñ@Ô@Ð@Ð@Ð@Ý˜%Ÿ,š,¨A˜,Ñ.Ô.°Ñ@Ô@Ð@Ð@Ð@å˜EŸLšL™NœNÑ+Ô+Ð+Ð+Ð+Ý˜%Ÿ,š,¨A˜,Ñ.Ô.°Ñ@Ô@Ð@Ð@Ð@Ý˜%Ÿ,š,¨A˜,Ñ.Ô.°Ñ@Ô@Ð@Ð@Ð@Ð@Ð@r<   c                 óf  — |                       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 ‚| 	                    d¬¦  «        }t          j        |¦  «        sJ ‚|t          j	        |d¬¦  «        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æ  r`  rè   rÈ  rU  )rç   r–  r<  rd  )rE  rè   r   rç   )r  rJ   r   rù   r‡  r-  rø   r&  r>  r%  r   r™   rI   r  )	r    rÊ  rg  ÚX_nan_maximumÚX_nan_minimumro  re  ÚX_nan_maximaÚX_nan_minimas	            r:   Útest_nanminmaxz_TestMinMax.test_nanminmaxd  s"  € Ø�LŠL�œ 2™œ×.Ò.¨q°Ñ4Ô4½EˆLÑBÔBˆØˆˆ!ˆQˆQˆQˆ$‰Øˆˆ!ˆ!ˆ!ˆQˆ$‰Øˆˆ$‰Øˆˆ$‰Ý”&ˆˆ$‰Ý”&ˆˆ$‰Ø�NŠN˜1ÑÔˆàŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àŸš™
œ
ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!¡¤Ò,Ð,Ð,Ð,àŸš f˜Ñ-Ô-ˆÝŒ{˜=Ñ)Ô)Ð)Ð)Ð)Ø¥¤	¨!°&Ð 9Ñ 9Ô 9Ò9Ð9Ð9Ð9àˆ~ˆ~ˆØð 	@ð 	@ˆ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                 ó~  — t          g d¢g d¢g d¢g¦  «        }|                      |¦  «        }dD ]Œ}t          ||¦  «        }t          ||¦  «        }t          t          |d¬¦  «         t          t
          |d¬¦  «         t          t          |dd¬	¦  «         t           |d
¬¦  «         |d
¬¦  «        ¦  «         Œ�d S )Nr5  r6  r7  )rn   rZ   ró   rd  rK  rç   rL  r<  )r   rø   r{   r  r  r™  r   )r    rë   ré   ÚfnameÚdatfuncr‚   s         r:   Útest_minmax_invalid_paramsz&_TestMinMax.test_minmax_invalid_params„  sæ   € Ý�Y�Y�YØ�Z�ZØ�Z�Zð!ñ "ô "ˆð —’˜sÑ#Ô#ˆà#ð 	Bð 	BˆEÝ˜c 5Ñ)Ô)ˆGÝ˜5 %Ñ(Ô(ˆDÝ�* d°Ð3Ñ3Ô3Ð3Ý�) T°Ð4Ñ4Ô4Ð4Ý�* d°¸Ð:Ñ:Ô:Ð:Ý˜˜ 6Ð*Ñ*Ô*¨G¨G¸Ð,@Ñ,@Ô,@ÑAÔAÐAÐAð	Bð 	B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   ©Ú_datar5  r6  r7  )
Úscipy.sparser7  r   rø   rI   Ú_minmax_mixinr   rJ   rn   rZ   )r    r7  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                 óÀ  — 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          | 
                    d¬¦  «        d¦  «         t          |  
                    d¬¦  «        d¦  «         t          |                     d¬¦  «        d¦  «         t          |                      d¬¦  «        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   r6  )rè   rŽ  re   ró   )r   r   rè   rE  )rè   rE  r½  r±  rÔ  )rç   re   r   r   r–  ró   rä  rŽ  )rŽ  rŽ  ró   )r–  ræ  rV   )ró   r–  ræ  rd  rç   Tr	  re   rÙ  r  Frÿ  zCannot applyrk  r  r<  r*  )ró   r   ró   ró   )r   re   re   re   )rç   re   r   ró   rç   )r   ró   ró   r   r   rö  rè   r  rÈ  )r8  r7  rJ   r   r   r  rø   rI   r9  r   r(  r'  rÛ  rG  rH  r½   r  r   r  r  r   rg  rù   r   )r    r7  rÿ  ÚD2ÚD3ÚD4ÚD5rÊ  r¡   ÚD6ÚD7Ú	explicitsre  r"  rq  r  r  s                    r:   Útest_argmaxz_TestMinMax.test_argmax¤  sG  € Ø&Ð&Ð&Ð&Ð&Ð&ÝŒ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ð �nŠn˜TŸ\š\¨"Ñ-Ô-Ñ.Ô.ˆÝ�S—Z’Z¨�ZÑ.Ô.°Ñ2Ô2Ð2Ý�s�d—]’]¨D�]Ñ1Ô1°1Ñ5Ô5Ð5Ý�S—Z’Z¨�ZÑ.Ô.°Ñ2Ô2Ð2Ý�s�d—]’]¨D�]Ñ1Ô1°1Ñ5Ô5Ð5ð �^Š^�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   Í>N"Î"N&	Î)N&	ÏO,Ï,O0	Ï3O0	Ù$ZÚZÚZÚ.[Û[Û[N)
rµ   r¶   r·   r  r#  r*  r0  r4  r:  rC  rW   r<   r:   r  r  ¬  s•   € € € € € ð/-ð /-ð /-ðbdTð dTð dTðLAð Að Að@@ð @ð @ð@Bð Bð Bð;ð ;ð ;ð$T5ð T5ð T5ð T5ð T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   re   ró   rŽ  r8  ræ  rd  rç   rE  rè   )r   rt   r  rø   rJ   r[   rf   r  rh  Úgetnnzr   r=  r;   r?   r  r  )r    rë   Úbool_datré   Úaccepted_return_dtypesrG  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·   rJ  rW   r<   r:   rE  rE  û  s#   € € € € € ð2ð 2ð 2ð 2ð 2r<   rE  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)Nr8  )rm  r™  r  rÊ  rù  r  r  )rN   r}   Úfcs     €r:   r„   z6_possibly_unimplemented.<locals>.wrap.<locals>.wrapper!  sY   ø€ ðAØ˜2˜q˜< B˜<˜<Ð'øÝ+­Y½
Ý"¥Nð4ð Að Að Aå œ+Ð&?Ñ@Ô@Ð@ðAøøøs	   ƒ ‹8A)r‘   r’   )rN  r„   s   ` r:   Úwrapz%_possibly_unimplemented.<locals>.wrap   s=   ø€ ÝŒ_˜RÑ Ô ðAð Að Að Añ !Ô ðAð ˆNr<   Útest_ÚNotImplemented)ÚdictrG   r¥  Ú
startswithrV  rµ   Ú	__bases__)r  ÚrequirerO  Únew_dictr   r‚   s         r:   Ú_possibly_unimplementedrW    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.
    rP  NzTest class z overloads test z defined in ÚTestBase)r
  rW  rì  r  rÖ  rð  r  rb  r}  r³  rÉ  rÒ  r  rE  rG   rS  Úgetr  rµ   rV  )Ú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_classrg  4  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d„ Zd„ Zd„ ZdS )Ú_CompressedMixinc                 óH  — |                       |¦  «        }d|_        |                     ¦   «          |j        sJ ‚t          |¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |                     ¦   «         dk    ¦  «        sJ ‚d S )NFrŽ  )rø   r¯  r°  r±  r  rJ   ÚallrÚ  rÉ  s      r:   Ú_test_setdiag_sortedz%_CompressedMixin._test_setdiag_sorteda  sÕ   € Ø�NŠN˜1ÑÔˆà$ˆÔØ	�ŠÑÔÐØÔ#Ð#Ð#Ð#å! !Ñ$Ô$ð 	ð 	Ø�IŠI�a‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	åŒv�a—j’j‘l”l aÒ'Ñ(Ô(Ð(Ð(Ð(Ð(Ð(s   Á	A+Á+A/Á2A/c                 óä   — d}t          j        d|dz   ¦  «        }t           j        g d¢         |z  }d}d|d| d …f<   g d¢}|                      ||f||f¬¦  «        }|                      |¦  «        S )Néê  rç   ©rè   re   rç   ró   r�  r¾  ©r½   ©rJ   r   Úc_r  rl  )r    rŒ  ÚvalsÚdiagsÚN_newrÃ  rÊ  s          r:   Útest_setdiag_noconvertz'_CompressedMixin.test_setdiag_noconvertl  sŒ   € ð ˆÝŒy˜˜A ™EÑ"Ô"ˆÝ”�j�j�jÔ! DÑ(ˆð ˆØˆˆa�%���ˆjÑØ�*�*ˆØ×Ò  wÐ/¸¸1°vÐÑ>Ô>ˆØ×(Ò(¨Ñ+Ô+Ð+r<   c                 óÞ   — d}t          j        d|dz   ¦  «        }t           j        g d¢         |z  }d|ddd …f<   g d¢}|                      ||f||f¬¦  «        }|                      |¦  «        S )Nrn  rç   ro  r�  rŽ  r¾  rp  rq  )r    rŒ  rs  rt  rÃ  rÊ  s         r:   Útest_setdiag_cooconvertz(_CompressedMixin.test_setdiag_cooconvert}  s‚   € ð
 ˆÝŒy˜˜A ™EÑ"Ô"ˆÝ”�j�j�jÔ! DÑ(ˆàˆˆa���ˆe‰Ø�*�*ˆØ×Ò  wÐ/¸¸1°vÐÑ>Ô>ˆØ×(Ò(¨Ñ+Ô+Ð+r<   N)rµ   r¶   r·   rl  rv  rx  rW   r<   r:   ri  ri  `  sA   € € € € € ð	)ð 	)ð 	)ð,ð ,ð ,ð",ð ,ð ,ð ,ð ,r<   ri  c                   ó¾   — e Zd Zed„ ¦   «         Zej        ej        ej        ej	        gZ
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestCSRc                 ó´   — t          j        ¦   «         5  t          j        dt          t          ¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S ©Nr(  )r)  r*  r
  r  r)   r!   ©r  ÚargsrB   s      r:   rø   zTestCSR.spcreator�  ó›   € åÔ$Ñ&Ô&ð 	.ð 	.ÝÔ# H­dÕ4KÑLÔLÐLÝ˜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ó   re   r   r  ró   r7  )r   r  r   rÀ  r   r¾  r¿  r   rg  rû   r™   ©r    rS   rO  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™   r‚  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   re   ró   r  râ  r$  r  )r   r  r   rÀ  r   r¾  r¿  r™   r‚  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©re   ró   rç   ró   r   rç   ró   r   re   rç   re   ©r   rç   r   r   rç   rç   re   re   re   re   rç   ©ç      @g      $@r€  ç      "@r‚  r§  g      &@rƒ  ç       @ç      @r˜  rm  rì  r–  ró   ì           rç   r   rò   ©rç   rç   rç   rç   ©r   re   re   r   ©r   rç   rç   r   re   )
r   r	   r  r   r   rù   r™   rJ   Úuint64rg  )r    rÁ  rÂ  rÀ  r'  r7  r]  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ç   re   rÔ  r¨  )r   r  r   r½   ©r    r¿  r¾  rÀ  r7  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 r˜  )r  r   r½   r   rJ   rl   r?   Úsignedintegerr›  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ç   re   rç   r   r   re   rò   ©r   re   r–  rñ   r`  rp  r5  rï  )rŽ  r   rñ   r  )r   r   rJ   rf   r  r?   r  r[   r   r¿  r¾  r   r™   )r    rÀ  rÂ  ÚptrrN   rS   Úexpected_dtypes          r:   Útest_constructor_smallcolz!TestCSR.test_constructor_smallcolØ  sõ   € å�a‰yŒy˜1‰}ˆÝÐ&Ð&Ð&­b¬hÐ7Ñ7Ô7ˆÝ�L�L�L­¬Ð1Ñ1Ô1ˆà×Ò  c¨3Ð/°vÐÑ>Ô>ˆå�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ç   rr  r   re   rò   r¢  ró   )r   rJ   rY   r[   rZ   r   rf   r  r   r¿  r?   r¾  r   r½   )r    rÀ  ÚlargerÂ  r£  rN   s         r:   Útest_constructor_largecolz!TestCSR.test_constructor_largecolê  së   € å�a‰yŒy˜1‰}ˆÝ”�œÑ"Ô"Ô&¨Ñ,ˆÝ�Q˜˜1˜e U¨1¡W¨e°A©gÐ6½b¼hÐGÑGÔGˆÝ�L�L�L­¬Ð1Ñ1Ô1ˆà×Ò  c¨3Ð/Ñ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ä  re   rç   rŽ  r–  ©r   ró   rŽ  ©re   rV   rp  ©rç   re   rä  r–  rŽ  )r   r   r  r,  r°  r   r¾  r™   ©r    rÀ  r¾  r¿  rN  rO  s         r:   Útest_sort_indiceszTestCSR.test_sort_indices÷  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   re   r   ró   r   ©rç   re   ró   r–  rŽ  rñ   rä  rå  ©r   ró   rå  r¬  rp  ró   râ  )r   r  r,  Úeliminate_zerosr   rg  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    rg  r¨  r°  s       r:   Útest_ufuncszTestCSR.test_ufuncs  óô   € Ø×Ò�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Ž  rª  r«  r¬  rp  rñ   ©rå  rç   rŽ  rä  re   r–  ©r   re   rñ   )r   r   r  r   r™   r®  s         r:   Útest_unsorted_arithmeticz TestCSR.test_unsorted_arithmetic  óØ   € Ý�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ç   re   ró   rË  rc   rŽ  rä  ©
rJ   r   r”   r  r  r@  rø   r(   r™   r   ©r    r‰  r  rÊ  r¢  rŠ  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ç   re   TFN)rJ   r   r  r,  r   r¯  rI   r  r°  r   r¾  )r    Úsorted_indsÚunsorted_indsrÀ  r¿  r‰  s         r:   Útest_has_sorted_indiceszTestCSR.test_has_sorted_indices1  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          j        ddg¦  «        t          j        ddg¦  «        t          j        ddg¦  «        f}|                      |¦  «        }t          d|j        ¦  «         |                      |¦  «                             ¦   «         }t          d|j        ¦  «         t          |j        t          ¦  «        sJ ‚|                     ¦   «          t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                      |¦  «                             ¦   «         }d|_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         d|_        |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         t          d|j        ¦  «         d|_        t          d|j        ¦  «         |                      |j        |j
        |j        f¦  «        }t          d|j        ¦  «         |                     ¦   «          t          d|j        ¦  «         |                      t          j        dg¦  «        t          j        dg¦  «        t          j        g d¢¦  «        f¦  «        }t          |j        d¦  «         t          j        ¦   «         5  t          j        dt"          t$          ¦  «         d|d	<   |dd
d
…fxx         dz  cc<   d|d<   d
d
d
¦  «         n# 1 swxY w Y   t          d|j        ¦  «         |                      |j        |j
        |j        f¦  «        }t          d|j        ¦  «         |                      |¦  «        }|\  |_        |_
        |_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                      |¦  «        }|j         |\  |_        |_
        |_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         d
S )ú=Ensure has_canonical_format memoizes state for sum_duplicatesre   r   rç   TF)r   rç   rç   rç   r`  r(  r<  NrŽ  ró   r  )rJ   r   r  r   Úhas_canonical_formatr,  rI   r  Úsum_duplicatesrÂ   r¾  rÀ  r¿  r½   r)  r*  r
  r  r)   )r    Úinfo_no_dupsÚinfo_with_dupsr‰  ÚMchecks        r:   Útest_has_canonical_formatz!TestCSR.test_has_canonical_formatM  sn  € õ œ ! ™œ¥r¤x°°¡}¤}µb´hÀÀ1¸vÑ6FÔ6FÐGˆÝœ( A q 6Ñ*Ô*­B¬H°a¸°VÑ,<Ô,<½b¼hÈÈ1ÀvÑ>NÔ>NÐOˆà×Ò˜|Ñ,Ô,ˆÝ�T˜1Ô1Ñ2Ô2Ð2à×Ò˜~Ñ.Ô.×3Ò3Ñ5Ô5ˆÝ�U˜AÔ2Ñ3Ô3Ð3Ý˜!Ô0µ$Ñ7Ô7Ð7Ð7Ð7ð 	
×ÒÑÔÐÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'ð ×Ò˜~Ñ.Ô.×3Ò3Ñ5Ô5ˆØ!%ˆÔÝ�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'à	×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'à!&ˆÔØ	×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ý�T˜1Ô1Ñ2Ô2Ð2ð "'ˆÔÝ�U˜AÔ2Ñ3Ô3Ð3Ø×#Ò# Q¤V¨Q¬Y¸¼Ð$AÑBÔBˆÝ�T˜6Ô6Ñ7Ô7Ð7à	×ÒÑÔÐÝ�T˜1Ô1Ñ2Ô2Ð2ð ×Ò¥¤¨!¨¡¤­r¬x¸¸©}¬}½b¼hÀ|À|À|Ñ>TÔ>TÐUÑVÔVˆÝ�Q”W˜fÑ%Ô%Ð%ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ# H­dÕ4KÑLÔLÐLØˆAˆd‰GØˆa���ˆdˆGˆGŒG�q‰LˆGˆG‰GØˆAˆd‰Gð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 	�T˜1Ô1Ñ2Ô2Ð2Ø×#Ò# Q¤V¨Q¬Y¸¼Ð$AÑBÔBˆÝ�T˜6Ô6Ñ7Ô7Ð7ð ×Ò˜|Ñ,Ô,ˆØ&4Ñ#ˆŒ�”	˜1œ8Ý�U˜AÔ2Ñ3Ô3Ð3Ý�Q�˜AœI™œÑ'Ô'Ð'ð ×Ò˜|Ñ,Ô,ˆØ	ÔÐØ&4Ñ#ˆŒ�”	˜1œ8Ý�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'Ø	×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ð'Ð's   Ì6?NÎNÎN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 )Nre   rò   r   ©rç   éÿÿÿrp  ©rç   ì        r  )rJ   r   r[   r  r   r¿  r?   rf   ©r    r¿  r¾  rs  rN   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                 óÆ   — |                       g d¢g¦  «        }|                       g d¢g¦  «        }||z   j        dk    sJ ‚|                     |¦  «        j        dk    sJ ‚d S )Nr$  ©rç   rç   r   re   rç   )r  rg  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  rƒ  r†  rˆ  r–  rœ  r   r¥  r¨  r¯  rµ  rº  r¿  rÅ  rÊ  rÒ  rÙ  rÞ  rW   r<   r:   rz  rz  Œ  sN  € € € € € Øð.ð .ñ „[ð.ð ”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ð8B(ð B(ð B(ðHð ð ð0&ð &ð &ð &ð &r<   rz  c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚTestCSRMatrixc                 ó´   — t          j        ¦   «         5  t          j        dt          t          ¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r|  )r)  r*  r
  r  r)   r   r}  s      r:   rø   zTestCSRMatrix.spcreator¶  ó›   € åÔ$Ñ&Ô&ð 	/ð 	/ÝÔ# H­dÕ4KÑLÔLÐLÝ˜tÐ. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/r€  N©rµ   r¶   r·   rÒ  rø   rW   r<   r:   rá  rá  µ  ó-   € € € € € Øð/ð /ñ „[ð/ð /ð /r<   rá  c                  ó²   — t           t          j                 } t          | t          ¦  «        sJ ‚| j        t           u sJ ‚| j        t          j        fk    sJ ‚d S r>   )r   rJ   r   rI   r   Ú
__origin__Ú__args__©rX  s    r:   Útest_spmatrix_subscriptablerê  ¼  sU   € Ý�œÔ €FÝ�f�lÑ+Ô+Ð+Ð+Ð+ØÔ¥
Ð*Ð*Ð*Ð*ØŒ?�rœw˜jÒ(Ð(Ð(Ð(Ð(Ð(r<   c                   ó    — e Zd Zed„ ¦   «         Zej        ej        ej        ej	        gZ
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚTestCSCc                 ó´   — t          j        ¦   «         5  t          j        dt          t          ¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r|  )r)  r*  r
  r  r)   r    r}  s      r:   rø   zTestCSC.spcreatorÇ  r  r€  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   re   r   ró   r  )rç   re   rç   ró   )r   re   rç   re   rª  r–  r6  )r   r  r   rÀ  r   r¾  r¿  r   rg  r½   rû   r‚  s      r:   rƒ  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 )Nr…  r  rŽ  ©re   r–  re   )r   r   r   r   r   rç   rç   )r   r  r   rÀ  r   r¾  r¿  r‚  s      r:   r†  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   re   r  r5  )r   r  r   rÀ  r   r¾  r¿  r‚  s      r:   rˆ  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 )NrŠ  r‹  rŒ  rm  rì  r–  ró   r’  r“  r”  re   )r   r	   r  r   r   rù   r™   rg  )r    rÁ  rÂ  rÀ  r'  r6  s         r:   r–  zTestCSC.test_constructor4ç  sÔ   € åÐ5Ð5Ð5Ñ6Ô6ˆÝÐ5Ð5Ð5Ñ6Ô6ˆÝÐCÐCÐCÑDÔDˆå�S˜�IÑÔˆØ× Ò  $ r ¨5Ñ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 ©Nr™  rš  rÔ  )rñ   ró   )r   r  r   r½   ©r    r¿  r¾  rÀ  r6  s        r:   rœ  zTestCSC.test_constructor5õ  r�  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   rl   r?   rŸ  r÷  s        r:   r   zTestCSC.test_constructor6ý  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   re   rp  ró   râ  )r   r  r,  r´  r   rg  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Ž  rª  r«  rú  rp  r­  )r   r   r  r,  r°  r   r¾  r™   )r    rÀ  rÁ  r£  rN  rO  s         r:   r¯  zTestCSC.test_sort_indices  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_ufuncs  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Ž  rª  r«  rú  rp  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_broadcast2  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 )
Nre   rò   r   )rÕ  rç   rp  )r×  rç   r  rÔ  rÖ  )	rJ   r   r[   r  r  r   r¿  r?   rf   rØ  s               r:   rÙ  zTestCSC.test_scalar_idx_dtype@  rÚ  r<   N)rµ   r¶   r·   rÒ  rø   rJ   rú  rß  rô   r÷   r  rƒ  r†  rˆ  r–  rœ  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ð"ð "ð "ðð ð ð ð r<   rì  c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚTestCSCMatrixc                 ó´   — t          j        ¦   «         5  t          j        dt          t          ¦  «         t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r|  )r)  r*  r
  r  r)   r   r}  s      r:   rø   zTestCSCMatrix.spcreator]  rã  r€  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   rJ  rò  ©rŽ  rñ   )r  r?  r   r   r™   )r    rQ   rÊ  r  s       r:   Ú	test_multzTestDOK.test_multk  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ó  ry  )rø   r   r   r™   r0  s      r:   Útest_add_nonzerozTestDOK.test_add_nonzeros  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  ry  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ç   rM  re   r  ró   r^  r–  r  rŽ  rm  rñ   rU  )	r  r   r™   r   r¢  r   r   r½   r£  )r    r©  r  rN   r6  rS   r7  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  r5  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 )Nr`  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  g  sŠ   € € € € € Ø€IØ”7˜BœJ¨¬Ð6€Kð5ð 5ð 5ð
+ð 
+ð 
+ð;ð ;ð ;ð<ð <ð <ð>%ð %ð %ð*Bð Bð Bð Bð Br<   r  )rb  rc  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   rJ  y              4@r  rò   Úppc64le)
r   rJ   r÷   r  ÚplatformÚmachiner   r?  r™   r   r0  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 )Nr`  re   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   re   ró   r'  r$  ró   )ÚaddÚsubÚmulÚ__iÚ__rI  rô   rò   )çš™™™™™¹?r-  r-  r   )	r  r¥  r,  r{   r   r™   rJ   r?   r  )r    rQ   rR   rÀ  ÚoprÑ   rq  rX  s           r:   Útest_inplace_opszTestLIL.test_inplace_opsö  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   rF  r   r™   rÃ   )r    Úrow_datarR   r  rÁ  s        r:   Útest_lil_iterationzTestLIL.test_lil_iteration
  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   rJ  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_csr  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 )Nr7  rŽ  râ  re   ró   )r  r   rù   r  r   r   r™   )r    r‰  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 )Nrm  rç   rØ  re   r)  ró   rÈ  r–  r^  r<  rÇ  ry  rf  ©r   r   ræ  )r   rö  r   )r  r   r÷  r™   )r    Úlr©  s      r:   Útest_point_wise_multiplyz TestLIL.test_point_wise_multiply#  s  € Ø×Ò˜vÑ&Ô&ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰à×Ò˜vÑ&Ô&ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰å˜1Ÿ:š: a™=œ=×0Ò0Ñ2Ô2ØŸ:š: a™=œ=×0Ò0Ñ2Ô2ñ	4ô 	4ð 	4õ 	˜1Ÿ:š: a™=œ=×0Ò0Ñ2Ô2Ø%˜I˜IØ%˜I˜IØ%˜I˜IØ&˜J˜Jð(ñ	)ô 	)ð 	)ð 	)ð 	)r<   c                 óp   — |                       t          j        d¦  «        ¦  «        }|dz  }d|dd d …f<   d S )Nr`  rƒ  r   )r  rJ   r  r^  s     r:   Útest_lil_multiply_removalz!TestLIL.test_lil_multiply_removal:  s;   € à×Ò�rœw v™œÑ/Ô/ˆØ	ˆR‰ˆØˆˆ!ˆQˆQˆQˆ$‰ˆˆr<   N)rµ   r¶   r·   r$   rø   rJ   rß  rô   r÷   r  r!  r#  r%  r/  r3  r5  r7  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  )rb  c                   ó   — e Zd ZeZdS )ÚTestLILMatrixN)rµ   r¶   r·   r   rø   rW   r<   r:   r?  r?  A  r  r<   r?  c                   óÎ   — e Zd 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„ ZdS )ÚBaseTestCOOc                 ó  — 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 )NrŠ  r‹  rŒ  rm  rì  r–  ró   r‘  rç   r   rò   )r   r  r   r   rù   r™   rJ   r•  )r    rÁ  rÂ  rÀ  rb  r]  s         r:   rƒ  zBaseTestCOO.test_constructor1L  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ç   re   re   re   re   r   r   re   re   )
r   re   r   re   rç   rç   rç   r   r   re   )
re   ræ  r±  rŽ  rä  r   rè   re   rç   r¯  r`  )r–  rè   r   r9  )r½  rä  r   )r   r  r   r™   )r    rÁ  rÂ  rÀ  rb  r¡   s         r:   r†  zBaseTestCOO.test_constructor2Z  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 )Nrm  )r  r   r½   rÁ  rÂ  rÀ  r™   r   ©r    rb  s     r:   rˆ  zBaseTestCOO.test_constructor3e  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 interpretedrk  )r   r)  é   é!   r  rð  rØ  r  rp  )
r   r  r   r™   r  rù   r  r   r™  r  )r    r¡   rb  rq  s       r:   r–  zBaseTestCOO.test_constructor4o  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À  rb  s      r:   Ú"test_constructor_data_ij_dtypeNonez.BaseTestCOO.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__©Úrunr  c                 ó   — d S r>   rW   rÀ   s    r:   r�  zBaseTestCOO.test_iteratorŠ  ó   € àˆr<   c                 ó¢   — ddgg}|                       |¦  «                             ¦   «         }t          |                     ¦   «         |¦  «         d S rj   )r  Útodiar   r™   )r    r   r{  s      r:   Útest_todia_all_zerosz BaseTestCOO.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 )Nrm  rç   re   r   ró   )r  rÎ  r   r™   rÁ  rÂ  rÀ  rE  s     r:   Útest_sum_duplicateszBaseTestCOO.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    rb  rD   s      r:   Útest_todok_duplicatesz!BaseTestCOO.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”  re   )r  r£  r   rg  r¢  )r    rb  r7  r6  s       r:   Útest_tocompressed_duplicatesz(BaseTestCOO.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                 ór  — |                       d¦  «        }t          |j        d¦  «         t          j        g d¢g¦  «        }t          j        dg¦  «        t          j        dg¦  «        t          j        dg¦  «        ff}t          j        ddg¦  «        t          j        ddg¦  «        t          j        ddg¦  «        ff}|                       |¦  «        }|j        du sJ ‚|                       |¦  «        }|j        du sJ ‚|                     ¦   «          |j        du sJ ‚|                       |d¬¦  «        }|j        du sJ ‚|                       |d¬¦  «        }|j        du sJ ‚|                     ¦   «          |j        du sJ ‚|                       |¦  «        }|j        du sJ ‚t          |j        d¦  «         |                     ¦   «          |j        du sJ ‚t          |j        d¦  «         d|_        t          |j        d¦  «         t          |j        d¦  «         |                     ¦   «          t          |j        d¦  «         |                       |¦  «        }d|_        t          |j        d¦  «         t          |j        d¦  «         |                     ¦   «          t          |j        d¦  «         d	S )
rÌ  r  Trð  re   r   rç   Frø  N)r  r   rÍ  rJ   r   rÎ  rg  )r    rQ   ÚA_arrayÚA_coords_formÚA_coords_dupss        r:   rÒ  z%BaseTestCOO.test_has_canonical_format¬  sÆ  € ð ×Ò˜vÑ&Ô&ˆÝ�QÔ+¨TÑ2Ô2Ð2å”(˜I˜I˜I˜;Ñ'Ô'ˆÝœ 1 #™œ­¬°1°#©¬½¼À!À¹¼Ð(FÐGˆÝœ 1 a &Ñ)Ô)­B¬H°a¸°VÑ,<Ô,<½b¼hÈÈ1ÀvÑ>NÔ>NÐ+OÐPˆà×Ò˜wÑ'Ô'ˆØÔ%¨Ð-Ð-Ð-Ð-Ø×Ò˜}Ñ-Ô-ˆØÔ%¨Ð.Ð.Ð.Ð.Ø	×ÒÑÔÐØÔ%¨Ð-Ð-Ð-Ð-à×Ò˜q tÐÑ,Ô,ˆØÔ%¨Ð-Ð-Ð-Ð-Ø×Ò˜q uÐÑ-Ô-ˆØÔ%¨Ð.Ð.Ð.Ð.Ø	×ÒÑÔÐØÔ%¨Ð-Ð-Ð-Ð-à×Ò˜}Ñ-Ô-ˆØÔ%¨Ð.Ð.Ð.Ð.Ý�Q”U˜AÑÔÐØ	×ÒÑÔÐØÔ%¨Ð-Ð-Ð-Ð-Ý�Q”U˜AÑÔÐð "'ˆÔÝ�QÔ+¨UÑ3Ô3Ð3Ý�Q”U˜AÑÔÐØ	×ÒÑÔÐÝ�QÔ+¨TÑ2Ô2Ð2à×Ò˜}Ñ-Ô-ˆØ!%ˆÔÝ�QÔ+¨TÑ2Ô2Ð2Ý�Q”U˜AÑÔÐØ	×ÒÑÔÐÝ�Q”U˜AÑÔÐÐÐ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²  r¬  rp  r   )	r   r  r,  r´  r   rÀ  rk  r   r™   )r    rÀ  rÁ  rÂ  rN  rO  s         r:   rµ  z BaseTestCOO.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    ro   Ú	new_shaper@   rA   s        r:   Útest_reshape_copyzBaseTestCOO.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ÀÆ- rq  )éÁÆ- éé  )rc  rb  rý   rí  r   rë  )r  r   rù   rg  )r    Úmat1Úmat2s      r:   Útest_large_dimensions_reshapez)BaseTestCOO.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·   rJ   rß  rô   r÷   r  rƒ  r†  rˆ  r–  rK  r  rÓ  Úxfailr�  rR  rT  rV  rX  rÒ  rµ  r`  rf  rW   r<   r:   rA  rA  I  s"  € € € € € Ø”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ð
+ð +ð +ð+ð +ð +ðZ9ð 9ð 9ð9ð 9ð 9ð	Mð 	Mð 	Mð 	Mð 	Mr<   rA  c                   ó   — e Zd ZeZdS )ÚTestCOON)rµ   r¶   r·   r#   rø   rW   r<   r:   ri  ri  ü  s   € € € € € ð €I€I€Ir<   ri  )r[  r\  r]  r^  r_  c                   ó   — e Zd ZeZdS )ÚTestCOOMatrixN)rµ   r¶   r·   r   rø   rW   r<   r:   rk  rk    s   € € € € € ð
 €I€I€Ir<   rk  c                  ó¤  — t           t          j        t          t                   f         } t          | t          ¦  «        sJ ‚| j        t           u sJ ‚| j        t          j        t          t                   fk    sJ ‚t           t          j                 } t          | t          ¦  «        sJ ‚| j        t           u sJ ‚| j        t          j        fk    sJ ‚d S r>   )	r#   rJ   r   r$  râ  rI   r   rç  rè  ré  s    r:   Útest_sparray_subscriptablerm    s²   € Ý•r”w¥¥c¤
Ð*Ô+€FÝ�f�lÑ+Ô+Ð+Ð+Ð+ØÔ¥	Ð)Ð)Ð)Ð)ØŒ?�rœw­­c¬
Ð3Ò3Ð3Ð3Ð3å•r”wÔ€FÝ�f�lÑ+Ô+Ð+Ð+Ð+ØÔ¥	Ð)Ð)Ð)Ð)ØŒ?�rœw˜jÒ(Ð(Ð(Ð(Ð(Ð(r<   c                   ó6  — 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d„ Zd	„ Zej                             d
¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z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ç   re   r   r–  )r   re   ró   r   )r   r   ró   r–  rÔ  ró   r   rd  ©r   rè   re   r  rp  )r   rJ   Úrepeatr   r  r™   )r    rÊ  rÀ  rÃ  s       r:   rƒ  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__rL  c                 ó   — d S r>   rW   rÀ   s    r:   r�  zTestDIA.test_iterator)  rO  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ó   r]  re   rÕ  r–  )	r  rJ   r'   r   rÃ  r?   r[   r  rf   ©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<   c                 óð  — dgg}g d¢g}|dgdddgddggdf|dgdddgddggdf|dgdddgddggdf|d	gdddgddggd
f|dgdddgddggdf|dgdddgddggdf|dgdddgddggdf|d	gdddgddggdfd d dddgddggdfddggdgdddgddggdft          j        dd¦  «                             d¦  «        g d¢dddgddggdft          j        dd¦  «                             d¦  «        g d¢dddgddggdfgS )Nrç   râ  rè   r   zshorter diagonal withinz+shorter diagonal above (but within if full)ró   z$shorter diagonal, all elements abover½  z$shorter diagonal, all elements belowz"longer diagonal within (only head)re   z"longer diagonal within (only tail)z#longer diagonal, all elements abovez#longer diagonal, all elements belowzempty inputzexplicit zerosrå  )rä  rç   )r   rç   re   ró   rè   rE  r½  rŽ  z)overfilled shorter-diagonal, out of orderrH  )rä  ró   r–  é   z(overfilled longer-diagonal, out of order)rJ   r   rù   )r    Úd1Úd3s      r:   Ú	ill_caseszTestDIA.ill_cases9  sé  € ð
 ˆcˆUˆØˆiˆiˆ[ˆà�b�T˜1  1˜v¨¨1 vÐ.Ø*ð,à�a�S˜1  1˜v¨¨1 vÐ.Ø>ð@à�a�S˜1  1˜v¨¨1 vÐ.Ø7ð9à�b�T˜1  1˜v¨¨1 vÐ.Ø7ð9à�b�T˜1  1˜v¨¨1 vÐ.Ø5ð7à�a�S˜1  1˜v¨¨1 vÐ.Ø5ð7à�a�S˜1  1˜v¨¨1 vÐ.Ø6ð8à�b�T˜1  1˜v¨¨1 vÐ.Ø6ð8à�t˜Q ! Q ¨!¨Q¨Ð 0Øð à�a�&�˜A˜3  Q¨ F¨Q°¨FÐ#3Ø!ð#å”˜1˜eÑ$Ô$×,Ò,¨VÑ4Ô4Ø)Ð)Ð)Ø�a˜�V˜a ˜VÐ$Ø<ð>õ ”˜1˜iÑ(Ô(×0Ò0°Ñ8Ô8Ø)Ð)Ð)Ø�a˜�V˜b !˜WÐ%Ø;ð=ð1>ð 	>r<   c                 ó  — |                       ¦   «         D ]i\  }}}}}dD ]^}|€|                      |¦  «        }n|                      ||f|¬¦  «        }d|v rd}|                     ¦   «         |k    sJ d|z   ¦   «         ‚Œ_Œjd S )N©rÈ  r  r  rp  r   úcase: )r{  r  Ú_getnnz)r    rÀ  Úofsetsrg  ÚrefÚcaser½   rQ   s           r:   Útest_getnnzzTestDIA.test_getnnz^  s°   € Ø,0¯NªNÑ,<Ô,<ð 	;ð 	;Ñ(ˆD�&˜#˜s DØ1ð ;ð ;�Ø�<Ø×*Ò*¨5Ñ1Ô1�A�Aà×*Ò*¨D°&¨>ÀÐ*ÑGÔG�AØ˜�:�:Ø�CØ—y’y‘{”{ cÒ)Ð)Ð)¨8°d©?Ñ)Ô)Ð)Ð)ð;ð	;ð 	;r<   zDIA stores extra zerosr  c                 ó   — d S r>   rW   rÀ   s    r:   rJ  zTestDIA.test_getnnz_axisi  rO  r<   c                 ó¼  — |                       ¦   «         D ]Æ\  }}}}}dD ]»}|€|                      |¦  «        }n|                      ||f|¬¦  «        }|                     ¦   «         }t          j        |¦  «        d |d         …d |d         …f         }	t          j        |	¦  «        }
|j        |
k    sJ ‚t          |                     ¦   «         |	d|z   ¬¦  «         Œ¼ŒÇd S )Nr}  rp  r   rç   r~  r  )	r{  r  r£  rJ   r   rh  rg  r   r™   )r    rÀ  r€  r#  r  r‚  r½   rQ   rR   r�  rg  s              r:   Ú
test_tocsrzTestDIA.test_tocsrm  sú   € ð )-¯ªÑ(8Ô(8ð 
	Nð 
	NÑ$ˆD�&˜!˜Q Ø1ð 	Nð 	N�Ø�<Ø×*Ò*¨5Ñ1Ô1�A�Aà×*Ò*¨D°&¨>ÀÐ*ÑGÔG�AØ—G’G‘I”I�Ý”h˜q‘k”k ) 5¨¤8 )¨Y¨e°A¬h¨YÐ"6Ô7�ÝÔ& sÑ+Ô+�Ø”u ’|�|�|�|Ý" 1§9¢9¡;¤;°¸XÈ¹_ÐMÑMÔMÐMÐMð	Nð
	Nð 
	Nr<   c                 ó8  — |                       g d¢gdgfd¬¦  «        }|                     ¦   «         }t          |                     ¦   «                              ¦   «         |¦  «         t          |                     ¦   «                              ¦   «         |¦  «         d S )NrÜ  rè   rU  rp  )r  r™   r   r¢  r£  )r    r©  rq  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ç   re   ró   r–  r   )
r  r¤  rJ   Úravel_multi_indexrÁ  rÂ  r½   rk  ÚdiffrÍ  )r    r©  Ú	flat_indsÚinds_are_sorteds       r:   Útest_tocoo_gh10050zTestDIA.test_tocoo_gh10050„  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   rd  rq  rò   r  rp  )rJ   r   rr  r[   r†   r%   r¤  rÂ  r?   r£  r¾  r¢  )r    rÀ  rÃ  r{  rb  r7  r6  s          r:   Útest_tocoo_tocsr_tocsc_gh19245z&TestDIA.test_tocoo_tocsr_tocsc_gh19245‹  sÑ   € åŒx˜˜˜˜Ñ'Ô'×.Ò.¨q°qÐ.Ñ9Ô9ˆÝ”(˜:˜:˜:­R¬XÐ6Ñ6Ô6ˆÝÔ  g˜°fÐ=Ñ=Ô=ˆà�iŠi‰kŒkˆØŒwŒ}¥¤Ò(Ð(Ð(Ð(Ø�iŠi‰kŒkˆØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,Ø�iŠi‰kŒkˆØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,Ð,Ð,r<   c                 ó¨  — t          ddg¦  «        }|t          dgd¦  «        z   }|                      |¦  «        }|                      |¦  «        }||z   }t          || j        ¦  «        sJ ‚t          |                     ¦   «         ||z   ¦  «         ||z   }t          || j        ¦  «        sJ ‚t          |                     ¦   «         ||z   ¦  «         d S )Nrç   re   ró   )r   r  rI   r   r™   ©r    rQ   rR   r,  rø  rú  s         r:   Útest_add_sparsezTestDIA.test_add_sparse˜  sÍ   € å�!�Q�‰LŒLˆØ•�a�S˜!‘”ÑˆØ× Ò  Ñ#Ô#ˆØ× Ò  Ñ#Ô#ˆà�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!¨a©%Ñ0Ô0Ð0à�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!¨a©%Ñ0Ô0Ð0Ð0Ð0r<   c                 ór  — t          ddg¦  «        }|t          dgd¦  «        z   }|                      |¦  «        }|                      |¦  «        }||z
  }t          || j        ¦  «        sJ ‚t          |                     ¦   «         ||z
  ¦  «         ||z
  }t          || j        ¦  «        sJ ‚t          |                     ¦   «         ||z
  ¦  «         |                     d¦  «        }t          ||z
                       ¦   «         ||z
  ¦  «         t          ||z
                       ¦   «         ||z
  ¦  «         d S )Nrç   re   ró   r7  )r   r  rI   r   r™   r^  r’  s         r:   Útest_sub_sparsezTestDIA.test_sub_sparse§  s&  € å�!�Q�‰LŒLˆØ•�a�S˜!‘”ÑˆØ× Ò  Ñ#Ô#ˆØ× Ò  Ñ#Ô#ˆà�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!¨a©%Ñ0Ô0Ð0à�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!¨a©%Ñ0Ô0Ð0à�lŠl˜5Ñ!Ô!ˆÝ˜C #™I×.Ò.Ñ0Ô0°!°a±%Ñ8Ô8Ð8Ý˜C #™I×.Ò.Ñ0Ô0°!°a±%Ñ8Ô8Ð8Ð8Ð8r<   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ç   re   r   r–  ró   rñ   rì  )r  rI   rŠ  r   r™   r÷  )r    r©  ÚresÚres2s       r:   rÑ  zTestDIA.test_mul_scalarº  sº   € à×Ò  A ¨¨A¨Ð/Ñ0Ô0ˆØ�!‰eˆÝ˜#˜qœ{Ñ+Ô+Ð+Ð+Ð+Ý˜3Ÿ;š;™=œ=¨A¨q¨6°A°r°7Ð*;Ñ<Ô<Ð<à�zŠz˜!‰}Œ}ˆÝ˜$ ¤Ñ,Ô,Ð,Ð,Ð,Ý˜4Ÿ<š<™>œ>¨Q°¨F°Q¸°GÐ+<Ñ=Ô=Ð=Ð=Ð=r<   c                 ó4  — t          g d¢g d¢g¦  «        }t          ddgddgddgg¦  «        }|                      |¦  «        }|                      |¦  «        }d	|j        |j        d
k    <   d	|j        |j        d
k    <   t          |                     ¦   «         |¦  «         t          |                     ¦   «         |¦  «         ||z  }||z  }t          || j        ¦  «        sJ ‚t          |                     ¦   «         |¦  «         t          |j        g d¢¦  «         t          |j        |                      |¦  «        j        ¦  «         ||z  }||z  }t          || j        ¦  «        sJ ‚t          |                     ¦   «         |¦  «         t          |j        g d¢¦  «         t          |j        |                      |¦  «        j        ¦  «         |                      g d¢g d¢gddgfd¦  «        }|                      g d¢g d¢gd	dgfd¦  «        }||z  }t          |j        t          dd
g¦  «        ¦  «         t          |j        g d¢g d¢g¦  «         ||z  }t          |j        t          dd
g¦  «        ¦  «         t          |j        g d¢g d¢g¦  «         d S )Nrâ  rã  r)  rì  rx  r“  r�  rö  rè   r   r¾  )rE  rè   r   rç   re   )r�  r‚  rƒ  )r€  r§  r�  rç   rE  r   )r�  r˜  r�  )r�  r�  rŽ  re   r½  )ç      8@g     €A@r�  )r�  ç      ,@ç      ;@)rš  r�  r�  )rœ  r�  r›  )r   r  rÀ  r   r™   rI   rÃ  )r    rQ   rR   r,  rø  rý   rú  s          r:   Útest_matmul_diazTestDIA.test_matmul_diaÅ  sÂ  € õ �9�9�9Ø�9�9ðñ ô ˆå�B˜�8Ø˜�8Ø˜�8ðñ ô ˆð × Ò  Ñ#Ô#ˆØ× Ò  Ñ#Ô#ˆØ"$ˆŒ�”˜Q’ÑØ"$ˆŒ�”˜Q’ÑÝ˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,Ý˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,à�‰EˆØ�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,Ý˜3œ;¨
¨
¨
Ñ3Ô3Ð3Ý˜3œ8 T×%7Ò%7¸Ñ%:Ô%:Ô%?Ñ@Ô@Ð@à�‰EˆØ�C‰iˆÝ˜#˜tÔ1Ñ2Ô2Ð2Ð2Ð2Ý˜3Ÿ;š;™=œ=¨!Ñ,Ô,Ð,Ý˜3œ;Ð(9Ð(9Ð(9Ñ:Ô:Ð:Ý˜3œ8 T×%7Ò%7¸Ñ%:Ô%:Ô%?Ñ@Ô@Ð@ð × Ò  < < <°°°Ð">ÀÀBÀÐ!HÈ&ÑQÔQˆØ× Ò  < < <°°°Ð">ÀÀQÀÐ!HÈ&ÑQÔQˆà�C‰iˆÝ˜3œ;­¨r°1¨g©¬Ñ7Ô7Ð7Ý˜3œ8 n n nØ&4 n nð&6ñ 	7ô 	7ð 	7ð �C‰iˆÝ˜3œ;­¨r°1¨g©¬Ñ7Ô7Ð7Ý˜3œ8 m m mØ&4 n nð&6ñ 	7ô 	7ð 	7ð 	7ð 	7r<   N)rµ   r¶   r·   r%   rø   rJ   rß  rô   r÷   r  rƒ  r  rÓ  rg  r�  r—   rv  r{  rƒ  r  rJ  r†  rˆ  rŽ  r�  r“  r•  rÑ  r�  rW   r<   r:   ro  ro    sc  € € € € € ð €IØ”7˜BœJ¨¬Ð6€KðUð Uð Uð „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð Ð˜QÑÔð	0ð 	0ñ  Ôð	0ð#>ð #>ð #>ðJ	;ð 	;ð 	;ð „[×ÒÐ5ÐÑ6Ô6ðð ñ 7Ô6ððNð Nð Nð :ð :ð :ð9ð 9ð 9ð-ð -ð -ð1ð 1ð 1ð9ð 9ð 9ð&	>ð 	>ð 	>ð*7ð *7ð *7ð *7ð *7r<   ro  )r[  r\  r]  r^  r_  rb  rc  c                   ó   — e Zd ZeZdS )ÚTestDIAMatrixN)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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   re   re   r–  )r   re   re   ró   )r–  re   ró   r5  rb  r   rØ  )rñ   r   rV   rç   )r   r–  rå  )rì  r   rò  re   )r   rŽ  rV   )r�  r   r7  ró   r  rð  ra  ©rñ   rì  rp  )r   r   r   r   r   r™   )r    r¿  r¾  rÀ  rQ   r,  s         r:   rƒ  zTestBSR.test_constructor1  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ä  rM  )r–  rñ   rÈ  rd  r  r  rð  ra  r5  rb  r¤  rp  r)  rô  )re   rì  )ró   rì  rG  )r   r   r   r™   r   )r    r½   rQ   s      r:   r†  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   re   ró   rÈ  rd  )r   r   r   r™   )r    ÚargrQ   s      r:   rˆ  zTestBSR.test_constructor30  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)re  r,  )rJ   r  r   r   r[   r   r   )r    r  rÀ  r¿  r¾  s        r:   r–  zTestBSR.test_constructor46  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   rw  rd  r)  )rJ   r  r   r   r  r  r   )r    r  Ú	data_1dimrÀ  r¿  r¾  s         r:   rœ  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   re   rò   rM  rd  )rJ   r   r[   r   r?   )r    rH   r¿  r¾  rS   s        r:   Útest_default_dtypezTestBSR.test_default_dtypeS  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 r£  )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è   re   r²  r³  )r–  rò  rp  rì  )
r   r?  rù   r   r   r,  r´  r   rg  r™   r®  s         r:   rµ  zTestBSR.test_eliminate_zerosr  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  rd  gÍÌÌÌÌÌì?éB   )r)  re   ró   r‚  r'  )rJ   r”   r  r   rÀ  r´  r   rg  r   r½   r™   r   ru  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                 óD  — t          j        g d¢g d¢g d¢g¦  «        }|                      |¦  «        }t          d|j        ¦  «         t          j        ddg¦  «        }t          j        ||dz  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|_        |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         t          d|j        ¦  «         |                      |¦  «        }d|_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          d|j        ¦  «         |                      |¦  «        }|||c|_        |_
        |_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                      |¦  «        }|j         |||c|_        |_
        |_        t          d|j        ¦  «         t          dt          |j
        ¦  «        ¦  «         |                     ¦   «          t          dt          |j
        ¦  «        ¦  «         d	S )
rÌ  )re   ró   re   )r   re   rç   )r±  r   re   Tr   re   Frç   N)rJ   r   r   r   rÍ  r,  rI   r  rÎ  rÂ   r¾  rÀ  r¿  )r    rQ   r‰  r¾  rÀ  r¿  s         r:   rÒ  z!TestBSR.test_has_canonical_format•  s4  € õ ŒH�i�i�i   ¨J¨J¨JÐ7Ñ8Ô8ˆØ×Ò˜qÑ!Ô!ˆÝ�T˜1Ô1Ñ2Ô2Ð2å”(˜A˜q˜6Ñ"Ô"ˆÝŒx˜˜A˜a™C˜Ñ!Ô!ˆÝ”˜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™œÑ'Ô'Ð'à!&ˆÔØ	×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ý�T˜1Ô1Ñ2Ô2Ð2ð ×Ò˜qÑ!Ô!ˆØ!&ˆÔÝ�U˜AÔ2Ñ3Ô3Ð3Ý�Q�˜AœI™œÑ'Ô'Ð'à	×ÒÑÔÐÝ�T˜1Ô1Ñ2Ô2Ð2ð ×Ò˜qÑ!Ô!ˆØ&*¨G°VÐ#ˆŒ�”	˜1œ8Ý�U˜AÔ2Ñ3Ô3Ð3Ý�Q�˜AœI™œÑ'Ô'Ð'ð ×Ò˜qÑ!Ô!ˆØ	ÔÐØ&*¨G°VÐ#ˆŒ�”	˜1œ8Ý�T˜1Ô1Ñ2Ô2Ð2Ý�Q�˜AœI™œÑ'Ô'Ð'Ø	×ÒÑÔÐÝ�Q�˜AœI™œÑ'Ô'Ð'Ð'Ð'r<   c                 ó"  — |                       t          d¦  «                             dd¦  «        d¬¦  «        }t          |j        d         ¦  «                             dd¦  «        }t	          ||z  |                     ¦   «         |z  ¦  «         d S )Néx   rå  r�  ©r–  rŽ  rd  rç   rè   ©r   r   rù   r½   r   r™   rz  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 )	Nr¸  rå  r�  r¹  rd  rç   rñ   rè   rº  rz  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__rL  c                 ó   — d S r>   rW   rÀ   s    r:   r�  zTestBSR.test_iteratorØ  rO  r<   zBSR does not have a __setitem__c                 ó   — d S r>   rW   rÀ   s    r:   r  zTestBSR.test_setdiagÜ  rO  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÷  rd  rÇ  rç   r   re   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_comprehensive÷  rO  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 )
Nre   rò   r   r!  rÔ  rp  rÖ  )r   rç   rÕ  )r   rç   r×  )
rJ   r   r[   r   r   r¿  r?   rf   ÚMemoryErrorr  )r    r¿  r¾  rs  rN   rS   r¦  r  Úvals2Úvals3r§  r¨  r@   s                r:   rÙ  zTestBSR.test_scalar_idx_dtypeû  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  rƒ  r†  rˆ  r–  rœ  r¬  r±  rµ  rµ  rÒ  r»  r½  r  rÓ  rg  r�  r  rÁ  r  ÚskipifÚIS_COLABrÙ  rW   r<   r:   r¡  r¡  ú  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ð<ð <ð <ð.7(ð 7(ð 7(ðr-ð -ð -ð
-ð -ð -ð
 „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð4ð 4ð 4ð. „[×Ò˜5Ð)JÐÑKÔKðð ñ LÔKðð „[×Ò˜Ð)?ÐÑ@Ô@ðð ñ AÔ@ðð ð r<   r¡  )r[  r\  r]  r^  r_  rc  c                   ó   — e Zd ZeZdS )ÚTestBSRMatrixN)rµ   r¶   r·   r   rø   rW   r<   r:   rÊ  rÊ    r  r<   rÊ  c                 óœ  — |                      dd¦  «        }t          j        | j        t          j        ¦  «        s$t          j        | j        t          j        ¦  «        r|€| f|z   S | f|z   |fz   S | dk                         ¦   «         }|                      dd¬¦  «        } | ddd…xx         dz  cc<   d| ddd…<   |d         j        dk    rTt          d„ |D ¦   «         ¦  «        }d|d         z  f|dd…         z   }d|d         z  dz   f|dd…         z   }d| |<   d| |<   t          d„ |D ¦   «         ¦  «        }|€| f|z   S | f|z   |dz  fz   S )	z-Duplicates entries to produce the same matrixr¿  Nr   re   rd  rç   c              3   ó&   K  — | ]}|d          V — ŒdS r   rW   )r&  Úps     r:   ú	<genexpr>z&_same_sum_duplicate.<locals>.<genexpr>;  s&   è è € Ð,Ð,˜Q�A�a”DÐ,Ð,Ð,Ð,Ð,Ð,r<   c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )re   N)rr  )r&  r¾  s     r:   rÎ  z&_same_sum_duplicate.<locals>.<genexpr>A  s.   è è € Ð7Ð7 w�—’ Ñ"Ô"Ð7Ð7Ð7Ð7Ð7Ð7r<   )
ÚpoprJ   rl   r?   rú  Úunsignedintegerr*  rr  rk   r$  )rÀ  ÚindsrB   r¿  Ú	zeros_posÚposÚpos1Úpos2s           r:   Ú_same_sum_duplicater×  (  s‚  € à�ZŠZ˜ $Ñ'Ô'€FÝ	„}�T”Z¥¤Ñ*Ô*ð .Ý	„}�T”Z¥Ô!3Ñ4Ô4ð.àˆ>Ø�7˜T‘>Ð!à�7˜T‘> V IÑ-Ð-à˜’×#Ò#Ñ%Ô%€Ið �;Š;�q˜qˆ;Ñ!Ô!€DØˆˆˆ1ˆ€I€I„I��N€I€I�IØ€DˆˆˆAˆ�Jð �„|Ô˜1ÒÐÝÐ,Ð, )Ð,Ñ,Ô,Ñ,Ô,ˆØ�#�a”&‘ˆ{˜S   œWÑ$ˆØ�#�a”&‘˜‘
ˆ}˜s 1 2 2œwÑ&ˆØˆˆT‰
ØˆˆT‰
åÐ7Ð7°$Ð7Ñ7Ô7Ñ7Ô7€Dà€~Øˆw˜‰~Ðàˆw˜‰~ ¨!¡ Ñ-Ð-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          j        ¦   «         5  t          j        dt          t          ¦  «         |  
                    ||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   re   r(  rç   Nr½   gñhãˆµøä>gH¯¼šò×z>)Úrtol)Úsuperrø   r™   r*  rk   r)  r*  r
  r  r)   Ú_insert_explicit_zeroÚ_arg1_for_noncanonicalr½   r?   rJ   rö   r¡  r   r   rÀ  r  )r    rÊ  rÛ  r~  rB   Ú	constructr‰  Úzero_posÚ	has_zerosrÖ  Úarg1ÚNCrÝ  rŠ  s                €r:   rø   z_NonCanonicalMixin.spcreatorJ  së  ø€ õ ‘G”GÔ%ˆ	ØˆI�aÐ)˜$Ð)Ð)Ð) &Ð)Ð)ˆà—I’I‘K”K 1Ò$×-Ò-Ñ/Ô/ˆØ˜a”[Ô%¨Ò)ˆ	Øð 	RØ˜”Ô  !Ñ#ˆAÝÔ(Ñ*Ô*ð Rð RÝÔ'¨µ$Õ8OÑPÔPÐPØ×.Ò.¨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_boolo  rO  r<   z!getnnz-axis counts explicit zerosc                 ó   — d S r>   rW   rÀ   s    r:   rJ  z#_NonCanonicalMixin.test_getnnz_axiss  rO  r<   znnz counts explicit zerosc                 ó   — d S r>   rW   rÀ   s    r:   ri  z_NonCanonicalMixin.test_emptyw  rO  r<   )rµ   r¶   r·   rø   r  rÓ  r  r   rJ  ri  Ú__classcell__)rŠ  s   @r:   rÙ  rÙ  I  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    r‰  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 rj   rW   ©r    r‰  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 )Nry  rï  rð  rf  rò   rÚ  rñ  )	r   rø   r½   r"  r   r  rÊ  r™  rò  )
r?   rÛ  rÊ  rQ   r‰  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	          j        ¦   «         5  t	          j        dt          t          ¦  «         ||dd d …f<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         |                     ¦   «          
                    ¦   «         |d d …df<   t	          j        ¦   «         5  t	          j        dt          t          ¦  «         |j        |d d …df<   d d d ¦  «         n# 1 swxY w Y   t          |                     ¦   «         |¦  «         d S )Nró   râ  rç   r(  re   )rJ   r'   rø   r™   r)  r*  r
  r  r)   r   r   r?  )r    rÊ  rQ   rR   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ˆ#‰ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ# H­dÕ4KÑLÔLÐLØˆAˆa���ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*à—’‘”×"Ò"Ñ$Ô$ˆˆ!ˆ!ˆ!ˆAˆ#‰ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ# H­dÕ4KÑLÔLÐLØ”SˆAˆaˆaˆa�ˆc‰Fð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	˜1Ÿ9š9™;œ;¨Ñ*Ô*Ð*Ð*Ð*s$   Á0*B&Â&B*Â-B*Ä/EÅEÅEFz(inverse broken with non-canonical matrixrL  c                 ó   — d S r>   rW   rÀ   s    r:   r•  z_NonCanonicalCSMixin.test_inv³  rO  r<   z&solve broken with non-canonical matrixc                 ó   — d S r>   rW   rÀ   s    r:   r  z_NonCanonicalCSMixin.test_solve·  rO  r<   N)
rµ   r¶   r·   rô  r÷  r  rÓ  rg  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   rd  )r£  r˜  re  )r    r‰  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 BSRrL  c                 ó   — d S r>   rW   rÀ   s    r:   rà  z!TestBSRNonCanonical.test_diagonalÒ  rO  r<   z"expm broken with non-canonical BSRc                 ó   — d S r>   rW   rÀ   s    r:   r‘  zTestBSRNonCanonical.test_expmÖ  rO  r<   N)	rµ   r¶   r·   rß  r  rÓ  rg  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 )ÚCOONonCanonicalMixinNc                 óV   — t          |j        |j        |j        ¦  «        \  }}}|||ffS )rí  )r×  rÀ  rÁ  rÂ  )r    r‰  rÛ  rÀ  rÁ  rÂ  s         r:   rà  z+COONonCanonicalMixin._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 rj   )rJ   Úr_rÀ  r?   rV  rÁ  rÂ  rñ  s       r:   rß  z*COONonCanonicalMixin._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ó   re   rç   rÕ  r   )	rø   rJ   r'   rÎ  r  r   rk  r‹  rÂ  ru  s     r:   Útest_setdiag_noncanonicalz.COONonCanonicalMixin.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 )ÚTestCOONonCanonicalNrü  rW   r<   r:   r  r  ó  rý  r<   r  c                   ó   — e Zd ZdS )ÚTestCOONonCanonicalMatrixNrü  rW   r<   r:   r  r  ÷  rý  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   re   rÓ  rä  rð  r  r÷  r  r  rò  zcannot be broadcastrk  )rç   re   r   r  rM  rp  r5  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‘   rE  r  rG  Úsysr)  r  r   r  ÚnumpyrJ   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r”   Únumpy.testingr   r   r   r   r   r   Únumpy.exceptionsr   Útypesr   Úscipy.linalgr…   r8  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/   r0   r1   Úscipy.sparse.linalgr2   r3   r4   rƒ   rÈ  r;   rC   Ú	frozensetrÎ  r  rT   r—   r™   r›   r¹   rÍ   rä   r
  rÖ  rì  rÓ  Úthread_unsafer  r  rb  r}  Úcontextmanagerr±  r³  rÉ  rÒ  rð  r  rE  rW  rg  ri  rz  r  rá  rê  rì  r  r  r  r  r?  rA  ri  rk  rm  ro  rŸ  r¡  rÊ  r×  rÙ  rë  ró  rû  rÿ  r  r  r  r
  r  r  r  r   rW   r<   r:   ú<module>r.     s„  ððð ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€à €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ,Ð +Ð +Ð +Ð +Ð +à Ð Ð Ð Ð Ð à Ð Ð Ð à Ð Ð Ð Ð Ð ðCð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð Cð
 (Ð 'Ð 'Ð 'Ð 'Ð 'ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fà /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à˜cœkÐ)€ð/ð /ð /ð /ð
'ð 'ð 'ð
 %˜9 e WÑ-Ô-Ð à(€ðð ð ð( JNØ?DðWð Wð Wð Wðtð ð ð$ð $ð $ð $ð $ñ $ô $ð $ð6"$ð "$ð "$ð "$ð "$ñ "$ô "$ð "$ðHð ð ð ð ñ ô ð ð4ð ð ð ð ñ ô ð ðD^ 7ð ^ 7ð ^ 7ð ^ 7ð ^ 7ñ ^ 7ô ^ 7ð ^ 7ðBA|ð |ð |ð |ð |ñ |ô |ð |ð~a+ð a+ð a+ð a+ð a+ñ a+ô a+ð a+ðH „×ÒÐ"5ÐÑ6Ô6ð%ð %ð %ð %ð %ñ %ô %ñ 7Ô6ð%ð0@ð @ð @ð @ð @ñ @ô @ð @ðF
OKð OKð OKð OKð OKñ OKô OKð OKðd\0ð \0ð \0ð \0ð \0ñ \0ô \0ð \0ð~ ÔðBð Bñ ÔðBðk$ð k$ð k$ð k$ð k$ñ k$ô k$ð k$ð\%Cð %Cð %Cð %Cð %Cñ %Cô %Cð %CðP_Kð _Kð _Kð _Kð _Kñ _Kô _Kð _KðD`0ð `0ð `0ð `0ð `0ñ `0ô `0ð `0ðFL5ð L5ð L5ð L5ð L5ñ L5ô L5ð L5ð^
2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð:ð ð ð ð8 AEØ8<ØJNØ,0ð%'ð %'ð %'ð %'ðX),ð ),ð ),ð ),ð ),ñ ),ô ),ð ),ðXc&ð c&ð c&ð c&ð c&ÐÐ 1Ð 1Ñ 3Ô 3ñ c&ô c&ð c&ðL	 × Ò Ñ Ô Ð ð/ð /ð /ð /ð /�L 'ñ /ô /ð /ð)ð )ð )ð × Ò Ñ Ô Ð ðPð Pð Pð Pð PÐÐ 1Ð 1Ñ 3Ô 3ñ Pô Pð Pðf × Ò Ñ Ô Ð ð/ð /ð /ð /ð /�L 'ñ /ô /ð /ð × Ò Ñ Ô Ð ð_Bð _Bð _Bð _Bð _BÐÐ u°uÐ=Ñ=Ô=ñ _Bô _Bð _BðDð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðmð mð mð mð mÐÐ uÐ-Ñ-Ô-ñ mô mð mð`ð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ðqMð qMð qMð qMð qMñ qMô qMð qMðfð ð ð ð ˆkØÐ tØ(,¸TØ/3À$ðHñ Hô Hñô ð ðð ð ð ð �LØØ%Ð%¨UØ.3ÀEØ5:ÈðPñ Pô Pñô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ð	)ð 	)ð 	)ðU7ð U7ð U7ð U7ð U7ÐÐ u°eÈEØ/4À5Ø',°uð>ñ >ô >ñ U7ô U7ð U7ðpð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ð_ð _ð _ð _ð _ÐÐ uØ(-¸eØ/4À5Ø).ð0ñ 0ô 0ñ _ô _ð _ðD	ð ð ð ð �L 'ñ ô ð ð × Ò Ñ Ô Ð Ø × Ò Ñ Ô Ð ð.ð .ð .ðB0ð 0ð 0ð 0ð 0ñ 0ô 0ð 0ðfð ð ð ð Ð#5ñ ô ð ð -ð -ð -ð -ð -Ð7ñ -ô -ð -ð`	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ðð ð ð ð Ð6¸ñ ô ð ð	ð 	ð 	ð 	ð 	Ð 3°]ñ 	ô 	ð 	ð-ð -ð -ð -ð -Ð-ñ -ô -ð -ð(	ð 	ð 	ð 	ð 	Ð.°ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð 4°mñ 	ô 	ð 	ð?ð ?ð ?ð ?ð ?r<   