Ë
    ÏÍ:jLx ã                   ó–  — 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<m=Z= dd	l>m?Z? dd
l@mAZAmBZBmCZCmDZDmEZE ddlFmGZGmHZHmIZI dej”                  v ZKd~d„ZLd„ ZM eNdg«      ZOdZPd„ ZQ	 	 dd„ZRd„ ZS G d„ d«      ZT G d„ d«      ZU G d„ d«      ZV G d„ d«      ZW G d„ d«      ZX G d„ d «      ZY G d!„ d"«      ZZej¶                  j¹                  d#¬$«       G d%„ d&«      «       Z] G d'„ d(«      Z^ G d)„ d*«      Z_ G d+„ d,«      Z`ejÂ                  d-„ «       Zb G d.„ d/«      Zc G d0„ d1«      Zd G d2„ d3«      Ze G d4„ d5«      Zf G d6„ d7«      Zg G d8„ d9«      Zhd€d;„Zi	 	 	 	 d�d<„Zj G d=„ d>«      Zk G d?„ d@ek ej«       «      ZleljÛ                  «         G dA„ dBeWel«      ZndC„ ZoenjÛ                  «         G dD„ dEek ej«       «      ZpepjÛ                  «         G dF„ dGeWep«      ZqeqjÛ                  «         G dH„ dI ejdd¬J«      «      Zr G dK„ dLeWer«      ZserjÛ                  «        esjÛ                  «         G dM„ dN ejd¬O«      «      Zt G dP„ dQeWet«      ZuetjÛ                  «        eujÛ                  «         G dR„ dS«      Zv G dT„ dUev ejd:d:d:d:d:¬V«      «      Zw G dW„ dXeWev ejddddd¬V«      «      ZxewjÛ                  «        exjÛ                  «        dY„ Zy G dZ„ d[ ejddddddd¬\«      «      Zz G d]„ d^eWez«      Z{ezjÛ                  «        e{jÛ                  «         G d_„ d` ejdddddd¬a«      «      Z| G db„ dceWe|«      Z}e|jÛ                  «        e}jÛ                  «        dd„ Z~ G de„ df«      Z G dg„ dhe«      Z€ G di„ dje€«      Z� G dk„ dle�el«      Z‚ G dm„ dne‚en«      Zƒ G do„ dpe�ep«      Z„ G dq„ dre„eq«      Z… G ds„ dte€e|«      Z† G du„ dve†e}«      Z‡ G dw„ dxe«      Zˆ G dy„ dzeˆew«      Z‰ G d{„ d|eˆex«      ZŠd}„ Z‹y)‚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Úmatrix_transpose)Ú_formats)Úsupported_dtypesÚisscalarlikeÚget_index_dtypeÚasmatrixÚmatrix)ÚspluÚexpmÚinvzgoogle.colabc                 ó8   — |�|n| ›d|›�}t        | |v |¬«       y )Nz not found in )Úmsg)r   )ÚmemberÚ
collectionr7   Úmessages       úq/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/sparse/tests/test_base.pyÚ	assert_inr<   5   s'   € Ø�_‰c¨V¨J°nÀZÀNÐ*S€GÜˆF�jÐ  gÖ.ó    c                 ób   — t        | j                  |j                  k(  «       t        | |fi |¤Ž y ©N)r   Údtyper   )ÚxÚyÚkwargss      r;   Úassert_array_equal_dtyperD   :   s&   € ÜˆA�G‰G�q—w‘wÑÔÜ�q˜!Ñ&˜vÓ&r=   ÚdokzChanging the sparsity structurec                 óp   — d„ } || «      D ](  } ||«      D ]  }t        j                  ||«      sŒ  y Œ* y)Nc                 óÂ   — g }| j                   j                  «       D ]?  }t        |t        j                  t        j
                  z  «      sŒ/|j                  |«       ŒA |S r?   )Ú__dict__ÚvaluesÚ
isinstanceÚnpr
   ÚgenericÚappend)rA   ÚarraysÚas      r;   Ú_underlying_arraysz3sparse_may_share_memory.<locals>._underlying_arraysF   sO   € ð ˆØ—‘×"Ñ"Ó$ò 	!ˆAÜ˜!œRŸZ™Z¬"¯*©*Ñ4Õ5Ø—‘˜aÕ ð	!ð ˆr=   TF)rK   Úmay_share_memory)ÚAÚBrP   rO   Úbs        r;   Úsparse_may_share_memoryrU   C   sI   € òñ   Ó"ò ˆÙ# AÓ&ò 	ˆAÜ×"Ñ" 1 aÕ(Úñ	ðð r=   Fc                 ó  ‡ ‡‡‡‡‡— ‰ €t        j                  d«      Š nt        j                  ‰ «      Š |rd	d„Šn7‰�d	ˆfd„	Šn.|r&t         j                  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.

    é
   c                 ó*  — t        | ||«      }t        t        j                  |«      j                  t        j                  t        j
                  «      j                  «       t        |t        j
                  k(  xs |t        j                  k(  «       |S r?   )r0   r   rK   ÚiinfoÚmaxÚint32r   Úintc)rN   ÚmaxvalÚcheck_contentsÚtps       r;   Únew_get_index_dtypez4with_64bit_maxval_limit.<locals>.new_get_index_dtypef   s]   € Ü  ¨°Ó@ˆBÜœŸ™ "›×)Ñ)¬2¯8©8´B·H±HÓ+=×+AÑ+AÔBÜ�Bœ"Ÿ(™(‘NÒ3 b¬B¯G©G¡mÔ4ØˆIr=   c                 ó   •— ‰S r?   © )rN   r]   r^   Úfixed_dtypes      €r;   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypel   s	   ø€ ØÐr=   éÒ  c                 óh   •— t         j                  t         j                  f‰j                  d«         S )Né   )rK   r[   Úint64Úintegers)rN   r]   r^   Úrngs      €r;   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypep   s#   ø€ Ü—H‘HœbŸh™hÐ'¨¯©°Q«Ñ8Ð8r=   c                 óÂ  •— t         j                  }|�|‰kD  rt         j                  }| D ]±  }t        j                  |«      }|j                  t         j                  kD  sŒ6|rj|j
                  dk(  rŒHt        j                  |j                  t         j                  «      r,|j                  «       }|j                  «       }|‰ k\  r|‰k  rŒ¢t         j                  }Œ³ |S ©Nr   )
rK   r[   rg   r   r@   ÚsizeÚ
issubdtypeÚintegerrZ   Úmin)rN   r]   r^   r@   ÚarrÚminvalÚmaxval_limits         €r;   r`   z4with_64bit_maxval_limit.<locals>.new_get_index_dtypes   s°   ø€ Ü—H‘HˆEØÐ!Ø˜LÒ(ÜŸH™H�EØò %�Ü—j‘j “o�Ø—9‘9œrŸx™xÓ'Ù%ØŸ8™8 qš=à$ÜŸ]™]¨3¯9©9´b·j±jÔAØ%(§W¡W£Y˜FØ%(§W¡W£Y˜FØ%¨,¨Ò6¸6À\Ò;Qà (ÜŸH™H‘Eð%ð ˆLr=   c                 ó~   •— | j                  «       ‰kD  rt        d«      ‚| j                  t        j                  «      S )Nzdowncast limited)rZ   ÚAssertionErrorÚastyperK   Úintp)rp   Údowncast_maxvals    €r;   Únew_downcast_intp_indexz8with_64bit_maxval_limit.<locals>.new_downcast_intp_index‰   s0   ø€ Ø�w‰w‹y˜?Ò*Ü$Ð%7Ó8Ð8Ø—:‘:œbŸg™gÓ&Ð&r=   c           
      óN  •‡ ‡‡— 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            
      óP  •— 	 ‰D ]]  }‰j                  |dt        |dd «      f«       t        |d‰
«       ‰€Œ2‰j                  |dt        |dd «      f«       t        |d‰	«       Œ_  ‰| i |¤Ž‰D ]  \  }}}|€Œ
t        |||«       Œ S # ‰D ]  \  }}}|€Œ
t        |||«       Œ w xY w)Nr0   Údowncast_intp_index)rM   ÚgetattrÚsetattr)rO   ÚkwÚmodÚnameÚoldfuncÚbackuprw   ÚfuncÚmodulesrx   r`   s        €€€€€€r;   Úwrapperz;with_64bit_maxval_limit.<locals>.decorator.<locals>.wrapper•   så   ø€ ð4Ø"ò U�CØ—M‘MØØ)Ü Ð%6¸Ó=ð#ô ô
 ˜CÐ!2Ð4GÔHà&Ñ2ØŸ™ØØ1Ü# CÐ)>ÀÓEð'ô ô
   Ð%:Ð<SÕTðUñ  ˜Q�~ "‘~à*0ò 4Ñ&�C˜˜wØÑ*Ü  T¨7Õ3ñ4ø¨&ò 4Ñ&�C˜˜wØÑ*Ü  T¨7Õ3ñ4ús   ƒ3B ·5B ÂB%ÂB%)ÚscipyÚsparseÚ_bsrÚ_cooÚ_cscÚ_csrÚ_diaÚ_dokÚ_lilÚ_sputilsÚ_compressedÚ
_constructÚ	functoolsÚwraps)rƒ   r…   r‚   r„   rw   rx   r`   s   ` @@€€€r;   Ú	decoratorz*with_64bit_maxval_limit.<locals>.decoratorŽ   sµ   û€ ØˆÜ—<‘<×$Ñ$¤e§l¡l×&7Ñ&7¼¿¹×9JÑ9JÜ—<‘<×$Ñ$¤e§l¡l×&7Ñ&7¼¿¹×9JÑ9JÜ—<‘<×$Ñ$¤e§l¡l×&;Ñ&;Ü—<‘<×+Ñ+¬U¯\©\×-DÑ-DðFˆô
 
�‰˜Ó	÷	4ð 	4ó 
ð	4ð. ˆr=   )rb   NF)rK   rg   ÚrandomÚdefault_rng)	rr   r•   rc   rw   Úassert_32bitr”   rx   r`   ri   s	   ` ``  @@@r;   Úwith_64bit_maxval_limitr˜   W   sy   ý€ ð ÐÜ—x‘x “|‰ô —x‘x Ó-ˆáô	ð
 
Ð	 ö	á	Ü�i‰i×#Ñ# DÓ)ˆö	9õ	ð* Ð"ô	'ö
ð@ Ðr=   c                 óp   — t        | t        j                  «      st        | «      r| S | j	                  «       S r?   )rJ   rK   r
   r/   Útoarray)rO   s    r;   rš   rš   ±   s'   € Ü�!”R—Z‘ZÔ ¤L°¤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
y	)
ÚBinopTesterc                  ó   — y©Númatrix on the rightrb   ©ÚselfÚmats     r;   Ú__add__zBinopTester.__add__º   ó   € Ø$r=   c                  ó   — yrž   rb   r    s     r;   Ú__mul__zBinopTester.__mul__½   r¤   r=   c                  ó   — yrž   rb   r    s     r;   Ú__sub__zBinopTester.__sub__À   r¤   r=   c                  ó   — y©Númatrix on the leftrb   r    s     r;   Ú__radd__zBinopTester.__radd__Ã   ó   € Ø#r=   c                  ó   — yrª   rb   r    s     r;   Ú__rmul__zBinopTester.__rmul__Æ   r­   r=   c                  ó   — yrª   rb   r    s     r;   Ú__rsub__zBinopTester.__rsub__É   r­   r=   c                  ó   — yrž   rb   r    s     r;   Ú
__matmul__zBinopTester.__matmul__Ì   r¤   r=   c                  ó   — yrª   rb   r    s     r;   Ú__rmatmul__zBinopTester.__rmatmul__Ï   r­   r=   N)Ú__name__Ú
__module__Ú__qualname__r£   r¦   r¨   r¬   r¯   r±   r³   rµ   rb   r=   r;   rœ   rœ   ·   s*   „ ò%ò%ò%ò$ò$ò$ò%ó$r=   rœ   c                   óN   — 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y)ÚBinopTester_with_shapec                 ó   — || _         y 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                  ó   — yrž   rb   r    s     r;   r£   zBinopTester_with_shape.__add__Þ   r¤   r=   c                  ó   — yrž   rb   r    s     r;   r¦   zBinopTester_with_shape.__mul__á   r¤   r=   c                  ó   — yrž   rb   r    s     r;   r¨   zBinopTester_with_shape.__sub__ä   r¤   r=   c                  ó   — yrª   rb   r    s     r;   r¬   zBinopTester_with_shape.__radd__ç   r­   r=   c                  ó   — yrª   rb   r    s     r;   r¯   zBinopTester_with_shape.__rmul__ê   r­   r=   c                  ó   — yrª   rb   r    s     r;   r±   zBinopTester_with_shape.__rsub__í   r­   r=   c                  ó   — yrž   rb   r    s     r;   r³   z!BinopTester_with_shape.__matmul__ð   r¤   r=   c                  ó   — yrª   rb   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µ   rb   r=   r;   rº   rº   Ò   s9   „ òòò ò%ò%ò%ò$ò$ò$ò%ó$r=   rº   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚComparisonTesterc                  ó   — y)NÚeqrb   ©r¡   Úothers     r;   Ú__eq__zComparisonTester.__eq__ø   ó   € Ør=   c                  ó   — y)NÚnerb   rÑ   s     r;   Ú__ne__zComparisonTester.__ne__û   rÔ   r=   c                  ó   — y)NÚltrb   rÑ   s     r;   Ú__lt__zComparisonTester.__lt__þ   rÔ   r=   c                  ó   — y)NÚlerb   rÑ   s     r;   Ú__le__zComparisonTester.__le__  rÔ   r=   c                  ó   — y)NÚgtrb   rÑ   s     r;   Ú__gt__zComparisonTester.__gt__  rÔ   r=   c                  ó   — y)NÚgerb   rÑ   s     r;   Ú__ge__zComparisonTester.__ge__  rÔ   r=   N)	r¶   r·   r¸   rÓ   r×   rÚ   rÝ   rà   rã   rb   r=   r;   rÎ   rÎ   ö   s    „ òòòòòór=   rÎ   c                   óN   — 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y)Ú_MatrixMixinz8mixin to easily allow tests of both sparray and spmatrixc                 ó  — t        | j                  j                  d«      j                  «       | j                  dgd d …f   «       t        | j                  j                  d«      j                  «       | j                  dgd d …f   «       y ©Né   éÿÿÿÿ)r   ÚdatspÚgetrowrš   ÚdatrÁ   s    r;   Útest_getrowz_MatrixMixin.test_getrow  sd   € Ü˜4Ÿ:™:×,Ñ,¨QÓ/×7Ñ7Ó9¸4¿8¹8ÀQÀCÊÀFÑ;KÔLÜ˜4Ÿ:™:×,Ñ,¨RÓ0×8Ñ8Ó:¸D¿H¹HÀbÀTÊ1ÀWÑ<MÕNr=   c                 ó  — t        | j                  j                  d«      j                  «       | j                  d d …dgf   «       t        | j                  j                  d«      j                  «       | j                  d d …dgf   «       y rç   )r   rê   Úgetcolrš   rì   rÁ   s    r;   Útest_getcolz_MatrixMixin.test_getcol  sd   € Ü˜4Ÿ:™:×,Ñ,¨QÓ/×7Ñ7Ó9¸4¿8¹8ÂAÈÀsÀFÑ;KÔLÜ˜4Ÿ:™:×,Ñ,¨RÓ0×8Ñ8Ó:¸D¿H¹HÂQÈÈÀWÑ<MÕNr=   c                 ó˜  — | j                  t        dd¬«      j                  dd«      «      }t        |j	                  «       j
                  t        j
                  d«      «       t        |j	                  «       j                  |j                  «       t        |j                  d«      j	                  «       j
                  t        j
                  d«      «       t        |j                  d	«      j	                  «       j
                  t        j
                  d	«      «       |j	                  «       }|j	                  «       }t        ||u «       y )
Né   r[   ©r@   rf   é   Úfloat64Úint16Úfloat32Ú
complex128)
Ú	spcreatorr   Úreshaper   Úasfptyper@   rK   Úformatru   r   ©r¡   rR   rS   ÚCs       r;   Útest_asfptypez_MatrixMixin.test_asfptype#  sÔ   € Ø�N‰Nœ6 !¨'Ô2×:Ñ:¸1¸QÓ?Ó@ˆä�Q—Z‘Z“\×'Ñ'¬¯©°)Ó)<Ô=Ü�Q—Z‘Z“\×(Ñ(¨!¯(©(Ô3Ü�Q—X‘X˜gÓ&×/Ñ/Ó1×7Ñ7¼¿¹À)Ó9LÔMÜ�Q—X‘X˜lÓ+×4Ñ4Ó6×<Ñ<¼b¿h¹hÀ|Ó>TÔUà�J‰J‹LˆØ�J‰J‹LˆÜ��Q��r=   N)r¶   r·   r¸   Ú__doc__r   Úbsr_containerr   Úcoo_containerr   Úcsc_containerr   Úcsr_containerr   Údia_containerr   Údok_containerr   Úlil_containerÚstaticmethodr1   Úasdenserí   rð   rÿ   rb   r=   r;   rå   rå     sC   „ ÙBØ€MØ€MØ€MØ€MØ€MØ€MØ€MÙ˜8Ó$€Gò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„ Z0e1jd                  jf                  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„ Zfe1jd                  jÏ                  dO«      dP„ «       ZhdQ„ ZidR„ ZjdS„ ZkdT„ ZldU„ ZmdV„ ZndW„ ZodX„ ZpdY„ ZqdZ„ Zrd[„ Zsd\„ Ztd]„ Zud^„ Zvy_)`Ú_TestCommonz6test common functionality shared by all sparse formatsc                 ó  — t        g d¢g d¢g d¢gd«      | _        | j                  | j                  «      | _        t	        t
        «      j                  | j                  «      | _        i | _	        i | _
        | j                  D ]a  }| j                  j                  |«      | j                  |<   | j                  | j                  j                  |«      «      | j                  |<   Œc t        | j                  | j                  t        j                     «       t        | j                  j                  «       | j                  t        j                     j                  «       «       t!        | j                  t"        «      | _        y )N)rè   r   r   rf   )rô   r   rè   r   )r   rf   r   r   Úd)r   rì   rù   rê   Úsetr.   ÚunionÚmath_dtypesÚchecked_dtypesÚ
dat_dtypesÚdatsp_dtypesru   r   rK   rõ   rš   rJ   r*   Úis_array_test)Úclsr@   s     r;   Ú
init_classz_TestCommon.init_class?  s  € ô š¢|²\ÐBÀCÓHˆŒØ—M‘M #§'¡'Ó*ˆŒ	ô
 !Ô!1Ó2×8Ñ8¸¿¹ÓIˆÔØˆŒØˆÔØ×'Ñ'ò 	KˆEØ$'§G¡G§N¡N°5Ó$9ˆC�N‰N˜5Ñ!Ø&)§m¡m°C·G±G·N±NÀ5Ó4IÓ&JˆC×Ñ˜UÒ#ð	Kô 	�S—W‘W˜cŸn™n¬R¯Z©ZÑ8Ô9Ü�S—Y‘Y×&Ñ&Ó(Ø×%Ñ%¤b§j¡jÑ1×9Ñ9Ó;ô	=ô ' s§y¡y´'Ó:ˆÕr=   c                 óŒ   ‡ — ˆ fd„}t        ‰ t        «      rt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 óÀ   •— ‰j                   |    }t        t        t        |«       t	        ‰j                  dgg«      «       t	        ‰j                  dgg«       «       y )Nrè   r   )r  Úassert_raisesÚ
ValueErrorÚboolr   rù   )r@   rê   r¡   s     €r;   Úcheckz$_TestCommon.test_bool.<locals>.checkX  sL   ø€ Ø×%Ñ% eÑ,ˆEäœ*¤d¨EÔ2Ü�D—N‘N Q C 5Ó)Ô*Ü˜Ÿ™¨¨ uÓ-Ð-Õ.r=   z%Cannot create a rank <= 2 DOK matrix.)rJ   ÚTestDOKÚpytestÚskipr  ©r¡   r  r@   s   `  r;   Ú	test_boolz_TestCommon.test_boolW  s=   ø€ ô	/ô �dœGÔ$Ü�K‰KÐ?Ô@Ø×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óª   — t        ddgg«      }| j                  |«      }t        d«      D ]  }||z   }||z   }Œ t        ||j	                  «       «       y )NTFrW   )r   rù   Úranger   rš   )r¡   rì   rê   Ú_s       r;   Útest_bool_rolloverz_TestCommon.test_bool_rolloverd  sY   € ô �d˜E�]�OÓ$ˆØ—‘˜sÓ#ˆä�r“ò 	ˆAØ˜E‘MˆEØ˜‘)‰Cð	ô 	˜3 §¡£Õ0r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ó4  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰	j
                  |    }‰	j                  |    }|j                  «       }d|d d …df<   ‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }t        ||k(  ||k(  j                  «       «       t        ||k(  ||k(  j                  «       «       t        ||k(  ||k(  j                  «       «       t        ||k(  ||k(  j                  «       «       t        ||k(  ||k(  j                  «       «       t        ||k(  ||k(  «       t        |dk(  |dk(  j                  «       «       t        |dk(  |dk(  j                  «       «       t        |t        j                   k(  |t        j                   k(  j                  «       «       d d d «       y # 1 sw Y   y xY w©NÚignorer   rè   )ÚwarningsÚcatch_warningsÚsimplefilterr)   r   r  r  Úcopyrù   r  r  r  r  rD   rš   rK   Únan)
r@   rì   rê   Údat2Údatsp2ÚdatbsrÚdatcsrÚdatcscÚdatlilr¡   s
            €r;   r  z"_TestCommon.test_eq.<locals>.checkq  sÉ  ø€ Ü×(Ñ(Ó*ñ FÜ×%Ñ% hÔ0GÔHÜ×%Ñ% h´Ô?Ø—o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�ô )¨°©°uÀ±×6OÑ6OÓ6QÔRä(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSä(¨°©¸À#¹ÔFä(¨°©°E¸Q±J×3GÑ3GÓ3IÔJÜ(¨°©°E¸Q±J×3GÑ3GÓ3IÔJÜ(¨´·±©Ø*/´2·6±6©/×)BÑ)BÓ)DôF÷3F÷ Fñ Fús   –G/HÈH©ÚbsrÚcscÚcsrú8Bool comparisons only implemented for BSR, CSC, and CSR.©rê   rü   r  r  r  r   s   `  r;   Útest_eqz_TestCommon.test_eqo  sG   ø€ ô	Fð: �:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSØ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ó´  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰	j
                  |    }‰	j                  |    }|j                  «       }d|d d …df<   ‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }‰	j                  |«      }t        ||k7  ||k7  j                  «       «       t        ||k7  ||k7  j                  «       «       t        ||k7  ||k7  j                  «       «       t        ||k7  ||k7  j                  «       «       t        ||k7  ||k7  j                  «       «       t        ||k7  ||k7  «       t        |dk7  |dk7  j                  «       «       t        |dk7  |dk7  j                  «       «       t        d|k7  d|k7  j                  «       «       t        d|k7  d|k7  j                  «       «       t        |t        j                   k7  |t        j                   k7  j                  «       «       d d d «       y # 1 sw Y   y xY wr(  )r*  r+  r,  r)   r   r  r  r-  rù   r  r  r  r  rD   rš   rK   r.  )
r@   rì   rê   r/  r0  r1  r3  r2  r4  r¡   s
            €r;   r  z"_TestCommon.test_ne.<locals>.check”  sÿ  ø€ Ü×(Ñ(Ó*ñ FÜ×%Ñ% hÔ0GÔHÜ×%Ñ% h´Ô?Ø—o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�ô )¨°©°uÀ±×6OÑ6OÓ6QÔRä(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSÜ(¨°©°vÀÑ7G×6PÑ6PÓ6RÔSä(¨°©¸À#¹ÔFä(¨°©°E¸Q±J×3GÑ3GÓ3IÔJÜ(¨°©°E¸Q±J×3GÑ3GÓ3IÔJÜ(¨¨c©°A¸±J×3GÑ3GÓ3IÔJÜ(¨¨c©°A¸±J×3GÑ3GÓ3IÔJÜ(¨´·±©Ø*/´2·6±6©/×)BÑ)BÓ)DôF÷7F÷ Fñ Fús   –H/IÉIr5  r9  r:  r   s   `  r;   Útest_nez_TestCommon.test_ne“  sG   ø€ ô	Fð> �:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSØ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óú   — | j                   j                  dvrt        j                  d«       | j                   | j                   j                  k(  du sJ ‚| j                   | j                   j                  k7  du sJ ‚y )Nr5  r9  FT)rê   rü   r  r  ÚTrÁ   s    r;   Útest_eq_ne_different_shapesz'_TestCommon.test_eq_ne_different_shapes¸  s`   € Ø�:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSà—
‘
˜dŸj™jŸl™lÑ*¨uÑ4Ð4Ð4Ø—
‘
˜dŸj™jŸl™lÑ*¨tÑ3Ð3Ñ3r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ó8  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }|j                  t        «      }d|d d …df<   ‰j                  |«      }‰j                  |«      }‰j                  |«      }‰j                  |«      }	‰j                  |«      }
t        ||k  ||k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  |	|k  j!                  «       «       t        ||k  |
|k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  ||	k  j!                  «       «       t        ||k  ||
k  j!                  «       «       t        ||k  ||k  «       t        ||k  ||k  «       dD ]W  }t#        j$                  |«      }t        ||k  j!                  «       ||k  «       t        ||k  j!                  «       ||k  «       ŒY t#        j&                  d¬«      5  t        |t"        j(                  k  j!                  «       |t"        j(                  k  «       d d d «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }t        ||k  ||k  «       d d d «       y # 1 sw Y   ŒlxY w# 1 sw Y   y xY w©Nr)  r   ù      ð?      ð?)rf   rè   r   ré   éþÿÿÿ©Úinvalid©r*  r+  r,  r)   r   r  r  r-  rù   ru   Úcomplexr  r  r  r  rD   rš   rK   rg   Úerrstater.  ©r@   rì   rê   r/  r0  Ú
datcomplexÚdatspcomplexr1  r3  r2  r4  Úvalr¡   s               €r;   r  z"_TestCommon.test_lt.<locals>.checkÀ  s4  ø€ Ü×(Ñ(Ó*ñ 4EÜ×%Ñ% hÔ0GÔHÜ×%Ñ% h´Ô?à—o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�Ø ŸZ™Z¬Ó0�
Ø"(�
š1˜Q˜3‘Ø#Ÿ~™~¨jÓ9�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�ô )¨¨t©°e¸f±n×5MÑ5MÓ5OÔPÜ(¨°dÑ):Ø*6¸Ñ*?×)HÑ)HÓ)JôLô )¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQä(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQä(¨¨t©°U¸T±\ÔBÜ(¨°dÑ):¸LÈ4Ñ<OÔPà,ò Q�CÜŸ(™( 3›-�CÜ,¨e°c©k×-BÑ-BÓ-DÀcÈCÁiÔPÜ,¨c°E©k×-BÑ-BÓ-DÀcÈCÁiÕPðQô
 —[‘[¨Ô2ñ ;Ü,¨e´b·f±f©n×-EÑ-EÓ-GØ-0´2·6±6©\ô;÷;ð
 —o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�ô )¨¨v©°u¸t±|ÔD÷i4Eð 4E÷P;ð ;ú÷Q4Eð 4Eúó%   –KNË=NÌA"NÎN	Î	NÎNr5  r9  r:  r   s   `  r;   Útest_ltz_TestCommon.test_lt¿  sH   ø€ ô5	Eðn �:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSØ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ó8  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }|j                  t        «      }d|d d …df<   ‰j                  |«      }‰j                  |«      }‰j                  |«      }‰j                  |«      }	‰j                  |«      }
t        ||kD  ||kD  j!                  «       «       t        ||kD  ||kD  j!                  «       «       t        ||kD  ||kD  j!                  «       «       t        ||kD  ||kD  j!                  «       «       t        ||kD  |	|kD  j!                  «       «       t        ||kD  |
|kD  j!                  «       «       t        ||kD  ||kD  j!                  «       «       t        ||kD  ||kD  j!                  «       «       t        ||kD  ||	kD  j!                  «       «       t        ||kD  ||
kD  j!                  «       «       t        ||kD  ||kD  «       t        ||kD  ||kD  «       dD ]W  }t#        j$                  |«      }t        ||kD  j!                  «       ||kD  «       t        ||kD  j!                  «       ||kD  «       ŒY t#        j&                  d¬«      5  t        |t"        j(                  kD  j!                  «       |t"        j(                  kD  «       d d d «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }t        ||kD  ||kD  «       d d d «       y # 1 sw Y   ŒlxY w# 1 sw Y   y xY wrD  rI  rL  s               €r;   r  z"_TestCommon.test_gt.<locals>.checký  s4  ø€ Ü×(Ñ(Ó*ñ 3EÜ×%Ñ% hÔ0GÔHÜ×%Ñ% h´Ô?Ø—o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�Ø ŸZ™Z¬Ó0�
Ø"(�
š1˜Q˜3‘Ø#Ÿ~™~¨jÓ9�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�ô )¨¨t©°e¸f±n×5MÑ5MÓ5OÔPÜ(¨°dÑ):Ø*6¸Ñ*?×)HÑ)HÓ)JôLô )¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨¨t©°f¸v±o×5NÑ5NÓ5PÔQä(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQÜ(¨°©°f¸v±o×5NÑ5NÓ5PÔQä(¨¨t©°U¸T±\ÔBÜ(¨°dÑ):¸LÈ4Ñ<OÔPà,ò Q�CÜŸ(™( 3›-�CÜ,¨e°c©k×-BÑ-BÓ-DÀcÈCÁiÔPÜ,¨c°E©k×-BÑ-BÓ-DÀcÈCÁiÕPðQô
 —[‘[¨Ô2ñ ;Ü,¨e´b·f±f©n×-EÑ-EÓ-GØ-0´2·6±6©\ô;÷;ð
 —o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�ô )¨¨v©°u¸t±|ÔD÷g3Eð 3E÷N;ð ;ú÷O3Eð 3EúrP  r5  r9  r:  r   s   `  r;   Útest_gtz_TestCommon.test_gtü  sH   ø€ ô4	Eðl �:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSØ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ój  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }|j                  t        «      }d|d d …df<   ‰j                  |«      }‰j                  |«      }‰j                  |«      }‰j                  |«      }	‰j                  |«      }
t        ||k  ||k  j!                  «       «       t        ||k  ||k  j!                  «       «       t        ||k  j!                  «       ||k  «       t        ||k  j!                  «       ||k  «       t        |	|k  j!                  «       ||k  «       t        |
|k  j!                  «       ||k  «       t        ||k  j!                  «       ||k  «       t        ||k  j!                  «       ||k  «       t        ||	k  j!                  «       ||k  «       t        ||
k  j!                  «       ||k  «       t        ||k  ||k  «       t        ||k  ||k  «       dD ]W  }t#        j$                  |«      }t        ||k  j!                  «       ||k  «       t        ||k  j!                  «       ||k  «       ŒY ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }t        ||k  ||k  «       d d d «       y # 1 sw Y   y xY w©Nr)  r   rE  )rf   rè   ré   rF  ©r*  r+  r,  r)   r   r  r  r-  rù   ru   rJ  r  r  r  r  rD   rš   rK   rg   rL  s               €r;   r  z"_TestCommon.test_le.<locals>.check9  óë  ø€ Ü×(Ñ(Ó*ñ /GÜ×%Ñ% hÔ0GÔHÜ×%Ñ% h´Ô?Ø—o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�Ø ŸZ™Z¬Ó0�
Ø"(�
š1˜Q˜3‘Ø#Ÿ~™~¨jÓ9�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�Ø×+Ñ+¨CÓ0�ô )¨°©°uÀ±×6OÑ6OÓ6QÔRÜ(¨°tÑ);Ø*6¸&Ñ*@×)IÑ)IÓ)KôMô )¨&°FÑ*:×)CÑ)CÓ)EÀsÈdÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀsÈdÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀsÈdÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀsÈdÁ{ÔSä(¨&°FÑ*:×)CÑ)CÓ)EÀtÈsÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀtÈsÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀtÈsÁ{ÔSÜ(¨&°FÑ*:×)CÑ)CÓ)EÀtÈsÁ{ÔSä(¨°$©¸¸t¹ÔDÜ(¨¸Ñ)=¸zÈTÑ?QÔRà)ò S�CÜŸ(™( 3›-�CÜ,¨e°s©l×-CÑ-CÓ-EÀsÈcÁzÔRÜ,¨c°U©l×-CÑ-CÓ-EÀsÈcÁzÕRðSð —o‘o eÑ,�Ø×)Ñ)¨%Ñ0�Ø—x‘x“z�Ø�’Q�q�S‘	ØŸ™¨Ó-�ô )¨°©¸À¹ÔF÷_/G÷ /Gñ /Gúó   –L
L)Ì)L2r5  r9  r:  r   s   `  r;   Útest_lez_TestCommon.test_le8  óH   ø€ ô0	Gðd �:‰:×ÑÐ$9Ñ9Ü�K‰KÐRÔSØ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óœ   ‡ — ˆ fd„}‰ j                   j                  dvrt        j                  d«       ‰ j                  D ]
  } ||«       Œ y )Nc                 ój  •— t        j                  «       5  t        j                  dt        «       t        j                  dt        «       ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }|j                  t        «      }d|d d …df<   ‰j                  |«      }‰j                  |«      }‰j                  |«      }‰j                  |«      }	‰j                  |«      }
t        ||k\  ||k\  j!                  «       «       t        ||k\  ||k\  j!                  «       «       t        ||k\  j!                  «       ||k\  «       t        ||k\  j!                  «       ||k\  «       t        |	|k\  j!                  «       ||k\  «       t        |
|k\  j!                  «       ||k\  «       t        ||k\  j!                  «       ||k\  «       t        ||k\  j!                  «       ||k\  «       t        ||	k\  j!                  «       ||k\  «       t        ||
k\  j!                  «       ||k\  «       t        ||k\  ||k\  «       t        ||k\  ||k\  «       dD ]W  }t#        j$                  |«      }t        ||k\  j!                  «       ||k\  «       t        ||k\  j!                  «       ||k\  «       ŒY ‰j
                  |    }‰j                  |    }|j                  «       }d|d d …df<   ‰j                  |«      }t        ||k\  ||k\  «       d d d «       y # 1 sw Y   y xY wrW  rX  rL  s               €r;   r  z"_TestCommon.test_ge.<locals>.checkq  rY  rZ  r5  r9  r:  r   s   `  r;   Útest_gez_TestCommon.test_gep  r\  r=   c                 ó¤  — t        | j                  d«      j                  «       t        d«      «       t        | j                  d«      j                  d«       t        | j                  d«      j                  «       d«       | j                  j                  dk7  r7t        | j                  d«      j                  d¬«      t        g d¢«      «       y y )N©rô   rô   r   Údia©Ú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´u¸V³}ÔEÜ�T—^‘^ FÓ+×/Ñ/°Ô3Ü�T—^‘^ FÓ+×9Ñ9Ó;¸QÔ?Ø�:‰:×Ñ Ò%Ü˜Ÿ™¨Ó/×=Ñ=À1Ð=ÓEÄuÊYÓGWÕXð &r=   c                 ó°  — | j                   j                  dk7  }|rg d¢nd g}| j                   | j                   j                  fD ]J  }|D ]C  }t        j                  |j                  «       |¬«      }t        |j	                  |¬«      |«       ŒE ŒL |s7t        t        d¬«      5  | j                   j	                  d¬«       d d d «       y y # 1 sw Y   y xY w)Nrb  )Nr   rè   ré   rF  rc  znot implemented .* format©Úmatchr   )	rê   rü   r@  rK   rg  rš   r   r  ÚNotImplementedError)r¡   Úaxis_supportÚaxesrR   ÚaxÚexpecteds         r;   Útest_count_nonzeroz_TestCommon.test_count_nonzero°  sÇ   € Ø—z‘z×(Ñ(¨EÑ1ˆÙ'3Ó#¸$¸ˆà—*‘*˜dŸj™jŸl™lÐ+ò 	AˆAØò A�Ü×+Ñ+¨A¯I©I«K¸bÔA�Ü˜QŸ_™_°"˜_Ó5°xÕ@ñAð	Añ
 ÜÔ2Ð:UÔVñ 1Ø—
‘
×(Ñ(¨aÐ(Ô0÷1ð 1ð ÷1ð 1ús   Â%CÃCc                 ó¦   — t        t        | j                  d«       t        t        | j                  d«       t        t        | j                  d«       y )N©ré   rô   ©rô   ré   ©ré   ré   )r  r  rù   rÁ   s    r;   Útest_invalid_shapesz_TestCommon.test_invalid_shapes½  s2   € Ü”j $§.¡.°&Ô9Ü”j $§.¡.°&Ô9Ü”j $§.¡.°'Õ:r=   c                 óR  — | j                  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 ‚y )N©rè   r   r   re  ©r   r   rF  rb  ú(1 diagonals) r6  ú(blocksize=1x1) Ú r   r2   ú<ú sparse ú of dtype 'ú'
	with ú stored elements ú
and shape ú>)rù   rü   r-   r  r@   rf  r¾   Úrepr©r¡   rê   Úextrar$  ÚfmtÚ
sparse_clsrp  s          r;   Ú	test_reprz_TestCommon.test_reprÂ  s¸   € Ø—‘¢	ª9²jÐAÓBˆà %§¡°Ò 5ÑØ',§|¡|°uÒ'<Ñ#Øð 	ô
 ˜%Ÿ,™,Ñ'‰ˆˆ3Ø $× 2Ò 2‘W¸ˆ
à�ˆu�H˜Z˜L¨°E·K±K°=ð AØ—i‘i�[Ð 1°%°¸
À5Ç;Á;À-ÈqðRð 	ô �E‹{˜hÒ&Ð&Ñ&r=   c                 ó2  — | j                  t        j                  d«      j                  dd«      «      }|j                  dk(  sJ ‚t        t        |«      j                  d«      «      dk(  sJ ‚t        j                  d«      j                  dd«      }| j                  |«      }|j                  dk(  rd	n|j                  }| j                  |d
¬«      }t        t        |«      j                  d«      «      |dz   k(  sJ ‚t        t        |«      j                  d«      «      dk(  sJ ‚| j                  |dddd¬«      }| j                  |dddd¬«      }t        j                  t        d¬«      5  | j                  |dddd«       d d d «       y # 1 sw Y   y xY w)NéK   é   é   é2   ú
é6   rô   rb  é   rò   )ÚmaxprintrW   )rŒ  rô   ÚiFé   )r¾   r@   r-  r’  z'positional argument|unpack non-iterablerj  )rù   rK   r   rú   r’  rÃ   ÚstrÚsplitrü   rf  r  r   Ú	TypeError)r¡   rê   rì   Ú	nnz_smallÚ	datsp_mp6s        r;   Útest_str_maxprintz_TestCommon.test_str_maxprintÑ  s\  € Ø—‘œrŸy™y¨›}×4Ñ4°Q¸Ó;Ó<ˆØ�~‰~ Ò#Ð#Ð#Ü”3�u“:×#Ñ# DÓ)Ó*¨fÒ4Ð4Ð4ä�i‰i˜‹m×#Ñ# A aÓ(ˆØ—‘˜sÓ#ˆàŸ,™,¨%Ò/‘B°U·Y±Yˆ	Ø—N‘N 3°�NÓ3ˆ	ä”3�u“:×#Ñ# DÓ)Ó*¨i¸!©mÒ;Ð;Ð;Ü”3�y“>×'Ñ'¨Ó-Ó.°%Ò7Ð7Ð7ð —‘˜s¨&¸À%ÐRS�ÓTˆØ—‘˜s F¨C°À�ÓCˆÜ�]‰]œ9Ð,UÔVñ 	7Ø�N‰N˜3 ¨¨U°AÔ6÷	7÷ 	7ñ 	7ús   Å.FÆFc                 ór  — | j                  g d¢g d¢g d¢g«      }|j                  dk7  ry |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 ‚y )Nrx  re  ry  rf   rb  rz  r6  r{  r|  r   r2   r}  r~  r  r€  r�  r‚  z(>
  Coords	Values
  (0, 0)	1
  (2, 2)	-2)rù   rf  rü   r-   r  r@   r¾   r•  r…  s          r;   Útest_strz_TestCommon.test_strå  sÉ   € Ø—‘¢	ª9²jÐAÓBˆØ�9‰9˜Š>Øà %§¡°Ò 5ÑØ',§|¡|°uÒ'<Ñ#Øð 	ô
 ˜%Ÿ,™,Ñ'‰ˆˆ3Ø $× 2Ò 2‘W¸ˆ
à�ˆu�H˜Z˜L¨°E·K±K°=ð AØ—i‘i�[Ð 1°%°¸
À5Ç;Á;À-ð Pðð 	ô �5‹z˜XÒ%Ð%Ñ%r=   c                 óŠ  — d}t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      t        j                  d«      fD ]Ø  }| j                  ||¬«      }||z   }d|z  }||j                  «       z  }||j	                  «       z  }||j                  «       z  }||||||fD ]u  }	t        |	j                  «       |j                  «       |j                  «       z  «       t        |	j                  |«       t        |	j                  «       j                  |«       Œw ŒÚ y )	N©rŒ  rŒ  r[   r÷   rõ   Ú	complex64rø   ró   rf   )rK   r@   rù   ÚtocscÚtocsrÚtocoor   rš   )
r¡   r¾   ÚmytyperO   rT   Úcr  ÚeÚfÚms
             r;   Útest_empty_arithmeticz!_TestCommon.test_empty_arithmeticù  s  € àˆÜ—x‘x Ó(¬"¯(©(°9Ó*=Ü—‘˜Ó#¤R§X¡X¨kÓ%:Ü—‘˜Ó&ð(ò 	7ˆFð —‘˜u¨F�Ó3ˆAØ�A‘ˆAØ�A‘ˆAØ�A—G‘G“I‘ˆAØ�A—G‘G“I‘ˆAØ�A—G‘G“I‘ˆAØ˜˜!˜A˜a �]ò 7�Ü˜QŸY™Y›[¨!¯)©)«+°a·i±i³kÑ*AÔBä˜QŸW™W VÔ,Ü˜QŸY™Y›[×.Ñ.¨vÕ6ñ	7ñ	7r=   c                 óª   — t        g d¢g d¢g d¢g d¢gd«      }t        t        |«      t        | j                  |«      «      j	                  «       «       y )N©ré   r   é   ©r   éûÿÿÿr   ©rè   éüÿÿÿr   re  r  )r   r   Úabsrù   rš   ©r¡   rR   s     r;   Útest_absz_TestCommon.test_abs  s<   € Ü’;¢
ªJº	ÐBÀCÓHˆÜ”S˜“VœS §¡°Ó!2Ó3×;Ñ;Ó=Õ>r=   c                 ó¾   — d}t        ddgddggd«      }t        t        j                  ||¬«      t	        | j                  |«      |¬«      j                  «       «       y )	Nrè   gš™™™™™õ¿gìQ¸…ëá?g     @1@gìQ¸…ëÀr  )Údecimals)Úndigits)r   r   rK   ÚaroundÚroundrù   rš   )r¡   ÚdecimalrR   s      r;   Ú
test_roundz_TestCommon.test_round  sR   € ØˆÜ�E˜4�= 5¨% .Ð1°3Ó7ˆÜ”R—Y‘Y˜q¨7Ô3Ü˜4Ÿ>™>¨!Ó,°gÔ>×FÑFÓHõ	Jr=   c                 ó  — t        g d¢g d¢g d¢gd«      }t        t        j                  |d«      | j	                  |«      j                  d«      j                  «       «       t        t        | j	                  |«      j                  |«       y )N)r¯  éýÿÿÿrF  ©ré   r   rè   ©rf   rô   r”  r  rf   )r   r   rK   Úpowerrù   rš   r  rl  r±  s     r;   Útest_elementwise_powerz"_TestCommon.test_elementwise_power  sd   € Ü’<¢ªYÐ7¸Ó=ˆÜ”R—X‘X˜a “^ T§^¡^°AÓ%6×%<Ñ%<¸QÓ%?×%GÑ%GÓ%IÔJô 	Ô)¨4¯>©>¸!Ó+<×+BÑ+BÀAÕFr=   c                 óþ   — t        g d¢g d¢g d¢g d¢gd«      }t        | | j                  |«       j                  «       «       t        g d¢g d¢g«      }t	        t
        | j                  |«      j                  «       y )Nrª  r¬  r®  re  r  )TFF)FFT)r   r   rù   rš   r  rl  Ú__neg__r±  s     r;   Útest_negz_TestCommon.test_neg  se   € Ü’;¢
ªJº	ÐBÀCÓHˆÜ�a�R˜4Ÿ>™>¨!Ó,Ð,×5Ñ5Ó7Ô8ô Ò'Ò)=Ð>Ó?ˆÜÔ)¨4¯>©>¸!Ó+<×+DÑ+DÕEr=   c                 óž   — t        ddgg«      }| j                  |«      }t        |j                  j	                  «       |j                  «       y ©Nù      ð?      @y       @      À)r   rù   r   Úrealrš   ©r¡   ÚDrR   s      r;   Ú	test_realz_TestCommon.test_real$  ó;   € Ü�F˜FÐ#Ð$Ó%ˆØ�N‰N˜1ÓˆÜ�Q—V‘V—^‘^Ó% q§v¡vÕ.r=   c                 óž   — t        ddgg«      }| j                  |«      }t        |j                  j	                  «       |j                  «       y rÄ  )r   rù   r   Úimagrš   rÇ  s      r;   Ú	test_imagz_TestCommon.test_imag)  rÊ  r=   c           	      óð  — g }|j                  g d¢g«       |j                  dgdgdgg«       |j                  ddgddgddgg«       |j                  g d¢g d¢g d¢g«       |j                  ddgddgg«       |j                  t        |d   ddgg«      «       |j                  t        |d   dgdgg«      «       |j                  t        |d   ddgdd	gg«      «       |j                  t        |d   ddgdd	gg«      «       |j                  t        |d   ddgdd	gg«      «       |j                  t        |d   g d
¢g«      «       |D ]¸  }t        |«      j                  \  }}| j	                  |«      }t        | dz
  |dz   «      D ])  }t        |j                  |¬«      t        ||¬«      «       Œ+ t        |j                  d¬«      t        |d¬«      «       t        |j                  d¬«      t        |d¬«      «       Œº t        | j	                  d«      j                  «       t        j                  d«      «       t        | j	                  d«      j                  «       t        j                  d«      «       t        | j	                  d«      j                  «       t        j                  d«      «       t        | j	                  d«      j                  d«      t        j                  d«      «       y )N©rè   r   rf   rè   r   rf   rô   ©r   r   rè   )r   r   rf   ©r   rô   r   r”  ©rè   rf   rô   r”  ©ÚkrW   i�ÿÿÿ)é(   i?  rÕ  ©r   r   )r�  r   ©r   rŒ  )rM   r   r   r¾   rù   r#  r   Údiagonalr   rK   r   Úempty)r¡   Úmatsr§  ÚrowsÚcolsÚ
sparse_matrÔ  s          r;   Útest_diagonalz_TestCommon.test_diagonal.  sy  € àˆØ�‰’W�IÔØ�‰�a�S˜!˜˜a˜S�MÔ"Ø�‰�a˜�U˜A˜a˜5 ! A Ð'Ô(Ø�‰’WšW¢WÐ-Ô.Ø�‰�a˜�U˜A˜a˜5�MÔ"à�‰”D˜˜a™ 1 Q % Ó)Ô*Ø�‰”D˜˜a™ 1 # q c Ó+Ô,Ø�‰”D˜˜a™ 1 Q %¨¨1¨ Ó/Ô0Ø�‰”D˜˜a™ 1 Q %¨¨1¨ Ó/Ô0Ø�‰”D˜˜a™ 1 Q %¨¨1¨ Ó/Ô0Ø�‰”D˜˜a™¢) Ó-Ô.àò 	EˆAÜ˜q›Ÿ™‰JˆD�$ØŸ™¨Ó*ˆJÜ˜D˜5 ™7 D¨¡FÓ+ò E�Ü˜Z×0Ñ0°1Ð0Ó5´t¸AÀ´|ÕDðEô ˜×,Ñ,¨rÐ,Ó2´D¸¸b´MÔBÜ˜×,Ñ,¨sÐ,Ó3´T¸!¸s´^ÕDð	Eô 	�T—^‘^ KÓ0×9Ñ9Ó;¼R¿X¹XÀb»\ÔJô 	�T—^‘^ FÓ+×4Ñ4Ó6¼¿¹À»ÔDÜ�T—^‘^ GÓ,×5Ñ5Ó7¼¿¹À!»ÔEÜ�T—^‘^ FÓ+×4Ñ4°RÓ8¼"¿(¹(À1»+ÕFr=   c                 ó®  — t        j                  g d¢g d¢g d¢g«      }| j                  |«      }t        dd«      D ].  }t	        |j                  |¬«      |j                  |¬«      «       Œ0 t        j                  g d¢g d¢g«      }| j                  |«      }t        dd«      D ].  }t	        |j                  |¬«      |j                  |¬«      «       Œ0 y )N©rè   rf   rô   ©r”  rŒ  rò   )é   é   é	   rF  rô   )Úoffsetré   )rK   r   rù   r#  r   Útrace)r¡   rR   rS   rÔ  s       r;   Ú
test_tracez_TestCommon.test_traceO  s²   € ä�H‰H’i¢ªIÐ6Ó7ˆØ�N‰N˜1ÓˆÜ�r˜1“ò 	?ˆAÜ˜Ÿ™¨˜Ó*¨A¯G©G¸1¨GÓ,=Õ>ð	?ô �H‰H’i¢Ð+Ó,ˆØ�N‰N˜1ÓˆÜ�r˜1“ò 	?ˆAÜ˜Ÿ™¨˜Ó*¨A¯G©G¸1¨GÓ,=Õ>ñ	?r=   c           	      óø  — | j                  g d¢g d¢g d¢g d¢g«      }dD ]S  }dD ]L  }t        |j                  ||¬«      j                  «       |j                  «       j                  ||¬«      «       ŒN ŒU | j                  g d¢g d	¢g d
¢g«      }|j                  d«      }g d¢g d¢g}t        |j                  «       |«       |j                  d«      }t        |j                  «       |«       |j                  d«      }t        |j                  «       |«       t	        t
        |j                  d«       |j                  dd«      }t        |j                  «       |«       t	        t        |j                  ddd¬«       |j                  d«      }t        ||u «       |j                  dd¬«      }t        ||u«       t        |j                  d«       | j                  r"t	        t        d¬«      5  d|_        d d d «       n!d|_        t        |j                  «       |«       t	        t
        |j                  |j                  f«       t	        t
        |j                  d|j                  df«       y # 1 sw Y   ŒXxY w)N)rè   r   râ  re  rÑ  )r   r   rŒ  )rþ   ÚF))é   rè   )rè   rê  ©Úorder©r   rW   r   r   ©r   r   r   r   ©r   é   é   rÕ  ©rf   rò   )r   rW   r   r   r   r   )r   r   r   rð  rñ  rÕ  ©rf   ré   )ré   rò   ru  rf   rò   rè   )Ú
not_an_arg©rô   r”  T©r-  zhas no setter|n't set attributerj  )rù   r   rú   rš   r  r  r—  r   r¾   r  ÚAttributeErrorrl   )r¡   rA   rì  ÚsrB   Údesireds         r;   Útest_reshapez_TestCommon.test_reshape\  s  € Ø�N‰NšI¢y²)ºYÐGÓHˆØò 	HˆEØ'ò H�Ü" 1§9¡9¨Q°e 9Ó#<×#DÑ#DÓ#FØ#$§9¡9£;×#6Ñ#6°qÀÐ#6Ó#FõHñHð	Hð �N‰NšMª<ºÐIÓJˆØ�I‰I�fÓˆÚ&Ò(=Ð>ˆÜ˜1Ÿ9™9›;¨Ô0ð �I‰I�gÓˆÜ˜1Ÿ9™9›;¨Ô0Ø�I‰I�gÓˆÜ˜1Ÿ9™9›;¨Ô0Ü”j !§)¡)¨XÔ6ð �I‰I�a˜‹OˆÜ˜1Ÿ9™9›;¨Ô0Ü”i §¡¨A¨q¸QÕ?ð �I‰I�fÓˆÜ��Q�ŒØ�I‰I�f 4ˆIÓ(ˆÜ�˜�
Ôô 	˜1Ÿ7™7 FÔ+à×ÒÜœ~Ð5VÔWñ !Ø �”÷!ð !ð ˆAŒGÜ˜qŸy™y›{¨GÔ4ô 	”j !§)¡)¨a¯f©f¨YÔ7Ü”j !§)¡)¨a°·±¸¨^Õ<÷!ð !ús   Ç/I0É0I9c                 óü  ‡— ˆfd„Šˆfd„}t         j                  j                  d«       g d¢}t         j                  t         j                  fD ]«  }|D ]¤  \  }}t        j
                  | dz   |dz
  «      }|D ]}  }t        j                  ||f|¬«      }| j                  ||f|¬«      }	 |||	|«       t         j                  j                  |t        t        |«      d«      ¬«      D ]  }
 |||	|
«       Œ Œ Œ¦ Œ­ y )	Nc                 ó‚  •— t        j                  |«      }|dk\  r‰t        | j                  d   | j                  d   |z
  «      }|j                  dk7  rt        |t        |«      «      }|d | }t        j                  d|«      }t        j                  |||z   «      }|| ||f<   y |dk  r ‰| j                  || «       y y ©Nr   rè   )rK   r   ro   r¾   rÄ   rÃ   r   r@  )rO   ÚvrÔ  Únr“  ÚjÚdense_setdiags         €r;   r  z=_TestCommon.test_setdiag_comprehensive.<locals>.dense_setdiag�  sª   ø€ Ü—
‘
˜1“ˆAØ�AŠvÜ˜Ÿ™ ™
 A§G¡G¨A¡J°¡NÓ3�Ø—6‘6˜Q’;Ü˜Aœs 1›v›�AØ˜"˜1˜�AÜ—I‘I˜a “O�Ü—I‘I˜a  Q¡Ó'�Ø��!�A�#’Ø�Q’Ù˜aŸc™c 1 q bÕ)ð r=   c                 óî  •— dt        t        j                  | |«      «      ddfD �]A  }|dk  r*t        j                  j	                  t        dd«      «      }n"t        j                  j                  dd|¬«      } ‰| ||«       t        j                  «       5  t        j                  dt        t        «       |j                  ||«       d d d «       t        j                  | |«      }t        j                  |«      j                  dk(  rt        ||d	¬
«       n2t!        t        |«      t        |«      «      }t        |d | |d | d	¬
«       t        |j#                  «       | d	¬
«       �ŒD y # 1 sw Y   Œ¢xY w)Nré   rf   rñ  r   rè   rð  ©rl   r)  z	{msg} {r}©Úerr_msg)rÃ   rK   r   r•   Úchoicer#  Úrandintr*  r+  ÚfilterwarningsÚWMSGr)   Úsetdiagr   rÄ   r   ro   rš   )rO   rT   rÔ  Úrrþ  r  rÿ  r  s          €r;   Úcheck_setdiagz=_TestCommon.test_setdiag_comprehensive.<locals>.check_setdiagš  s(  ø€ ð œ#œbŸg™g a¨›mÓ,¨a°Ð4ó H�Ø�q’5ÜŸ	™	×(Ñ(¬¨q°"«Ó6‘AäŸ	™	×)Ñ)¨!¨R°aÐ)Ó8�Aá˜a  AÔ&Ü×,Ñ,Ó.ñ $Ü×+Ñ+¨H´dÔ<SÔTØ—I‘I˜a ”O÷$ô
 —G‘G˜A˜q“M�Ü—:‘:˜a“=×%Ñ%¨Ò*Ü& q¨!°[ÖAäœC ›F¤C¨£FÓ+�AÜ& q¨¨! u¨a°°¨e¸[ÕIä" 1§9¡9£;°¸;×Gñ'H÷$ð $ús   Â2E+Å+E4	rd   )r×  ©rŒ  r   ©rè   rŒ  ©rŒ  rè   rž  rè   ró   rŒ  r  )rK   r•   Úseedr   rõ   r   r   rù   r  ro   rÃ   )r¡   r  Úshapesr@   r§  rÿ  ÚksrÔ  rO   rT   Úk2r  s              @r;   Útest_setdiag_comprehensivez&_TestCommon.test_setdiag_comprehensive‹  sî   ø€ ô	*ô	Hô2 	�	‰	�‰�tÔÚ4ˆÜ—g‘gœrŸz™zÐ*ò 	0ˆEØò 
0‘��!Ü—Y‘Y ˜r !™t Q q¡SÓ)�Øò 0�AÜŸ™ ! Q ¨uÔ5�AØŸ™¨¨1 v°U˜Ó;�Aá! ! Q¨Ô*ô !Ÿi™i×.Ñ.¨r¼¼CÀ»GÀQ»Ð.ÓHò 0˜Ù% a¨¨BÕ/ñ0ñ0ñ
0ñ	0r=   c           
      óP  — | j                  t        j                  d«      «      }| j                  d«      }g d¢}t        j                  «       5  t        j
                  dt        t        «       t        t        |j                  |d¬«       |j                  |«       t        |j                  «       |«       |j                  |d¬«       t        |j                  «       t        j                  g d¢g d	¢g d
¢g«      «       |j                  |d¬«       t        |j                  «       t        j                  g d¢g d	¢g d¢g«      «       |j                  dd¬«       t        |j                  «       d   d«       |j                  dd¬«       t        |j                  «       d   d«       |j                  dgd¬«       t        |j                  «       d   g d¢«       |j                  ddgd¬«       t        |j                  «       d d g d¢g d¢g«       d d d «       y # 1 sw Y   y xY w)Nrô   ©r”  r”  )rô   rf   rè   r)  r”  rÓ  rè   )rô   rô   r   )r   rf   rf   rÐ  rF  ©rô   r   rè   )rä  rf   ©r   rf   rä  ©rf   r   r   ©r   r   rè   r   )r   r   r   rè   )rù   rK   r'   r*  r+  r  r	  r)   r  r  r
  r   rØ  rš   r   )r¡   r§  Úm2rI   s       r;   Útest_setdiagz_TestCommon.test_setdiagÂ  s²  € à�N‰Nœ2Ÿ6™6 !›9Ó%ˆØ�^‰^˜FÓ#ˆÚˆÜ×$Ñ$Ó&ñ 	AÜ×#Ñ# H¬dÔ4KÔLÜœ* a§i¡i°¸1Õ=Ø�I‰I�fÔÜ˜qŸz™z›|¨VÔ4Ø�I‰I�f ˆIÔ"Ü˜qŸy™y›{¬B¯H©H²iÚ6?Ú6?ð6Aó -Bô Cð �I‰I�f ˆIÔ#Ü˜qŸy™y›{¬B¯H©H²iÚ6?Ú6?ð6Aó -Bô Cð �I‰I�d˜aˆIÔ Ü˜qŸy™y›{¨3Ñ/°Ô3Ø�I‰I�d˜bˆIÔ!Ü˜qŸy™y›{¨3Ñ/°Ô3à�J‰J˜�s˜aˆJÔ Ü˜rŸz™z›|¨A™²Ô=à�J‰J˜˜1�v ˆJÔ#Ü˜rŸz™z›|¨B¨QÐ/²,Ú2>ð2@ô A÷-	A÷ 	Añ 	Aús   ÁGHÈH%c                 ó6  — t        g d¢g d¢g d¢g«      }| j                  |«      }t        |j                  «       «      D �ch c]  }t	        |«      ’Œ }}t        |j                  «       «      D �ch c]  }t	        |«      ’Œ }}t        ||«       y c c}w c c}w ©N©rè   r   rè   ©r   rè   rè   rÐ  )r   rù   r   ÚnonzeroÚtupler   ©r¡   rR   ÚAspÚijÚA_nzÚAsp_nzs         r;   Útest_nonzeroz_TestCommon.test_nonzeroà  sw   € Ü’9šY¢yÐ1Ó2ˆØ�n‰n˜QÓˆä$-¨a¯i©i«kÓ$:Ö;˜b”�b•	Ð;ˆÐ;Ü&/°·±³Ó&>Ö? ”%˜•)Ð?ˆÐ?ä�T˜6Õ"ùò <ùÚ?s   ÁBÁ0Bc                 óJ  — t        g d¢g d¢g d¢g«      }| j                  |«      }t        t        j                  |«      «      D �ch c]  }t        |«      ’Œ }}t        t        j                  |«      «      D �ch c]  }t        |«      ’Œ }}t        ||«       y c c}w c c}w r  )r   rù   r   rK   r!  r"  r   r#  s         r;   Útest_numpy_nonzeroz_TestCommon.test_numpy_nonzeroé  s{   € ä’9šiªÐ3Ó4ˆØ�n‰n˜QÓˆä$-¬b¯j©j¸«mÓ$<Ö=˜b”�b•	Ð=ˆÐ=Ü&/´·
±
¸3³Ó&@ÖA ”%˜•)ÐAˆÐAä�T˜6Õ"ùò >ùÚAs   ÁBÁ:B c                 óä  ‡ ‡	— t         j                  j                  d«       t        j                  g d¢g d¢g d¢g«      }t         j                  j	                  dd«      }t        j                  g g«      }t        j
                  d«      }t        j                  ddd¬«      j                  «       }|||||gŠ	ˆ	ˆ fd	„}‰ j                  D ]$  }t        t        ‰	«      «      D ]  } |||«       Œ Œ& y )
Nrd   ©r   rè   rf   ©rô   r¯  rŒ  ©éúÿÿÿrâ  rä  rŒ  )rÕ  rÕ  g{®Gáz„?)Údensityc                 óâ  •— ‰j                  ‰|   | ¬«      }‰j                  || ¬«      }t        j                  d¬«      5  t	        |j                  «       |j                  «       «       t        |j                  «       j                  |j                  «       j                  «       t        t        j                  |j                  d ¬«      «      «       t	        |j                  d ¬«      |j                  d ¬«      «       t        |j                  d ¬«      j                  |j                  d ¬«      j                  «       t	        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      j                  |j                  d¬«      j                  «       t	        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      j                  |j                  d¬«      j                  «       t	        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      j                  |j                  d¬«      j                  «       t	        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      j                  |j                  d¬«      j                  «       t	        |j                  d	¬«      |j                  d	¬«      «       t        |j                  d	¬«      j                  |j                  d	¬«      j                  «       d d d «       y # 1 sw Y   y xY w)
Nró   r)  ©Úoverrc  r   rè   rF  ré   ©r   rè   )
r	  rù   rK   rK  r   Úsumr   r@   r   Úisscalar)r@   r   rì   rê   Úmatricesr¡   s       €€r;   r  z#_TestCommon.test_sum.<locals>.checkþ  sf  ø€ Ø—,‘,˜x¨™{°%�,Ó8ˆCØ—N‘N 3¨e�NÓ4ˆEÜ—‘ (Ô+ñ WÜ)¨#¯'©'«)°U·Y±Y³[ÔAÜ˜SŸW™W›YŸ_™_¨e¯i©i«k×.?Ñ.?Ô@ÜœŸ™ E§I¡I°4 IÓ$8Ó9Ô:Ü)¨#¯'©'°t¨'Ó*<¸e¿i¹iÈT¸iÓ>RÔSÜ˜SŸW™W¨$˜WÓ/×5Ñ5°u·y±yÀd°yÓ7K×7QÑ7QÔRÜ)¨#¯'©'°q¨'«/¸5¿9¹9È!¸9Ó;LÔMÜ˜SŸW™W¨!˜W›_×2Ñ2°E·I±IÀ1°IÓ4E×4KÑ4KÔLÜ)¨#¯'©'°q¨'«/¸5¿9¹9È!¸9Ó;LÔMÜ˜SŸW™W¨!˜W›_×2Ñ2°E·I±IÀ1°IÓ4E×4KÑ4KÔLÜ)¨#¯'©'°r¨'Ó*:¸E¿I¹IÈ2¸IÓ<NÔOÜ˜SŸW™W¨"˜WÓ-×3Ñ3°U·Y±YÀB°YÓ5G×5MÑ5MÔNÜ)¨#¯'©'°r¨'Ó*:¸E¿I¹IÈ2¸IÓ<NÔOÜ˜SŸW™W¨"˜WÓ-×3Ñ3°U·Y±YÀB°YÓ5G×5MÑ5MÔNÜ)¨#¯'©'°v¨'Ó*>ÀÇ	Á	ÈvÀ	Ó@VÔWÜ˜SŸW™W¨&˜WÓ1×7Ñ7¸¿¹È¸Ó9O×9UÑ9UÔV÷W÷ Wñ Wús   ÁLM%Í%M.)rK   r•   r  r   Úrandr   r‡   rš   r  r#  rÃ   )
r¡   Údat_1Údat_2Údat_3Údat_4Údat_5r  r@   r   r7  s
   `        @r;   Útest_sumz_TestCommon.test_sumó  sÊ   ù€ Ü
�	‰	�‰�tÔÜ—‘š)Ú"Ú"ð$ó %ˆô —	‘	—‘˜q !Ó$ˆÜ—‘˜"˜“ˆÜ—‘˜Ó"ˆÜ—‘˜A˜q¨$Ô/×7Ñ7Ó9ˆØ˜5 %¨°Ð6ˆõ	Wð( ×(Ñ(ò 	 ˆEÜœ3˜x›=Ó)ò  �Ù�e˜Q•ñ ñ	 r=   c                 ó:  — t        j                  d«      }t        g d¢g d¢g d¢g«      }| j                  |«      }t	        t
        d¬«      5  |j                  d¬«       d d d «       t	        t
        d¬«      5  |j                  d	¬«       d d d «       t	        t        d
¬«      5  |j                  d¬«       d d d «       t	        t
        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒoxY w# 1 sw Y   ŒOxY w# 1 sw Y   y xY w©N©rè   rô   r,  r-  r.  zaxis out of rangerj  rô   rc  ©r   rô   zaxis must be an integerç      ø?z&do.*n.t match.*shape|wrong.*dimensionsrè   ©rd  Úout)	rK   r   r   rù   r  r  r5  r—  Úmean©r¡   rE  rì   rê   s       r;   Útest_sum_invalid_paramsz#_TestCommon.test_sum_invalid_params  sø   € Ü�h‰h�vÓˆÜ’YÚÚð!ó "ˆð —‘˜sÓ#ˆäœ:Ð-@ÔAñ 	Ø�I‰I˜1ˆIÔ÷	äœ:Ð-@ÔAñ 	#Ø�I‰I˜6ˆIÔ"÷	#äœ9Ð,EÔFñ 	 Ø�I‰I˜3ˆIÔ÷	 ô œ:Ð-UÔVñ 	(Ø�J‰J˜A 3ˆJÔ'÷	(ð 	(÷	ð 	ú÷	#ð 	#ú÷	 ð 	 ú÷	(ð 	(ús0   ÁC-Á8C9Â$DÃDÃ-C6Ã9DÄDÄDc                 ó�   ‡‡— t        g d¢g d¢g d¢g«      Š| j                  ‰«      Šˆˆfd„}| j                  D ]
  } ||«       Œ y )Nr,  r-  r.  c                 ó¦   •— ‰j                  | ¬«      }‰j                  | ¬«      }t        ||«       t        |j                  |j                  «       y ©Nró   )r5  r   r   r@   )r@   Údat_sumÚ	datsp_sumrì   rê   s      €€r;   r  z)_TestCommon.test_sum_dtype.<locals>.check-  s?   ø€ Ø—g‘g E�gÓ*ˆGØŸ	™	¨˜	Ó.ˆIä% g¨yÔ9Ü˜Ÿ™¨	¯©Õ8r=   ©r   rù   r  ©r¡   r  r@   rì   rê   s      @@r;   Útest_sum_dtypez_TestCommon.test_sum_dtype'  sM   ù€ Ü’YÚÚð!ó "ˆð —‘˜sÓ#ˆõ	9ð ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 ó`  — t        ddgddgg«      }| j                  D �]Ö  }|j                  |«      }| j                  |«      }t	        j
                  «       5  t	        j                  dt        ¬«       | j                  st        j                  |«      }d d d «       | j                  D �]H  }	 t        j                  d¬«      5  |j                  |¬	«      }d d d «       t        j                  d¬
«      5  |j                  |¬	«      }|j                  |¬	«      }t        ||«       t        |j                   |j                   «       |j                  d|¬«      }|j                  d|¬«      }t        ||«       t        |j                   |j                   «       |j                  d|¬«      }|j                  d|¬«      }t        ||«       t        |j                   |j                   «       d d d «       �ŒK �ŒÙ y # 1 sw Y   �ŒfxY w# 1 sw Y   �Œ1xY w# t        $ r Y �Œvw xY w# 1 sw Y   �Œ„xY w)Nç333333ã?çffffffæ?çš™™™™™é?çÍÌÌÌÌÌì?r)  )ÚcategoryÚraise)Úallró   r2  r   ©rd  r@   rè   )r   r  ru   rù   r*  r+  r  ÚPendingDeprecationWarningr  rK   r2   rK  r5  Ú	Exceptionr   r   r@   )	r¡   Úbase_datÚinput_dtyperì   rê   Úoutput_dtyper$  rL  rM  s	            r;   Útest_sum_dtype_pair_of_dtypesz)_TestCommon.test_sum_dtype_pair_of_dtypes7  sê  € ô ˜3 ˜*Ø ˜*ð&ó 'ˆð  ×.Ñ.ó $	AˆKØ—/‘/ +Ó.ˆCØ—N‘N 3Ó'ˆEä×(Ñ(Ó*ñ )Ü×'Ñ'¨Ô;TÕUØ×)Ò)ÜŸ)™) C›.�C÷)ð
 !%× 3Ñ 3ó A�ðÜŸ™¨Ô1ñ 8ØŸG™G¨,˜GÓ7˜÷8ô —[‘[ hÔ/ñ AØ!Ÿg™g¨L˜gÓ9�GØ %§	¡	° 	Ó =�IÜ# I¨wÔ7Ü  §¡°'·-±-Ô@ð "Ÿg™g¨1°L˜gÓA�GØ %§	¡	¨q¸ 	Ó E�IÜ# I¨wÔ7Ü  §¡°'·-±-Ô@ð "Ÿg™g¨1°L˜gÓA�GØ %§	¡	¨q¸ 	Ó E�IÜ# I¨wÔ7Ü  §¡°'·-±-Ô@÷!Añ AòAñ$	A÷)ñ )ú÷8ñ 8ûä ò âðú÷
Añ AúsC   Á=G9Â.HÃHÃHÃ5C5H#Ç9H	ÈHÈHÈ	H ÈH È#H-c                 óp  — | j                  ddgddgg«      }t        | j                  rddgnddgg«      }t        | j                  rddgndgdgg«      }t        |j	                  t
        ¬«      d«       t        |j	                  dt
        ¬«      |«       t        |j	                  dt
        ¬«      |«       y )	NrR  rS  rT  rU  r   ró   rY  rè   )rù   r   r  r   r5  Úint)r¡   rê   Úcorrect_resÚt_correct_ress       r;   Ú test_sum_dtype_fractional_to_intz,_TestCommon.test_sum_dtype_fractional_to_intc  s§   € ð —‘  c 
Ø ˜*ð &ó 'ˆô  d×&8Ò&8˜Q ™FÀÀ1¸v¸hÓGˆÜ¨×(:Ò(:˜q !™fÀ!ÀÀqÀcÀ
ÓKˆä�U—Y‘Y¤S�YÓ)¨1Ô-Ü�U—Y‘Y A¬S�YÓ1°;Ô?Ü�U—Y‘Y A¬S�YÓ1°=ÕAr=   c                 óÐ  — | j                    }t        g d¢g d¢g d¢g«      }| j                  |«      }| j                   rt        d«      nt        dgg«      }| j                   rt        d«      nt        dgg«      }|j	                  ||¬«       |j	                  |¬«       t        ||«       | j                   rt        j                  d«      nt        j                  d«      }| j                   rt        j                  d«      nt        t        j                  d«      «      }|j	                  d	||¬
«       |j	                  d	|¬«       t        ||«       t        t        d¬«      5  |j	                  t        dg«      ¬«       d d d «       t        t        d¬«      5  |j	                  t        | j                   rdggnd«      ¬«       d d d «       y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nr,  r-  r.  r   ©rE  Úkeepdims©rE  ©rô   ©rô   rè   rè   ©rd  rE  rg  rD  zoutput parameterrj  )
r  r   rù   r2   r5  r   rK   r   r  r  ©r¡   Úkeeprì   rê   Údat_outÚ	datsp_outs         r;   Útest_sum_outz_TestCommon.test_sum_outp  s‡  € Ø×%Ñ%Ð%ˆÜ’YÚÚð!ó "ˆð —‘˜sÓ#ˆà"×0Ò0”%˜”(´e¸a¸S¸E³lˆØ $× 2Ò 2”E˜!”H¼ÀÀ¸u»ˆ	à�‰�G dˆÔ+Ø�	‰	�iˆ	Ô Ü! '¨9Ô5à$(×$6Ò$6”"—(‘(˜4”.¼B¿H¹HÀVÓ<LˆØ&*×&8Ò&8”B—H‘H˜T”N¼fÄRÇXÁXÈfÓEUÓ>Vˆ	à�‰�Q˜G¨dˆÔ3Ø�	‰	�q˜iˆ	Ô(Ü! '¨9Ô5ô œ:Ð-?Ô@ñ 	&Ø�I‰Iœ%  ›*ˆIÔ%÷	&äœ:Ð-?Ô@ñ 	EØ�I‰Iœ%¨×);Ò); ! ¡ÀÓCˆIÔD÷	Eð 	E÷	&ð 	&ú÷	Eð 	Eúó   Å%GÆ,GÇGÇG%c                 óú   — t        g d¢g d¢g d¢g«      }| j                  |«      }t        j                  |«      }t        j                  |«      }t	        ||«       t        |j                  |j                  «       y ©Nr,  r-  r.  )r   rù   rK   r5  r   r   r@   )r¡   rì   rê   rL  rM  s        r;   Útest_numpy_sumz_TestCommon.test_numpy_sum‹  s_   € ä’YÚÚð!ó "ˆð —‘˜sÓ#ˆä—&‘&˜“+ˆÜ—F‘F˜5“Mˆ	ä! '¨9Ô5Ü�W—]‘] I§O¡OÕ4r=   c                 óî  — t        g d¢g d¢g d¢g«      }| j                  |«      }t        |j                  «       «      sJ ‚| j                  rt
        nt        j                  }t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚y ©Nr,  r-  r.  r   rc  rè   )
r   rù   r/   r5  r  r
   rK   r2   rJ   rF  )r¡   rì   rê   Úmatrix_or_arrays       r;   Útest_sum_mean_container_typez(_TestCommon.test_sum_mean_container_type˜  sÐ   € Ü’YÚÚð!ó "ˆð —‘˜sÓ#ˆä˜EŸI™I›KÔ(Ð(Ð(Ø%)×%7Ò%7�'¼R¿Y¹YˆÜ˜%Ÿ)™)¨˜)Ó+¨_Ô=Ð=Ð=Ü˜%Ÿ)™)¨˜)Ó+¨_Ô=Ð=Ð=ä˜EŸJ™J›LÔ)Ð)Ð)Ü˜%Ÿ*™*¨!˜*Ó,¨oÔ>Ð>Ð>Ü˜%Ÿ*™*¨!˜*Ó,¨oÔ>Ð>Ñ>r=   c                 ó`   ‡ ‡— ‰ j                    Šˆˆ fd„}‰ j                  D ]
  } ||«       Œ y )Nc                 ó˜  •— t        g d¢g d¢g d¢g| ¬«      }‰j                  || ¬«      }t        |j                  «       |j                  «       «       t	        |j                  «       j
                  |j                  «       j
                  «       t        t        j                  |j                  d ¬«      «      «       t        |j                  d ‰¬«      |j                  d ¬«      «       t	        |j                  d ¬«      j
                  |j                  d ¬«      j
                  «       t        |j                  d‰¬«      |j                  d¬«      «       t	        |j                  d¬«      j
                  |j                  d¬«      j
                  «       t        |j                  d‰¬«      |j                  d¬«      «       t	        |j                  d¬«      j
                  |j                  d¬«      j
                  «       t        |j                  d	‰¬«      |j                  d	¬«      «       t	        |j                  d	¬«      j
                  |j                  d	¬«      j
                  «       t        |j                  d
‰¬«      |j                  d
¬«      «       t	        |j                  d
¬«      j
                  |j                  d
¬«      j
                  «       t        |j                  d‰¬«      |j                  d¬«      «       t	        |j                  d¬«      j
                  |j                  d¬«      j
                  «       y )Nr,  )rô   r”  rŒ  )rò   râ  rä  ró   rc  ©rd  rg  r   rè   rF  ré   r4  )	r   rù   r   rF  r   r@   r   rK   r6  )r@   rì   rê   rm  r¡   s      €€r;   r  z$_TestCommon.test_mean.<locals>.check©  sw  ø€ ÜšÚ"Ú"ð$à+0ô2ˆCð —N‘N 3¨e�NÓ4ˆEä% c§h¡h£j°%·*±*³,Ô?Ü˜Ÿ™›×)Ñ)¨5¯:©:«<×+=Ñ+=Ô>Ü”B—K‘K §
¡
° 
Ó 5Ó6Ô7Ü%Ø—‘˜d¨T�Ó2°E·J±JÀD°JÓ4Iôô ˜Ÿ™ t˜Ó,×2Ñ2°E·J±JÀD°JÓ4I×4OÑ4OÔPÜ%Ø—‘˜a¨$�Ó/°·±À°Ó1Côô ˜Ÿ™ q˜Ó)×/Ñ/°·±À°Ó1C×1IÑ1IÔJÜ%Ø—‘˜a¨$�Ó/°·±À°Ó1Côô ˜Ÿ™ q˜Ó)×/Ñ/°·±À°Ó1C×1IÑ1IÔJÜ%Ø—‘˜b¨4�Ó0°%·*±*À"°*Ó2Eôô ˜Ÿ™ r˜Ó*×0Ñ0°%·*±*À"°*Ó2E×2KÑ2KÔLÜ%Ø—‘˜b¨4�Ó0°%·*±*À"°*Ó2Eôô ˜Ÿ™ r˜Ó*×0Ñ0°%·*±*À"°*Ó2E×2KÑ2KÔLÜ%Ø—‘˜f¨t�Ó4°e·j±jÀf°jÓ6Môô ˜Ÿ™ v˜Ó.×4Ñ4°e·j±jÀf°jÓ6M×6SÑ6SÕTr=   )r  r  )r¡   r  r@   rm  s   `  @r;   Ú	test_meanz_TestCommon.test_mean§  s6   ù€ Ø×%Ñ%Ð%ˆõ 	UðF ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óX  — | j                  t        j                  d«      «      }t        g d¢g d¢g d¢g«      }| j	                  |«      }t        t        d¬«      5  |j                  d¬«       d d d «       t        t        d¬«      5  |j                  d	¬«       d d d «       t        t        d
¬«      5  |j                  d¬«       d d d «       t        t        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒoxY w# 1 sw Y   ŒOxY w# 1 sw Y   y xY wr@  )	r	  rK   r   r   rù   r  r  rF  r—  rG  s       r;   Útest_mean_invalid_paramz#_TestCommon.test_mean_invalid_paramÏ  s  € Ø�l‰lœ2Ÿ8™8 FÓ+Ó,ˆÜ’YÚÚð!ó "ˆð —‘˜sÓ#ˆäœ:Ð-@ÔAñ 	Ø�J‰J˜AˆJÔ÷	äœ:Ð-@ÔAñ 	$Ø�J‰J˜FˆJÔ#÷	$äœ9Ð,EÔFñ 	!Ø�J‰J˜CˆJÔ ÷	!ô œ:Ð-UÔVñ 	(Ø�J‰J˜A 3ˆJÔ'÷	(ð 	(÷	ð 	ú÷	$ð 	$ú÷	!ð 	!ú÷	(ð 	(ús0   ÁC<ÂDÂ3DÃD Ã<DÄDÄDÄ D)c                 ó�   ‡‡— t        g d¢g d¢g d¢g«      Š| j                  ‰«      Šˆˆfd„}| j                  D ]
  } ||«       Œ y )Nr,  r-  r.  c                 ó¦   •— ‰j                  | ¬«      }‰j                  | ¬«      }t        ||«       t        |j                  |j                  «       y rK  )rF  r   r   r@   )r@   Údat_meanÚ
datsp_meanrì   rê   s      €€r;   r  z*_TestCommon.test_mean_dtype.<locals>.checkæ  sA   ø€ Ø—x‘x e�xÓ,ˆHØŸ™¨%˜Ó0ˆJä% h°
Ô;Ü˜Ÿ™¨×)9Ñ)9Õ:r=   rN  rO  s      @@r;   Útest_mean_dtypez_TestCommon.test_mean_dtypeà  sM   ù€ Ü’YÚÚð!ó "ˆð —‘˜sÓ#ˆõ	;ð ×(Ñ(ò 	ˆEÙ�%�Lñ	r=   c                 óÐ  — | j                    }t        g d¢g d¢g d¢g«      }| j                  |«      }| j                   rt        d«      nt        dgg«      }| j                   rt        d«      nt        dgg«      }|j	                  ||¬«       |j	                  |¬«       t        ||«       | j                   rt        j                  d«      nt        j                  d«      }| j                   rt        j                  d«      nt        t        j                  d«      «      }|j	                  d	||¬
«       |j	                  d	|¬«       t        ||«       t        t        d¬«      5  |j	                  t        dg«      ¬«       d d d «       t        t        d¬«      5  |j	                  t        | j                   rdggnd«      ¬«       d d d «       y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nr,  r-  r.  r   rf  rh  ri  rj  rè   rk  rD  z"output parameter.*wrong.*dimensionrj  )
r  r   rù   r2   rF  r   rK   r   r  r  rl  s         r;   Útest_mean_outz_TestCommon.test_mean_outð  s‡  € Ø×%Ñ%Ð%ˆÜ’YÚÚð!ó "ˆð —‘˜sÓ#ˆà"×0Ò0”%˜”(´e¸a¸S¸E³lˆØ $× 2Ò 2”E˜!”H¼ÀÀ¸u»ˆ	à�‰�W tˆÔ,Ø�
‰
�yˆ
Ô!Ü! '¨9Ô5à$(×$6Ò$6”"—(‘(˜4”.¼B¿H¹HÀVÓ<LˆØ&*×&8Ò&8”B—H‘H˜T”N¼fÄRÇXÁXÈfÓEUÓ>Vˆ	à�‰�a˜W¨tˆÔ4Ø�
‰
˜˜yˆ
Ô)Ü! '¨9Ô5ô œ:Ð-QÔRñ 	'Ø�J‰Jœ5 ! ›:ˆJÔ&÷	'äœ:Ð-QÔRñ 	FØ�J‰Jœ5¨$×*<Ò*< 1 #¡À!ÓDˆJÔE÷	Fð 	F÷	'ð 	'ú÷	Fð 	Fúrq  c                 óú   — t        g d¢g d¢g d¢g«      }| j                  |«      }t        j                  |«      }t        j                  |«      }t	        ||«       t        |j                  |j                  «       y rs  )r   rù   rK   rF  r   r   r@   )r¡   rì   rê   r�  r‚  s        r;   Útest_numpy_meanz_TestCommon.test_numpy_mean  sa   € ä’YÚÚð!ó "ˆð —‘˜sÓ#ˆä—7‘7˜3“<ˆÜ—W‘W˜U“^ˆ
ä! (¨JÔ7Ü�X—^‘^ Z×%5Ñ%5Õ6r=   c                 óò  — t        g d¢g d¢g d¢gt        «      }| j                  |dt        ¬«      }t        j                  j                  |«      }t        g d¢g d¢g d¢g«      }| j                  |dt        ¬«      }t        j                  j                  |«      }t        j                  «       5  t        j                  d	d
t        «       t        j                  d	dt        «       t        j                  d	dt        «       t        |«      j                  «       }t        |«      j                  «       }d d d «       t        |z
  t        d«      «       t        |z
  t        d«      «       y # 1 sw Y   Œ:xY w)NrÏ  ©r   r   rô   ©r¯  rŒ  rò   ra  ©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†   Úlinalgr4   r*  r+  r  r)   rš   r   r   )	r¡   ÚMÚsMÚMexpÚNÚsNÚNexpÚsMexpÚsNexps	            r;   Ú	test_expmz_TestCommon.test_expm  s,  € Ü’9šiªÐ4´eÓ<ˆØ�^‰^˜A U´%ˆ^Ó8ˆÜ�|‰|× Ñ  Ó#ˆä’<¢ª|Ð<Ó=ˆØ�^‰^˜A U´%ˆ^Ó8ˆÜ�|‰|× Ñ  Ó#ˆä×$Ñ$Ó&ñ 	'Ü×#Ñ#ØØ8Ü'ôô
 ×#Ñ#ØØUÜ'ôô
 ×#Ñ#ØØ@Ü'ôô
 ˜“H×$Ñ$Ó&ˆEÜ˜“H×$Ñ$Ó&ˆE÷#	'ô& 	" 5¨4¡<´%¸³-Ô@Ü! 5¨4¡<´%¸³-Õ@÷)	'ð 	'ús   Â0BE-Å-E6c                 ó8   ‡ — ˆ fd„}t         fD ]
  } ||«       Œ y )Nc                 ó  •— 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        «       ‰j                  |d| ¬	«      }t        |«      }d d d «       t        j                  «      j                  «       t        j                  d
«      «       t        t        t        |«       y # 1 sw Y   Œ[xY w)NrÏ  r‰  rŠ  r)  r’  r‘  r�  ra  r‹  rô   )r   r*  r+  r  r)   rù   r5   r   r   rš   rK   r'   r  r—  )r@   r•  r–  ÚsMinvr¡   s       €r;   r  z#_TestCommon.test_inv.<locals>.check8  sÒ   ø€ Ü’y¢)ªZÐ8¸%Ó@ˆAÜ×(Ñ(Ó*ñ  Ü×'Ñ'ØØDÜ+ôô
 ×'Ñ'Øð2ä+ô	ô ×'Ñ'ØØ<Ü+ôð
 —^‘^ A¨U¸%�^Ó@�Ü˜B›�÷% ô& & e§i¡i°£m×&;Ñ&;Ó&=¼r¿v¹vÀa»yÔIÜœ)¤S¨!Õ,÷) ð  ús   «A1C6Ã6C?)r“  r   s   `  r;   Útest_invz_TestCommon.test_inv7  s"   ø€ ô	-ô. �Wò 	ˆEÙ�%�Lñ	r=   c                 óø  — t        j                  «       5  t        j                  dt        «       t	        g d¢g d¢g d¢g d¢g«      }t        | j                  |«      j                  «       |«       t	        g d¢g d¢g d¢g«      }t        | j                  |«      j                  «       |«       t        | j                  |d¬	«      j                  «       |j                  d«      «       d d d «       y # 1 sw Y   y xY w©
Nr)  rx  r½  )r   rŒ  r   re  )rÅ  r   r   )r   ç      @r   rö   ró   )	r*  r+  r,  r   r   r   rù   rš   ru   r±  s     r;   Útest_from_arrayz_TestCommon.test_from_arrayR  sÉ   € Ü×$Ñ$Ó&ñ 
	NÜ×!Ñ! (¬NÔ;Ü’wšw¢wªwÐ7Ó8ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>äÒ'Ú&Ú ð"ó #ˆAô ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>ÜØ—‘˜q¨�Ó0×8Ñ8Ó:¸1¿8¹8ÀGÓ;LôN÷
	N÷ 
	Nñ 
	Núó   •CC0Ã0C9c                 ó  — t        j                  «       5  t        j                  dt        «       | j	                  g d¢g d¢g d¢g d¢g«      }t        | j                  |«      j                  «       |«       | j	                  g d¢g d¢g d¢g«      }t        | j                  |«      j                  «       |«       t        | j                  |d¬	«      j                  «       |j                  d«      «       d d d «       y # 1 sw Y   y xY wr£  )	r*  r+  r,  r   r	  r   rù   Útodenseru   r±  s     r;   Útest_from_matrixz_TestCommon.test_from_matrix`  sÌ   € Ü×$Ñ$Ó&ñ 	Ü×!Ñ! (¬NÔ;Ø—‘šiª²IºyÐIÓJˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>à—‘Ò.Ú-Ú'ð)ó *ˆAô ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>ÜØ—‘˜q¨�Ó0×8Ñ8Ó:¸A¿H¹HÀWÓ<Mô÷	÷ 	ñ 	ús   •CC<Ã<Dc                 óø  — t        j                  «       5  t        j                  dt        «       g d¢g d¢g d¢g d¢g}t	        | j                  |«      j                  «       |«       g d¢g d¢g d¢g}t	        | j                  |«      j                  «       t        |«      «       t	        | j                  |d¬	«      j                  «       t        |«      j                  d«      «       d d d «       y # 1 sw Y   y xY wr£  )	r*  r+  r,  r   r   rù   rš   r   ru   r±  s     r;   Útest_from_listz_TestCommon.test_from_listn  s¿   € Ü×$Ñ$Ó&ñ 	Ü×!Ñ! (¬NÔ;Úš¢ªÐ1ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>â!Ú ÚðˆAô ˜tŸ~™~¨aÓ0×8Ñ8Ó:¼EÀ!»HÔEÜØ—‘˜q¨�Ó0×8Ñ8Ó:¼EÀ!»H¿O¹OÈGÓ<Tô÷	÷ 	ñ 	úr¦  c                 ó˜  — t        j                  «       5  t        j                  dt        «       t	        g d¢g d¢g d¢g d¢g«      }| j                  |«      }t        | j                  |«      j                  «       |«       | j                  |«      }t        | j                  |«      j                  «       |«       t	        g d¢g d¢g d¢g«      }| j                  |«      }t        | j                  |«      j                  «       |«       t        | j                  |d¬	«      j                  «       |j                  d«      «       | j                  |«      }t        | j                  |«      j                  «       |«       t        | j                  |d¬	«      j                  «       |j                  d«      «       d d d «       y # 1 sw Y   y xY wr£  )
r*  r+  r,  r   r   r  r   rù   rš   ru   ©r¡   rÈ  ÚSs      r;   Útest_from_sparsez_TestCommon.test_from_sparse|  sd  € Ü×$Ñ$Ó&ñ 	2Ü×!Ñ! (¬NÔ;Ü’wšw¢wªwÐ7Ó8ˆAØ×"Ñ" 1Ó%ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>Ø—‘˜qÓ!ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>äÒ'Ú&Ú ð"ó #ˆAð ×"Ñ" 1Ó%ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>Ü˜tŸ~™~¨a°w˜~Ó?×GÑGÓIØ Ÿx™x¨Ó0ô2à—‘˜qÓ!ˆAÜ˜tŸ~™~¨aÓ0×8Ñ8Ó:¸AÔ>Ü˜tŸ~™~¨a°w˜~Ó?×GÑGÓIØ Ÿx™x¨Ó0ô2÷#	2÷ 	2ñ 	2ús   •F"G Ç G	c                 ó~  — | j                   j                  «       }t        || j                  rt        j
                  nt        j                  «      sJ ‚t        || j                  «       t        |j                  j                  |j                  j                  k7  «       | j                   j                  d¬«      }t        || j                  «       t        |j                  j                  «       t        |j                  j                   «       | j                   j                  d¬«      }t        || j                  «       t        |j                  j                   «       t        |j                  j                  «       t	        j                  | j                   j                  | j                   j                  ¬«      }| j                   j                  |¬«      }t        | j                  |«       t        | j                  |«       t	        j                   ||«      sJ ‚| j#                  t	        j                  | j                   j                  | j                   j                  ¬«      «      }| j                   j                  |¬«      }t        | j                  |«       t        | j                  |«       t	        j                   ||«      sJ ‚t%        g d¢g«      }|| j                  z  }|| j                   j                  «       z  }t        ||«       t%        g d¢g«      j&                  }| j                  |z  }| j                   j                  «       |z  }t        ||«       | j)                  | j                  t*        ¬«      }| j                  j-                  t*        «      }	t        |j                  «       |	«       y )Nrþ   rë  ré  ró   rh  ©rŽ  r�  rŒ  ©rŽ  r�  rŒ  ç      @)rê   r¨  rJ   r  rK   r
   r2   r   rì   r   ÚflagsÚc_contiguousÚf_contiguousr   r¾   r@   rQ   r	  r   r@  rù   r  ru   )
r¡   ÚchkrE  rO   Údense_dot_denser  rT   Úcheck2ÚspboolÚmatbools
             r;   Útest_todensez_TestCommon.test_todense•  s“  € à�j‰j× Ñ Ó"ˆÜ˜#¨T×-?Ò-?œrŸzšzÄRÇYÁYÔOÐOÐOÜ˜3 §¡Ô)Ü�—	‘	×&Ñ&¨#¯)©)×*@Ñ*@Ñ@ÔAà�j‰j× Ñ  sÐ Ó+ˆÜ˜3 §¡Ô)Ü�—	‘	×&Ñ&Ô'Ü�C—I‘I×*Ñ*Ð*Ô+à�j‰j× Ñ  sÐ Ó+ˆÜ˜3 §¡Ô)Ü�C—I‘I×*Ñ*Ð*Ô+Ü�—	‘	×&Ñ&Ô'ä�h‰h�t—z‘z×'Ñ'¨t¯z©z×/?Ñ/?Ô@ˆØ�j‰j× Ñ  SÐ Ó)ˆÜ˜4Ÿ8™8 SÔ)Ü˜4Ÿ8™8 SÔ)Ü×"Ñ" 3¨Ô,Ð,Ð,à�l‰lœ2Ÿ8™8 D§J¡J×$4Ñ$4¸D¿J¹J×<LÑ<LÔMÓNˆØ�j‰j× Ñ  SÐ Ó)ˆÜ˜4Ÿ8™8 SÔ)Ü˜4Ÿ8™8 SÔ)Ü×"Ñ" 3¨Ô,Ð,Ð,Ü’:�,ÓˆØ˜dŸh™h™,ˆØ�D—J‘J×&Ñ&Ó(Ñ(ˆÜ˜?¨EÔ2Ü’=�/Ó"×$Ñ$ˆØŸ(™( Q™,ˆØ—‘×#Ñ#Ó%¨Ñ)ˆÜ˜?¨FÔ3à—‘ §¡´�Ó5ˆØ—(‘(—/‘/¤$Ó'ˆÜ˜6Ÿ>™>Ó+¨WÕ5r=   c                 ón  — t        | j                  «      }| j                  j                  «       }t	        ||«       t        |j                  j                  |j                  j                  k7  «       | j                  j                  d¬«      }t	        ||«       t        |j                  j                  «       t        |j                  j                   «       | j                  j                  d¬«      }t	        ||«       t        |j                  j                   «       t        |j                  j                  «       t        j                  | j                  j                  | j                  j                  ¬«      }| j                  j                  |¬«       t	        ||«       d|d<   | j                  j                  |¬«       t	        ||«       t        g d¢«      }t        ||«      }t        || j                  j                  «       «      }t	        ||«       t        g d	¢«      }t        ||«      }t        | j                  j                  «       |«      }t	        ||«       | j                  | j                  t         ¬«      }	|j#                  t         «      }
t	        |	j                  «       |
«       y )
Nrþ   rë  ré  ró   rh  rŽ  .r±  r²  )r   rì   rê   rš   r   r   r´  rµ  r¶  rK   r   r¾   r@   r   r   rù   r  ru   )r¡   rì   r·  rE  rO   r¸  r  rT   r¹  rº  Úarrbools              r;   Útest_toarrayz_TestCommon.test_toarray¾  sí  € ä�d—h‘hÓˆØ�j‰j× Ñ Ó"ˆÜ˜3 Ô$Ü�—	‘	×&Ñ&¨#¯)©)×*@Ñ*@Ñ@ÔAà�j‰j× Ñ  sÐ Ó+ˆÜ˜3 Ô$Ü�—	‘	×&Ñ&Ô'Ü�C—I‘I×*Ñ*Ð*Ô+à�j‰j× Ñ  sÐ Ó+ˆÜ˜3 Ô$Ü�C—I‘I×*Ñ*Ð*Ô+Ü�—	‘	×&Ñ&Ô'ä�h‰h�t—z‘z×'Ñ'¨t¯z©z×/?Ñ/?Ô@ˆØ�
‰
×Ñ˜sÐÔ#Ü˜3 Ô$àˆˆC‰Ø�
‰
×Ñ˜sÐÔ#Ü˜3 Ô$Ü’*ÓˆÜ˜a ›+ˆÜ�A�t—z‘z×)Ñ)Ó+Ó,ˆÜ˜?¨EÔ2Ü’-Ó ˆÜ˜c 1›+ˆÜ�T—Z‘Z×'Ñ'Ó)¨1Ó-ˆÜ˜?¨FÔ3à—‘ §¡´�Ó5ˆØ—*‘*œTÓ"ˆÜ˜6Ÿ>™>Ó+¨WÕ5r=   c                 óB  ‡‡	— t        j                  «       5  t        j                  dt        «       t	        g d¢g d¢g d¢g«      }| j                  |«      }t        D �]*  }|j                  |«      }dD ]o  }|j                  ||¬«      Št        ‰j                  |j                  «       t        ‰j                  «       |«       t        ‰j                  |j                  «       Œq t        ‰j                  |d¬«      ‰u «       ‰j                  |d¬«      Š	t        ‰	‰u«       ˆˆ	fd	„}‰j                  d
v rdD ]
  } ||«       Œ Œë‰j                  dk(  rdD ]
  } ||«       Œ �Œ‰j                  dk(  s�ŒdD ]
  } ||«       Œ �Œ- 	 d d d «       y # 1 sw Y   y xY w)Nr)  ©y       @      @r   r   ©r   y      @      @r   re  )TFrö  FTc                 óÔ   •— t        ‰| «      }t        ‰| «      }t        ||«       t        ||u«       d|j                  z  }||   }||    ||<   t        ||   ||   k7  «       |||<   y )N)r   )r|   r   r   rÄ   )Ú	attributerO   rT   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ø  ss   ø€ Ü ¨)Ó4�AÜ ¨)Ó4�AÜ& q¨!Ô,Ü˜A Q˜JÔ'Ø˜qŸv™v™�AØ˜A™$�CØ  ™t˜8�A�a‘DÜ˜A˜a™D A a¡D™LÔ)Ø�A�a’Dr=   ©r8  r7  r6  )ÚindicesÚindptrÚdataÚcoo)ÚrowÚcolrÌ  rb  )ÚoffsetsrÌ  )r*  r+  r,  r   r   rù   r.   ru   r   r@   rš   rü   r   )
r¡   rÈ  r®  rA   ÚD_castedr-  rÈ  rÄ  rÆ  rÇ  s
           @@r;   Útest_astypez_TestCommon.test_astypeã  sˆ  ù€ Ü×$Ñ$Ó&ñ '	LÜ×!Ñ! (¬NÔ;ÜÒ'Ú'Ú ð"ó #ˆAð —‘˜qÓ!ˆAä%ó  L�àŸ8™8 A›;�Ø)ò <�DØ Ÿx™x¨°˜xÓ5�HÜ  §¡°·±Ô@Ü  ×!1Ñ!1Ó!3°XÔ>Ü  §¡°!·(±(Õ;ð	<ô ˜Ÿ™¨°˜Ó6¸(ÐBÔCØ#Ÿ?™?¨1°4˜?Ó8�Ü˜¨Ð0Ô1õ	ð —?‘?Ð&;Ñ;Ø%Bò L˜	Ù@ÀÕKñLà—_‘_¨Ò-Ø%;ò L˜	Ù@ÀÕKòLà—_‘_¨Ô-Ø%8ò L˜	Ù@ÀÕKòLñ? L÷'	L÷ '	Lñ '	Lús   —E FÅ9FÆFc                 óF  — t        j                  «       5  t        j                  dt        «       t	        g d¢g d¢g d¢g«      }| j                  |«      }t        |d«      rd|j                  j                  _	        |j                  dv r6d|j                  j                  _	        d|j                  j                  _	        t        D ]D  }|j                  |«      }|j                  |«      }t        |j                   |j                   «       ŒF 	 d d d «       y # 1 sw Y   y xY w)Nr)  rÁ  rÂ  re  rÌ  FrÉ  )r*  r+  r,  r   r   rù   ÚhasattrrÌ  r´  Ú	writeablerü   rË  rÊ  r.   ru   r   r@   )r¡   rÈ  r®  rA   rÑ  rÆ  s         r;   Útest_astype_immutablez!_TestCommon.test_astype_immutable  sÝ   € Ü×$Ñ$Ó&ñ 	=Ü×!Ñ! (¬NÔ;ÜÒ'Ú'Ú ð"ó #ˆAð —‘˜qÓ!ˆAÜ�q˜&Ô!Ø).�—‘—‘Ô&Ø�x‰xÐ0Ñ0Ø+0�—‘—‘Ô(Ø,1�—	‘	—‘Ô)Ü%ò =�ØŸ8™8 A›;�ØŸ8™8 A›;�Ü˜XŸ^™^¨X¯^©^Õ<ñ=÷	=÷ 	=ñ 	=ús   •C8DÄD c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 óÂ   •— ‰j                   |    }‰j                  |    }t        |dz  |dz  j                  «       «       t        |dz  |dz  j                  «       «       y ©Nrf   çÍÌÌÌÌL1@©r  r  r   rš   ©r@   rì   rê   r¡   s      €r;   r  z*_TestCommon.test_mul_scalar.<locals>.check  sW   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEä˜s 1™u u¨Q¡w×&7Ñ&7Ó&9Ô:Ü˜s 4™x¨%°©*×)=Ñ)=Ó)?Õ@r=   ©r  r   s   `  r;   Útest_mul_scalarz_TestCommon.test_mul_scalar  ó'   ø€ ô	Að ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 óÂ   •— ‰j                   |    }‰j                  |    }t        d|z  d|z  j                  «       «       t        d|z  d|z  j                  «       «       y rÙ  rÛ  rÜ  s      €r;   r  z+_TestCommon.test_rmul_scalar.<locals>.check*  sW   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEä˜q ™u q¨¡w×&7Ñ&7Ó&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 «       y # 1 sw Y   y xY wr?   )r  rK   rõ   r  r—  )r¡   rê   s     r;   Útest_rmul_scalar_type_errorz'_TestCommon.test_rmul_scalar_type_error5  s:   € Ø×!Ñ!¤"§*¡*Ñ-ˆÜœ9Ó%ñ 	Ø�5ŠL÷	÷ 	ñ 	ús	   ­<¼Ac                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 óœ  •— ‰j                   |    }‰j                  |    }|j                  «       }d|d<   |}||z   }t        ||j	                  «       |z   «       ||j                  «       z   }t        |j	                  «       |j	                  «       |j	                  «       z   «       ||d   z   }t        ||j	                  «       |d   z   «       y )Nr�  r  r   )r  r  r-  r   rš   r¡  ©r@   rì   rê   rO   rT   r¤  r¡   s         €r;   r  z#_TestCommon.test_add.<locals>.check;  s²   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEà—‘“
ˆAØˆAˆc‰FØˆAØ�A‘ˆAÜ˜q !§)¡)£+°¡/Ô2à�A—G‘G“I‘ˆAÜ˜qŸy™y›{Ø Ÿy™y›{¨Q¯Y©Y«[Ñ8ô:ð �A�a‘D‘ˆAÜ˜q !§)¡)£+°°!±Ñ"4Õ5r=   rÝ  r   s   `  r;   Útest_addz_TestCommon.test_add:  s&   ø€ ô	6ð$ ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 ó´   •— ‰j                   |    }‰j                  |    }|j                  «       }d|d<   |}||z   }t        |||j	                  «       z   «       y )Nr�  r  )r  r  r-  r   rš   rç  s         €r;   r  z$_TestCommon.test_radd.<locals>.checkQ  sW   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEà—‘“
ˆAØˆAˆc‰FØˆAØ�A‘ˆAÜ˜q ! a§i¡i£k¡/Õ2r=   rÝ  r   s   `  r;   Ú	test_raddz_TestCommon.test_raddP  s&   ø€ ô	3ð ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 ót   ‡ — ˆ fd„}‰ j                   D ]#  }|t        j                  d«      k(  rŒ ||«       Œ% y )Nc                 ó   •— ‰j                   |    }‰j                  |    }t        ||z
  j                  «       t	        j
                  d«      «       t        |dz
  j                  «       |«       ‰j                  t	        j                  g d¢g d¢g d¢gd«      «      }t        ||z
  j                  «       ||j                  «       z
  «       t        ||z
  j                  «       |j                  «       |z
  «       t        ||d   z
  ||d   z
  «       y )Nrõ  r   ©rè   r   r   r”  ©ré   r   r   r   ©r   rã  r   r­  r  )r  r  r   rš   rK   r   rù   r   ©r@   rì   rê   rR   r¡   s       €r;   r  z#_TestCommon.test_sub.<locals>.check_  sÝ   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEä ¨¡×6Ñ6Ó8¼"¿(¹(À6Ó:JÔKÜ ¨¡	×2Ñ2Ó4°cÔ:à—‘Ü—‘š,ª²}ÐEÀsÓKóˆAô  ¨¡	×2Ñ2Ó4°c¸A¿I¹I»KÑ6GÔHÜ  E¡	×2Ñ2Ó4°a·i±i³kÀCÑ6GÔHô ˜u s¨1¡v™~¨s°S¸±V©|Õ<r=   r  ©r  rK   r@   r   s   `  r;   Útest_subz_TestCommon.test_sub^  s:   ø€ ô	=ð  ×%Ñ%ò 	ˆEØœŸ™ Ó(Ò(àá�%�Lñ	r=   c                 ót   ‡ — ˆ fd„}‰ j                   D ]#  }|t        j                  d«      k(  rŒ ||«       Œ% y )Nc                 ó~  •— ‰j                   |    }‰j                  |    }t        ||z
  g d¢g d¢g d¢g«       t        ||z
  g d¢g d¢g d¢g«       t        d|z
  j                  «       | «       ‰j	                  g d¢g d¢g d¢gd¬«      }t        ||z
  ||j                  «       z
  «       t        ||z
  |j                  «       |z
  «       t        |j                  «       |z
  |j                  «       |z
  «       t        ||j                  «       z
  ||j                  «       z
  «       t        |d   |z
  |d   |z
  «       y )Nrî  r   rî  rï  rð  r  ró   )r  r  r   rš   rù   rñ  s       €r;   r  z$_TestCommon.test_rsub.<locals>.checkw  s  ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEä  e¡ªiº	Â)Ð-LÔMÜ ¨¡ªiº	Â)Ð-LÔMÜ  E¡	×2Ñ2Ó4°s°dÔ;à—‘¢	ª*²ZÐ@Às�ÓKˆAÜ  a¡¨#°·	±	³Ñ*;Ô<Ü  C¡¨!¯)©)«+¸Ñ*;Ô<Ü˜qŸy™y›{¨UÑ2°A·I±I³KÀ#Ñ4EÔFÜ˜u q§y¡y£{Ñ2°C¸!¿)¹)»+Ñ4EÔFô ˜s 1™v¨™~¨s°1©v¸©|Õ<r=   r  rò  r   s   `  r;   Ú	test_rsubz_TestCommon.test_rsubv  s:   ø€ ô	=ð" ×%Ñ%ò 	ˆEØœŸ™ Ó(Ò(àá�%�Lñ	r=   c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 ó\  •— ‰j                   |    }‰j                  |    }t        |dz   j                  «       |«       t	        t        dd«      D �cg c]  }||z  ‘Œ	 c}«      }t	        t        dd«      D �cg c]  }||z  ‘Œ	 c}«      }t        |j                  «       |«       y c c}w c c}w )Nr   rè   rô   )r  r  r   rš   r5  r#  r   )r@   rì   rê   rÔ  ÚsumSÚsumDr¡   s         €r;   r  z$_TestCommon.test_add0.<locals>.check�  s�   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEô  ¨¡	×2Ñ2Ó4°cÔ:ä¬5°°A«;Ö7 a˜˜E›	Ò7Ó8ˆDÜ¬¨q°!«Ö5 A˜˜C›Ò5Ó6ˆDÜ §¡£°Õ5ùò 8ùÚ5s   ÁB$Á6B)rÝ  r   s   `  r;   Ú	test_add0z_TestCommon.test_add0�  s&   ø€ ô		6ð ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 óœ  — t        g d¢g d¢g«      }t        g d¢g d¢g«      }| j                  |«      }| j                  |«      }|j                  dv r|j                  nd}|j                  |«      j                  |k(  sJ ‚t	        |j                  |«      j                  «       ||z  «       t	        |j                  |«      j                  «       ||z  «       t        g d¢g d¢g«      }t        g d	¢g d
¢g«      }| j                  |«      }| j                  |«      }	t	        |j                  |	«      j                  «       ||z  «       t	        |j                  |«      j                  «       ||z  «       t	        |j                  |	«      j                  «       ||z  «       t	        |j                  |«      j                  «       ||z  «       y )N)r”  r   rä  )rf   r»  rŒ  )r   râ  r   )r   r¯  r   )r7  rb  r6  r8  ©y      ð?       Ày              @y      ð¿        ©y      @      Ày      À      @rŒ  ©y      @       @y      @      Ày       À      ð?©y              ð¿y      À       @rä  )r   rù   rü   Úmultiplyr   rš   )
r¡   rR   rS   r$  ÚBspÚout_fmtrþ   rÈ  ÚCspÚDsps
             r;   Útest_elementwise_multiplyz%_TestCommon.test_elementwise_multiplyž  sm  € ä’7š8Ð$Ó%ˆÜ’7š8Ð$Ó%ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆà #§
¡
Ð.CÑ C�#—*’*ÈˆØ—‘˜SÓ!×)Ñ)¨WÒ4Ð4Ð4Ü˜CŸL™L¨Ó-×5Ñ5Ó7¸¸1¹Ô=Ü˜CŸL™L¨›O×3Ñ3Ó5°q¸±sÔ;ô Ò$¢^Ð4Ó5ˆÜÒ$¢^Ð4Ó5ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆÜ˜CŸL™L¨Ó-×5Ñ5Ó7¸¸1¹Ô=Ü˜CŸL™L¨›O×3Ñ3Ó5°q¸±sÔ;ô 	˜CŸL™L¨Ó-×5Ñ5Ó7¸¸1¹Ô=Ü˜CŸL™L¨›O×3Ñ3Ó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«      }| j	                  |«      }| j	                  |«      }| j	                  |«      }| j	                  |«      }| j	                  |«      }| j	                  |d   «      }| j	                  |	«      }| j	                  |	d d …dd f   «      }| j	                  |
«      }|||||||||	|
|g}|||||||||g	}|D ]V  }|D ]O  }	 |j                  «       |j                  «       z  }|j                  |«      }t        |j                  «       |«       ŒQ ŒX |D ]a  }|D ]Z  }	 |j                  «       |z  }	 |j                  |«      }t        |«      rt        |j                  «       |«       ŒOt        ||«       Œ\ Œc y # t        $ r t        t        |j                  |«       Y Œáw xY w# t        $ r Y Œ•t        $ r t        t        |j                  |«       Y Œºw xY w# t        $ r Y ŒÉw xY w)Nr”  é÷ÿÿÿ©rè   ré   r   )râ  rä  r  rô   rf   rè   )rã  rò   rô   )r¯  rô   rf   )rò   rò   rò   rà  rõ  r   ©r   N)r   rK   Úonesr@  rù   rš   r  r  r  r   r—  r(   )r¡   rR   rS   rþ   rÈ  ÚEré  ÚGÚHÚJÚKÚLr  r  ÚEspÚFspÚHspÚHsppÚJspÚJsppÚKspr7  Ú
spmatricesr“  r   Ú
dense_multÚsp_mults                              r;   Ú#test_elementwise_multiply_broadcastz/_TestCommon.test_elementwise_multiply_broadcast¶  s‡  € Ü�1�#‹JˆÜ�B�4�&‹MˆÜ’(‹OˆÜ’8�*ÓˆÜ�A�3˜�s˜A˜3�-Ó ˆÜ’7š8¢GÐ,Ó-ˆÚˆÜ�G‰G�F‹OˆØ�C‰CˆÜ�A�3�%‹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ˆAØò C�ðØ!"§¡£¨q¯y©y«{Ñ!:�Jð Ÿ*™* Q›-�Ü# G§O¡OÓ$5°zÕBñCð	Cð ò 	=ˆAØò =�ðØ!"§¡£¨q¡�JðØŸj™j¨›m�Gô ˜GÔ$Ü'¨¯©Ó(9¸:ÕFä'¨°Õ<ñ=ñ	=øô "ò Ü!¤*¨a¯j©j¸!Ô<Ùðûô !ò ÙÜ!ò Ü!¤*¨a¯j©j¸!Ô<Ùðûô
 "ò Ùðús<   Å%!HÇ IÇI:È$IÉIÉ	I7É#I7É6I7É:	JÊJc           	      óž  — dt         j                  t         j                  dgdt         j                  dt         j                  gt         j                  dt         j                  t         j                  gg}t        t        | j                  | j                  z  «      |«       | j                  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«      }| j                  |«      }| j                  |«      }t        t        ||z  «      ||z  «       t        g d¢g d¢g«      }t        g d¢g d¢g«      }| j                  |«      }| j                  |«      }t        j                  d¬«      5  t        t        ||z  «      ||z  «       d d d «       t        d
dgdd
gg«      }t        dd
gdd
gg«      }| j                  |«      }| j                  |«      }t        j                  dd¬«      5  t        t        j                  t        ||z  «      «      ||z  «       d d d «       y # 1 sw Y   ŒœxY w# 1 sw Y   y xY w)Nrè   rî  rï  rð  r  ró   ç      à?r»  g      Ð?r   rý  rþ  rÿ  r   rà  )r»  rf   rè   r,  )r   rF  rô   r)  )Údivide)r  rH  )
rK   r.  r   rš   rê   rù   r   r   r   rK  )r¡   rp  ÚdenomrR   rS   r$  r  s          r;   Útest_elementwise_dividez#_TestCommon.test_elementwise_divideð  s=  € Ø”r—v‘vœbŸf™f QÐ'Ø”r—v‘v˜a¤§¡Ð'Ü—V‘V˜AœbŸf™f¤R§V¡VÐ,ð.ˆô 	œ7 4§:¡:°·
±
Ñ#:Ó;¸XÔFà—‘¢	ª*²ZÐ@Às�ÓKˆØ”r—v‘vœbŸf™f SÐ)ØœŸ™œs¤2§6¡6Ð*Ü—V‘V˜D¤§¡¨Ð*ð,ˆô 	œ7 4§:¡:°Ñ#5Ó6¸ÔAô Ò$¢^Ð4Ó5ˆÜÒ$¢^Ð4Ó5ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆÜœG C¨#¡IÓ.°°!±Ô4ô ’7š8Ð$Ó%ˆÜ’7š8Ð$Ó%ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆÜ�[‰[ Ô)ñ 	:Üœw s¨S¡yÓ1°1°q±5Ô9÷	:ô �A�a�5˜!˜A˜�-Ó ˆÜ�A�a�5˜!˜A˜�-Ó ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆÜ�[‰[ °(Ô;ñ 	DÜœrŸx™x¬°°c±	Ó(:Ó;¸QÀ¹UÔC÷	Dð 	D÷	:ð 	:ú÷	Dð 	Dús   È J7É?/KÊ7K ËKc                 ót  — t        g d¢g d¢g d¢g d¢g«      }| j                  |«      }| j                  rÇdD ]F  }||z  }||z  }t        |j	                  «       |«       t        |j                  |j                  «       ŒH t        t        |j                  d«       t        t        |j                  d«       | j                  |d d…d d …f   «      }t        |d	z  j	                  «       |j	                  «       «       y d
D ]a  }||z  }t        j                  j                  ||«      }t        |j	                  «       |«       t        |j                  |j                  «       Œc dD ]  }t        t        |j                  |«       Œ | j                  |d d…d d …f   «      }t        t        |j                  d	«       y )N©rè   r   rf   r   )r   rô   r”  r   )r   rŒ  r   r   )r   rò   râ  rã  )rè   rf   çš™™™™™@rô   rÅ  r   ré   rô   rè   ©r   rè   rf   rô   )ré   r$  rÅ  )r   rù   r  r   rš   r   r@   r  rl  Ú__pow__r  rK   r”  Úmatrix_powerr—  )r¡   rR   rS   ÚexponentÚret_spÚret_nps         r;   Útest_powz_TestCommon.test_pow  sh  € Ü’<¢ª|º\ÐJÓKˆØ�N‰N˜1Óˆà×ÒØ0ò 9�Ø˜H™�Ø˜H™�Ü" 6§>¡>Ó#3°VÔ<Ü˜VŸ\™\¨6¯<©<Õ8ð	9ô Ô-¨q¯y©y¸!Ô<Üœ* a§i¡i°Ô4ð —‘˜q  ! ¢A ™wÓ'ˆAÜ˜!˜Q™$Ÿ™Ó)¨1¯9©9«;Õ7à%ò 9�Ø˜H™�ÜŸ™×/Ñ/°°8Ó<�Ü" 6§>¡>Ó#3°VÔ<Ü˜VŸ\™\¨6¯<©<Õ8ð	9ð .ò ?�Üœj¨!¯)©)°XÕ>ð?ð —‘˜q  ! ¢A ™wÓ'ˆAÜœ) Q§Y¡Y°Õ2r=   c                 óð   — | j                  g d¢g d¢g d¢g d¢g«      }t        g d¢|z  t        g d¢|j                  «       «      «       t	        g d¢g«      }t        ||z  ||j                  «       z  «       y )N©rô   r   r   ©r   rè   r   ©rf   r   rŒ  ©rf   rô   r   rÒ  )rù   r   r   rš   r   )r¡   r•  rÎ  s      r;   Útest_rmatvecz_TestCommon.test_rmatvec4  sY   € Ø�N‰NšG¢GªI²gÐ>Ó?ˆÜ!¢)¨a¡-´²YÀÇ	Á	ÃÓ1LÔMÜ’Y�KÓ ˆÜ! #¨¡'¨3°·±³Ñ+<Õ=r=   c                 ó0  — | j                  dgdgdgg«      }t        t        |t        d«      z  «      «       t	        |t        d«      z  j                  «       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«      «       y )Nrè   rf   rô   rà  ©rè   rè   ©rè   r   ©rô   r   )rù   r   r(   r   r   rš   rK   r  r±  s     r;   Útest_small_multiplicationz%_TestCommon.test_small_multiplication:  sà   € à�N‰N˜Q˜C   Q C˜=Ó)ˆä”˜œU 1›X™Ó&Ô'Ü�aœ% ›(‘l×+Ñ+Ó-°°°a°S¸1¸#¨Ô?ä�Qœ ˜s›‘^¤Uª9Ó%5Ô6Ü�Qœ  ˜u›Ñ%¤u¨q¨c°A°3¸¸¨_Ó'=Ô>Ü�QœŸ™ ›Ñ(¬%°!°°q°c¸A¸3°Ó*@ÔAÜ�QœŸ™ ›Ñ(¬"¯'©'°&«/Õ:r=   c                 ó*  — t        j                  dgdgdgg«      }| j                  |«      }| j                  rYt	        |t        j
                  d«      z  j                  «       |«       t	        |t        dgg«      z  j                  «       |«       y 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«      «       y )Nrè   rf   rô   rj  rà  r4  r5  )rK   r   rù   r  r   r  rš   r   )r¡   rR   r$  s      r;   Ú-test_star_vs_at_sign_for_sparray_and_spmatrixz9_TestCommon.test_star_vs_at_sign_for_sparray_and_spmatrixF  sÔ   € ä�H‰H�q�c˜A˜3  �_Ó%ˆØ�n‰n˜QÓˆà×ÒÜ% s¬R¯W©W°V«_Ñ'<×&EÑ&EÓ&GÈÔKÜ% s¬U°Q°C°5«\Ñ'9×&BÑ&BÓ&DÀaÕHä˜œu a S›zÑ)¬5²Ó+;Ô<Ü˜œu q c U›|Ñ+¬U°Q°C¸!¸¸q¸c°?Ó-CÔDÜ˜œrŸw™w v›Ñ.´·±¸³Õ@r=   c                 ó6  — | j                  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«       y )Nrè   rf   rô   r«   rŸ   )rù   rœ   r   ©r¡   rR   rS   s      r;   Útest_binop_custom_typez"_TestCommon.test_binop_custom_typeS  s�   € ð
 �N‰N˜Q˜C !  q c˜?Ó+ˆÜ‹MˆÜ�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ1Ô2Ü�Q˜‘UÐ1Ô2Ü�Q˜‘UÐ1Ô2ä�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ1Õ2r=   c                 ó8  — | j                  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«       y )Nrè   rf   rô   rj  r«   rŸ   )rù   rº   r   r:  s      r;   Ú!test_binop_custom_type_with_shapez-_TestCommon.test_binop_custom_type_with_shaped  sž   € Ø�N‰N˜Q˜C !  q c˜?Ó+ˆÜ" 5Ó)ˆÜ�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ1Ô2Ü�Q˜‘UÐ1Ô2Ü�Q˜‘UÐ1Ô2ä�Q˜‘UÐ0Ô1Ü�Q˜‘UÐ1Õ2r=   c                 óþ   —  G d„ d«      }d}| j                  dgdgdgg«      } ||«      }||z  }||z  }t        |j                  «       |j                  «       «       t        |j                  |j                  «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú0_TestCommon.test_mul_custom_type.<locals>.Customc                 ó   — || _         y r?   ©Úscalar)r¡   rC  s     r;   r¿   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__init__s  s	   € Ø$�•r=   c                 ó    — || j                   z  S r?   rB  rÑ   s     r;   r¯   z9_TestCommon.test_mul_custom_type.<locals>.Custom.__rmul__v  s   € Ø˜tŸ{™{Ñ*Ð*r=   N)r¶   r·   r¸   r¿   r¯   rb   r=   r;   ÚCustomr@  r  s   „ ò%ó+r=   rE  rf   rè   rô   )rù   rD   rš   r   rü   )r¡   rE  rC  rR   r¤  ÚA_scalarÚA_cs          r;   Útest_mul_custom_typez _TestCommon.test_mul_custom_typeq  ss   € ÷	+ñ 	+ð ˆØ�N‰N˜Q˜C   Q C˜=Ó)ˆÙ�6‹NˆØ�v‘:ˆØ�!‰eˆÜ  ×!1Ñ!1Ó!3°S·[±[³]ÔCÜ�X—_‘_ c§j¡jÕ1r=   c                 óú   — | j                  dgdgdgg«      }t        «       }t        ||k(  d«       t        ||k7  d«       t        ||kD  d«       t        ||k\  d«       t        ||k  d«       t        ||k  d	«       y )
Nrè   rf   rô   rÐ   rÖ   rÙ   rÜ   rß   râ   )rù   rÎ   r   r:  s      r;   Útest_comparisons_custom_typez(_TestCommon.test_comparisons_custom_type�  sx   € Ø�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           	      óÐ   — | j                  t        g d¢g d¢g d¢g d¢g«      «      }d}|j                  |«      }||z  }t        |j	                  «       |j	                  «       «       y )Nr-  r.  r/  r0  rW   )rù   r   r   r   rš   )r¡   r•  rC  Úactualrp  s        r;   Útest_dot_scalarz_TestCommon.test_dot_scalar‹  sS   € Ø�N‰Nœ5¢'ª'²)ºGÐ!DÓEÓFˆØˆØ—‘�v“ˆØ�v‘:ˆä˜Ÿ™Ó(¨(×*:Ñ*:Ó*<Õ=r=   c           	      ó¤  — | j                  t        g d¢g d¢g d¢g d¢g«      «      }| j                  t        ddgddgddggd«      «      }t        g d	¢g«      j                  }t        j                  }t         |||«      |j                  «       |z  «       t         |||«      j                  «       ||z  j                  «       «       t         ||j                  «       |«      ||z  j                  «       «       t         |||j                  «       «      ||z  j                  «       «       t        t        ||d«       t        t        |d|«       y )
Nr-  r.  r/  r0  r   rè   rf   r  rà  )	rù   r   r@  ÚoperatorÚmatmulr   rš   r  r  )r¡   r•  rS   rÏ  rP  s        r;   Útest_matmulz_TestCommon.test_matmul“  s  € Ø�N‰Nœ5¢'ª'²)ºGÐ!DÓEÓFˆØ�N‰Nœ5 1 Q %¨¨1¨¨q°¨eÐ!4°SÓ9Ó:ˆÜ’W�IÓ× Ñ ˆä—‘ˆä!¡&¨¨C£.°!·)±)³+ÀÑ2CÔDô 	"¡&¨¨A£,×"6Ñ"6Ó"8¸1¸q¹5¿/¹/Ó:KÔLÜ!¡&¨¯©«°aÓ"8¸1¸q¹5¿/¹/Ó:KÔLÜ!¡&¨¨A¯I©I«KÓ"8¸1¸q¹5¿/¹/Ó:KÔLô 	”j &¨!¨QÔ/Ü”j &¨!¨QÕ/r=   c           
      óJ  — | j                  g d¢g d¢g d¢g d¢g«      }t        g d¢g«      j                  }t        ||z  |j	                  «       |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#        |j	                  «       g d¢«      «       t!        |dgdgd	ggz  t        j$                  t#        |j	                  «       g d¢«      «      j                  «       y )Nr-  r.  r/  r0  rà  )r”  rè   rf   rô   )r”  rè   rÒ  )rù   r   r@  r   rš   r   r¾   r2   r   rJ   r
   r  rK   r  r  r³   r   r   Ú
atleast_2d)r¡   r•  rÏ  rw  Úbad_vecsrA   s         r;   Útest_matvecz_TestCommon.test_matvec¥  s­  € Ø�N‰NšG¢GªI²gÐ>Ó?ˆÜ’W�IÓ× Ñ ˆä! ! c¡'¨1¯9©9«;¸Ñ+<Ô=ô 	�aœ%¢›.Ñ(×/Ñ/°Ô5Ü�aœ% !  a S¨!¨ Ó.Ñ.×5Ñ5°eÔ<Ü�aœ& 1 # q c¨1¨# Ó/Ñ/×6Ñ6°uÔ=ô 	”
˜1œu¢W›~Ñ-¬wÓ7Ô8Ø%)×%7Ò%7�'¼R¿Y¹YˆÜ”
˜1œv¢g›×0Ñ0Ñ0°/ÓBÔCô ˜1˜Q˜%“L¤%ª	Ó"2´E¸A¸3À¸s¸)Ó4DÜš7“O¤V¨a¨S°!°¨IÓ%6ð8ˆàò 	7ˆAÜœ* a§l¡l°AÕ6ð	7ô
 	˜Aœe¢G›nÑ,¬c°!·)±)³+ºgÓ.FÔGÜ˜A ˜s A 3¨ s˜m™O¬R¯]©]¼3¸q¿y¹y»{Ê7Ó;SÓ-T×-VÑ-VÕ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«      }| j                  |«      }| j                  |«      }t        ||z  j	                  «       ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       |j                  «       }|}||z  }t        ||z  j	                  «       |«       t        ||z  |«       t        ||z  |«       t        ||z  |«       |j                  «       }t        ||z  j	                  «       |«       t        ||z  |«       t        ||z  |«       t        ||z  |«       |j                  «       }t        ||z  j	                  «       |«       t        ||z  |«       t        ||z  |«       t        ||z  |«       d	}	d
}
t        j                  d«       t        |	df«      }t        |	«      D ]6  }t        d«      D ]&  }t        j                  «       }||
k  sŒ||
z  |||f<   Œ( Œ8 | j                  |«      }||j                  z  }t        |j	                  «       |j	                  «       |j                  j	                  «       z  «       t        |j	                  «       |j	                  «       |j	                  «       j                  z  «       | j                  ddgddgg«      }| j                  ddgddgddgg«      }t        t        |j                  |«       | j                   rt        t        |j"                  |«       y y )Nr-  r.  r/  r0  r   rè   rf   r  rñ  g333333Ó?rô   r”  rŒ  rò   )r2   r   rù   r   rš   r   r¡  r¢  r•   r  r   r#  r@  r  r  r³   r  r¦   )r¡   rO   Úa2rT   ÚaspÚbspÚcspr¤  Úwantr  ÚfracrR   r“  r   r  rS   s                   r;   Útest_matmat_sparsez_TestCommon.test_matmat_sparseÄ  sç  € Ü’GšG¢IªgÐ6Ó7ˆÜ’GšG¢IªgÐ6Ó7ˆÜ�Q�q�E˜1˜Q˜%  1 Ð& sÓ+ˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆÜ! 3¨¡9×"5Ñ"5Ó"7¸¸Q¹Ô?Ü! #¨¡'¨1¨q©5Ô1Ü! ! c¡'¨1¨q©5Ô1Ü! " s¡(¨A°©EÔ2ð �i‰i‹kˆØˆØ�1‰uˆÜ! 3¨¡9×"5Ñ"5Ó"7¸Ô>Ü! #¨¡'¨4Ô0ä! ! c¡'¨4Ô0Ü! " s¡(¨DÔ1Ø�i‰i‹kˆÜ! 3¨¡9×"5Ñ"5Ó"7¸Ô>Ü! #¨¡'¨4Ô0ä! ! c¡'¨4Ô0Ü! " s¡(¨DÔ1Ø�i‰i‹kˆÜ! 3¨¡9×"5Ñ"5Ó"7¸Ô>Ü! #¨¡'¨4Ô0ä! ! c¡'¨4Ô0Ü! " s¡(¨DÔ1ð ˆØˆÜ�‰�AŒÜ�1�Q�%‹LˆÜ�q“ò 	$ˆAÜ˜1“Xò $�Ü—M‘M“O�Ø�t“8Ø˜t™V�A�a˜�c’Fñ$ð	$ð �N‰N˜1ÓˆØ�—‘‰GˆÜ! !§)¡)£+¨q¯y©y«{¸Q¿S¹S¿[¹[»]Ñ/JÔKÜ! !§)¡)£+¨q¯y©y«{¸Q¿Y¹Y»[¿]¹]Ñ/JÔKð �N‰N˜Q˜q˜E 1 Q %˜=Ó)ˆØ�N‰N˜Q˜q˜E 1 Q %¨¨1¨Ð.Ó/ˆÜ”j !§,¡,°Ô2Ø×ÒÜœ* a§i¡i°Õ3ð r=   c           	      ób  — g d¢g d¢g d¢g d¢g}| j                  |«      }t        ddgddgd	d
gg«      t        ddgddgd	d
gg«      g}|D ]c  }||z  }t        t	        || j
                  rt        n
t        |«      «      «       t        |j                  d«       t        |t        ||«      «       Œe y )Nr-  r.  r/  r0  rè   rf   rô   r”  rŒ  rò   ©r”  rf   )rù   r   r2   r   rJ   r  r
   Útyper   r¾   r   )r¡   rO   rX  ÚbsrT   Úresults         r;   Útest_matmat_densez_TestCommon.test_matmat_denseü  s­   € Ú’WšY¢wÐ/ˆØ�n‰n˜QÓˆô �a˜�U˜A˜a˜5 ! A Ð'Ó(¬&°1°Q°%¸¸1¸¸qÀ¸eÐ1DÓ*EÐFˆàò 	+ˆAØ˜1‘WˆFÜ”J˜v°$×2DÒ2D¥wÌ$ÈqË'ÓRÔSÜ˜Ÿ™ uÔ-Ü˜¤ Q q£Õ*ñ		+r=   z3ignore:.*switching.*sparse array:DeprecationWarningc                 ó  — t        j                  g d¢g d¢g d¢gddgddgg«      }|j                  «       }| j                  |«      }dD ]é  }|j	                  |«      }t        |j                  |«       t        |j                  «       |«       | j                  |d	z   «      j	                  |«      }t        |j                  |«       t        |j                  «       |d	z   «       | j                  |«      j	                  |«      }t        |j                  |«       t        |j                  «       |«       Œë d
D ]Q  }|j	                  |«      }t        ||«       | j                  |d	z   «      j	                  |«      }t        ||d	z   «       ŒS y )NrÏ  ©r   rô   r”  )rŒ  r   r   rè   rf   r   rô   )r6  rÍ  r7  r8  rb  rE   Úlilù              @)r   Údense)r‡   r   rš   rù   Úasformatr   rü   r   )r¡   rR   rÈ  rü   rO   rT   r¤  s          r;   Útest_sparse_format_conversionsz*_TestCommon.test_sparse_format_conversions	  sC  € ä�K‰Kš¢ªÐ1°Q°q°E¸1¸Q¸%°=ÓAˆØ�I‰I‹KˆØ�N‰N˜1ÓˆàAò 	/ˆFØ—
‘
˜6Ó"ˆAÜ˜Ÿ™ &Ô)Ü˜qŸy™y›{¨AÔ.à—‘˜q ™tÓ$×-Ñ-¨fÓ5ˆAÜ˜Ÿ™ &Ô)Ü˜qŸy™y›{¨A¨b©DÔ1à—‘˜qÓ!×*Ñ*¨6Ó2ˆAÜ˜Ÿ™ &Ô)Ü˜qŸy™y›{¨AÕ.ð	/ð )ò 	(ˆFØ—
‘
˜6Ó"ˆAÜ˜q !Ô$à—‘˜q ™tÓ$×-Ñ-¨fÓ5ˆAÜ˜q ! B¡$Õ'ñ	(r=   c           	      ó  — t        g d¢g d¢g d¢g«      }t        g d¢g d¢g«      }t        ||«      }| j                  |«      }dD ]B  }t        |d|z   «      }dD ],  }d	D ]%  }t	         |||f¬
«      j                  «       |«       Œ' Œ. ŒD y )Nr#  rî  ©r   r   r”  rŒ  r,  ©rô   r   rŒ  )r6  Úto)rè   rf   rô   rò   )rè   rf   rô   r”  rò   rê  ©Ú	blocksize)r   r   rù   r|   r   rš   )	r¡   rA   rB   rR   r$  rü   ÚfnÚXÚYs	            r;   Ú
test_tobsrz_TestCommon.test_tobsr#  sš   € Ü’9šY¢yÐ1Ó2ˆÜ’7š7Ð#Ó$ˆÜ��1‹IˆØ�n‰n˜QÓˆØò 	DˆFÜ˜˜d V™mÓ,ˆBà!ò D�Ø,ò D�AÜ ¡¨q°!¨fÔ!5×!=Ñ!=Ó!?ÀÕCñDñDñ	Dr=   c                 óú  ‡ ‡— ‰ j                   }t        j                  g g«      }||gŠˆˆ fd„}‰ j                  d«      }t	        t        j
                  |«      j                  «       t        j
                  t        d«      «      «       t	        |j                  j                  «       t        d«      «       t	        |j                  j                  «       |j                  j                  «       «       t	        t        |«      j                  «       |j                  j                  «       «       t        t        |j
                  d¬«       ‰ j                  D ]$  }t        t        ‰«      «      D ]  } |||«       Œ Œ& y )Nc                 ó.  •— t        ‰|   | ¬«      }‰j                  |«      }|j                  «       }|j                  «       }t        |j	                  «       |«       t        |j                  «       j	                  «       |«       t        |j                  d¬«      j	                  «       |«       t        |j
                  j	                  «       |«       t        t        |«      j	                  «       |«       t        |j                  |j                  «       y )Nró   r4  ©rn  )	r   rù   r   r   rš   ÚmTr,   r   r@   )r@   r   rì   rê   rO   rT   r7  r¡   s         €€r;   r  z)_TestCommon.test_transpose.<locals>.check4  sÁ   ø€ Ü˜ ™¨5Ô1ˆCØ—N‘N 3Ó'ˆEà—‘Ó!ˆAØ—‘“ˆAä˜qŸy™y›{¨AÔ.Ü˜qŸ{™{›}×4Ñ4Ó6¸Ô<Ü˜uŸ™°F˜Ó;×CÑCÓEÀqÔIÜ˜uŸx™x×/Ñ/Ó1°1Ô5ÜÔ/°Ó6×>Ñ>Ó@À!ÔDÜ˜Ÿ™ !§'¡'Õ*r=   rõ  ©r”  rô   r   rw  )rì   rK   r   rù   r   r   rš   r   r@  rx  r,   r  r  r  r#  rÃ   )r¡   r9  r:  r  rÙ  r@   r   r7  s   `      @r;   Útest_transposez_TestCommon.test_transpose/  s
  ù€ Ø—‘ˆÜ—‘˜"˜“ˆØ˜5�>ˆõ	+ð —‘˜vÓ&ˆÜœ2Ÿ<™<¨Ó.×6Ñ6Ó8ÜŸ<™<¬¨f«Ó6ô	8ä˜5Ÿ7™7Ÿ?™?Ó,¬e°F«mÔ<Ü˜5Ÿ8™8×+Ñ+Ó-¨u¯w©w¯©Ó/@ÔAÜÔ+¨EÓ2×:Ñ:Ó<¸e¿g¹g¿o¹oÓ>OÔPÜ”j %§/¡/¸Õ:à×(Ñ(ò 	 ˆEÜœ3˜x›=Ó)ò  �Ù�e˜Q•ñ ñ	 r=   c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 ó’   •— ‰j                   |    }‰j                  |    }||z   }t        |||z   «       ||z   }t        |||z   «       y r?   )r  r  r   ©r@   rì   rê   Úsum1Úsum2r¡   s        €r;   r  z)_TestCommon.test_add_dense.<locals>.checkP  sQ   ø€ Ø—/‘/ %Ñ(ˆ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_denseO  s&   ø€ ô	0ð ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 ót   ‡ — ˆ fd„}‰ j                   D ]#  }|t        j                  d«      k(  rŒ ||«       Œ% y )Nc                 ó"  •— ‰j                   |    }‰j                  |    }|j                  t        k(  r)||z
  }t	        |||z
  «       ||z
  }t	        |||z
  «       y ||z   |z   |z
  }t	        |||z   «       ||z   |z   |z
  }t	        |||z   «       y r?   )r  r  r@   r  r   r}  s        €r;   r  z)_TestCommon.test_sub_dense.<locals>.check_  s    ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEð �y‰yœDÒ Ø˜U‘{�Ü" 4¨¨s©Ô3Ø˜s‘{�Ü" 4¨¨s©Õ3ð ˜c™	 C™¨5Ñ0�Ü" 4¨¨s©Ô3Ø ™¨Ñ-°Ñ4�Ü" 4¨¨s©Õ3r=   r  rò  r   s   `  r;   Útest_sub_densez_TestCommon.test_sub_dense]  s:   ø€ ô	4ð$ ×%Ñ%ò 	ˆEØœŸ™ Ó(Ò(àá�%�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 ]m  }t         j                  t         j                  t         j
                  fD ]9  }d
D ]2  } |t        j                  |«      t        j                  |«      |«       Œ4 Œ; Œo y )N)rè   r   rô   )r   r”  rŒ  re  )rè   rè   rf   )r   rô   rò   r	  )r   y      @       @rŒ  )r   ù              ð?y       €      ð¿c                 óú  •— t        j                  | t         j                  «      r!‰j                  ‰
j	                  | «      «      }n ‰j                  ‰	j	                  | «      «      }|dk(  r|j                  d«      }n^|dk(  r|j                  d«      }nG|dk(  r‰j	                  |«      }n0|dk(  r!‰j                  ‰j	                  |«      «      }n
t        «       ‚t        j                  «       5  t        j                  ddt        «       |j                  |«      }|j                  |«      }d d d «       t        j                  t        |«      t        |«      «      }t        t        «      |«       t        |j                   |j                   «       t        j                  t        |«      t        |«      «      }t        t        «      |«       t        |j                   |j                   «       y # 1 sw Y   ŒÄxY w)	NrC  rè   Úscalar2ré   rh  r‡   r)  zTTaking (maximum|minimum) with a (positive|negative) number results in a dense matrix)rK   rm   Úcomplexfloatingrù   ru   r`  r  r*  r+  r  r)   ÚmaximumÚminimumrš   r   r   r@   )r@   Údtype2ÚbtyperR   rS   Ú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~  sv  ø€ Ü�}‰}˜U¤B×$6Ñ$6Ô7Ø—N‘N ;×#5Ñ#5°eÓ#<Ó=‘à—N‘N 7§>¡>°%Ó#8Ó9�Ø˜Ò Ø—K‘K “N‘Ø˜)Ò#Ø—K‘K “O‘Ø˜'Ò!Ø—N‘N 6Ó*‘Ø˜(Ò"Ø—N‘N 7§>¡>°&Ó#9Ó:‘ä “lÐ"ä×(Ñ(Ó*ñ 	%Ü×'Ñ'Øð0ä+ô	ð Ÿ	™	 !›�ØŸ	™	 !›�÷	%ô —J‘Jœw q›z¬7°1«:Ó6ˆEÜœw u›~¨uÔ5Ü˜Ÿ™ e§k¡kÔ2ä—J‘Jœw q›z¬7°1«:Ó6ˆEÜœw u›~¨uÔ5Ü˜Ÿ™ e§k¡kÕ2÷#	%ð 	%ús   Ã0>G1Ç1G:)rC  r‡  rh  r‡   )rK   r   r  r   rõ   rø   r@   )r¡   r  r@   r‹  rŒ  r‘  r’  r“  s   `    @@@r;   Útest_maximum_minimumz _TestCommon.test_maximum_minimumx  s³   û€ Ü—(‘(šI¢y²)Ð<Ó=ˆÜ—(‘(šI¢y²*Ð=Ó>ˆä—h‘h¢	ª<ºÐFÓGˆ÷!	3ðF ×%Ñ%ò 	DˆEÜŸ7™7¤B§J¡J´·±Ð>ò D�ØEò D�EÙœ"Ÿ(™( 5›/¬2¯8©8°FÓ+;¸UÕCñDñDñ	Dr=   c                 óþ  — | j                   }t        |j                  «       j                  |j                  «       t        |j	                  |d¬«      j                  |j                  «       t        |j	                  |d¬«      j                  |j                  «       t        |j                  «       j                  «       |j                  «       «       t        |j	                  |d¬«      j                  «       |j                  «       «       t        |j	                  |d¬«      j                  «       |j                  «       «       t        |d|j                  z   «      }t         |«       |u «       t         |d¬«      |u «       t         |d¬«      j                  |j                  «       t         |d¬«      j                  «       |j                  «       «       t        t        |j                  «       |«       «       y )NTrö  Frn  )	rê   r   r-  rü   Ú	__class__rš   r|   r   rU   )r¡   rR   Útoselfs      r;   Ú	test_copyz_TestCommon.test_copy¦  sZ  € à�J‰Jˆô 	�Q—V‘V“X—_‘_ a§h¡hÔ/Ü�Q—[‘[ ¨�[Ó-×4Ñ4°a·h±hÔ?Ü�Q—[‘[ ¨�[Ó.×5Ñ5°q·x±xÔ@ä�Q—V‘V“X×%Ñ%Ó'¨¯©«Ô5Ü�Q—[‘[ ¨�[Ó.×6Ñ6Ó8¸!¿)¹)»+ÔFÜ�Q—[‘[ ¨�[Ó/×7Ñ7Ó9¸1¿9¹9»;ÔGô ˜˜4 !§(¡(™?Ó+ˆÜ‘“˜A�ÔÜ‘˜EÔ" aÐ'Ô(Ü‘V Ô&×-Ñ-¨q¯x©xÔ8Ü‘V Ô&×.Ñ.Ó0°!·)±)³+Ô>ô 	Ô+¨A¯F©F«H°aÓ8Ð8Õ9r=   c                 óê   — | j                  t        j                  d«      j                  dd«      «      }| j	                  |«      }t        ||«      D ]  \  }}t        |j                  «       |«       Œ! y )NrŽ  rŒ  rW   )r	  rK   r   rú   rù   Úzipr   rš   )r¡   rS   rR   rA   rB   s        r;   Útest_iteratorz_TestCommon.test_iterator¾  s\   € Ø�L‰LœŸ™ 2›×.Ñ.¨q°"Ó5Ó6ˆØ�N‰N˜1Óˆä˜˜1“Iò 	)‰DˆAˆqÜ˜Ÿ™› aÕ(ñ	)r=   c                 ól  — t        g «      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }|j                  d«      }t        j                  ddg«      }| j	                  |«      }| j	                  |«      }	| j	                  |«      }
| j	                  |«      }| j	                  |«      }| 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                  ||«      «       t        |j                  |
«      j                  «       t        j                  ||«      «       t        |j                  |
«      j                  «       t        j                  ||«      «       t        |j                  |«      j                  «       t        j                  ||«      «       t        t        |j                  |«       t        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                  ||«      «       t        |j                  |«      j                  «       t        j                  ||«      «       t        |j                  d«      j                  «       t        j                  |d«      «       t        |	j                  d«      j                  «       t        j                  |d«      «       t        |j                  d«      j                  «       t        j                  |d«      «       t        t        |j                  |«       t        t        |j                  |«       t        |j                  |«      j                  «       |j                  |«      «       t        |	j                  |	«      j                  «       |j                  |«      «       t        |j                  |«      j                  «       |j                  |«      «       t        t        |j                  |«       t        t        |	j                  |«       y )NrÖ  r4  r×  r4  r  rŒ  rò   )r   rú   rK   r  rù   r   r   rš   r  r  r  r£   )r¡   r¢   rO   rT   r¤  r  r¥  r¦  rX  rY  rZ  ÚdspÚespÚfsps                 r;   Ú test_size_zero_matrix_arithmeticz,_TestCommon.test_size_zero_matrix_arithmeticÅ  s  € ô �B‹iˆØ�K‰K˜ÓˆØ�K‰K˜ÓˆØ�K‰K˜ÓˆØ�K‰K˜ÓˆØ�K‰K˜ÓˆÜ�G‰G�Q˜�F‹Oˆà�n‰n˜QÓˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆØ�n‰n˜QÓˆô 	˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@Ü˜3Ÿ7™7 3›<×/Ñ/Ó1´2·6±6¸!¸Q³<Ô@ô 	”j #§'¡'¨1Ô-Ü”j #§'¡'¨1Ô-ô 	˜3Ÿ<™<¨Ó,×4Ñ4Ó6¼¿¹ÀAÀqÓ8IÔJÜ˜3Ÿ<™<¨Ó,×4Ñ4Ó6¼¿¹ÀAÀqÓ8IÔJÜ˜3Ÿ<™<¨Ó,×4Ñ4Ó6¼¿¹ÀAÀqÓ8IÔJä˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHÜ˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHÜ˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHä˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHÜ˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHÜ˜3Ÿ<™<¨›?×2Ñ2Ó4´b·k±kÀ!ÀQÓ6GÔHô 	”j #§,¡,°Ô2Ü”j #§,¡,°Ô2ô 	˜3Ÿ;™; sÓ+×3Ñ3Ó5°q·y±yÀ³|ÔDÜ˜3Ÿ;™; sÓ+×3Ñ3Ó5°q·y±yÀ³|ÔDÜ˜3Ÿ;™; sÓ+×3Ñ3Ó5°q·y±yÀ³|ÔDô 	”j #§+¡+¨sÔ3Ü”j #§+¡+¨sÕ3r=   c                 óš  — t        g «      }|j                  d«      }|j                  d«      }|j                  d«      }|||fD �]  }| j                  |«      }t        |j	                  «       j                  «       |«       t        |j                  «       j                  «       |«       t        |j                  «       j                  «       |«       t        |j                  «       j                  «       |«       t        |j                  «       j                  «       |«       t        |j                  «       j                  «       |«       �Œ y )NrÖ  r×  r  )r   rú   rù   r   r¢  rš   r¡  r   ÚtolilÚtodokÚtobsr)r¡   r¢   rO   rT   r¤  r§  Úspms          r;   Útest_size_zero_conversionsz&_TestCommon.test_size_zero_conversionsÿ  sî   € Ü�B‹iˆØ�K‰K˜ÓˆØ�K‰K˜ÓˆØ�K‰K˜Óˆà�Q˜�ó 	9ˆAØ—.‘. Ó#ˆCÜ˜sŸy™y›{×2Ñ2Ó4°aÔ8Ü˜sŸy™y›{×2Ñ2Ó4°aÔ8Ü˜sŸy™y›{×2Ñ2Ó4°aÔ8Ü˜sŸy™y›{×2Ñ2Ó4°aÔ8Ü˜sŸy™y›{×2Ñ2Ó4°aÔ8Ü˜sŸy™y›{×2Ñ2Ó4°aÖ8ñ	9r=   c                 ó²  — t        j                  g d¢g d¢gt         j                  ¬«      }t        t        d¬«      5  | j                  |«       d d d «       | j                  |j                  t         j                  «      «      }t        t        d¬«      5  | j                  |t         j                  ¬«       d d d «       y # 1 sw Y   ŒsxY w# 1 sw Y   y xY w)N)g      @r   gš™™™™™ñ?re  ró   zdoes not support dtyperj  )rK   r   Úfloat16r  r  rù   ru   r÷   )r¡   rO   ÚA32s      r;   Útest_dtype_checkz_TestCommon.test_dtype_check	  s�   € Ü�H‰H’m¢YÐ/´r·z±zÔBˆÜœ:Ð-EÔFñ 	Ø�N‰N˜1Ô÷	ð �n‰n˜QŸX™X¤b§j¡jÓ1Ó2ˆÜœ:Ð-EÔFñ 	2Ø�N‰N˜3¤b§j¡jˆNÔ1÷	2ð 	2÷		ð 	ú÷	2ð 	2ús   ½CÂ"CÃC
ÃCc                 ó*   ‡ ‡— dd l Šˆˆ fd„} |«        y )Nr   c                  ó‚  •— t        j                  «       5  t        j                  dt        «       ‰j                  j                  «       } t        ‰j                  «      D �]G  }‰j                  ‰j                  | |¬«      «      }t        | j                  |j                  «       t        | j                  «       |j                  «       «       t        | j                  |j                  «       | j                  j!                  «       D ]�  \  }}t#        |t$        j&                  «      rt        ||j                  |   «       Œ:t#        |t(        «      r9|r7t#        |d   t$        j&                  «      rt        ||j                  |   «       Œƒt+        ||j                  |   k(  «       ŒŸ �ŒJ 	 d d d «       y # 1 sw Y   y xY w)Nr)  )Úprotocolr   )r*  r+  r,  r)   rê   r-  r#  ÚHIGHEST_PROTOCOLÚloadsÚdumpsr   r¾   r   rš   rü   rH   ÚitemsrJ   rK   r
   r"  r   )rê   r­  ÚsploadedÚkeyrO  Úpickler¡   s        €€r;   r  z&_TestCommon.test_pickle.<locals>.check	  sO  ø€ Ü×(Ñ(Ó*ñ CÜ×%Ñ% hÔ0GÔHØŸ
™
Ÿ™Ó)�Ü % f×&=Ñ&=Ó >ó C�HØ%Ÿ|™|¨F¯L©L¸È¨LÓ,RÓS�HÜ  §¡¨h¯n©nÔ=Ü& u§}¡}£¸×8HÑ8HÓ8JÔKÜ  §¡¨x¯©Ô?ð %*§N¡N×$8Ñ$8Ó$:ò C™˜˜SÜ% c¬2¯:©:Ô6Ü.¨s°H×4EÑ4EÀcÑ4JÕKÜ(¨¬eÔ4¹Ü",¨S°©V´R·Z±ZÔ"@Ü.¨s°H×4EÑ4EÀcÑ4JÕKä# C¨8×+<Ñ+<¸SÑ+AÑ$AÕBòCñC÷C÷ Cñ Cús   –FF5Æ5F>)r´  )r¡   r  r´  s   ` @r;   Útest_picklez_TestCommon.test_pickle	  s   ù€ Ûõ	Cñ, 	�r=   c                 ó.   ‡ — ˆ fd„}dD ]
  } ||«       Œ y )Nc                 ó’  •— | dk(  rt        j                  d«       ‰j                  j                  dv rt        j                  d«       t	        t
        | «      }‰j                  t        j                  d«      j                  dd«      dz  «      } ||j                  «       «      } ||«      }t        |j                  «       |«       y )	NÚsignz2sign conflicts with comparison op support on Numpy)rE   rf  z%Unary ops not implemented for dok/lilrð  r”  rŒ  ç      4@)r  r  rê   rü   r|   rK   rù   r   rú   rš   r   )r€   Úufuncrr  ÚX0ÚX2r¡   s        €r;   r  z5_TestCommon.test_unary_ufunc_overrides.<locals>.check2	  s—   ø€ Ø�vŠ~Ü—‘ð /ô 0à�z‰z× Ñ  NÑ2Ü—‘ÐCÔDÜœB Ó%ˆEà—‘œrŸy™y¨›}×4Ñ4°Q¸Ó:¸SÑ@ÓAˆAÙ�q—y‘y“{Ó#ˆBá�q“ˆBÜ˜rŸz™z›|¨RÕ0r=   )ÚsinÚtanÚarcsinÚarctanÚsinhÚtanhÚarcsinhÚarctanhÚrintr¸  Úexpm1Úlog1pÚdeg2radÚrad2degÚfloorÚceilÚtruncÚsqrtr°  rb   )r¡   r  r€   s   `  r;   Útest_unary_ufunc_overridesz&_TestCommon.test_unary_ufunc_overrides1	  s"   ø€ ô	1ðò 	ˆDñ �$�Kñ		r=   c                 óÌ  — t        j                  g d¢g d¢g d¢g«      }| j                  |«      }t        |j	                  d«      d u «       t        |j                  «       ddgddgddgg«       |j	                  d	«       t        |j                  «       ddgddgg«       |j	                  d«       t        |j                  «       ddgddgddgg«       |j	                  d
«       t        |j                  «       g d¢g d¢g d¢g«       |j	                  d
«       t        |j                  «       g d¢g d¢g d¢g«       |j	                  dd«       t        |j                  «       ddgddgddgg«       | j                  r |j                  dv r|j	                  d«       n&t        t        t        t        f|j                  d«       dD ]  }t        t        |j                  |«       Œ y )N©rè   r   rô   r”  ©rf   r   r   r   ©rô   r   r   r   ©rô   rf   rè   r   rf   rô   ©rf   rf   ra  rx  )rf   r   r   re  )rÍ  r8  ))ré   rf   ró  rà  )rK   r   rù   r   Úresizer   rš   r  rü   r  r  rl  Ú
IndexError)r¡   rÈ  r®  Ú	bad_shapes       r;   Útest_resizez_TestCommon.test_resizeF	  s¸  € ä�H‰H’lÚ"Ú"ð$ó %ˆð �N‰N˜1ÓˆÜ�—‘˜Ó  DÐ(Ô)Ü˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ô 	2ð 	
�‰�ÔÜ˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨ð)1ô 	2à	�‰�ÔÜ˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ô 	2ð 	
�‰�ÔÜ˜1Ÿ9™9›;ªÚ)2Ú)2ð)4ô 	5ð 	
�‰�ÔÜ˜1Ÿ9™9›;ªÚ)2Ú)2ð)4ô 	5ð
 	
�‰��AŒÜ˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ô 	2ð ×Ò !§(¡(¨nÑ"<Ø�H‰H�Q�Käœ:Ô':¼JÐGÈÏÉÐSTÔUà6ò 	;ˆIÜœ* a§h¡h°	Õ:ñ	;r=   c                 ó4  — | j                   }|j                  }|j                  |d¬«      }t        |j	                  «       |j	                  «       «       |t
        vrt        t        ||«      «       |j                  ||j                  d¬«      }t        |j	                  «       |j	                  «       «       |t
        vrt        t        ||«      «       |j                  |t        j                  d¬«      }t        |j	                  «       |j	                  «       «       |j                  |d¬«      }t        |j	                  «       |j	                  «       «       t        t        ||«       «       dD ]¥  }||k(  rŒ	|j                  |«      }|j                  |d¬«      }t        |j	                  «       |j	                  «       «       |j                  |d¬«      }t        |j	                  «       |j	                  «       «       t        t        ||«       «       Œ§ y )NFrö  )r@   r-  T)r8  r7  rÍ  rb  rE   rf  )rê   rü   r–  rD   rš   ÚNON_ARRAY_BACKED_FORMATSr   rU   r@   rK   r÷   r   ri  )r¡   rR   Úself_formatrþ   Úother_formatrS   s         r;   Útest_constructor1_basez"_TestCommon.test_constructor1_baseo	  s�  € Ø�J‰Jˆà—h‘hˆà�K‰K˜ ˆKÓ&ˆÜ  §¡£¨a¯i©i«kÔ:ØÔ6Ñ6ÜÔ+¨A¨qÓ1Ô2à�K‰K˜ §¡¨uˆKÓ5ˆÜ  §¡£¨a¯i©i«kÔ:ØÔ6Ñ6ÜÔ+¨A¨qÓ1Ô2à�K‰K˜¤§¡°%ˆKÓ8ˆÜ˜1Ÿ9™9›;¨¯	©	«Ô4à�K‰K˜ ˆKÓ%ˆÜ  §¡£¨a¯i©i«kÔ:ÜÔ+¨A¨qÓ1Ð1Ô2àFò 		7ˆLØ˜{Ò*ØØ—
‘
˜<Ó(ˆAØ—‘˜A E�Ó*ˆAÜ$ Q§Y¡Y£[°!·)±)³+Ô>à—‘˜A D�Ó)ˆAÜ$ Q§Y¡Y£[°!·)±)³+Ô>ÜÔ/°°1Ó5Ð5Õ6ñ		7r=   N)wr¶   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>  rA  rQ  rT  r[  r_  rh  rq  rv  r‰  rš  rœ  r¨  r²  r¹  r¿  rÂ  rÉ  rÍ  rÞ  rç  rú  r  ÚmarkÚslowr  r  r(  r*  r>  rH  rP  r_  rd  rp  rt  rx  r|  r~  rƒ  r…  r‡  r�  r¡  r¥  r©  r«  r¯  r¼  r¿  rÒ  rÖ  rÞ  râ  rä  rè  rë  ró  rö  rû  r  r  r!  r+  r1  r6  r8  r;  r=  rH  rJ  rM  rQ  rU  r]  rc  r  rj  rt  rz  r€  rƒ  r”  r˜  r›  r   r¦  rª  rµ  rÎ  rØ  rÝ  rb   r=   r;   r  r  2  sm  „ Ù@Ø"€Kà€MØ€MØ€MØ€MØ€MØ€MØ€MØ€Gàñ;ó ð;ò.ò	1ò"òH#òJ4ò;òz:òx6òp6òpYò1ò;ò
'ò7ò(&ò(7ò$?òJòGòFò/ò
/ò
GòB?ò-=ð^ ‡[�[×Ññ40ó ð40òlAò<#ò#ò! òF(ò"ò *AòXBòEò65ò?ò&òP(ò"ò Fò67òAò>ò6Nòòò2ò2'6òR#6òJ(LòT=ò"	ò	òò
ò,òò0ò2ò<ò08=òt!DòF3òB>ò
;òAò3ò"3ò2ò #ò>ò0ò$Xò>64òp+ð ‡[�[×ÑÐ UÓVñ(ó Wð(ò2
Dò ò@òò6,Dò\:ò0)ò84òt9ò2òò4ò*';óR7r=   r  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestInplaceArithmeticc                 óÐ  — t        j                  d«      }| j                  |«      }|j                  «       }|j                  «       }||z  }||z  }t	        ||«       |j                  «       }|j                  «       }||z  }||z  }t	        ||«       | j
                  rn|j                  «       }|j                  «       }t        t        d¬«      5  ||j                  z  }d d d «       ||z  }||z  }t	        ||j                  «       «       nu|j                  «       }|j                  «       }t        t        d¬«      5  ||z  }d d d «       |j                  |j                  «      }||j                  z  }t	        ||«       |j                  «       }||j                  z  }|j                  «       }|j                  «       }t        t        d¬«      5  ||z  }d d d «       |j                  |j                  «      }||j                  z  }t	        ||«       t        t        d¬«      5  ||z  }d d d «       y # 1 sw Y   �ŒXxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒyxY w# 1 sw Y   y xY w)Nrõ  úinconsistent shapesrj  zdimension mismatchúunsupported operand)rK   r  rù   r-  r   r  r  r  r@  rš   r   r—  )r¡   rO   rT   rA   rB   s        r;   Útest_inplace_densez)_TestInplaceArithmetic.test_inplace_dense’	  s	  € Ü�G‰G�F‹OˆØ�N‰N˜1Óˆà�F‰F‹HˆØ�F‰F‹HˆØ	ˆQ‰ˆØ	ˆQ‰ˆÜ˜1˜aÔ à�F‰F‹HˆØ�F‰F‹HˆØ	ˆQ‰ˆØ	ˆQ‰ˆÜ˜1˜aÔ à×Òà—‘“ˆAØ—‘“ˆAÜœzÐ1FÔGñ Ø�Q—S‘S‘�÷à�A‘ˆAØ�‰FˆAÜ˜q !§)¡)£+Õ.ð —‘“ˆAØ—‘“ˆAÜœzÐ1EÔFñ Ø�Q‘�÷à—‘�a—c‘c“
ˆAØ�—‘‰HˆAÜ˜q !Ô$ð �F‰F‹HˆØ	ˆQ�S‰S‰ˆØ�F‰F‹HˆØ�F‰F‹HˆÜœ:Ð-AÔBñ 	Ø�‰FˆA÷	à�E‰E�!—#‘#‹JˆØ	ˆQ�S‰S‰ˆÜ˜1˜aÔ ô œ9Ð,AÔBñ 	Ø�!‰GˆA÷	ð 	÷7ñ ú÷ñ ú÷	ð 	ú÷	ð 	ús0   ÃH6Ä>IÇIÈ'IÈ6I ÉIÉIÉI%c                 óB   ‡ — ˆ fd„}‰ j                   D ]
  } ||«       Œ y )Nc                 óÄ  •— ‰j                   |    }‰j                  |    }t        j                  t        | d¬«      rD|j                  «       }|dz  }|j                  «       }|dz  }t        ||j                  «       «       t        j                  t        | d¬«      rE|j                  «       }|dz  }|j                  «       }|dz  }t        ||j                  «       «       y y ©NÚ	same_kind)Úcastingrf   rÚ  ©	r  r  rK   Úcan_castra  r-  r   rš   r“  ©r@   rì   rê   rO   rT   r¡   s        €r;   r  z6_TestInplaceArithmetic.test_imul_scalar.<locals>.checkÅ	  s¸   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEô �{‰{œ3 ¨{Õ;Ø—J‘J“L�Ø�Q‘�Ø—H‘H“J�Ø�Q‘�Ü" 1 a§i¡i£kÔ2ä�{‰{œ5 %°Õ=Ø—J‘J“L�Ø�T‘	�Ø—H‘H“J�Ø�T‘	�Ü" 1 a§i¡i£kÕ2ð >r=   rÝ  r   s   `  r;   Útest_imul_scalarz'_TestInplaceArithmetic.test_imul_scalarÄ	  s&   ø€ ô	3ð& ×%Ñ%ò 	ˆEÙ�%�Lñ	r=   c                 óž   ‡ — ˆ fd„}‰ j                   D ]8  }t        j                  |t        j                  t        «      «      rŒ1 ||«       Œ: y )Nc                 óÄ  •— ‰j                   |    }‰j                  |    }t        j                  t        | d¬«      rD|j                  «       }|dz  }|j                  «       }|dz  }t        ||j                  «       «       t        j                  t        | d¬«      rE|j                  «       }|dz  }|j                  «       }|dz  }t        ||j                  «       «       y y ré  rì  rî  s        €r;   r  z6_TestInplaceArithmetic.test_idiv_scalar.<locals>.checkÜ	  s¶   ø€ Ø—/‘/ %Ñ(ˆCØ×%Ñ% eÑ,ˆEä�{‰{œ3 ¨{Õ;Ø—J‘J“L�Ø�Q‘�Ø—H‘H“J�Ø�Q‘�Ü" 1 a§i¡i£kÔ2ä�{‰{œ5 %°Õ=Ø—J‘J“L�Ø�T‘	�Ø—H‘H“J�Ø�T‘	�Ü" 1 a§i¡i£kÕ2ð >r=   )r  rK   rí  r@   ra  r   s   `  r;   Útest_idiv_scalarz'_TestInplaceArithmetic.test_idiv_scalarÛ	  s>   ø€ ô	3ð$ ×%Ñ%ò 	ˆEô —;‘;˜u¤b§h¡h¬s£mÕ4Ù�e•ñ		r=   c                 óÚ  — | j                  t        j                  d«      «      }| j                  t        j                  d«      «      }| j                  t        j                  d«      «      }||z  }||z   }t        |j	                  «       |j	                  «       «       | j
                  r2||z  }||z  }t        |j	                  «       |j	                  «       «       ||z  }||z  }t        |j	                  «       |j	                  «       «       ||z  }||z
  }t        |j	                  «       |j	                  «       «       t        t        d¬«      5  ||z  }d d d «       y # 1 sw Y   y xY w)NrŒ  rå  rj  )rù   rK   r'   r   rš   r  r  r—  )r¡   rO   rT   Úbps       r;   Útest_inplace_successz+_TestInplaceArithmetic.test_inplace_successô	  s  € ð �N‰Nœ2Ÿ6™6 !›9Ó%ˆØ�N‰Nœ2Ÿ6™6 !›9Ó%ˆØ�^‰^œBŸF™F 1›IÓ&ˆà	ˆQ‰ˆØ�!‰VˆÜ˜Ÿ	™	› R§Z¡Z£\Ô2à×ÒØ�‰FˆAØ�a‘ˆBÜ˜AŸI™I›K¨¯©«Ô6à	ˆQ‰ˆØ�!‰VˆÜ˜Ÿ	™	› R§Z¡Z£\Ô2à	ˆQ‰ˆØ�!‰VˆÜ˜Ÿ	™	› R§Z¡Z£\Ô2äœ9Ð,AÔBñ 	Ø�!‰GˆA÷	÷ 	ñ 	ús   ÅE!Å!E*N)r¶   r·   r¸   ræ  rï  rò  rõ  rb   r=   r;   râ  râ  ‘	  s   „ ò0òdò.ó2r=   râ  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestGetSetc                 ó\   ‡ — ˆ fd„}t         D ]  } |t        j                  |«      «       Œ y )Nc                 ól  •— t        g d¢g d¢g d¢g d¢g| ¬«      }‰j                  |«      }|j                  \  }}t        | |«      D ]*  }t        | |«      D ]  }t	        |||f   |||f   «       Œ Œ, t	        t        |d   «      | «       dD ]#  }t        t        t        f|j                  |«       Œ% y )Nrx  ©r”  rô   r   ©r   rf   r   re  ró   r3  ©rB  rs  )r”  r   ry  )r”  ré   rà  )
r   rù   r¾   r#  r   r`  r  rÖ  r—  Ú__getitem__)	r@   rÈ  rR   r•  r˜  r“  r   r%  r¡   s	           €r;   r  z*_TestGetSet.test_getelement.<locals>.check
  sÁ   ø€ Ü’wÚÚÚð ð (-ô.ˆAð —‘˜qÓ!ˆAà—'‘'‰CˆAˆaä˜A˜2˜q“\ò 1�Ü ˜r 1›ò 1�AÜ   1 Q 3¡¨¨1¨Q¨3©Õ0ñ1ð1ô œ˜a ™f› uÔ-àBò J�Üœz¬9Ð5°q·}±}ÀbÕIñJr=   ©r.   rK   r@   r   s   `  r;   Útest_getelementz_TestGetSet.test_getelement
  s*   ø€ ô	Jô$ &ò 	#ˆEÙ”"—(‘(˜5“/Õ"ñ	#r=   c                 ó–   ‡ — ˆ fd„}d„ t         j                  d„ g}|D ])  }t        D ]  } |t        j                  |«      |«       Œ  Œ+ y )Nc                 óö  •— ‰j                  d| ¬«      }t        j                  «       5  t        j                  dt        t
        «        || j                  d«      «      |d<    || j                  d«      «      |d<    || j                  d«      «      |d	<    || j                  d
«      «      |d<    || j                  d«      «      |d<    || j                  d«      «      |d<    || j                  d«      «      |d	<   d d d «       | t        j                  k7  r#t        |j                  «       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"                  «      s8| t        j                  k7  r$dD ]  }t        t$        |j                  d|«       Œ  y y y # 1 sw Y   ŒñxY w)Nrõ  ró   r)  r   rÖ  r³  ©rè   rf   rô   r4  r�  r  rã  ©r   ré   râ  ©ré   rF  rŒ  )r   rŒ  r   rã  )r   r   r”  r   )rf   r   râ  r   ))r   r”  )ré   r”  r5  rõ  rt  g     À^@rà  )rg  )rù   r*  r+  r  r	  r)   r`  rK   Úbool_r   rš   r  rÖ  Ú__setitem__r   r  rm   rˆ  r—  )r@   Úscalar_containerrR   r%  rþ  r¡   s        €r;   r  z*_TestGetSet.test_setelement.<locals>.check(
  s®  ø€ Ø—‘˜v¨U�Ó3ˆAÜ×(Ñ(Ó*ñ :Ü×'Ñ'¨´$Ô8OÔPÙ*¨5¯:©:°a«=Ó9��$‘Ù*¨5¯:©:°c«?Ó;��$‘Ù*¨5¯:©:°a«=Ó9��$‘Ù*¨5¯:©:°c«?Ó;��$‘Ù+¨E¯J©J°q«MÓ:��%‘Ù,¨U¯Z©Z¸«]Ó;��&‘	Ù*¨5¯:©:°a«=Ó9��$‘÷:ð œŸ™Ò Ü"Ø—I‘I“K¢,²ºlÐ!Kôð Aò D�Üœj¨!¯-©-¸¸UÕCðDò  ¤¢yÓ!1Ð2ò D�Üœj¨!¯-©-¸ÀÕCðDô —=‘= ¬×(:Ñ(:Ô;ÀÌÏÉÒ@QØò G�AÜ!¤)¨Q¯]©]¸FÀAÕFñGð ARÐ;÷+:ð :ús   ©CG/Ç/G8c                 óB   — t        t        j                  | gg«      «      S r?   )r!   rK   r   ©rA   s    r;   ú<lambda>z-_TestGetSet.test_setelement.<locals>.<lambda>D
  s   € ”i¤§¡¨1¨#¨£Ó0€ r=   c                 ó   — | S r?   rb   r	  s    r;   r
  z-_TestGetSet.test_setelement.<locals>.<lambda>D
  s   € Àa€ r=   )rK   r   r.   r@   )r¡   r  Úscalar_containersr  r@   s   `    r;   Útest_setelementz_TestGetSet.test_setelement'
  sR   ø€ ô	Gñ8 1´"·(±(¹Kð
Ðð !2ò 	9ÐÜ)ò 9�Ù”b—h‘h˜u“oÐ'7Õ8ñ9ñ	9r=   c                 óh   ‡ — ˆ fd„}‰ j                   D ]  } |t        j                  |«      «       Œ y )Nc                 óä   •— ‰j                  d| ¬«      }t        j                  «       5  t        j                  dt        t
        «       d|d<   d d d «       t        |d   d«       y # 1 sw Y   ŒxY w)N)rô   rW   ró   r)  rè   )r   r¯  )rù   r*  r+  r  r	  r)   r   ©r@   rR   r¡   s     €r;   r  z9_TestGetSet.test_negative_index_assignment.<locals>.checkM
  sb   ø€ Ø—‘˜w¨e�Ó4ˆAÜ×(Ñ(Ó*ñ Ü×'Ñ'¨´$Ô8OÔPØ��%‘÷ô ˜˜5™ 1Õ%÷ð ús   ©%A&Á&A/rò  r   s   `  r;   Útest_negative_index_assignmentz*_TestGetSet.test_negative_index_assignmentJ
  s/   ø€ ô	&ð ×%Ñ%ò 	#ˆ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«       Œ y )	N©rŒ  rW   c                 ó<  •— | ›d|›d|›�}‰j                  ‰‰f«      }t        j                  «       5  t        j                  dt        t
        «       d|| |f<   d d d «       t        |j                  «       ||¬«       t        || |f   d|¬«       y # 1 sw Y   Œ9xY w)Nz ; r)  rè   r  )rù   r*  r+  r  r	  r)   r   r5  )r“  r   Únitemsr7   rR   r§  rÿ  r¡   s        €€€r;   Ú	_test_setz3_TestGetSet.test_scalar_assign_2.<locals>._test_setZ
  s”   ø€ Ø�E˜˜Q˜E  V JÐ/ˆCØ—‘  1˜vÓ&ˆAÜ×(Ñ(Ó*ñ Ü×'Ñ'¨´$Ô8OÔPØ��!�Q�$‘÷ô   §¡£¨¸Õ=Ü  ! Q $¡¨°CÖ8÷	ð ús   ³'BÂB©rf   rô   ©ré   rã  r  ré   rF  rè   )r   ©r¡   r  r“  r   r§  rÿ  s   `   @@r;   Útest_scalar_assign_2z _TestGetSet.test_scalar_assign_2W
  s_   ú€ Ø‰ˆˆ1ö	9ð ˜W h´°r³¸B°À"ÄeÈBÃiÀÜ˜B“i¤ r£Ð+ð-ò 	‰DˆAˆqá�a˜˜AÕñ	r=   c                 óF  — | j                  d«      }t        j                  d«      }t        j                  «       5  t        j
                  dt        t        «       ||fD ]  }d|d<   d|d<   d|d<   Œ 	 d d d «       t        |j                  «       |«       y # 1 sw Y   Œ$xY w)Nrž  r)  rè   r4  r”  r5  rä  ©
rù   rK   r   r*  r+  r  r	  r)   r   rš   rý   s       r;   Útest_index_scalar_assignz$_TestGetSet.test_index_scalar_assignh
  s’   € Ø�N‰N˜6Ó"ˆÜ�H‰H�VÓˆÜ×$Ñ$Ó&ñ 	Ü×#Ñ# H¬dÔ4KÔLØ˜�Vò �Ø��#‘Ø��#‘Ø��#’ñ÷	ô 	˜1Ÿ9™9›;¨Õ*÷	ð 	ús   »8BÂB N)r¶   r·   r¸   rÿ  r  r  r  r  rb   r=   r;   r÷  r÷  
  s   „ ò#ò,!9òF#òó"	+r=   r÷  zfails in parallel©Úreasonc                   ó   — e Zd Zd„ Zy)Ú
_TestSolvec                 ó2  — d}t         j                  j                  d«       t        ||ft        ¬«      }t         j                  j                  |«      }t         j                  j                  |dz
  «      dt         j                  j                  |dz
  «      z  z   }t         j                  j                  |«      }t        t        |«      «      D ]  }||   |||f<   Œ t        t        |«      «      D ]%  }||   |||dz   f<   t        ||   «      ||dz   |f<   Œ' | j                  |«      }t        j                  «       5  t        j                  ddt        «       t        |«      j                  |«      }d d d «       t!        ||z  |«       y # 1 sw Y   ŒxY w)Nrð  r   ró   rè   r…  r)  r�  )rK   r•   r  r   rJ  r8  r#  rÃ   r   rù   r*  r+  r  r)   r3   Úsolver   )r¡   rÿ  rR   rA   rB   r  r“  s          r;   Ú
test_solvez_TestSolve.test_solvev
  sW  € ð ˆÜ
�	‰	�‰�qÔÜ�1�Q�%œwÔ'ˆÜ�I‰I�N‰N˜1ÓˆÜ�I‰I�N‰N˜1˜Q™3Ó ¤2§9¡9§>¡>°!°A±#Ó#6Ñ 6Ñ6ˆÜ�I‰I�N‰N˜1ÓˆÜ”s˜1“v“ò 	ˆAØ�q‘TˆAˆa�ˆcŠFð	ä”s˜1“v“ò 	'ˆAØ˜‘tˆAˆa��!‘ˆe‰HÜ   1¡“ˆAˆa�‰c�!ˆeŠHð	'ð �N‰N˜1ÓˆÜ×$Ñ$Ó&ñ 	!Ü×#Ñ#ØÐBÜ'ô)ô �Q“—‘˜aÓ ˆA÷		!ô
 	˜A ™E !Õ$÷	!ð 	!ús   Ä?6FÆFN)r¶   r·   r¸   r$  rb   r=   r;   r!  r!  t
  s   „ ó%r=   r!  c                   ó–   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
j                  j                  d«      d	„ «       Zd
„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestSlicingc                 óT  — t        | j                  dt        j                  ¬«      ddd…f   j                  t        j                  «       t        | j                  dt        j
                  ¬«      ddd…f   j                  t        j
                  «       t        | j                  dt        j                  ¬«      ddd…f   j                  t        j                  «       t        | j                  dt        j                  ¬«      ddd…f   j                  t        j                  «       y )N©rè   rW   ró   r   rè   rŒ  )r   rù   rK   rö   r@   r[   r÷   rõ   rÁ   s    r;   Útest_dtype_preservationz$_TestSlicing.test_dtype_preservationŽ
  sÊ   € Ü�T—^‘^ F´"·(±(�^Ó;¸A¸aÀ¸c¸EÑB×HÑHÌ"Ï(É(ÔSÜ�T—^‘^ F´"·(±(�^Ó;¸A¸aÀ¸c¸EÑB×HÑHÌ"Ï(É(ÔSÜ�T—^‘^ F´"·*±*�^Ó=¸aÀÀ!À¸eÑD×JÑJÌBÏJÉJÔWÜ�T—^‘^ F´"·*±*�^Ó=¸aÀÀ!À¸eÑD×JÑJÌBÏJÉJÕWr=   c                 ó¨  — t         j                  t         j                  t         j                  t         j                  fD ]‘  }| j                  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                  |«       Œ“ y )NrÓ  ró   r   rf   ©rK   rö   r[   r÷   rõ   rù   r   r@   ©r¡   ÚdtrR   s      r;   Ú#test_dtype_preservation_empty_slicez0_TestSlicing.test_dtype_preservation_empty_slice”
  s¶   € ô —8‘8œRŸX™X¤r§z¡z´2·:±:Ð>ò 	0ˆBØ—‘˜v¨R�Ó0ˆAÜ˜š1˜a  !˜e˜8™×*Ñ*¨BÔ/Ü˜˜1˜Q˜q˜5¢!˜8™×*Ñ*¨BÔ/Ü˜˜1˜a  !˜e˜8™×*Ñ*¨BÔ/Ü˜˜1˜Q˜q˜5 !˜8™×*Ñ*¨BÕ/ñ	0r=   c           	      ó�  — | j                  t        d«      j                  dd«      «      }| j                  |«      }| j                  rdndgdgdgf\  }}}t        ||d d …f   |dd d …f   j                  «       «       t        ||dd…f   |ddd…f   j                  «       «       | j                  g d¢g d	¢g d
¢g d¢g«      }| j                  |«      }t        ||dd…f   |ddd…f   j                  «       «       | j                  g d¢g d¢g d
¢g d¢g«      }| j                  |«      }	t        ||dd…f   |	ddd…f   j                  «       «       t        ||dd …f   |	ddd …f   j                  «       «       t        t        |j                  t        d «      df«       t        t        |j                  dt        dd«      f«       y )Nç      I@rŒ  rW   r,  r   rè   rf   ©rè   rf   rè   ©r”  r   rò   re  rÐ  rô   ©r”  r   r   rF  é   rò   râ  )r	  r   rú   rù   r  r   rš   r  rÖ  rý  Úslice)
r¡   rS   rR   Úr0Úr1Úr2rþ   rÈ  r  ré  s
             r;   Útest_get_horiz_slicez!_TestSlicing.test_get_horiz_slicež
  s›  € Ø�L‰Lœ ›×,Ñ,¨Q¨rÓ2Ó3ˆØ�N‰N˜1ÓˆØ"&×"4Ò"4‘Y¸A¸3ÀÀÀaÀS¸/‰
ˆˆB�Ü˜1˜R¢˜U™8 Q qª! t¡W§_¡_Ó%6Ô7Ü˜1˜R  1 ˜W™: q¨¨A¨a¨C¨¡y×'8Ñ'8Ó':Ô;à�L‰Lš)¢Y²	º9ÐEÓFˆØ�N‰N˜1ÓˆÜ˜1˜R  1 ˜W™: q¨¨A¨a¨C¨¡y×'8Ñ'8Ó':Ô;ð �L‰Lš)¢Y²	º9ÐEÓFˆØ�N‰N˜1ÓˆÜ˜1˜R  1 ˜W™: q¨¨A¨a¨C¨¡y×'8Ñ'8Ó':Ô;Ü˜1˜R ¡˜W™: q¨¨B©C¨¡y×'8Ñ'8Ó':Ô;ô 	”j !§-¡-´%¸³+¸rÐ1BÔCÜ”j !§-¡-°!´U¸1¸a³[Ð1AÕBr=   c           	      óª  — t        d«      j                  dd«      }| j                  |«      }| j                  rdndgdgdgf\  }}}t	        |dd…|f   |dd…df   j                  «       «       t	        |d d …|f   |d d …df   j                  «       «       t        g d¢g d	¢g d
¢g d¢g«      }| j                  |«      }t	        |dd…|f   |dd…df   j                  «       «       t	        |d d …|f   |d d …df   j                  «       «       t        g d¢g d¢g d
¢g d¢g«      }| j                  |«      }	t	        |d d …|f   |	d d …df   j                  «       «       t	        |dd …|f   |	dd …df   j                  «       «       t        t        |j                  t        d «      df«       t        t        |j                  dt        dd«      f«       y )Nr0  rŒ  rW   r,  r   rè   rf   r1  r2  re  rÐ  rô   r  r3  rF  r4  rò   râ  )r   rú   rù   r  r   rš   r   r  rÖ  rý  r5  )
r¡   rS   rR   Úc0Úc1Úc2rþ   rÈ  r  ré  s
             r;   Útest_get_vert_slicez _TestSlicing.test_get_vert_slice³
  s¡  € Ü�3‹K×Ñ  2Ó&ˆØ�N‰N˜1ÓˆØ"&×"4Ò"4‘Y¸A¸3ÀÀÀaÀS¸/‰
ˆˆB�Ü˜1˜Q˜q˜S "˜W™: q¨¨1¨¨a¨¡y×'8Ñ'8Ó':Ô;Ü˜1šQ ˜U™8 Q¢q¨! t¡W§_¡_Ó%6Ô7ä’9šiª²IÐ>Ó?ˆØ�N‰N˜1ÓˆÜ˜1˜Q˜q˜S "˜W™: q¨¨1¨¨a¨¡y×'8Ñ'8Ó':Ô;Ü˜1šQ ˜U™8 Q¢q¨! t¡W§_¡_Ó%6Ô7ô ’9šiª²IÐ>Ó?ˆØ�N‰N˜1ÓˆÜ˜1šQ ˜U™8 Q¢q¨! t¡W§_¡_Ó%6Ô7Ü˜1˜R™S "˜W™: q¨©¨a¨¡y×'8Ñ'8Ó':Ô;ô 	”j !§-¡-´%¸³+¸rÐ1BÔCÜ”j !§-¡-°!´U¸1¸a³[Ð1AÕBr=   c                 ód  — t        d«      j                  dd«      }| j                  |«      }t        |dd…dd…f   j	                  «       |dd…dd…f   «       t        |dd …d d…f   j	                  «       |dd …d d…f   «       t        |d d…dd …f   j	                  «       |d d…dd …f   «       t        g d	¢g d
¢g d¢g d¢g«      }| j                  |«      }t        |dd…dd…f   |dd…dd…f   j	                  «       «       t        |d d …dd …f   |d d …dd …f   j	                  «       «       y )Nr0  rŒ  rW   rf   r   rô   rè   ré   r  r3  re  rÐ  )r   rú   rù   r   rš   r   )r¡   rS   rR   r  ré  s        r;   Útest_get_slicesz_TestSlicing.test_get_slicesÉ
  s4  € Ü�3‹K×Ñ  2Ó&ˆØ�N‰N˜1ÓˆÜ˜1˜Q˜q˜S ! A #˜X™;×.Ñ.Ó0°!°A°a°C¸¸1¸°H±+Ô>Ü˜1˜Q™R  " ˜W™:×-Ñ-Ó/°°1±2°s¸°s°7±Ô<Ü˜1˜S˜b˜S !¡"˜W™:×-Ñ-Ó/°°3°B°3¸¹°7±Ô<ô ’9šiª²IÐ>Ó?ˆØ�N‰N˜1ÓˆÜ˜1˜Q˜q˜S ! A #˜X™;¨¨!¨A¨#¨q°¨s¨(©×(;Ñ(;Ó(=Ô>Ü˜1šQ ¡˜U™8 Q¢q¨!©" u¡X×%5Ñ%5Ó%7Õ8r=   c                 ó  — t         j                  j                  dd«      }	 | j                  |«      ddd…ddd…f   }t        |j                  «       |ddd…ddd…f   «       y # t        $ r t        j                  d«      ‚w xY w)NrŽ  r   é   rf   rñ  rô   úfeature not implemented)	rK   r•   r8  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‰Y�^‰^˜B Ó#ˆð	9Ø—‘˜rÓ" 1 R¨ 6¨1¨R°¨6 >Ñ2ˆAô
 	˜1Ÿ9™9›;¨¨1¨R°¨6°1°R¸°6¨>Ñ(:Õ;øô	 ò 	9ä—+‘+Ð7Ó8Ð8ð	9ús   ¢A$ Á$Bc                 ó  — | j                  t        d«      j                  dd«      «      }| j                  |«      }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   j                  «       |d	d d …f   «       t	        |d	dd…f   j                  «       |d	dd…f   «       t	        |t        d	«      dd…f   j                  «       |d	dd…f   «       t	        |d d …d	f   j                  «       |d d …d	f   «       t	        |d
d…df   j                  «       |d
d…df   «       t	        |dd…df   j                  «       |dd…df   «       t	        |d	d…d
f   j                  «       |d	d…d
f   «       t	        |d	d…t        d
«      f   j                  «       |d	d…d
f   «       t	        |dd	…dd	…f   j                  «       |dd	…dd	…f   «       t	        |dd …d
d …f   j                  «       |dd …d
d …f   «       t	        |d d…d d…f   j                  «       |d d…d d…f   «       t	        |d	d…d d…f   j                  «       |d	d…d d…f   «       t	        |dd d …f   j                  «       |dd d …f   «       t	        |dd d …f   j                  «       |dd d …f   «       t	        |t        d«      d d …f   j                  «       |dd d …f   «       t	        |dd j                  «       |dd «       t	        |dd j                  «       |dd «       t        t        d	«      t        d«      d «      }t	        ||d d …f   j                  «       |d	d…d d …f   «       t	        |d d …|f   j                  «       |d d …d	d…f   «       y )NrŽ  rŒ  rW   r  r  r  ré   rF  rf   rô   r”  rä  rè   r­  )	r	  r   rú   rù   r   r   rš   r5  r   )r¡   rS   rR   rø  s       r;   Útest_slicing_2z_TestSlicing.test_slicing_2á
  sÞ  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆô 	�Q�s‘V˜Q˜s™VÔ$Ü�Q�t‘W˜a ™gÔ&Ü�Q�u‘X˜a ™hÔ'Ü�Q”u˜R“y �|‘_ Q u¡XÔ.Ü�Q�rœ% ›)�|‘_ Q u¡XÔ.Ü�Q”u˜R“y¤ r£Ð*Ñ+¨A¨e©HÔ5ô 	�Q�qš!�t‘W—_‘_Ó&¨¨!ªQ¨$©Ô0Ü�Q�q˜!˜B˜$�w‘Z×'Ñ'Ó)¨1¨Q°°"°¨W©:Ô6Ü�Q”u˜Q“x  2 �~Ñ&×.Ñ.Ó0°!°A°q¸°t°G±*Ô=ô 	�Q’q˜!�t‘W—_‘_Ó&¨ª!¨Q¨$©Ô0Ü�Q�q˜�s˜A�v‘Y×&Ñ&Ó(¨!¨A¨a¨C°¨F©)Ô4Ü�Q�q˜�s˜B�w‘Z×'Ñ'Ó)¨1¨Q¨q¨S°"¨W©:Ô6Ü�Q�q˜�t˜Q�w‘Z×'Ñ'Ó)¨1¨Q¨r¨T°1¨W©:Ô6Ü�Q�q˜�tœU 1›X�~Ñ&×.Ñ.Ó0°!°A°b°D¸!°G±*Ô=ô 	�Q�q˜�s˜A˜a˜C�x‘[×(Ñ(Ó*¨A¨a°¨c°1°Q°3¨h©KÔ8Ü�Q�q‘r˜1™2�v‘Y×&Ñ&Ó(¨!¨A©B°±¨F©)Ô4Ü�Q�r˜�r˜2˜A˜2�v‘Y×&Ñ&Ó(¨!¨B¨Q¨B°°°¨F©)Ô4Ü�Q�q˜�t˜R˜a˜R�x‘[×(Ñ(Ó*¨A¨a°¨d°B°Q°B¨h©KÔ8ô 	�Q�qš!�t‘W—_‘_Ó&¨¨!ªQ¨$©Ô0Ü�Q�rš1�u‘X×%Ñ%Ó'¨¨2ªq¨5©Ô2Ü�Q”u˜R“y¢!�|‘_×,Ñ,Ó.°°"²a°%±Ô9ô 	�Q�q˜�V—^‘^Ó% q¨¨1 vÔ.Ü�Q�q˜�W—_‘_Ó&¨¨!¨B¨Ô0ô ”$�q“'œ$˜q›' $Ó'ˆÜ�Q�qš!�t‘W—_‘_Ó&¨¨!¨A¨#ªq¨&©	Ô2Ü�Q’q˜!�t‘W—_‘_Ó&¨ª!¨Q¨q¨S¨&©	Õ2r=   rf   c                 óÎ  ‡‡— | j                  t        d«      j                  dd«      «      Š| j                  ‰«      Š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 ](  \  }}}
|
dk(  rŒ|	j                  t        |||
«      «       Œ* |	D ]  } |||«        ||d«        |d|«       Œ y )NrŽ  rŒ  rW   rf   rè   rô   r�  rð  rã  ré   r”  rF  r   r­  r»  c                 óì   •— ‰|    }‰|    }|j                   dk(  rt        ||t        | «      «       y |j                  dk(  r|j                  dk(  ry t	        |j                  «       |t        | «      «       y ©Nrb   r   )r¾   r   r„  rl   r   rš   )rO   rA   rB   rR   rS   s      €€r;   Úcheck_1z,_TestSlicing.test_slicing_3.<locals>.check_1  s^   ø€ Ø�!‘ˆAØ�!‘ˆAØ�w‰w˜"Š}Ü˜Q ¤4¨£7Õ+à—6‘6˜Q’; 1§6¡6¨Q¢;Øä& q§y¡y£{°A´t¸A³wÕ?r=   c                 óœ  •— t        | t        j                  «      rt        | «      }n| }t        |t        j                  «      rt        |«      }n|}‰| |f   }‰||f   }|j                  dk(  rt        ||t        | |f«      «       y |j                  dk(  r|j                  dk(  ry t        |j                  «       |t        | |f«      «       y rJ  )
rJ   rK   r
   ra  r¾   r   r„  rl   r   rš   )rO   rT   ÚaiÚbirA   rB   rR   rS   s         €€r;   Úcheck_2z,_TestSlicing.test_slicing_3.<locals>.check_2(  s¨   ø€ ô ˜!œRŸZ™ZÔ(Ü˜“V‘à�Ü˜!œRŸZ™ZÔ(Ü˜“V‘à�à�!�Q�$‘ˆAØ�"�b�&‘	ˆAà�w‰w˜"Š}Ü˜Q ¤4¨¨A¨£<Õ0à—6‘6˜Q’; 1§6¡6¨Q¢;Øä& q§y¡y£{°A´t¸QÀ¸F³|ÕDr=   )
Nr   rè   rf   rŒ  r�  ré   rF  rŒ  iñÿÿÿ)r	  r   rú   rù   rK   Ús_r   r   Ú	enumerateÚ	itertoolsÚproductrM   r5  )r¡   rP  ÚslicesrK  r   rO   rO  r“  rT   Úextra_slicesr¤  rR   rS   s              @@r;   Útest_slicing_3z_TestSlicing.test_slicing_3  s´  ù€ à�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆä�U‰UˆØ�R�a�&˜"˜Q˜q˜' 2 a b 6¨2¨a¨d°¨d©8Ø�R˜�)˜R  !˜WØ�Q�q˜�V‘*˜b   B ™i¨¨E¨Q¨r¨E©Ø�Q˜™1˜˜r ! A˜w¨¨B°Ü˜“)œRŸW™W R›[ð	*ˆõ		@ô ˜fÓ%ò 	‰DˆAˆqÙ�A�Jð	õ	Eô0 ˜fÓ%ò 	‰DˆAˆqÜ! &Ó)ò ‘��1Ù˜˜1•ñð	ð
 ˆÜ ×(Ñ(ð -=ð ,>Ø>?ñ,@ð Bò 	0‰GˆAˆq�!à�AŠvØØ×Ñ¤ a¨¨A£Õ/ð		0ð ò 	ˆAÙ�A�qŒMÙ�A�rŒNÙ�B˜�Nñ	r=   c                 óô  — | j                  t        d«      j                  dd«      «      }| j                  |«      }|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J ‚ J ‚|dd…d df   j
                  |dd…d df   j
                  cxk(  rdk(  sJ ‚ J ‚|dd…dd f   j
                  |dd…dd f   j
                  cxk(  rdk(  sJ ‚ J ‚|d ddd…f   j
                  |d ddd…f   j
                  cxk(  rdk(  sJ ‚ J ‚|dd dd…f   j
                  |dd dd…f   j
                  cxk(  rdk(  sJ ‚ J ‚|ddd…d f   j
                  |ddd…d f   j
                  cxk(  rdk(  sJ ‚ J ‚| j                  rã|dd…df   j
                  |dd…df   j
                  cxk(  rdk(  sJ ‚ J ‚|ddd…f   j
                  |ddd…f   j
                  cxk(  rdk(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rdk(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rdk(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rdk(  sJ ‚ J ‚y |ddd…f   j
                  |ddd…f   j
                  cxk(  rdk(  sJ ‚ J ‚|dd…df   j
                  |dd…df   j
                  cxk(  rdk(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rd
k(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rd
k(  sJ ‚ J ‚|d   j
                  |d   j
                  cxk(  rd
k(  sJ ‚ J ‚y )NrŽ  rŒ  rW   r  r   rè   rf   r”  )Nrè   rf   Nr3  )Nrè   r(  )rè   N)rW   rè   rô   ©rf   rè   )rf   )Nrè   rf   )rè   )rè   Nrf   )rè   rf   N)r	  r   rú   rù   rÄ   r¾   r  ©r¡   rS   rR   s      r;   Útest_None_slicingz_TestSlicing.test_None_slicingQ  s�  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆà�‰w�|‰|˜qÒ Ð Ð Ø��q˜!˜A˜#�‰×$Ñ$¨Ò.Ð.Ð.ØÐ!Ñ"×(Ñ(¨FÒ2Ð2Ð2ð �‰z×Ñ 7Ò*Ð*Ð*Ø�‰z×Ñ 7Ò*Ð*Ð*Ø��qš!�‰}×"Ñ" gÒ-Ð-Ð-Ø��Dš!�‰}×"Ñ" gÒ-Ð-Ð-Ø�’A�t�‰}×"Ñ" gÒ-Ð-Ð-à��q˜�s˜A�‰×$Ñ$¨¨$°°!°°Q¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGØ��1��d˜A�‰×$Ñ$¨¨!¨A¨#¨t°Q¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGØ��1��a˜�‰×$Ñ$¨¨!¨A¨#¨q°$¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGØ��q˜!˜A˜#�‰×$Ñ$¨¨$°°1°Q°3¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGØ��D˜!˜A˜#�‰×$Ñ$¨¨!¨T°1°Q°3¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGØ��A�a�C˜�‰×$Ñ$¨¨!¨Q¨q¨S°$¨,©×(=Ñ(=ÔGÀÒGÐGÑGÐGÐGð ×ÒØ�Q�q�S˜!�V‘9—?‘? a¨¨!¨¨Q¨¡i§o¡oÔ=¸Ò=Ð=Ñ=Ð=Ð=Ø�Q˜˜!˜�V‘9—?‘? a¨¨1¨Q¨3¨¡i§o¡oÔ=¸Ò=Ð=Ñ=Ð=Ð=Ø�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔEÀÒEÐEÑEÐEÐEØ�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔEÀÒEÐEÑEÐEÐEØ�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔEÀÒEÐEÑEÐEÑEà�Q˜˜!˜�V‘9—?‘? a¨¨1¨Q¨3¨¡i§o¡oÔ?¸Ò?Ð?Ñ?Ð?Ð?Ø�Q�q�S˜!�V‘9—?‘? a¨¨!¨¨Q¨¡i§o¡oÔ?¸Ò?Ð?Ñ?Ð?Ð?Ø�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔGÀÒGÐGÑGÐGÐGØ�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔGÀÒGÐGÑGÐGÐGØ�Z‘=×&Ñ&¨!¨J©-×*=Ñ*=ÔGÀÒGÐGÑGÐGÑGr=   c                 ór  — | j                  t        d«      j                  dd«      «      }| j                  |«      }t	        |d   j                  «       |d   «       t	        |d   j                  «       |d   «       t	        |d   j                  «       |d   «       t	        |d   j                  «       |d   «       t	        |d   j                  «       |d   «       t        j                  t        d	¬
«      5  |d    d d d «       t        j                  t        d¬
«      5  |d    d d d «       t        j                  t        d	¬
«      5  |j                  d    d d d «       t	        |dd …df   j                  «       |dd …df   «       t	        |ddd …f   j                  «       |ddd …f   «       t	        |d d…df   j                  «       |d d…df   «       t	        |dd d…f   j                  «       |dd d…f   «       t	        |d d…df   j                  «       |d d…df   «       t	        |dd d…f   j                  «       |dd d…f   «       t	        |dd …df   j                  «       |dd …df   «       t	        |ddd …f   j                  «       |ddd …f   «       t	        |dd …df   j                  «       |dd …df   «       t	        |ddd …f   j                  «       |ddd …f   «       t	        |dd …ddf   j                  «       |dd …ddf   «       t	        |dddd …f   j                  «       |dddd …f   «       t	        |dddd …f   j                  «       |dddd …f   «       t	        |d d…ddf   j                  «       |d d…ddf   «       t	        |ddd d…f   j                  «       |ddd d…f   «       t	        |ddd d…f   j                  «       |ddd d…f   «       t        |d   |d   «       t        |d   |d   «       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒûxY w# 1 sw Y   �ŒÕxY w)NrŽ  rŒ  rW   .).)r”  .).r”  ).rŒ  zindex .5. out of rangerj  )rŒ  .zindex .10. out of range).rW   rè   rf   )rè   rè   .)rè   .rè   )r	  r   rú   rù   r   rš   r  r   rÖ  r@  r   ©r¡   rT   rO   s      r;   Útest_ellipsis_slicingz"_TestSlicing.test_ellipsis_slicingu  s  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆä˜1˜S™6Ÿ>™>Ó+¨Q¨s©VÔ4Ü˜1˜T™7Ÿ?™?Ó,¨a°©gÔ6ä˜1˜V™9×,Ñ,Ó.°°&±	Ô:Ü˜1˜V™9×,Ñ,Ó.°°&±	Ô:Ü˜1˜V™9×,Ñ,Ó.°°&±	Ô:Ü�]‰]œ:Ð-EÔFñ 	ØˆfŠI÷	ä�]‰]œ:Ð-FÔGñ 	ØˆgŠJ÷	ä�]‰]œ:Ð-EÔFñ 	Ø�C‰C�ŠK÷	ô 	˜1˜Q™R ˜W™:×-Ñ-Ó/°°1±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 ˜W™:×-Ñ-Ó/°°1±2°s°7±Ô<Ü˜1˜S !¡"˜W™:×-Ñ-Ó/°°3¸¹°7±Ô<Ü˜1˜R™S #˜X™;×.Ñ.Ó0°!°B±C¸°H±+Ô>Ü˜1˜S "¡#˜X™;×.Ñ.Ó0°!°C¸¹°H±+Ô>ô 	˜1˜Q™R  C˜Z™=×0Ñ0Ó2°A°a±b¸!¸S°j±MÔBÜ˜1˜Q  Q¡R˜Z™=×0Ñ0Ó2°A°a¸¸a¹b°j±MÔBÜ˜1˜S ! Q¡R˜Z™=×0Ñ0Ó2°A°a¸¸a¹b°j±MÔBÜ˜1˜R˜a˜R  C˜Z™=×0Ñ0Ó2°A°b°q°b¸!¸S°j±MÔBÜ˜1˜Q  R a R˜Z™=×0Ñ0Ó2°A°a¸¸b¸q¸b°j±MÔBÜ˜1˜S ! R a R˜Z™=×0Ñ0Ó2°A°a¸¸b¸q¸b°j±MÔBä�Q�y‘\ 1 Y¡<Ô0Ü�Q�y‘\ 1 Y¡<Õ0÷;	ñ 	ú÷	ñ 	ú÷	ñ 	ús$   Ã7PÄ PÅ	P,ÐPÐP)Ð,P6c                 óÂ  — | j                  t        d«      j                  dd«      «      }| j                  |«      }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 «       y # 1 sw Y   y xY w)	NrŽ  rŒ  rW   )TFTFTF.úshape mismatchrj  )r	  r   rú   rù   r   rš   r  rÖ  )r¡   Únumpy_arO   Úix5Úix10Ú
ix10_6TrueÚfull_ixs          r;   Útest_ellipsis_fancy_boolz%_TestSlicing.test_ellipsis_fancy_boolž  ss  € Ø—,‘,œv b›z×1Ñ1°!°RÓ8Ó9ˆØ�N‰N˜7Ó#ˆâ.ˆØˆw˜‰{˜SÑ ˆØ˜3‘Yˆ
Ø�&˜1‘*ˆäœ7 1 W¨c \¡?Ó3°W¸WÀc¸\Ñ5JÔKÜœ7 1 S¨' \¡?Ó3°W¸SÀ'¸\Ñ5JÔKäœ7 1 S¨# X¡;Ó/°¸¸c¸Ñ1BÔCÜœ7 1 S¨$ Y¡<Ó0°'¸#¸t¸)Ñ2DÔEäœ7 1 S¨#¨t ^Ñ#4Ó5°w¸sÀCÈ¸~Ñ7NÔOÜœ7 1 S¨#¨t ^Ñ#4Ó5°w¸sÀCÈ¸~Ñ7NÔOÜœ7 1 S¨$° ^Ñ#4Ó5°w¸sÀDÈ#¸~Ñ7NÔOäœ:Ð-=Ô>ñ 	Øˆc�:ˆoÒ÷	÷ 	ñ 	ús   ÅEÅEc           	      óš  — | j                  t        d«      j                  dd«      «      }| j                  |«      }t	        |dgdf   j                  «       |dgdf   «       t	        |ddgdf   j                  «       |ddgdf   «       t	        |ddgf   j                  «       |ddgf   «       t	        |dddgf   j                  «       |dddgf   «       t	        |dgddf   j                  «       |dgddf   «       t	        |ddgddf   j                  «       |ddgddf   «       t	        |dgddf   j                  «       |dgddf   «       t	        |ddgdf   j                  «       |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   «       y )NrŽ  rŒ  rW   r”  .rf   rè   )r	  r   rú   rù   r   rš   r\  s      r;   Útest_ellipsis_fancy_slicingz(_TestSlicing.test_ellipsis_fancy_slicing´  só  € Ø�L‰Lœ ›×+Ñ+¨A¨rÓ2Ó3ˆØ�N‰N˜1Óˆä˜1˜a˜S #˜X™;×.Ñ.Ó0°!°Q°C¸°H±+Ô>Ü˜1˜a ˜V S˜[™>×1Ñ1Ó3°Q¸¸1°v¸s°{±^ÔDÜ˜1˜S 1 #˜X™;×.Ñ.Ó0°!°C¸!¸°H±+Ô>Ü˜1˜S 1 a &˜[™>×1Ñ1Ó3°Q°s¸QÀ¸F°{±^ÔDä˜1˜a˜S ! S˜[™>×1Ñ1Ó3°Q¸°s¸A¸s°{±^ÔDÜ˜1˜a ˜V Q¨˜^Ñ,×4Ñ4Ó6¸¸1¸a¸&À!ÀS¸.Ñ8IÔJÜ˜1˜a˜S # q˜[™>×1Ñ1Ó3°Q¸°s¸CÀ°{±^ÔDÜ˜1˜S 1 # q˜[™>×1Ñ1Ó3°Q°s¸Q¸CÀ°{±^ÔDäœ7 1 a¨ V¨S°1°a°&Ð%8Ñ#9Ó:¸A¸qÀ!¸fÀcÈAÈqÈ6Ð>QÑ<RÔSÜœ7 1 S¨1¨a¨&°1°a°&Ð%8Ñ#9Ó:¸A¸cÀAÀqÀ6ÈAÈqÈ6Ð>QÑ<RÕSr=   c                 ó,  — | j                  t        d«      j                  dd«      «      }t        j                  t
        d¬«      5  |d    d d d «       t        j                  t
        d¬«      5  |d    d d d «       y # 1 sw Y   Œ3xY w# 1 sw Y   y xY w)Nrò   rô   rf   z(an index can only have a single ellipsisrj  )..).rè   .)rù   r   rú   r  r   rÖ  ©r¡   rO   s     r;   Útest_multiple_ellipsis_slicingz+_TestSlicing.test_multiple_ellipsis_slicingÅ  s„   € Ø�N‰Nœ6 !›9×,Ñ,¨Q°Ó2Ó3ˆä�]‰]œ:Ø!KôMñ 	àˆhŠK÷	ô �]‰]œ:Ø!KôMñ 	àˆkŠN÷	ð 	÷	ð 	ú÷	ð 	ús   ÁA>Á/B
Á>BÂ
BN)r¶   r·   r¸   r)  r.  r9  r>  r@  rE  rG  r  rß  Ú	fail_slowrV  rZ  r]  re  rg  rj  rb   r=   r;   r&  r&  �
  sl   „ òXò0òCò*Cò,9ò	<ò+3ðZ ‡[�[×Ñ˜1Óñ@ó ð@òD"HòH'1òRò,Tó"r=   r&  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
Ú_TestSlicingAssignc                 óˆ  — | j                  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<   Œ4 	 d d d «       t        |j                  «       |«       y # 1 sw Y   Œ$xY w)	Nrž  r)  rè   r   r”  rô   rä  ré   r  rý   s       r;   Útest_slice_scalar_assignz+_TestSlicingAssign.test_slice_scalar_assignÑ  sÎ   € Ø�N‰N˜6Ó"ˆÜ�H‰H�VÓˆÜ×$Ñ$Ó&ñ 	 Ü×#Ñ# H¬dÔ4KÔLØ˜�Vò  �Ø��!�A�#�a�%‘Ø��!�A�#�a�%‘Ø��!�A�#�a�%‘Ø��!�A‘B�$‘Ø��!�%�R�%˜™�(’ñ ÷	 ô 	˜1Ÿ9™9›;¨Õ*÷	 ð 	 ús   »AB8Â8C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 ]  \  }} |||«       Œ y )	Nr  c                 óN  •— d| ›d|›�}‰j                  ‰‰f«      }t        j                  «       5  t        j                  dt        t
        «       d|| |f<   d d d «       t        j                  ‰‰f«      }d|| |f<   t        |j                  «       ||¬«       y # 1 sw Y   ŒDxY w)Nzi=z; j=r)  rè   r  )
rù   r*  r+  r  r	  r)   rK   r   r   rš   )r“  r   r7   rR   rS   r§  rÿ  r¡   s        €€€r;   r  z9_TestSlicingAssign.test_slice_assign_2.<locals>._test_setá  s›   ø€ Ø�q�e˜4 ˜uÐ%ˆCØ—‘  1˜vÓ&ˆAÜ×(Ñ(Ó*ñ Ü×'Ñ'¨´$Ô8OÔPØ��!�Q�$‘÷ô —‘˜!˜Q˜Ó ˆAØˆAˆa�ˆd‰GÜ% a§i¡i£k°1¸cÖB÷ð ús   ±'BÂB$rf   rô   rW   r”  rŒ  rF  )r5  r   r  s   `   @@r;   Útest_slice_assign_2z&_TestSlicingAssign.test_slice_assign_2Þ  sl   ú€ Ø‰ˆˆ1ö	Cð œ˜q›�] Q¬¨d°B¸Ó(:Ð$;¸aÄÀqÈ"ÃÐ=NÜ˜A“h¤ a¨£Ð-ð/ò 	‰DˆAˆqá�a˜�Oñ	r=   c                 óÌ  — | j                  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   j                  «       |dd d …f   j                  «       «       |d	z  }|d d…d d…f   |d d …d d …f<   t        t        j                  d«      |d   z   |j                  «       «       |d	z  }|d dd d …f   j                  |d d…df<   t        |dd d …f   j                  «       j                  |d d…df   j                  «       «       d d d «       y # 1 sw Y   y xY w)Nry  r)  rf   rÖ  râ  r  rô   rX  rW   r5  r   rè   ré   )rù   r*  r+  r  r	  r)   r   rš   rK   r   r@  rY  s      r;   Útest_self_self_assignmentz,_TestSlicingAssign.test_self_self_assignmentï  sU  € à�N‰N˜5Ó!ˆÜ×$Ñ$Ó&ñ 	GÜ×#Ñ# H¬dÔ4KÔLØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØˆAˆc‰Fà�B‘ˆAØ�qš�s‘VˆAˆa’ˆc‰FÜ˜q ¢1 ™vŸ~™~Ó/°°1²Q°3±·±Ó1AÔBà�B‘ˆAØ�r˜�r˜"˜1˜"�u‘XˆAŠa’ˆc‰FÜœrŸx™x¨›°°3±Ñ7¸¿¹»ÔEà�B‘ˆAØ˜˜a¢˜‘{—}‘}ˆAˆcˆrˆc�!ˆe‰HÜ˜q ¢1 ™vŸ~™~Ó/×1Ñ1°1°S°b°S¸°U±8×3CÑ3CÓ3EÔF÷#	G÷ 	Gñ 	Gús   ¦D+EÅE#c                 óî  — | j                  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        |j                  «       |«       | j                  t        |«      «      |d d…d d…f<   t        |j                  «       d d…d d…f   |«       d d d «       y # 1 sw Y   y xY w)Nry  ©rW   r   r   )r   r   rò   )r   r‘  r   re  rè   r   r”  r)  rŒ  rÖ  rô   r  râ  rX  rf   )
rù   r   r*  r+  r  r	  r)   r   rš   r  )r¡   rS   rp  Úblocks       r;   Útest_slice_assignmentz(_TestSlicingAssign.test_slice_assignment  sò   € Ø�N‰N˜5Ó!ˆÜš(Ú!Ú"Ú!ð#ó $ˆð �A�˜˜!�u�ˆä×$Ñ$Ó&ñ 		;Ü×#Ñ# H¬dÔ4KÔLØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØ�q‘SˆAŠa’ˆc‰FÜ˜qŸy™y›{¨HÔ5à×)Ñ)¬%°«,Ó7ˆAˆbˆqˆb��!�ˆe‰HÜ˜qŸy™y›{¨2¨A¨2¨r°¨r¨6Ñ2°EÔ:÷		;÷ 		;ñ 		;ús   ÁBC+Ã+C4c                 óŽ  — | j                  d«      }t        j                  «       5  t        j                  dt        t
        «       d|d<   d|d<   d|d<   d	|d
<   | j                  t        j                  d«      «      |d d d d d «       t        g d¢g d¢g d¢g d¢g«      }t        |j                  «       |«       y # 1 sw Y   Œ;xY w)Nry  r)  rŒ  rÖ  rô   r  râ  rX  rW   r5  rx  r.  rÐ  rv  )rù   r*  r+  r  r	  r)   r  rK   r'   r   r   rš   )r¡   rS   rp  s      r;   Ú"test_sparsity_modifying_assignmentz5_TestSlicingAssign.test_sparsity_modifying_assignment  s«   € Ø�N‰N˜5Ó!ˆÜ×$Ñ$Ó&ñ 	2Ü×#Ñ# H¬dÔ4KÔLØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØˆAˆc‰FØ×&Ñ&¤r§v¡v¨a£yÓ1ˆAˆbˆqˆE÷	2ô š'¢'ª'²(Ð;Ó<ˆÜ˜1Ÿ9™9›;¨Õ1÷	2ð 	2ús   ¦AB;Â;Cc                 ób  — | j                  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 ]3  \  }}|||<   |||<   t        |j                  «       |t        |«      «       Œ5 t        |«      D ]d  \  }}t        |«      D ]Q  \  }}d|z  d|dz   z  z   |||f<   d|z  d|dz   z  z   |||f<   t        |j                  «       |t        ||f«      «       ŒS Œf t!        ddd«      |d
ddd…f<   t!        ddd«      |d
ddd…f<   t        |j                  «       |«       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        |j                  «       |«       d d d «       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|j/                  «       «       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«       y # 1 sw Y   �Œ‰xY w)Nr  rf   rè   rô   rã  ré   r”  rF  rŒ  r   r­  r»  r)  rW   éè  rÖ  éd   rà  re  rÒ  )r”  rè   rô   ©rè   rf   r”  )r   rè   rô   r½  )rù   r   r   r“  rK   rP  r   r*  r+  r  r	  r)   rQ  r   rš   r„  r#  r   r  r  r  Úlistr5  r-  rÖ  )	r¡   rR   rS   rP  rT  r   rO   r“  rT   s	            r;   Útest_set_slicez!_TestSlicingAssign.test_set_slice%  sf  € Ø�N‰N˜6Ó"ˆÜ”%˜¤Ó'Ó(ˆÜ�U‰UˆØ�R�a�&˜"˜Q˜q˜' 2 a b 6¨2¨a¨d°¨d©8Ø�Q�q˜�V‘*˜b   B ™i¨¨E¨Q¨r¨E©Ø�Q˜™1˜˜r ! A˜w¨¨B°Ü˜“)œRŸW™W R›[ð*ˆô
 ×$Ñ$Ó&ñ 	/Ü×#Ñ# H¬dÔ4KÔLÜ! &Ó)ò <‘��1Ø��!‘Ø��!‘Ü" 1§9¡9£;°´4¸³7Õ;ð<ô
 " &Ó)ò E‘��1Ü% fÓ-ò 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ñEðEô !  B¨›?ˆAˆa��2�a�ˆi‰LÜ   B¨›?ˆAˆa��2�a�ˆi‰LÜ˜qŸy™y›{¨AÔ.ÜŸ)™) A q¨!Ó,ªQ°¨WÑ5ˆAˆa��!ˆe�Qˆh‰KÜŸ)™) A q¨!Ó,©QÐ/ˆAˆa��!ˆe�Qˆh‰KÜ˜qŸy™y›{¨AÔ.÷%	/ô* 	”j !§-¡-°¼¼eÀC»jÓ9IÔJÜ”j !§-¡-°¼À»ÔEÜ”j !§-¡-°!´U¸4³[Ð1AÜœ5 ›:Ó&ô	(ä”j !§-¡-´%¸³+¸qÐ1AÜœ5 ›:Ó&ô	(ä”j !§-¡-´%¸³+¸qÐ1AÀ1Ç6Á6Ã8ÔLÜ”j !§-¡-Ú!¢9Ð-ªyÐ9º<ô	Iä”j !§-¡-Ú!¢9ªiÐ8Ú!¢9Ð-ð/Ú09ô	;ô 	”j !§-¡-´%¸³(¸A°Ø˜1�v  1˜vÐ&õ	(÷C	/ñ 	/ús   Â$E9N$Î$N.c                 óÀ   — | j                  t        j                  d«      «      }| j                  d«      }||dd d…f<   t        |j	                  «       g d¢g d¢g«       y )Nr  r  rè   rf   ©rè   rè   rè   rÐ  )rù   rK   r  r   rš   r:  s      r;   Útest_assign_emptyz$_TestSlicingAssign.test_assign_emptyR  sN   € Ø�N‰Nœ2Ÿ7™7 6›?Ó+ˆØ�N‰N˜6Ó"ˆð ˆˆ!ˆRˆaˆRˆ%‰Ü˜1Ÿ9™9›;ª²IÐ(>Õ?r=   c                 óà   — | j                  t        j                  d«      «      }t        j                  d«      }||d d …df<   ||dd d …f<   t	        |j                  «       g d¢g d¢g d¢g«       y )Nra  rô   r   rè   r   re  )rù   rK   r  r   r   rš   ©r¡   rR   rA   s      r;   Útest_assign_1d_slicez'_TestSlicingAssign.test_assign_1d_sliceZ  sV   € Ø�N‰Nœ2Ÿ7™7 6›?Ó+ˆÜ�H‰H�Q‹KˆØˆŠ!ˆQˆ$‰Øˆˆ!ŠQˆ$‰Ü˜1Ÿ9™9›;ª²IºyÐ(IÕJr=   N)r¶   r·   r¸   ro  rr  rt  rx  rz  r€  rƒ  r†  rb   r=   r;   rm  rm  Ð  s.   „ ò+òò"Gò,;ò&2ò+(òZ@óKr=   rm  c                   óR   — 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y)Ú_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 ]�  }| j                  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                  |«       Œ� y )NrÓ  ró   F)FFFr+  r,  s      r;   Ú#test_dtype_preservation_empty_indexz6_TestFancyIndexing.test_dtype_preservation_empty_indexg  s£   € ô —8‘8œRŸX™X¤r§z¡z´2·:±:Ð>ò 	-ˆBØ—‘˜v¨R�Ó0ˆAÜ˜š1˜u e˜nÐ,Ñ-×3Ñ3°RÔ8Ü˜Ò0²!Ð3Ñ4×:Ñ:¸BÔ?Ü˜š1˜b˜5™Ÿ™¨Ô,Ü˜˜2šq˜5™Ÿ™¨Õ,ñ	-r=   c                 ó\  — | j                  t        j                  ddg«      «      }t        t        |j
                  d«      j                  d«       t        t        |j
                  d«      j                  d«       g d¢g d¢f}t        t        |j
                  |«      j                  d«       y )NrŒ  ÚfoozIndex dimension©rf   rŒ  rà  rÒ  r_  )rù   rK   r   r  rÖ  rý  rk  )r¡   rR   Úidxs      r;   Útest_bad_indexz!_TestFancyIndexing.test_bad_indexq  s{   € Ø�N‰Nœ2Ÿ8™8 Q¨ FÓ+Ó,ˆÜ”j !§-¡-°Ó7×=Ñ=Ð>OÔPÜ”j !§-¡-°Ó<×BÑBÐCTÔUÚš,Ð'ˆÜ”j !§-¡-°Ó5×;Ñ;Ð<LÕMr=   c           
      ó€  — | j                  t        d«      j                  dd«      «      }| j                  |«      }t	        |dg   j                  «       |dg   «       t	        |ddg   j                  «       |ddg   «       t	        |ddgf   j                  «       |ddgf   «       t	        |dddgf   j                  «       |dddgf   «       t	        |dddgf   j                  «       |dddgf   «       t	        |t        d«      ddgf   j                  «       |dddgf   «       t	        |dt        ddg«      f   j                  «       |dddgf   «       t	        |t        d«      t        ddg«      f   j                  «       |dddgf   «       t	        |d d …g d	¢f   j                  «       |d d …g d	¢f   «       t	        |dd
…dgf   j                  «       |dd
…dgf   «       t	        |dd
…ddgf   j                  «       |dd
…ddgf   «       t	        |dd
…t        ddg«      f   j                  «       |dd
…ddgf   «       t	        |dgdf   j                  «       |dgdf   «       t	        |ddgdf   j                  «       |ddgdf   «       t	        |ddgdf   j                  «       |ddgdf   «       t	        |t        ddg«      df   j                  «       |ddgdf   «       t	        |ddgt        d«      f   j                  «       |ddgdf   «       t	        |t        ddg«      t        d«      f   j                  «       |ddgdf   «       t	        |dgd d …f   j                  «       |dgd d …f   «       t	        |ddgd d …f   j                  «       |ddgd d …f   «       t	        |ddgdd…f   j                  «       |ddgdd…f   «       t	        |t        ddg«      dd…f   j                  «       |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   j                  «       |dgdggdd
gf   «       t	        |dgdgdggddgf   j                  «       |dgdgdggddgf   «       t	        |t        dgdgdgg«      ddgf   j                  «       |dgdgdggddgf   «       t	        |dgdgdggt        ddg«      f   j                  «       |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   j                  «       |dgdgdggddgf   «       t	        |ddg   j                  «       |ddg   «       t	        |ddg   j                  «       |ddg   «       t	        |t        ddg«         j                  «       |ddg   «       t	        |dgd d …f   d d …d
gf   j                  «       |dgd d …f   d d …d
gf   «       t	        |ddgd d …f   d d …dd
gf   j                  «       |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   j                  «       |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   j                  «       |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   j                  «       |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   j                  «       |dddggf   ddggdf   «       |j                  dk(  r]t	        |d d…ddggf   j                  «       |d d…ddggf   «       t	        |ddggd d…f   j                  «       |ddggd d…f   «       n`t        j                  t        d¬«      5  |d d…ddggf    d d d «       t        j                  t        d¬«      5  |ddggd d…f    d d d «       t	        |d d …ddgf   dd
gd d …f   j                  «       |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   j                  «       |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   j                  «       |d d …ddgf   ddgd d …f   «       t        t        d«      t        d
«      d «      }t	        ||d d …f   j                  «       |dd
…d d …f   «       t	        |d d …|f   j                  «       |d d …dd
…f   «       t        j                  dggt        ¬«      }t	        |||f   j                  «       |||f   «       t	        |g gg gf   j                  «       |g gg gf   «       y # 1 sw Y   �ŒãxY w# 1 sw Y   �ŒÀxY w)NrŽ  rŒ  rW   rô   rè   ré   rf   r­  )rf   rã  rô   ré   r”  rä  r¯  rã  r»  rF  r   rÍ  z"Only 1D or 2D|>2D is not supportedrj  ró   )r	  r   rú   rù   r   rš   r   rü   r  r   rÖ  r5  r   rK   ra  )r¡   rS   rR   rø  r“  s        r;   Útest_fancy_indexingz&_TestFancyIndexing.test_fancy_indexingx  sÓ  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆô 	�Q˜�s‘V—^‘^Ó% q¨!¨¡vÔ.Ü�Q˜˜1�v‘Y×&Ñ&Ó(¨!¨Q°¨F©)Ô4ô 	�Q�q˜1˜#�v‘Y×&Ñ&Ó(¨!¨A°¨s¨F©)Ô4Ü�Q�q˜1˜a˜&�y‘\×)Ñ)Ó+¨Q¨q°1°a°&¨y©\Ô:Ü�Q�r˜A˜r˜7�{‘^×+Ñ+Ó-¨q°°a¸°W°©~Ô>Ü�Q”u˜R“y 1 b 'Ð)Ñ*×2Ñ2Ó4°a¸¸QÀ¸G¸±nÔEÜ�Q�rœ5 ! R ›>Ð)Ñ*×2Ñ2Ó4°a¸¸QÀ¸G¸±nÔEÜ�Q”u˜R“y¤%¨¨B¨£.Ð0Ñ1×9Ñ9Ó;¸Q¸rÀAÀrÀ7¸{¹^ÔLô 	�Q’qš-Ð'Ñ(×0Ñ0Ó2°A²aºÐ6FÑ4GÔHÜ�Q�q˜�s˜Q˜C�x‘[×(Ñ(Ó*¨A¨a°¨c°A°3¨h©KÔ8Ü�Q�q˜�s˜R ˜H�}Ñ%×-Ñ-Ó/°°1°Q°3¸¸R¸°=Ñ1AÔBÜ�Q�q˜�sœE 2 r (›OÐ+Ñ,×4Ñ4Ó6¸¸!¸A¸#ÀÀB¸x¸-Ñ8HÔIô 	�Q˜�s˜A�v‘Y×&Ñ&Ó(¨!¨Q¨C°¨F©)Ô4Ü�Q˜˜1�v˜q�y‘\×)Ñ)Ó+¨Q°°1¨v°q¨y©\Ô:Ü�Q˜˜2�w �{‘^×+Ñ+Ó-¨q°!°R°¸"°©~Ô>Ü�Q”u˜a ˜W“~ rÐ)Ñ*×2Ñ2Ó4°a¸¸B¸À¸±nÔEÜ�Q˜˜2�w¤ b£	Ð)Ñ*×2Ñ2Ó4°a¸¸B¸À¸±nÔEÜ�Q”u˜a ˜W“~¤u¨R£yÐ0Ñ1×9Ñ9Ó;¸QÀÀ2¸wÈ¸{¹^ÔLô 	�Q˜�sšA�v‘Y×&Ñ&Ó(¨!¨Q¨C²¨F©)Ô4Ü�Q˜˜1�všq�y‘\×)Ñ)Ó+¨Q°°1¨v²q¨y©\Ô:Ü�Q˜˜2�w  " �}Ñ%×-Ñ-Ó/°°A°r°7¸A¸b¸D°=Ñ1AÔBÜ�Q”u˜a ˜W“~ q¨ tÐ+Ñ,×4Ñ4Ó6¸¸1¸b¸'À1ÀRÀ4¸-Ñ8HÔIô 	”W˜Q ˜s Q C˜x™[Ó)¨1¨a¨S°1°#¨X©;Ô7Ü”W˜Q  1˜v¨¨1 v˜~Ñ.Ó/°°A°q°6¸A¸q¸6°>Ñ1BÔCÜ”W˜Q  B˜x¨!¨R¨Ð0Ñ1Ó2°A°r¸2°hÀÀBÀÐ6GÑ4HÔIÜÜ�A”e˜R ˜H“o¨¨2 wÐ.Ñ/Ó0°!°R¸°H¸qÀ"¸gÐ4EÑ2Fô	
ô 	Ü�A�r˜2�h¤ q¨" g£Ð.Ñ/Ó0°!°R¸°H¸qÀ"¸gÐ4EÑ2Fô	
ô 	Ü�A”e˜R ˜H“o¤u¨a°¨W£~Ð5Ñ6Ó7¸¸BÀ¸8ÀaÈÀWÐ;LÑ9Mô	
ô
 	�Q˜˜˜a˜S�z A q 6Ð)Ñ*×2Ñ2Ó4°a¸!¸¸q¸c¸
ÀQÈÀFÐ8JÑ6KÔLÜØ�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ñ*×2Ñ2Ó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Ø�ˆt�b�T˜B˜4Ð  1 b 'Ð)Ñ*ô	
ô 	�Q˜˜1�v‘Y×&Ñ&Ó(¨!¨Q°¨F©)Ô4Ü�Q˜˜B�x‘[×(Ñ(Ó*¨A¨r°2¨h©KÔ8Ü�Q”u˜b "˜X“Ñ'×/Ñ/Ó1°1°b¸"°X±;Ô?ô 	�Q˜�sšA�v‘Yšq 1 #˜vÑ&×.Ñ.Ó0°!°Q°Cº°F±)ºAÀ¸s¸FÑ2CÔDÜØˆq�!ˆf’aˆi‰Lš˜Q ˜F˜Ñ#×+Ñ+Ó-¨q°!°Q°º°©|ºAÀÀ1¸v¸IÑ/Fô	
ô 	Øˆr�2ˆhšˆk‰Nš1˜q "˜g˜:Ñ&×.Ñ.Ó0°!°R¸°Hºa°K±.ÂÀQÈÀGÀÑ2Lô	
ô 	ØŒe�R˜�H‹ošqÐ Ñ!¢!¤U¨A¨r¨7£^Ð"3Ñ4×<Ñ<Ó>Øˆr�2ˆhšˆk‰Nš1˜q "˜g˜:Ñ&ô	
ô
 	Øˆa�1�a�&�ˆk‰N˜Q ˜F˜8 Q˜;Ñ'×/Ñ/Ó1°1°Q¸!¸Q¸¸°[±>ÀAÀqÀ6À(ÈAÀ+Ñ3Nô	
ô 	Øˆa�2�r�(�ˆmÑ˜q "˜g˜Y¨˜\Ñ*×2Ñ2Ó4°a¸¸RÀ¸H¸:¸Ñ6FÈÈBÈÀyÐRSÀ|Ñ6Tô	
ð �8‰8�uÒÜ˜˜2˜A˜2  A ˜x˜<™×0Ñ0Ó2°A°b°q°b¸A¸q¸6¸(°l±OÔDÜ˜˜Q ˜F˜8 R a R˜<™×0Ñ0Ó2°A¸¸1°v°hÀÀÀ°l±OÕDä—‘œzÐ1UÔVñ  Ø�"�1�"˜˜1�v�h�,’÷ ä—‘œzÐ1UÔVñ  Ø�A�q�6�(˜B˜Q˜B�,’÷ ô 	ØŠa�!�Q�ˆi‰L˜!˜Q˜¢˜Ñ#×+Ñ+Ó-¨q²°Q¸°F°©|¸QÀ¸FÂA¸IÑ/Fô	
ô 	ØŠa�"�b�ˆk‰N˜A˜r˜7¢A˜:Ñ&×.Ñ.Ó0°!²A¸¸B°x°K±.À!ÀRÀÊ!ÀÑ2Lô	
ô 	ØŠa”˜˜B�x“Ð Ñ!¤%¨¨B¨£.²!Ð"3Ñ4×<Ñ<Ó>ØŠa�"�b�ˆk‰N˜A˜r˜7¢A˜:Ñ&ô	
ô ”$�q“'œ$˜q›' $Ó'ˆÜ�Q�qš!�t‘W—_‘_Ó&¨¨!¨A¨#ªq¨&©	Ô2Ü�Q’q˜!�t‘W—_‘_Ó&¨ª!¨Q¨q¨S¨&©	Ô2ô �H‰H�q�c�U¤#Ô&ˆÜ�Q�q˜!�t‘W—_‘_Ó&¨¨!¨Q¨$©Ô0ô 	�Q˜�t˜b˜T�z‘]×*Ñ*Ó,¨a°°°r°d°
©mÕ<÷9 ñ  ú÷ ñ  ús   â8j&ã(j3ê&j0ê3j=c                 ó†  — t         j                  j                  d«       d}d}d}| j                  t         j                  j	                  ||«      «      }t        j
                  ||dkD  «      }t         j                  j                  | dz   ||¬«      }t         j                  j                  | dz   ||¬«      }| j                  |«      }|||f   }t        |«      r|j                  «       }t        ||||f   «       ||z   }	||z
  }
t        t        |j                  |	|f«       t        t        |j                  ||
f«       y )Nrd   rŽ  rò   r”  r  rè   r  )rK   r•   r  r	  r8  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ø  s  € Ü
�	‰	�‰�tÔàˆØˆØˆà�L‰LœŸ™Ÿ™¨¨!Ó,Ó-ˆÜ�K‰K˜˜1˜s™7Ó#ˆä�I‰I×Ñ˜q˜b 1™f a¨kÐÓ:ˆÜ�I‰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\  }}| j                  t        ||z  «      j                  ||«      «      }| j                  |«      }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 ]Q  \  }
}t        |
t        «      rt        |t        «      rŒ't        j                  t        |	¬«      5  ||
|f   }d d d «       ŒS y # 1 sw Y   Œ^xY w)Nr  rè   ró   rf   z(bool index .* has shape .* instead of .*rj  )r	  r   rú   rù   rK   r  r  rR  rS  r5  rJ   r  r   rÖ  )r¡   r•  r˜  rS   rR   Úrow_longÚ	row_shortÚcol_longÚ	col_shortrk  r“  r   r$  s                r;   Útest_missized_maskingz(_TestFancyIndexing.test_missized_masking  s  € Ø‰ˆˆ1à�L‰Lœ  A¡›×.Ñ.¨q°!Ó4Ó5ˆØ�N‰N˜1Óˆô —7‘7˜1˜q™5¬Ô-ˆÜ—G‘G˜A ™E¬Ô.ˆ	Ü—7‘7˜1˜q™5¬Ô-ˆÜ—G‘G˜A ™E¬Ô.ˆ	à8ˆÜ×%Ñ%Ø�y¤%¨£+Ð.Ø�y¤%¨£+Ð.ó
ò 	‰DˆAˆqô ˜!œUÔ#¬
°1´eÔ(<ØÜ—‘œz°Ô7ñ Ø�a˜�d‘G�÷ð ñ	÷ð ús   Ä.EÅE
	c                 óF  — t         j                  j                  d«       | j                  t	        d«      j                  dd«      «      }| j                  |«      }t        j                  t         j                  j                  ddd¬«      t        ¬«      }t        j                  t         j                  j                  ddd¬«      t        ¬«      }t        j                  t         j                  j                  ddd	¬«      t        ¬«      }t        t        ||   «      ||   «       t        t        |d d …|f   «      |d d …|f   «       t        t        ||   «      ||   «       t        t        ||d
kD     «      ||d
kD     «       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«       y )Nrd   rŽ  rŒ  rW   r   rf   r  ró   r  rä  )TFTTF)
FTTFTFFFFF)rò   r4  Tr  )ré   r   rè   )rK   r•   r  r	  r   rú   rù   r   r  r  r   rš   r   r  rÖ  rý  r  )	r¡   rS   rR   r”  r  rr  ÚZ1ÚZ2ÚZ3s	            r;   Útest_fancy_indexing_booleanz._TestFancyIndexing.test_fancy_indexing_boolean(  sé  € Ü
�	‰	�‰�tÔà�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆä�H‰H”R—Y‘Y×&Ñ& q¨!°!Ð&Ó4¼DÔAˆÜ�H‰H”R—Y‘Y×&Ñ& q¨!°"Ð&Ó5¼TÔBˆÜ�H‰H”R—Y‘Y×&Ñ& q¨!°'Ð&Ó:Ä$ÔGˆä”W˜Q˜q™T“] A a¡DÔ)Ü”W˜Qšq !˜t™WÓ% qª¨A¨¡wÔ/Ü”W˜Q˜q™T“] A a¡DÔ)Ü”W˜Q˜q 1™u™XÓ&¨¨!¨a©%©Ô1ä�H‰HÒ5Ó6ˆÜ�H‰Hò 9ó :ˆô 	”W˜Q˜q !˜t™WÓ% q¨¨A¨¡wÔ/ä�X‰X�g¤TÔ*ˆÜ�X‰X�g¤TÔ*ˆØˆˆ4‰Ü�X‰X�g¤TÔ*ˆØˆˆ4‰ä”j !§-¡-°Ô4Ü”j !§-¡-°Ô4Ü”j !§-¡-°Ô4Ü”z¤:Ð.°·±ÀÀ1¸vÕFr=   c                 óª  — t         j                  j                  d«       | j                  t	        d«      j                  dd«      «      }| j                  |«      }t        j                  t         j                  j                  ddd¬«      t        ¬	«      }| j                  |«      }t        t        ||   «      ||   «       t        t        ||d
kD     «      ||d
kD     «       t        j                  t         j                  j                  ddd¬«      t        ¬	«      }t        j                  t         j                  j                  ddd¬«      t        ¬	«      }| j                  |«      }| j                  |«      }t        t        |j                  |«       t        t        |j                  |«       t        t        t         f|j                  |df«       y )Nrd   rŽ  rŒ  rW   r   rf   r  r  ró   rä  )rŒ  r4  )rò   rW   rè   )rK   r•   r  r	  r   rú   rù   r   r  r  r  r   rš   r  rÖ  rý  r  )	r¡   rS   rR   rr  ÚXspÚZrs  ÚZspÚYsps	            r;   Ú"test_fancy_indexing_sparse_booleanz5_TestFancyIndexing.test_fancy_indexing_sparse_booleanH  sO  € Ü
�	‰	�‰�tÔà�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØ�N‰N˜1Óˆä�H‰H”R—Y‘Y×&Ñ& q¨!°'Ð&Ó:Ä$ÔGˆà× Ñ  Ó#ˆä”W˜Q˜s™V“_ a¨¡dÔ+Ü”W˜Q˜q 1™u™XÓ&¨¨!¨a©%©Ô1ä�H‰H”R—Y‘Y×&Ñ& q¨!°'Ð&Ó:Ä$ÔGˆÜ�H‰H”R—Y‘Y×&Ñ& q¨!°'Ð&Ó:Ä$ÔGˆà× Ñ  Ó#ˆØ× Ñ  Ó#ˆä”j !§-¡-°Ô5Ü”j !§-¡-°Ô5Ü”z¤:Ð.°·±ÀÀQ¸xÕHr=   c                 óì   — | j                  t        g d¢g d¢g d¢g«      «      }t        j                  |j	                  d«      «      dkD  }t        |d d …|f   j                  «       ddgddgddgg«       y )Nrx  r.  r   rè   )rù   r   rK   Úravelr5  r   rš   )r¡   r¢   Údesired_colss      r;   Ú#test_fancy_indexing_regression_3087z6_TestFancyIndexing.test_fancy_indexing_regression_3087_  sf   € Ø�n‰nœU¢IªwºÐ#@ÓAÓBˆÜ—x‘x §¡¨£
Ó+¨aÑ/ˆÜ�Sš˜L˜Ñ)×1Ñ1Ó3°q¸!°f¸qÀ!¸fÀqÈ!ÀfÐ5MÕNr=   c           	      ó¦   — | j                  t        ddgddgg«      «      }t        t        |j                  dt        j                  ddg«      «       y )Nrè   r   rÖ  rf   )rù   r   r  r  r  rK   r    s     r;   Útest_fancy_indexing_seq_assignz1_TestFancyIndexing.test_fancy_indexing_seq_assignd  s@   € Ø�n‰nœU Q¨ F¨Q°¨FÐ#3Ó4Ó5ˆÜ”j #§/¡/°6¼2¿8¹8ÀQÀqÀE»?ÕKr=   c                 óD  — | j                  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 «       t        t        |«      t        ddgddgg«      «       y # 1 sw Y   Œ.xY w)Nrè   r   rf   rô   r)  )	rù   r   r*  r+  r  r	  r)   r   rš   r    s     r;   Útest_fancy_indexing_2d_assignz0_TestFancyIndexing.test_fancy_indexing_2d_assignh  sŸ   € à�n‰nœU Q¨ F¨Q°¨FÐ#3Ó4Ó5ˆÜ×$Ñ$Ó&ñ 	6Ü×#Ñ# H¬dÔ4KÔLØ"% q¨! f¨q°!¨f nÑ"5ˆC��A�˜˜A˜�Ñ÷	6ô 	”W˜S“\¤5¨1¨a¨&°1°a°&Ð)9Ó#:Õ;÷	6ð 	6ús   µ4BÂBc                 óz  — | j                  t        d«      j                  dd«      «      }d|dd d …f<   d|d d …df<   d|d<   | j                  |«      }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   «       y )NrŽ  rŒ  rW   r   rè   rf   ©rô   rò   ©FFFFFró   ©r   rè   rf   rô   r”  ©	r	  r   rú   rù   rK   r   r   rš   ra  ©r¡   rS   rR   r  r  s        r;   Útest_fancy_indexing_emptyz,_TestFancyIndexing.test_fancy_indexing_emptyp  s  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØˆˆ!ŠAˆ#‰ØˆŠ!ˆAˆ#‰Øˆˆ#‰Ø�N‰N˜1Óˆä�H‰HÒ8Ó9ˆÜ”W˜Q˜q™T“] A a¡DÔ)Ü�H‰H�RœsÔ#ˆÜ”W˜Q˜q™T“] A a¡DÔ)Ü”W˜Q˜q !˜t™WÓ% q¨¨A¨¡wÔ/Ü�H‰H’_¬CÔ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¸  rb   r=   r;   rˆ  rˆ  b  sF   „ ñò-òNò~=ò@<ò4ò,Gò@Iò.Oò
Lò<ó0r=   rˆ  c              #   óÞ   K  — t        | d«      r| j                  sd–— yd–— | j                  j                  «       }d| _        | j	                  «        t        || j                  d«       y­w)zIChecks that sorted indices property is retained through an operation
    Úhas_sorted_indicesNFz'Expected sorted indices, found unsorted)rÔ  rº  rÊ  r-  Úsort_indicesr   )rr  rÊ  s     r;   Úcheck_remains_sortedr¼  �  sZ   è ø€ ô �1Ð*Ô+°1×3GÒ3GÛØÛ	Ø�i‰i�n‰nÓ€GØ €AÔØ‡N�NÔÜ�w §	¡	Ø@õBùs   ‚A+A-c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestFancyIndexingAssignc                 óì   — | j                  t        j                  ddg«      «      }t        t        t
        t        f|j                  dd«       t        t        t
        t        f|j                  dd«       y )NrŒ  rŒ  rf   r�  )rù   rK   r   r  rÖ  r  r—  r  r±  s     r;   Útest_bad_index_assignz._TestFancyIndexingAssign.test_bad_index_assign‘  sQ   € Ø�N‰Nœ2Ÿ8™8 Q¨ FÓ+Ó,ˆÜ”z¤:¬yÐ9¸1¿=¹=È%ÐQRÔSÜ”z¤:¬yÐ9¸1¿=¹=È*ÐVWÕ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 ]  \  }} |||«       Œ y )Nr  c                 ó˜  •— ‰j                  ‰‰f«      }‰j                  t        j                  ‰‰f«      «      }t	        j
                  «       5  t	        j                  dt        t        «       d|| |f<   t        |«      5  d|| |f<   d d d «       d d d «       t        |j                  «       |«       y # 1 sw Y   Œ,xY w# 1 sw Y   Œ0xY w©Nr)  rè   )rù   r	  rK   r   r*  r+  r  r	  r)   r¼  r   rš   ©r“  r   rR   rS   r§  rÿ  r¡   s       €€€r;   Ú_test_set_slicezI_TestFancyIndexingAssign.test_fancy_indexing_set.<locals>._test_set_slice™  s­   ø€ Ø—‘  1˜vÓ&ˆAØ—‘œRŸX™X q¨! fÓ-Ó.ˆAÜ×(Ñ(Ó*ñ  Ü×'Ñ'¨´$Ô8OÔPØ��!�Q�$‘Ü)¨!Ó,ñ  Ø�A�a˜�d‘G÷ ÷ ô
 & a§i¡i£k°1Õ5÷ ð  ú÷ ð  ús$   Á2C ÂB4Â	C Â4B=	Â9C Ã C	r½  rW   r”  rô   rŒ  rF  rf   )re  r~  )r5  rK   r   ©r¡   rÅ  r“  r   r§  rÿ  s   `   @@r;   Útest_fancy_indexing_setz0_TestFancyIndexingAssign.test_fancy_indexing_set–  s©   ú€ Ø‰ˆˆ1ö	6ð  ¤ t¨R°Ó!3Ð4Ü—i‘i “l¤E¨!¨R£LÐ1Ü˜A˜q“k¤5¨¨B£<Ð0ð2ò 	"‰DˆAˆqñ ˜A˜qÕ!ð	"ô —i‘i “l¤B§I¡I¨a£LÐ1Ð3IÐJò 	"‰DˆAˆqÙ˜A˜qÕ!ñ	"r=   c                 ó\   ‡ — ˆ fd„}t         D ]  } |t        j                  |«      «       Œ y )Nc                 óx  •— ‰j                  d| ¬«      }t        j                  «       5  t        j                  dt        t
        «       | j                  d«      |ddgddgf<   t        |j                  «       | j                  d«      dz  «       | j                  d«      |dd…dd…f<   t        |j                  «       | j                  d«      dz  «       | j                  d«      |d	<   t        |j                  «       | j                  d«      dz  | j                  d«      z   «       d d d «       y # 1 sw Y   y xY w)
Nrž  ró   r)  rè   r   rf   rŽ  r”  rÔ  )	rù   r*  r+  r  r	  r)   r`  r   r5  r  s     €r;   r  zD_TestFancyIndexingAssign.test_fancy_assignment_dtypes.<locals>.check«  sù   ø€ Ø—‘˜v¨U�Ó3ˆAÜ×(Ñ(Ó*ñ GÜ×'Ñ'¨´$Ô8OÔPØ!&§¡¨A£��1�Q�%˜˜1˜�+‘Ü˜QŸU™U›W e§j¡j°£m°A¡oÔ6Ø"ŸZ™Z¨›_��!�A�#�a˜�c�'‘
Ü˜QŸU™U›W e§j¡j°£m°A¡oÔ6ØŸ™ C›��#‘Ü˜QŸU™U›W e§j¡j°£m°A¡o¸¿
¹
À1»Ñ&EÔF÷G÷ Gñ Gús   ©C>D0Ä0D9rþ  r   s   `  r;   Útest_fancy_assignment_dtypesz5_TestFancyIndexingAssign.test_fancy_assignment_dtypesª  s*   ø€ ô		Gô &ò 	#ˆEÙ”"—(‘(˜5“/Õ"ñ	#r=   c                 óð  — | j                  d«      }| j                  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 «       t        |j                  «       |j                  j                  «       «       | j                  d	«      }t        |«      5  d
dg|ddd…f<   d d d «       t        |j                  «       g d¢g d¢g«       | j                  d«      }t        |«      5  d
gdgg|dd…df<   d d d «       t        |j                  «       ddgdd
gddgg«       | j                  d«      }| j                  t        j                  d«      «      }t        |«      5  ||fD ]  }g d¢|g d¢g d¢f<   Œ 	 d d d «       t        |j                  «       |«       | j                  d«      }t        |«      5  g d¢|d<   d d d «       t        |j!                  «       d«       | j                  t        j                  d«      «      }g d¢|d<   t        |j                  «       |«       d d d «       y # 1 sw Y   �ŒïxY w# 1 sw Y   �ŒšxY w# 1 sw Y   �ŒUxY w# 1 sw Y   ŒÞxY w# 1 sw Y   Œ¤xY w# 1 sw Y   y xY w)Nry  rô   r”  r,  r)  r   rè   rf   r  rW   rð  re  )r   rW   rð  rÓ  ra  rá  rà  )rà  r,  rò   )rù   r'   r   r*  r+  r  r	  r)   r¼  r@  r   rš   r	  rK   r   r   r5  )r¡   rR   rS   Úi0Úi1Úi2rþ   s          r;   Útest_sequence_assignmentz1_TestFancyIndexingAssign.test_sequence_assignment¹  s¦  € Ø�N‰N˜5Ó!ˆØ�N‰Nœ3˜q ›8Ó$ˆâˆØˆÜ�2‹Yˆä×$Ñ$Ó&ñ #	/Ü×#Ñ# H¬dÔ4KÔLÜ% aÓ(ñ $Ø˜B˜q˜D™'Ÿ)™)��!�B�$‘Ø˜B˜q˜D™'Ÿ)™)��!�B�$‘Ø˜B˜q˜D™'Ÿ)™)��!�B�$‘÷$ô ˜qŸy™y›{¨A¯C©C¯K©K«MÔ:ð —‘˜uÓ%ˆAÜ% aÓ(ñ #Ø˜r˜7��!�A�a�C�%‘÷#ä˜qŸy™y›{ªYºÐ,DÔEð —‘˜uÓ%ˆAÜ% aÓ(ñ 'Ø˜D " ˜;��!�A�#�a�%‘÷'ä˜qŸy™y›{¨a°¨V°a¸°W¸qÀ"¸gÐ,FÔGð —‘˜uÓ%ˆAØ—‘œRŸX™X e›_Ó-ˆAÜ% aÓ(ñ 2Ø˜Q˜ò 2�AÚ*1�A’gšwÐ&Ò'ñ2÷2ô ˜qŸy™y›{¨AÔ.ð —‘˜vÓ&ˆAÜ% aÓ(ñ 4Ú*3�Ð&Ñ'÷4ä §¡£¨Ô+Ø—‘œRŸX™X fÓ-Ó.ˆAÚ&/ˆAÐ"Ñ#Ü˜qŸy™y›{¨AÔ.÷G#	/ð #	/÷$ñ $ú÷#ñ #ú÷'ñ 'ú÷2ð 2ú÷4ð 4ú÷=#	/ð #	/ús‰   Á+K,Á=AJ-Ã AK,ÄJ:Ä"AK,Å&KÅ4A+K,ÇKÇ7>K,È5K È=A'K,Ê-J7	Ê2K,Ê:K	Ê?K,ËK	ËK,ËK	ËK,Ë K)	Ë%K,Ë,K5c                 ód  — | j                  t        d«      j                  dd«      «      }d|dd d …f<   d|d d …df<   d|d<   | j                  |«      }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        |«      |«       y )NrŽ  rŒ  rW   r   rè   rf   r³  r´  é*   ró   rµ  r¶  r·  s        r;   Útest_fancy_assign_emptyz0_TestFancyIndexingAssign.test_fancy_assign_emptyæ  s	  € Ø�L‰Lœ ›×+Ñ+¨A¨bÓ1Ó2ˆØˆˆ!ŠAˆ#‰ØˆŠ!ˆAˆ#‰Øˆˆ#‰Ø�N‰N˜1Óˆä�H‰HÒ8Ó9ˆØˆˆ!‰Ü”W˜Q“Z Ô#ä�H‰H�RœsÔ#ˆØˆˆ!‰Ü”W˜Q“Z Ô#Øˆˆ!ˆAˆ#‰Ü”W˜Q“Z Ô#ä�H‰H’_¬CÔ0²°4°Ñ8ˆØˆˆ!ˆAˆ#‰Ü”W˜Q“Z Ô#Øˆˆ!ˆAˆ#‰Ü”W˜Q“Z Õ#r=   N)r¶   r·   r¸   rÀ  rÇ  rÊ  rÏ  rÒ  rb   r=   r;   r¾  r¾  �  s   „ òYò
"ò(#ò+/óZ$r=   r¾  c                   ó   — e Zd Zd„ Zy)Ú_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                  j                  d	«       | j	                  t         j                  j                  d
d«      «      }| j                  |«      }|j                  dk(  rU|j                  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 �]%  \  }}|||f   }|||f   }t        t        |«      |«       |d
z   }|dz   }	t        t        |j                  ||f«       t        t        |j                  ||	f«       |j                  dk7  rQt        t        |j                  ||gt        d «      f«       t        t        |j                  t        d «      ||gf«       ŒÎt        |||gd d …f   j                  «       |||gd d …f   «       t        |d d …||gf   j                  «       |d d …||gf   «       �Œ( y )Nrè   rf   rô   ©rô   r”  rf   rà  r”  ©rŒ  rò   rô   ©rf   rô   rè   rd   rŒ  râ  rÍ  rò   )rK   r   r•   r  r	  r8  rù   rü   rM   r   rš   r  rÖ  rý  r5  )
r¡   ÚIandJrÈ  r®  r”  r  r•  ÚDIJr–  r—  s
             r;   Útest_fancy_indexing_ndarrayz._TestFancyMultidim.test_fancy_indexing_ndarrayÿ  sŒ  € ä�X‰X˜�s˜Q˜C ! �oÓ&¬¯©²Ó(;Ð<Ü�X‰X˜�s˜Q˜C ! �oÓ&¬¯©²)°Ó(=Ð>Ü�X‰X’y�kÓ"¤B§H¡H¨q¨c°A°3¸¸¨_Ó$=Ð>Ü�X‰X’iÓ ¤"§(¡(¨Q¨C°!°°q°c¨?Ó";Ð<Ü�X‰X’y¢)Ð,Ó-¬r¯x©xºÂIÐ8NÓ/OÐPð
ˆô 	�	‰	�‰�tÔØ�L‰LœŸ™Ÿ™¨¨1Ó-Ó.ˆØ�N‰N˜1Óˆð �8‰8�uÒØ�L‰LÜ—‘˜Q˜C !  q c˜?¨a¨S°1°#¸°s¨OÐ<Ó=Ü—‘˜Q˜C !  q c˜?¨a¨S°1°#¸°s¨OÐ<Ó=ð?ôð
 ó 	C‰DˆAˆqØ�A�q�D‘'ˆCØ�A�q�D‘'ˆCÜœ › sÔ+à˜‘EˆEØ˜‘EˆEäœ* a§m¡m°e¸Q°ZÔ@Üœ* a§m¡m°a¸°ZÔ@à�x‰x˜5Ò Üœj¨!¯-©-¸1¸a¸&Ä%ÈÃ+Ð9NÔOÜœj¨!¯-©-¼%À»+ÈÈ1ÀvÐ9NÕOä˜Q  1˜v¢q˜y™\×1Ñ1Ó3°Q¸¸1°vºq°y±\ÔBÜ˜Qšq 1 a &˜y™\×1Ñ1Ó3°Q²q¸1¸a¸&°y±\ÖBñ!	Cr=   N)r¶   r·   r¸   rÛ  rb   r=   r;   rÔ  rÔ  þ  s   „ ó$Cr=   rÔ  c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)Ú_TestFancyMultidimAssignc                 ó²  — t         j                  j                  d«       | j                  t         j                  j	                  dd«      «      }| j                  |«      }t         j                  j	                  dd«      }t        j                  g d¢g d¢g«      }t        j                  g d¢g d	¢g«      }t        |«      5  ||||f<   d d d «       ||||f<   t        |j                  «       |«       |dz   }|dz   }g d¢}t        |«      5  ||||f<   d d d «       ||||f<   t        |j                  «       |«       t        |«      5  d|||f<   d d d «       d|||f<   t        |j                  «       |«       t        t        |j                  ||f|«       t        t        |j                  ||f|«       y # 1 sw Y   ŒíxY w# 1 sw Y   Œ¯xY w# 1 sw Y   ŒxY w©
Nrd   rŒ  râ  rf   rô   rà  rÖ  r×  rØ  )rK   r•   r  r	  r8  rù   r   r¼  r   rš   r  rÖ  r  )	r¡   rÈ  r®  rr  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‰I�N‰N˜1˜aÓ ˆä�H‰H’i¢Ð+Ó,ˆÜ�H‰H’i¢Ð+Ó,ˆä! !Ó$ñ 	ØˆAˆa�ˆc‰F÷	àˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$à�A‘ˆØ�A‘ˆâˆä! !Ó$ñ 	ØˆAˆa�ˆc‰F÷	àˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$ä! !Ó$ñ 	ØˆAˆa�ˆc‰F÷	àˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$ä”j !§-¡-°%¸°¸AÔ>Ü”j !§-¡-°!°E°¸AÕ>÷+	ð 	ú÷	ð 	ú÷
	ð 	ús$   ÃF5ÄGÅGÆ5F>ÇG
ÇG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 ]  \  }} |||«       Œ y )Nr  c                 ó˜  •— ‰j                  ‰‰f«      }t        |«      5  t        j                  «       5  t        j                  dt
        t        «       d|| |f<   d d d «       d d d «       ‰j                  t        j                  ‰‰f«      «      }d|| |f<   t        |j                  «       |«       y # 1 sw Y   ŒYxY w# 1 sw Y   Œ]xY wrÃ  )rù   r¼  r*  r+  r  r	  r)   r	  rK   r   r   rš   rÄ  s       €€€r;   rÅ  zR_TestFancyMultidimAssign.test_fancy_indexing_multidim_set.<locals>._test_set_sliceK  s¬   ø€ Ø—‘  1˜vÓ&ˆAÜ% aÓ(ñ ¬(×*AÑ*AÓ*Cñ Ü×'Ñ'¨´$Ô8OÔPØ��!�Q�$‘÷÷ ð —‘œRŸX™X q¨! fÓ-Ó.ˆAØˆAˆa�ˆd‰GÜ% a§i¡i£k°1Õ5÷ð ú÷ ð ús"    C µ'B4ÁC Â4B=	Â9C Ã C	rè   rf   rô   r   r”  rà  ©r   rf   r”  )r   r”  rô   )r”  rè   rf   )rK   r   rÆ  s   `   @@r;   Ú test_fancy_indexing_multidim_setz9_TestFancyMultidimAssign.test_fancy_indexing_multidim_setH  s‹   ú€ Ø‰ˆˆ1ö	6ô —h‘h  A ¨¨A¨Ð/Ó0°1°a°&Ð9ÜŸ™ 1 a &Ó)¨Q°¨F°Q¸°FÐ+;Ð<Ú#¢YÐ/²)ºYÐ1GÐHðJò 	"‰DˆAˆqñ ˜A˜qÕ!ñ	"r=   c           	      óF  — t         j                  j                  d«       | j                  t         j                  j	                  dd«      «      }| j                  |«      }t         j                  j	                  dd«      }g d¢g d¢g}g d¢g d	¢g}||||f<   ||||f<   t        |j                  «       |«       |D ��cg c]  }|D �cg c]  }|dz   ‘Œ	 c}‘Œ }}}|D �	�
cg c]  }	|	D �
cg c]  }
|
dz   ‘Œ	 c}
‘Œ }}	}
g d¢}||||f<   ||||f<   t        |j                  «       |«       d|||f<   d|||f<   t        |j                  «       |«       t        t        |j                  ||f|«       t        t        |j                  ||f|«       y c c}w c c}}w c c}
w c c}
}	w rß  )rK   r•   r  r	  r8  rù   r   rš   r  rÖ  r  )r¡   rÈ  r®  rr  r”  r  r“  Úiir–  r   Újjr—  rþ   s                r;   Útest_fancy_assign_listz/_TestFancyMultidimAssign.test_fancy_assign_listY  sf  € Ü
�	‰	�‰�tÔà�L‰LœŸ™Ÿ™¨¨1Ó-Ó.ˆØ�N‰N˜1ÓˆÜ�I‰I�N‰N˜1˜aÓ ˆâš	Ð"ˆÚš	Ð"ˆàˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$à/0×1¨! 1Ö%˜R�"�q“&Ô%Ð1ˆÑ1Ø/0×1¨! 1Ö%˜R�"�q“&Ô%Ð1ˆÑ1Úˆàˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$àˆˆ!ˆAˆ#‰Øˆˆ!ˆAˆ#‰Ü�Q—Y‘Y“[ !Ô$ä”j !§-¡-°%¸°¸AÔ>Ü”j !§-¡-°!°E°¸AÕ>ùò &ùÓ1ùÚ%ùÓ1s0   Â=	FÃFÃFÃ	FÃ(FÃ4FÆFÆFc                 ó
  — t         j                  j                  d«       | j                  t         j                  j	                  dd«      «      }| j                  |«      }g d¢}g d¢}|D �cg c]  }|dz   ‘Œ	 }}|D �cg c]  }|dz   ‘Œ	 }}g d¢}	t        j                  d«      d d …d f   }
t        t        |j                  |t        d «      f|	«       t        t        |j                  t        d «      |f|
«       y c c}w c c}w )Nrd   rŒ  râ  )rè   rf   rô   rô   r”  rf   )rŒ  rò   rô   rf   rô   rè   )rè   rf   rô   r”  rŒ  rò   râ  )rK   r•   r  r	  r8  rù   r   r  rÖ  r  r5  )r¡   rÈ  r®  r”  r  ræ  r–  rç  r—  ÚC1ÚC2s              r;   Útest_fancy_assign_slicez0_TestFancyMultidimAssign.test_fancy_assign_slicev  sÎ   € Ü
�	‰	�‰�tÔà�L‰LœŸ™Ÿ™¨¨1Ó-Ó.ˆØ�N‰N˜1ÓˆâˆÚˆà"#Ö$˜B��a“Ð$ˆÐ$Ø"#Ö$˜B��a“Ð$ˆÐ$â"ˆÜ�Y‰Y�q‹\š!˜T˜'Ñ"ˆÜ”j !§-¡-°%¼¸t»Ð1EÀrÔJÜ”j !§-¡-´%¸³+¸uÐ1EÀrÕJùò %ùÚ$s   Á,C;Á>D N)r¶   r·   r¸   rà  rä  rè  rì  rb   r=   r;   rÝ  rÝ  &  s   „ ò?òB"ò"?ó:Kr=   rÝ  c                   ó^   — e Zd ZdZd„ Zej                  j                  d«      d„ «       Zd„ Z	y)Ú_TestArithmeticz&
    Test real/complex arithmetic
    c                 ó  — t        g d¢g d¢g d¢g d¢gd«      }t        g d¢g d¢g d¢g d	¢gd
«      }t        g d¢g d¢g d¢g d¢gd«      |_        t        |dz  j                  d«      d|z  «       t        |j                  dz  j                  d«      d|j                  z  «       t        |j                  dz  j                  d«      d|j                  z  «       | j                  |«      }| j                  |«      }||||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   ru   rÆ  rù   )r¡   Ú_TestArithmetic__AÚ_TestArithmetic__BÚ_TestArithmetic__AspÚ_TestArithmetic__Bsps        r;   Ú__arith_initz_TestArithmetic.__arith_initŒ  sþ   € äÒ/Ú9Ú3Ú0ð2ð 4=ó>ˆô Ò.Ú9Ú/Ú5ð7ð 9EóFˆô Ò4Ú;Ú5Ú7ð9ð ;DóEˆŒô 	˜C ™FŸ?™?¨7Ó3°B°s±FÔ;Ü˜CŸH™H R™K×/Ñ/°Ó8¸¸C¿H¹H¹ÔEÜ˜CŸH™H R™K×/Ñ/°Ó8¸¸C¿H¹H¹ÔEà—‘˜sÓ#ˆØ—‘˜sÓ#ˆØ�C˜ Ð%Ð%r=   rð  c                 ó  — | j                  «       \  }}}}t        ||z   j                  «       ||z   «       t        D �]±  }t	        j
                  d¬«      5  |j                  |«      }d d d «       | j                  «      }t        D �]c  }t	        j                  |t        j                  «      s;t	        j
                  d¬«      5  |j                  j                  |«      }	d d d «       n|j                  |«      }	| j                  	«      }
||	z   }||
z   }t        |j                  |j                  «       t        |j                  «       |«       t        ||	z   |«       t        ||
z   |«       t	        j                  d«      ||fv r�Œ||	z
  }||
z
  }t        |j                  |j                  «       t        |j                  «       |«       t        ||	z
  |«       t        ||
z
  |«       �Œf �Œ´ y # 1 sw Y   �ŒŒxY w# 1 sw Y   �ŒxY w)Nr)  rG  r  )Ú_TestArithmetic__arith_initr   rš   r.   rK   rK  ru   rù   rm   rˆ  rÆ  r   r@   ©r¡   rõ  rö  r÷  rø  rA   rR   r$  rB   rS   r  ÚD1ÚS1s                r;   Útest_add_subz_TestArithmetic.test_add_sub¤  sº  € à!%×!2Ñ!2Ó!4ÑˆˆS�%˜ô 	Ø�U‰]×#Ñ#Ó% s¨S¡yô	
ô
 "ó  	/ˆAÜ—‘ XÔ.ñ "Ø—J‘J˜q“M�÷"à—.‘. Ó#ˆCÜ%ó /�Ü—}‘} Q¬×(:Ñ(:Ô;ÜŸ™¨XÔ6ñ /ØŸH™HŸO™O¨AÓ.˜÷/ð /ð Ÿ
™
 1›�AØ—n‘n QÓ'�ð ˜‘U�Ø˜3‘Y�ä˜RŸX™X b§h¡hÔ/Ü" 2§:¡:£<°Ô4Ü" 3¨¡7¨2Ô.Ü" 1 s¡7¨2Ô.ô —8‘8˜FÓ#¨¨1 vÑ-áà˜‘U�Ø˜3‘Y�ä˜RŸX™X b§h¡hÔ/Ü" 2§:¡:£<°Ô4Ü" 3¨¡7¨2Ô.Ü" 1 s¡7¨2Ö.ò9/ñ	 	/÷"ñ "ú÷
/ñ /ús   ÁG2ÃG?Ç2G<	Ç?H	c           
      ód  — | j                  «       \  }}}}t        ||j                  z  j                  «       ||j                  z  «       t        D �]D  }t        j                  d¬«      5  |j                  |«      }d d d «       | j                  «      }t        D ]÷  }t        j                  |t
        j                  «      r|j                  |«      }	n:t        j                  d¬«      5  |j                  j                  |«      }	d d d «       | j                  	«      }
||	j                  z  }||
j                  z  }t        |j                  «       |dt        |«      j                  «       z  ¬«       t        |j                   |j                   «       Œù �ŒG y # 1 sw Y   �ŒxY w# 1 sw Y   Œ¡xY w)Nr)  rG  g›+¡†›„=)Úatol)rû  r   r@  rš   r.   rK   rK  ru   rù   rm   rˆ  rÆ  r   r°  rZ   r   r@   rü  s                r;   Útest_muz_TestArithmetic.test_muÐ  sO  € Ø!%×!2Ñ!2Ó!4ÑˆˆS�%˜ô 	˜E E§G¡G™O×4Ñ4Ó6Ø #§%¡%™Kô	)ô "ó 	0ˆAÜ—‘ XÔ.ñ "Ø—J‘J˜q“M�÷"à—.‘. Ó#ˆCÜ%ò 0�Ü—=‘= ¤B×$6Ñ$6Ô7ØŸ
™
 1›‘AäŸ™¨XÔ6ñ /ØŸH™HŸO™O¨AÓ.˜÷/à—n‘n QÓ'�à˜Ÿ™‘W�Ø˜3Ÿ5™5‘[�ä §
¡
£¨bØ%*¬3¨r«7¯;©;«=Ñ%8õ:ä˜RŸX™X b§h¡hÕ/ò0ñ		0÷"ñ "ú÷/ð /ús   Á*FÃ*F&ÆF#	Æ&F/N)
r¶   r·   r¸   r   rû  r  rß  rk  rÿ  r  rb   r=   r;   rî  rî  ˆ  s5   „ ñò&ð0 ‡[�[×Ñ˜2Óñ)/ó ð)/óV0r=   rî  c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	Ú_TestMinMaxc                 óò  — t         j                  t         j                  t         j                  t         j                  t         j
                  fD �]K  }t        j                  d|¬«      j                  dd«      }| j                  |«      }t        |j                  «       d«       t        |j                  «       d«       t        |j                  «       j                  |«       t        |j                  «       j                  |«       |dz  }| j                  |«      }t        |j                  «       d«       t        |j                  «       d«       |dz  }| j                  |«      }t        |j                  «       d	«       t        |j                  «       d«       �ŒN | j                  t        j                  d
d«      j                  dd«      «      }t        |j                  «       d
«       t        |j                  «       j                  |j                  «       t        |j                  d¬«      d
«       | }t        |j                  «       d«       t        |j                  d¬«      d«       | j                  t        j                  d«      «      }t        |j                  «       d«       t        |j                  «       d«       t        |j                  «       j                  |j                  «       t        j                  dt        ¬«      j                  dd«      }d|dd…d d …f<   | j                  |«      }t        |j                  «       d«       t        |j                  «       d«       t        j                  d«      t        j                  d«      t        j                  d«      fD ]G  }| j                  |«      }t        t         |j                  «       t        t         |j                  «       ŒI y )Nrð  ró   rŒ  r”  r   é   ré   iíÿÿÿiòÿÿÿrè   rW   rô   T©Úexplicitr3  rf   rÖ  ©r   rW   ©rW   r   )rK   r÷   rõ   r[   rg   rø   r   rú   rù   r   ro   rZ   r@   r   r“  r  r  )r¡   r@   rÈ  rr  r¦  s        r;   Útest_minmaxz_TestMinMax.test_minmaxì  s®  € Ü—j‘j¤"§*¡*¬b¯h©h¼¿¹Ä"Ç-Á-ÐPó 	%ˆEÜ—	‘	˜" EÔ*×2Ñ2°1°QÓ7ˆAà—‘˜qÓ!ˆAÜ˜Ÿ™› !Ô$Ü˜Ÿ™› "Ô%Ü˜Ÿ™›Ÿ™¨Ô.Ü˜Ÿ™›Ÿ™¨Ô.à�‰GˆAØ—‘˜qÓ!ˆAÜ˜Ÿ™› #Ô&Ü˜Ÿ™› !Ô$à�‰FˆAØ—‘˜qÓ!ˆAÜ˜Ÿ™› #Ô&Ü˜Ÿ™› !Ö$ð#	%ð( �N‰Nœ2Ÿ9™9 Q¨Ó+×3Ñ3°A°qÓ9Ó:ˆÜ�Q—U‘U“W˜aÔ Ü�Q—U‘U“W—]‘] A§G¡GÔ,Ü�Q—U‘U D�UÓ)¨1Ô-àˆBˆÜ�Q—U‘U“W˜bÔ!Ü�Q—U‘U D�UÓ)¨2Ô.ð �N‰Nœ2Ÿ8™8 FÓ+Ó,ˆÜ�Q—U‘U“W˜aÔ Ü�Q—U‘U“W˜aÔ Ü�Q—U‘U“W—]‘] A§G¡GÔ,ô �I‰I�b¤Ô&×.Ñ.¨q°Ó3ˆØˆˆ!ˆAˆ#Šqˆ&‰	Ø�N‰N˜1ÓˆÜ�Q—U‘U“W˜aÔ Ü�Q—U‘U“W˜bÔ!ô —(‘(˜6Ó"¤B§H¡H¨WÓ$5´r·x±xÀÓ7HÐIò 	-ˆAØ—‘˜qÓ!ˆAÜœ* a§e¡eÔ,Üœ* a§e¡eÕ,ñ	-r=   c                 óˆ  — | j                    }t        j                  d«      j                  dd«      }d|dd d …f<   d|d d …df<   d|d<   d|d	<   | j	                  |«      }dd
g}ddg}||z   D ]x  }t        |j                  |¬«      j                  «       |j                  ||¬«      «       t        |j                  |¬«      j                  «       |j                  ||¬«      «       Œz |D ]²  }t        |j                  |d¬«      j                  «       | j                  g d¢«      «       t        j                  |j                  dk(  «      r| j                  g d¢«      }n| j                  g d¢«      }t        |j                  |d¬«      j                  «       |«       Œ´ |D ]´  }t        j                  g d¢«      }t        j                  g d¢«      }	| j                   s"|j                  d«      }|	j                  d«      }	t        |j                  |d¬«      j                  «       |«       t        |j                  |d¬«      j                  «       |	«       Œ¶ t        j                  dd«      j                  dd«      }| j	                  |«      }||z   D ]x  }t        |j                  |¬«      j                  «       |j                  ||¬«      «       t        |j                  |¬«      j                  «       |j                  ||¬«      «       Œz t        |j                  d¬«      |j                  d|¬«      «       |D ]Š  }|dd d …f   }|dd d …f   }	| j                   s|d dd d …f   }|d dd d …f   }	t        |j                  |d¬«      j                  «       |«       t        |j                  |d¬«      j                  «       |	«       ŒŒ |D ]Š  }|d d …df   }|d d …df   }	| j                   s|d d …dd f   }|d d …dd f   }	t        |j                  |d¬«      j                  «       |«       t        |j                  |d¬«      j                  «       |	«       ŒŒ | j                  t        j                  d«      «      }| j	                  |«      }||z   D ]x  }t        |j                  |d¬«      j                  «       |j                  |¬«      «       t        |j                  |d¬«      j                  «       |j                  |¬«      «       Œz | j                  t        j                  d«      «      }| j	                  |«      }ddg}
t        t!        j"                  ||
«      «      }t        t!        j"                  ||
«      «      }|D ]?  \  }}t%        t&        |j                  ||¬«       t%        t&        |j                  ||¬«       ŒA |D ]{  \  }}t        |j                  ||¬«      j                  «       |j                  |¬«      «       t        |j                  ||¬«      j                  «       |j                  |¬«      «       Œ} | j                  t        j                  d«      «      }| j	                  |«      }|D ]?  \  }}t%        t&        |j                  ||¬«       t%        t&        |j                  ||¬«       ŒA |D ]{  \  }}t        |j                  ||¬«      j                  «       |j                  |¬«      «       t        |j                  ||¬«      j                  «       |j                  |¬«      «       Œ} y )NrŽ  rŒ  rW   r   rè   rä  ra  ré   rÔ  rF  rc  r{  T©rd  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   r4  )rW   rŒ  r	  Fr
  )r  rK   r   rú   rù   r   rZ   rš   ro   r   r	  ÚanyrÌ  r   r   r  rR  rS  r  r  )r¡   rm  rÈ  rr  Ú	axes_evenÚaxes_oddrd  rp  Úexpected_maxÚexpected_minÚexplicit_valuesÚeven_explicit_pairsÚodd_explicit_pairsÚexs                 r;   Útest_minmax_axisz_TestMinMax.test_minmax_axis  sf  € Ø×%Ñ%Ð%ˆÜ�I‰I�b‹M×!Ñ! ! RÓ(ˆàˆˆ!ŠQˆ$‰àˆŠ!ˆQˆ$‰àˆˆ$‰àˆˆ$‰Ø�N‰N˜1Óˆà˜�Gˆ	Ø�r�7ˆØ˜yÑ(ò 	ˆDÜØ—‘˜4�Ó ×(Ñ(Ó*¨A¯E©E°tÀd¨EÓ,Kôô Ø—‘˜4�Ó ×(Ñ(Ó*¨A¯E©E°tÀd¨EÓ,Kõð		ð ò 
	NˆDÜØ—‘˜4¨$�Ó/×7Ñ7Ó9Ø—‘ÒDÓEôô �v‰v�a—f‘f ‘kÔ"àŸ<™<Ò(HÓI‘àŸ<™<Ò(HÓI�Ü˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀHÕMð
	Nð ò 	RˆDÜŸ8™8Ò$6Ó7ˆLÜŸ8™8Ò$6Ó7ˆLØ×%Ò%Ø+×3Ñ3°FÓ;�Ø+×3Ñ3°FÓ;�Ü˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÔQÜ˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÕQð	Rô �I‰I�a˜Ó×$Ñ$ R¨Ó+ˆØ�N‰N˜1ÓˆØ˜yÑ(ò 	ˆDÜØ—‘˜4�Ó ×(Ñ(Ó*¨A¯E©E°tÀd¨EÓ,Kôô Ø—‘˜4�Ó ×(Ñ(Ó*¨A¯E©E°tÀd¨EÓ,Kõð		ô 	�Q—U‘U �UÓ'¨¯©°FÀT¨Ó)JÔKàò 	RˆDØ˜R¢˜U™8ˆLØ˜Q¢˜T™7ˆLØ×%Ò%Ø   rª1 ™~�Ø   qª! ™}�Ü˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÔQÜ˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÕQð	Rð ò 	RˆDØšQ ˜U™8ˆLØšQ ˜T™7ˆLØ×%Ò%Ø ¢ B¨ ™~�Ø ¢ A t ™}�Ü˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÔQÜ˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀLÕQð	Rð �L‰LœŸ™ 'Ó*Ó+ˆØ�N‰N˜1ÓˆØ Ñ(ò 	VˆDÜ˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀAÇEÁEÈtÀEÓDTÔUÜ˜Ÿ™ D°4˜Ó8×@Ñ@ÓBÀAÇEÁEÈtÀEÓDTÕUð	Vð
 �L‰LœŸ™ 'Ó*Ó+ˆØ�N‰N˜1ÓˆØ ˜-ˆÜ"¤9×#4Ñ#4°YÀÓ#PÓQÐÜ!¤)×"3Ñ"3°H¸oÓ"NÓOÐØ+ò 	E‰HˆD�"Üœ* a§e¡e°$ÀÕDÜœ* a§e¡e°$ÀÖDð	Eð +ò 	T‰HˆD�"Ü˜Ÿ™ D°2˜Ó6×>Ñ>Ó@À!Ç%Á%ÈTÀ%ÓBRÔSÜ˜Ÿ™ D°2˜Ó6×>Ñ>Ó@À!Ç%Á%ÈTÀ%ÓBRÕSð	Tð �L‰LœŸ™ 'Ó*Ó+ˆØ�N‰N˜1ÓˆØ*ò 	E‰HˆD�"Üœ* a§e¡e°$ÀÕDÜœ* a§e¡e°$ÀÖDð	Eð ,ò 	T‰HˆD�"Ü˜Ÿ™ D°2˜Ó6×>Ñ>Ó@À!Ç%Á%ÈTÀ%ÓBRÔSÜ˜Ÿ™ D°2˜Ó6×>Ñ>Ó@À!Ç%Á%ÈTÀ%ÓBRÕSñ	Tr=   c                 óÖ  — t        g d¢g d¢g d¢g«      }| j                  |«      }| j                  rt        nt        j
                  }| j                  rt        nt        }t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  «       «      sJ ‚t        |j                  d¬«      |«      sJ ‚t        |j                  d¬«      |«      sJ ‚y rv  )r   rù   r  r
   rK   r2   r*   r+   r/   ro   rJ   rZ   ÚnanminÚnanmaxÚargminÚargmax)r¡   rì   rê   rw  Úspmatrix_or_sparrays        r;   Útest_minmax_container_typez&_TestMinMax.test_minmax_container_typeƒ  s  € Ü’YÚÚð!ó "ˆð —‘˜sÓ#ˆØ%)×%7Ò%7�'¼R¿Y¹YˆØ)-×);Ò);�gÄÐä˜EŸI™I›KÔ(Ð(Ð(Ü˜%Ÿ)™)¨˜)Ó+Ð-@ÔAÐAÐAÜ˜%Ÿ)™)¨˜)Ó+Ð-@ÔAÐAÐAä˜EŸI™I›KÔ(Ð(Ð(Ü˜%Ÿ)™)¨˜)Ó+Ð-@ÔAÐAÐAÜ˜%Ÿ)™)¨˜)Ó+Ð-@ÔAÐAÐAä˜EŸL™L›NÔ+Ð+Ð+Ü˜%Ÿ,™,¨A˜,Ó.Ð0CÔDÐDÐDÜ˜%Ÿ,™,¨A˜,Ó.Ð0CÔDÐDÐDä˜EŸL™L›NÔ+Ð+Ð+Ü˜%Ÿ,™,¨A˜,Ó.Ð0CÔDÐDÐDÜ˜%Ÿ,™,¨A˜,Ó.Ð0CÔDÐDÐDä˜EŸL™L›NÔ+Ð+Ð+Ü˜%Ÿ,™,¨A˜,Ó.°Ô@Ð@Ð@Ü˜%Ÿ,™,¨A˜,Ó.°Ô@Ð@Ð@ä˜EŸL™L›NÔ+Ð+Ð+Ü˜%Ÿ,™,¨A˜,Ó.°Ô@Ð@Ð@Ü˜%Ÿ,™,¨A˜,Ó.°Ô@Ð@Ñ@r=   c                 ó&  — | j                  t        j                  d«      j                  dd«      t        ¬«      }d|dd d …f<   d|d d …df<   d|d<   d	|d
<   t        j
                  |d<   t        j
                  |d<   | j                  |«      }|j                  «       }t        j                  |«      sJ ‚|t        j                  |«      k(  sJ ‚|j                  «       }t        j                  |«      sJ ‚|t        j                  |«      k(  sJ ‚|j                  d¬«      }t        j                  |«      sJ ‚|t        j                  |d¬«      k(  sJ ‚g d¢}|D ]´  }|j                  |¬«      }t        |j                  «       t        j                  ||¬«      «       t        || j                  «      sJ ‚|j                  |¬«      }t        |j                  «       t        j                  ||¬«      «       t        || j                  «      rŒ´J ‚ y )NrŽ  rŒ  rW   ró   r   rè   rä  ra  ré   rÔ  r_  )rè   r”  r4  rc  )rF  ré   r   rè   )r	  rK   r   rú   r“  r.  rù   r$  r6  r#  r   rš   rJ   r  )	r¡   rÈ  rr  ÚX_nan_maximumÚX_nan_minimumrn  rd  ÚX_nan_maximaÚX_nan_minimas	            r;   Útest_nanminmaxz_TestMinMax.test_nanminmax£  s¼  € Ø�L‰LœŸ™ 2›×.Ñ.¨q°Ó4¼EˆLÓBˆØˆˆ!ŠQˆ$‰ØˆŠ!ˆQˆ$‰Øˆˆ$‰Øˆˆ$‰Ü—&‘&ˆˆ$‰Ü—&‘&ˆˆ$‰Ø�N‰N˜1ÓˆàŸ™›
ˆÜ�{‰{˜=Ô)Ð)Ð)Ø¤§	¡	¨!£Ò,Ð,Ð,àŸ™›
ˆÜ�{‰{˜=Ô)Ð)Ð)Ø¤§	¡	¨!£Ò,Ð,Ð,àŸ™ f˜Ó-ˆÜ�{‰{˜=Ô)Ð)Ð)Ø¤§	¡	¨!°&Ô 9Ò9Ð9Ð9âˆØò 	@ˆDØŸ8™8¨˜8Ó.ˆLÜ˜L×0Ñ0Ó2´B·I±I¸aÀdÔ4KÔLÜ˜l¨D×,>Ñ,>Ô?Ð?Ð?àŸ8™8¨˜8Ó.ˆLÜ˜L×0Ñ0Ó2´B·I±I¸aÀdÔ4KÔLÜ˜l¨D×,>Ñ,>Õ?Ð?Ð?ñ	@r=   c                 ó.  — t        g d¢g d¢g d¢g«      }| j                  |«      }dD ]k  }t        ||«      }t        ||«      }t        t        |d¬«       t        t
        |d¬«       t        t        |dd¬	«       t         |d
¬«       |d
¬«      «       Œm y )Nr,  r-  r.  )ro   rZ   rô   rc  rC  rè   rD  r4  )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ÚÚð!ó "ˆð —‘˜sÓ#ˆà#ò 	BˆEÜ˜c 5Ó)ˆGÜ˜5 %Ó(ˆDÜœ* d°Õ3Üœ) T°Õ4Üœ* d°¸Õ:Ü™ 6Ô*©G¸Ô,@ÕAñ	Br=   c                 óP  — ddl m} t        g d¢g d¢g d¢g«      }| j                  |«      }t	        ||j
                  «      ret        t        j                  |«      t        j                  |«      «       t        t        j                  |«      t        j                  |«      «       y y )Nr   ©Ú_datar,  r-  r.  )
Úscipy.sparser5  r   rù   rJ   Ú_minmax_mixinr   rK   ro   rZ   )r¡   r5  rì   rê   s       r;   Útest_numpy_minmaxz_TestMinMax.test_numpy_minmaxÑ  sy   € õ 	'ä’YÚÚð!ó "ˆð —‘˜sÓ#ˆô �e˜U×0Ñ0Ô1ÜœrŸv™v e›}¬b¯f©f°S«kÔ:ÜœrŸv™v e›}¬b¯f©f°S«kÕ:ð 2r=   c                 óH  — ddl m} t        j                  g d¢g d¢g d¢g d¢g d¢g«      }|j	                  «       }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 �]Z  }| j                  |«      }| j                  |«      }t        ||j                  «      sŒ=t        |j                  «       t        j                  |«      «       t        |j                  «       t        j                  |«      «       t        |j                  d¬«      t        j                  |d¬«      «       t        |j                  d¬«      t        j                  |d¬«      «       t        |j                  d¬«      t        j                  |d¬«      «       t        |j                  d¬«      t        j                  |d¬«      «       �Œ] | j                  | j                  |«      «      }t        |j                  d¬«      d«       t        | j                  d¬«      d«       t        |j                  d¬«      d«       t        | j                  d¬«      d«       | j                  t        j                  d«      «      }	| j                  t        j                  d«      «      }
ddg}t        j                  |	|
gg d¢|«      D �]  \  }}}|�|j                  |   dk(  rot!        j"                  t$        d¬«      5  |j                  ||¬«       d d d «       t!        j"                  t$        d¬«      5  |j                  ||¬«       d d d «       Œ‹| j&                  rt        j(                  d«      }nt        j(                  |dk(  rdnd«      }t        |j                  ||¬«      |«       t        |j                  ||¬«      |«       �Œ | j                  |«      }t        |j                  dd¬«      | j                  g d¢«      «       t        |j                  dd¬«      | j                  g d¢«      «       t        j                  g d¢«      }t        j                  g d ¢«      }|j*                  d!k7  rd|d"<   | j&                  s"|j-                  d#«      }|j-                  d#«      }t        |j                  dd¬«      |«       t        t/        |j                  dd¬«      «      |«       t        j(                  d$«      }| j                  |«      }|j*                  dk7  r;t        |j                  d d¬«      d«       t        |j                  d d¬«      d«       y t!        j"                  t$        d¬«      5  |j                  d d¬«       d d d «       t!        j"                  t$        d¬«      5  |j                  d d¬«       d d d «       y # 1 sw Y   �Œ¼xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ[xY w# 1 sw Y   y xY w)%Nr   r4  )ré   rŒ  rf   rô   )r   r   ré   rF  )ré   rF  r»  r¯  rÒ  )rè   rf   r   r   r”  rô   râ  rŒ  )rŒ  rŒ  rô   )r”  rä  rW   )rô   r”  rä  rc  rè   Tr  rf   r×  r  Frý  zCannot applyrj  r  r4  r4  )rô   r   rô   rô   )r   rf   rf   rf   )rè   rf   r   rô   rè   )r   rô   rô   r   r   rô  ré   r  rÔ  )r6  r5  rK   r   r   r	  rù   rJ   r7  r   r&  r%  rÙ  rR  rS  r¾   r  r   r  r  r   rf  rú   r   )r¡   r5  rý  ÚD2ÚD3ÚD4ÚD5rÈ  r¢   ÚD6ÚD7Ú	explicitsrd  r   rp  r  r  s                    r;   Útest_argmaxz_TestMinMax.test_argmaxã  sË  € Ý&Ü�X‰XÚÚÚÚÚð
ó ˆð �\‰\‹^ˆä�X‰X˜˜1�v  1˜vÐ&Ó'ˆÜ�X‰X˜˜1�v  1˜vÐ&Ó'ˆÜ�X‰X’y¢*ªiÐ8Ó9ˆà�b˜"˜b "Ð%ó 	CˆAØ—‘˜Q“ˆAØ—.‘. Ó#ˆCÜ˜c 5×#6Ñ#6Ô7Øä˜Ÿ™›¤r§y¡y°£|Ô4Ü˜Ÿ™›¤r§y¡y°£|Ô4ä˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÔBÜ˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÔBä˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÔBÜ˜Ÿ™¨˜Ó+¬R¯Y©Y°q¸qÔ-AÖBð	Cð  �n‰n˜TŸ\™\¨"Ó-Ó.ˆÜ�S—Z‘Z¨�ZÓ.°Ô2Ü�s�d—]‘]¨D�]Ó1°1Ô5Ü�S—Z‘Z¨�ZÓ.°Ô2Ü�s�d—]‘]¨D�]Ó1°1Ô5ð �^‰^œBŸH™H VÓ,Ó-ˆØ�^‰^œBŸH™H VÓ,Ó-ˆØ˜5�Mˆ	ä&×.Ñ.°°B¨xºÀyÓQó 	K‰MˆC��rØˆ|˜sŸy™y¨™°!Ò3Ü—]‘]¤:°^ÔDñ 7Ø—J‘J D°2�JÔ6÷7ä—]‘]¤:°^ÔDñ 7Ø—J‘J D°2�JÔ6÷7ð 7ð ×%Ò%Ü!Ÿx™x¨›{‘Hä!Ÿx™x°$¸!²)©ÀÓH�HÜ˜SŸZ™Z¨T¸B˜ZÓ?ÀÔJÜ˜SŸZ™Z¨T¸B˜ZÓ?ÀÖJð	Kð �n‰n˜RÓ ˆÜ�S—Z‘Z Q°�ZÓ6¸¿¹Â\Ó8RÔSÜ�S—Z‘Z Q°�ZÓ6¸¿¹Â\Ó8RÔSä—x‘x¢Ó0ˆÜ—x‘x¢Ó0ˆØ�7‰7�bŠ=à ˆL˜ÑØ×!Ò!Ø'×/Ñ/°Ó7ˆLØ'×/Ñ/°Ó7ˆLä�S—Z‘Z Q°�ZÓ6¸ÔEÜ”W˜SŸZ™Z¨Q¸˜ZÓ>Ó?ÀÔNô �H‰H�VÓˆØ�n‰n˜QÓˆØ�7‰7�aŠ<ä˜Ÿ™¨¸˜Ó=¸qÔAÜ˜Ÿ™¨¸˜Ó=¸qÕAô —‘œz°Ô@ñ 5Ø—
‘
 ¨t�
Ô4÷5ä—‘œz°Ô@ñ 5Ø—
‘
 ¨t�
Ô4÷5ð 5÷O7ñ 7ú÷7ñ 7ú÷F5ð 5ú÷5ð 5ús0   Ì$W2ÍW?ÖX×X×2W<	×?X		ØXØX!N)
r¶   r·   r¸   r  r!  r(  r.  r2  r8  rA  rb   r=   r;   r  r  ë  s/   „ ò/-òbdTòLAò@@ò@Bò;ó$T5r=   r  c                   ó   — e Zd Zd„ Zy)Ú_TestGetNnzAxisc                 ó¨  — t        ddgddgddgg«      }|j                  t        «      }| j                  |«      }t        j
                  t        j                  f}| j                  r|j                  n|j                  }t        |j                  d ¬«       |d ¬«      «       t        |j                  «        |«       «       t        |j                  d¬«       |d¬«      «       t         |d¬«      j                  |«       t        |j                  d¬«       |d¬«      «       t         |d¬«      j                  |«       t        |j                  d	¬«       |d	¬«      «       t         |d	¬«      j                  |«       t        |j                  d
¬«       |d
¬«      «       t         |d
¬«      j                  |«       t        t        |d¬«       y )Nr   rf   rô   rŒ  r/  rä  rc  rè   rF  ré   )r   ru   r  rù   rK   r[   rg   r  rg  Úgetnnzr   r5  r<   r@   r  r  )r¡   rì   Úbool_datrê   Úaccepted_return_dtypesrE  s         r;   Útest_getnnz_axisz _TestGetNnzAxis.test_getnnz_axis;  s_  € Ü�a˜�VØ˜�VØ˜!�Wðó ˆð —:‘:œdÓ#ˆØ—‘˜sÓ#ˆä"$§(¡(¬B¯H©HÐ!5Ðà(,×(:Ò(:�×$Ò$ÀÇÁˆÜ˜8Ÿ<™<¨T˜<Ó2±FÀÔ4EÔFÜ˜8Ÿ<™<›>©6«8Ô4Ü˜8Ÿ<™<¨Q˜<Ó/±¸Q´Ô@Ü‘&˜a”.×&Ñ&Ð(>Ô?Ü˜8Ÿ<™<¨Q˜<Ó/±¸Q´Ô@Ü‘&˜a”.×&Ñ&Ð(>Ô?Ü˜8Ÿ<™<¨R˜<Ó0±&¸b´/ÔBÜ‘&˜b”/×'Ñ'Ð)?Ô@Ü˜8Ÿ<™<¨R˜<Ó0±&¸b´/ÔBÜ‘&˜b”/×'Ñ'Ð)?Ô@ä”j &¨qÖ1r=   N)r¶   r·   r¸   rH  rb   r=   r;   rC  rC  :  s   „ ó2r=   rC  Tc                 ó   — |r| S d„ }t        | j                  «      }| j                  j                  «       D ]"  \  }}|j                  d«      sŒ ||«      ||<   Œ$ 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                 óB   ‡ — t        j                  ‰ «      ˆ fd„«       }|S )Nc                  ó„   •— 	  ‰| i |¤ŽS # t         t        t        t        t        f$ r t        j                  d«      ‚w xY w)NrC  )rl  r—  r  rÖ  r÷  r  r  )rO   r~   Úfcs     €r;   r…   z6_possibly_unimplemented.<locals>.wrap.<locals>.wrapper`  sF   ø€ ðAÙ˜q˜< B™<Ð'øÜ+¬Y¼
Ü"¤Nð4ò Aä Ÿ+™+Ð&?Ó@Ð@ðAús   ƒ ‹4?)r’   r“   )rL  r…   s   ` r;   Úwrapz%_possibly_unimplemented.<locals>.wrap_  s'   ø€ Ü�_‰_˜RÓ óAó !ðAð ˆNr=   Útest_ÚNotImplemented)ÚdictrH   r±  Ú
startswithr`  r¶   Ú	__bases__)r  ÚrequirerM  Únew_dictr€   rƒ   s         r;   Ú_possibly_unimplementedrU  W  s   € ñ
 Øˆ
ò		ô ˜Ÿ™Ó%ˆØŸ,™,×,Ñ,Ó.ò 	,‰JˆD�$Ø�‰˜wÕ'Ù!% d£�˜’ð	,ô �C—L‘LÐ#3Ñ3Ø—M‘MØóð 	r=   c	                 ó>  — t         t        t        | «      t        t        t
        t        t        |«      t        t        |«      t        t        |«      t        t        |«      t        t        |xr |«      t        t        |xr |«      t        t        |«      t        t        |«      f}	i }
|	D ]e  }|j                  D ]T  }|j                  d«      sŒ|
j!                  |«      }|�(t#        d|j$                  › d|› d|j$                  › �«      ‚||
|<   ŒV Œg t'        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.
    rN  zTest class z overloads test z defined in ÚTestBase)r  rU  r÷  r!  râ  rî  r&  rm  rˆ  r¾  rÔ  rÝ  r  rC  rH   rQ  Úgetr  r¶   r`  )ÚgetsetÚslicingÚslicing_assignÚfancy_indexingÚfancy_assignÚfancy_multidim_indexingÚfancy_multidim_assignÚminmaxÚnnz_axisÚbasesÚnamesr  r€   Úold_clss                 r;   Úsparse_test_classre  s  s&  € ô Ü$¤[°&Ó9ÜÜ#ÜÜ$¤\°7Ó;Ü$Ô%7¸ÓHÜ$Ô%7¸ÓHÜ$Ô%=Ø%1ó3ä$Ô%7Ø%3Ò%OÐ8OóQä$Ô%=Ø%:Ò%K¸|óMä$¤[°&Ó9Ü$¤_°hÓ?ðA€Eð$ €EØò ˆØ—L‘Lò 	ˆDØ—?‘? 7Ô+ØØ—i‘i “oˆGØÐ"Ü  ;¨s¯|©|¨nÐ<LØ$( 6¨°g×6FÑ6FÐ5Gð"Ió Jð JàˆE�$ŠKñ	ðô �
˜E 2Ó&Ð&r=   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú_CompressedMixinc                 ó"  — | j                  |«      }d|_        |j                  «        |j                  sJ ‚t        |«      5  |j	                  d«       d d d «       t        j                  |j                  «       dk(  «      sJ ‚y # 1 sw Y   Œ2xY w)NFrŒ  )rù   rº  r»  r¼  r
  rK   rX  rØ  rÇ  s      r;   Ú_test_setdiag_sortedz%_CompressedMixin._test_setdiag_sorted   sv   € Ø�N‰N˜1Óˆà$ˆÔØ	�‰ÔØ×#Ò#Ð#Ð#ä! !Ó$ñ 	Ø�I‰I�aŒL÷	ä�v‰v�a—j‘j“l aÑ'Ô(Ð(Ñ(÷	ð 	ús   ÁBÂBc                 óØ   — d}t        j                  d|dz   «      }t         j                  g d¢   |z  }d}d|d| d …f<   g d¢}| j                  ||f||f¬«      }| j	                  |«      S )Néê  rè   ©ré   rf   rè   rô   r�  r¼  ©r¾   ©rK   r   Úc_r  ri  )r¡   r˜  ÚvalsÚdiagsÚN_newrÐ  rÈ  s          r;   Útest_setdiag_noconvertz'_CompressedMixin.test_setdiag_noconvert«  s}   € ð ˆÜ�y‰y˜˜A ™EÓ"ˆÜ—‘’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¢}| j                  ||f||f¬«      }| j	                  |«      S )Nrk  rè   rl  r�  rŒ  r¼  rm  rn  )r¡   r˜  rp  rq  rÐ  rÈ  s         r;   Útest_setdiag_cooconvertz(_CompressedMixin.test_setdiag_cooconvert¼  ss   € ð
 ˆÜ�y‰y˜˜A ™EÓ"ˆÜ—‘’jÑ! DÑ(ˆàˆˆa�‘ˆe‰ÚˆØ×Ñ  wÐ/¸¸1°vÐÓ>ˆØ×(Ñ(¨Ó+Ð+r=   N)r¶   r·   r¸   ri  rs  ru  rb   r=   r;   rg  rg  Ÿ  s   „ ò	)ò,ó",r=   rg  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y)ÚTestCSRc                 óª   — t        j                  «       5  t        j                  dt        t        «       t        |i |¤Žcd d d «       S # 1 sw Y   y xY w©Nr)  )r*  r+  r  r	  r)   r!   ©r  ÚargsrC   s      r;   rù   zTestCSR.spcreatorÌ  óC   € ä×$Ñ$Ó&ñ 	.Ü×#Ñ# H¬dÔ4KÔLÜ˜dÐ- fÑ-÷	.÷ 	.ò 	.úó   •*A	Á	Ac                 ól  — t        g d¢g d¢g d¢gd«      }| j                  |«      }t        |j                  g d¢«       t	        |j
                  g d¢«       t	        |j                  g d¢«       t        |j                  d«       t        |j                  d	«       t	        |j                  «       |«       y )
N)r   r”  r   r-  rû  r  )r”  rô   rf   r  r%  rô   r8  )r   r  r   rÌ  r   rÊ  rË  r   rf  rü   rš   ©r¡   rT   rY  s      r;   Útest_constructor1zTestCSR.test_constructor1Ó  s„   € Ü’9ÚÚðà"ó$ˆð × Ñ  Ó#ˆÜ! #§(¡(ª7Ô3Ü˜3Ÿ;™;¢wÔ/Ü˜3Ÿ:™:¢iÔ0Ü�S—W‘W˜QÔÜ�S—Z‘Z Ô&Ü˜3Ÿ;™;›=¨!Õ,r=   c                 ó  — t        dd«      }d|d<   | j                  |«      }t        |j                  dg«       t	        |j
                  dg«       t	        |j                  g d¢«       t        |j                  «       |«       y )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ß  se   € Ü�%˜ÓˆØˆˆ#‰Ø× Ñ  Ó#ˆÜ! #§(¡(¨A¨3Ô/Ü˜3Ÿ;™;¨ sÔ+Ü˜3Ÿ:™:¢oÔ6Ü! #§+¡+£-°Õ3r=   c                 ó  — t        ddgddgddggd«      }| j                  |«      }t        |j                  g d¢«       t	        |j
                  g d¢«       t	        |j                  g d¢«       t        |j                  «       |«       y )	Nrè   r   rf   rô   r  rà  r.  r%  )r   r  r   rÌ  r   rÊ  rË  rš   r  s      r;   Útest_constructor3zTestCSR.test_constructor3è  st   € Ü�A�q�6Ø�q�6Ø�q�6ðàó!ˆð × Ñ  Ó#ˆÜ! #§(¡(ª7Ô3Ü˜3Ÿ;™;¢wÔ/Ü˜3Ÿ:™:¢iÔ0Ü! #§+¡+£-°Õ3r=   c                 ó  — t        g d¢«      }t        g d¢«      }t        g d¢«      }t        ||f«      }| j                  ||fd«      }t        t	        d«      j                  dd«      |j                  «       «       | j                  dd	gd
d	gd
d	gfft        j                  ¬«      }t        dd
gd
d	ggt        j                  ¬«      }t        ||j                  «       «       | j                  g d¢g d¢g d¢ff«      }|j                  dk(  sJ ‚y )N©rf   rô   rè   rô   r   rè   rô   r   rf   rè   rf   ©r   rè   r   r   rè   rè   rf   rf   rf   rf   rè   ©ç      @g      $@rŒ  ç      "@rŽ  r³  g      &@r�  ç       @ç      @r¤  ry  rê  r”  rô   ì           rè   r   ró   ©rè   rè   rè   rè   ©r   rf   rf   r   ©r   rè   rè   r   rf   )
r   r	   r  r   r   rú   rš   rK   Úuint64rf  )r¡   rÎ  rÏ  rÌ  r%  r8  rh  s          r;   Útest_constructor4zTestCSR.test_constructor4ò  sø   € äÒ5Ó6ˆÜÒ5Ó6ˆÜò 3ó 4ˆô �S˜�IÓˆØ× Ñ  $ r ¨5Ó1ˆÜœ6 "›:×-Ñ-¨a°Ó3°S·[±[³]ÔCð × Ñ  9¨a .°A°q°6¸A¸q¸6Ð2BÐ!CÌ2Ï9É9Ð ÓUˆÜ˜	 1�~¨¨1 vÐ.´b·i±iÔ@ˆÜ˜5 #§+¡+£-Ô0ð × Ñ ¢)ªiºÐ-CÐ!DÓEˆØ�w‰w˜!Š|Ð‰|r=   c                 ó¦   — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||f«      }t        |j                  d«       y ©N©r   rè   rô   rô   ©r   rŒ  rè   rf   rÒ  r³  )r   r  r   r¾   ©r¡   rË  rÊ  rÌ  r8  s        r;   Útest_constructor5zTestCSR.test_constructor5  óE   € ä’yÓ!ˆÜš	Ó"ˆÜ’YÓˆØ× Ñ  $¨°Ð!8Ó9ˆÜ˜3Ÿ9™9 UÕ+r=   c                 óÞ   — g d¢}g d¢}g d¢}| j                  |||f«      }t        |j                  d«       t        t	        j
                  |j                  t        j                  «      «       y r•  )r  r   r¾   r   rK   rm   r@   Úsignedintegerr˜  s        r;   Útest_constructor6zTestCSR.test_constructor6  sS   € âˆÚˆÚˆØ× Ñ  $¨°Ð!8Ó9ˆÜ˜3Ÿ9™9 eÔ,Ü”—‘˜cŸi™i¬×)9Ñ)9Ó:Õ;r=   c                 ó  — t        d«      dz   }t        g d¢t        j                  ¬«      }t        g d¢t        j                  ¬«      }| 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        |j                  «       |«       y )Nrò   rè   )rè   rf   rè   r   r   rf   ró   ©r   rf   r”  rò   ra  rm  r,  rú  )rŒ  r   rò   r  )r   r   rK   rg   r  r@   r  r[   r   rË  rÊ  r   rš   )r¡   rÌ  rÏ  ÚptrrO   rT   Úexpected_dtypes          r;   Útest_constructor_smallcolz!TestCSR.test_constructor_smallcol  s¼   € ä�a‹y˜1‰}ˆÜÒ&¬b¯h©hÔ7ˆÜ’L¬¯©Ô1ˆà×Ñ  c¨3Ð/°vÐÓ>ˆä’9ÚÚðà"ó$ˆô
 Ÿ™¨d×.@Ò.@¤"§(¢(ÄbÇhÁhÓOˆÜ�Q—X‘X—^‘^ ^Ô4Ü�Q—Y‘Y—_‘_ nÔ5Ü˜1Ÿ9™9›;¨Õ*r=   c           	      ó|  — 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                  ¬«      }| j                  |||f«      }t        |j                  j                  t        j                  t        j                  «      «       t        |j                  j                  t        j                  t        j                  «      «       t        |j                  dt	        |«      dz   f«       y )	Nrò   rè   r}  r   rf   ró   rŸ  rô   )r   rK   rY   r[   rZ   r   rg   r  r   rË  r@   rÊ  r   r¾   )r¡   rÌ  ÚlargerÏ  r   rO   s         r;   Útest_constructor_largecolz!TestCSR.test_constructor_largecol)  sÐ   € ä�a‹y˜1‰}ˆÜ—‘œŸ™Ó"×&Ñ&¨Ñ,ˆÜ�Q˜˜1˜e U¨1¡W¨e°A©gÐ6¼b¿h¹hÔGˆÜ’L¬¯©Ô1ˆà×Ñ  c¨3Ð/Ó0ˆä�Q—X‘X—^‘^¤R§X¡X¬b¯h©hÓ%7Ô8Ü�Q—Y‘Y—_‘_¤b§h¡h¬r¯x©xÓ&8Ô9Ü˜1Ÿ7™7 Q¬¨C«°©
 OÕ4r=   c                 ó:  — t        d«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }|j                  «       }|j	                  «        t        |j                  g d¢«       t        |j                  «       |j                  «       «       y )NrŒ  ©râ  rf   rè   rŒ  r”  ©r   rô   rŒ  ©rf   rW   rm  ©rè   rf   râ  r”  rŒ  )r   r   r  r-  r»  r   rÊ  rš   ©r¡   rÌ  rÊ  rË  rX  rY  s         r;   Útest_sort_indiceszTestCSR.test_sort_indices6  sv   € Ü�a‹yˆÜšÓ(ˆÜ’yÓ!ˆØ× Ñ  $¨°Ð!8ÀÐ ÓGˆØ�h‰h‹jˆØ×ÑÔÜ˜3Ÿ;™;¢Ô7Ü˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c                 ój  — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }|j                  «       }|j                  «        t	        |j
                  d«       t	        |j                  g d¢«       t	        |j                  «       |j                  «       «       y )N©rè   r   r   r   rf   r   rô   r   ©rè   rf   rô   r”  rŒ  rò   râ  rã  ©r   rô   rã  r©  rm  rô   rà  )r   r  r-  Úeliminate_zerosr   rf  rÌ  rš   r«  s         r;   Útest_eliminate_zeroszTestCSR.test_eliminate_zeros@  ó‡   € ÜÒ-Ó.ˆÜÒ0Ó1ˆÜ’yÓ!ˆØ× Ñ  $¨°Ð!8ÀÐ ÓGˆØ�h‰h‹jˆØ×ÑÔÜ˜3Ÿ7™7 AÔ&Ü˜3Ÿ8™8¢IÔ.Ü˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c           	      ó  — | j                  t        j                  d«      j                  dd«      dz  «      }dD ]Ï  }t	        t        | j                  |«      d«        t        ||«      «       }t	        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  «        t        t        |«      |j                  «       «      «       ŒÑ y )Nrð  r”  rŒ  r¹  ©r½  r¾  r¿  rÀ  rÁ  rÂ  rÃ  rÄ  rÅ  r¸  rÆ  rÇ  rÈ  rÉ  rÊ  rË  rÌ  rÍ  T)r  rK   r   rú   r   rÔ  rê   r|   r¾   r   rÊ  rË  rš   ©r¡   rr  r¦  r¼  s       r;   Útest_ufuncszTestCSR.test_ufuncsK  ó¿   € Ø×ÑœrŸy™y¨›}×4Ñ4°Q¸Ó:¸SÑ@ÓAˆðJò 	JˆAô œ §¡¨QÓ/°Ô6Ø”˜˜A““ˆBÜ˜Ÿ™ "§(¡(Ô+Ü˜qŸy™y¨"¯*©*Ô5Ü˜qŸx™x¨¯©Ô3Ü˜rŸz™z›|¨^¬W´R¸«^¸A¿I¹I»KÓ-HÕIñ	Jr=   c                 óh  — t        d«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }t        d«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }t        ||z   j	                  «       |j	                  «       |j	                  «       z   «       y )	NrŒ  r§  r¨  r©  rm  rò   ©rã  rè   rŒ  râ  rf   r”  ©r   rf   rò   )r   r   r  r   rš   r«  s         r;   Útest_unsorted_arithmeticz TestCSR.test_unsorted_arithmeticW  ó�   € Ü�a‹yˆÜšÓ(ˆÜ’yÓ!ˆØ× Ñ  $¨°Ð!8ÀÐ ÓGˆÜ�a‹yˆÜÒ*Ó+ˆÜ’yÓ!ˆØ× Ñ  $¨°Ð!8ÀÐ ÓGˆÜ�c˜C‘i×(Ñ(Ó*¨C¯K©K«M¸C¿K¹K»MÑ,IÕJr=   c                 óŒ  — t        j                  dgdgdgg«      }t        j                  g d¢«      }t         j                  j                  d«       | j	                  t         j                  j                  dd«      «      }| j                  |«      }|||f   }t        |«      r|j                  «       }t        ||||f   «       y ©Nrè   rf   rô   rÖ  rd   rŒ  râ  ©
rK   r   r•   r  r	  r8  rù   r(   rš   r   ©r¡   r”  r  rÈ  r®  r•  s         r;   Útest_fancy_indexing_broadcastz%TestCSR.test_fancy_indexing_broadcastb  ó–   € ä�H‰H�q�c˜A˜3  �_Ó%ˆÜ�H‰H’YÓˆä
�	‰	�‰�tÔØ�L‰LœŸ™Ÿ™¨¨1Ó-Ó.ˆØ�N‰N˜1Óˆà��!�‰fˆÜ�CŒ=Ø—+‘+“-ˆCÜ�S˜!˜A˜a˜C™&Õ!r=   c                 óB  — t        j                  ddg«      }t        j                  ddg«      }t        j                  ddg«      }t        j                  ddg«      }| j                  |||f«      j                  «       }t	        d|j
                  «       t        |j
                  t        «      sJ ‚| j                  |||f«      j                  «       }t	        d|j
                  «       |j                  «        t	        d|j
                  «       t        |j                  |«       | j                  |||f«      j                  «       }d|_        t	        d|j
                  «       t        |j                  |«       |j                  «        t        |j                  |«       y)z@Ensure has_sorted_indices memoizes sorted state for sort_indicesr   rè   rf   TFN)rK   r   r  r-  r   rº  rJ   r  r»  r   rÊ  )r¡   Úsorted_indsÚunsorted_indsrÌ  rË  r•  s         r;   Útest_has_sorted_indiceszTestCSR.test_has_sorted_indicesp  sJ  € ä—h‘h  1˜vÓ&ˆÜŸ™ ! Q Ó(ˆÜ�x‰x˜˜A˜ÓˆÜ—‘˜1˜a˜&Ó!ˆØ×Ñ  k°6Ð:Ó;×@Ñ@ÓBˆÜ�T˜1×/Ñ/Ô0Ü˜!×.Ñ.´Ô5Ð5Ð5à×Ñ  m°VÐ<Ó=×BÑBÓDˆÜ�U˜A×0Ñ0Ô1ð 	
�‰ÔÜ�T˜1×/Ñ/Ô0Ü˜1Ÿ9™9 kÔ2à×Ñ  m°VÐ<Ó=×BÑBÓDˆà#ˆÔÜ�T˜1×/Ñ/Ô0Ü˜1Ÿ9™9 mÔ4ð 	
�‰ÔÜ˜1Ÿ9™9 mÕ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}| j                  |«      }t        d|j                  «       | j                  |«      j                  «       }t        d|j                  «       t        |j                  t        «      sJ ‚|j                  «        t        d|j                  «       t        dt        |j                  «      «       | j                  |«      j                  «       }d|_        t        d|j                  «       t        dt        |j                  «      «       |j                  «        t        dt        |j                  «      «       d|_        |j                  «        t        dt        |j                  «      «       t        d|j                  «       d|_        t        d|j                  «       | j                  |j                  |j                  |j                  f«      }t        d|j                  «       |j                  «        t        d|j                  «       | 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
«       t        d|j                  «       | j                  |j                  |j                  |j                  f«      }t        d|j                  «       | j                  |«      }|\  |_        |_
        |_        t        d|j                  «       t        dt        |j                  «      «       | j                  |«      }|j                   |\  |_        |_
        |_        t        d|j                  «       t        dt        |j                  «      «       |j                  «        t        dt        |j                  «      «       y
# 1 sw Y   �ŒZxY w)ú=Ensure has_canonical_format memoizes state for sum_duplicatesrf   r   rè   TF)r   rè   rè   rè   ra  r)  r4  NrŒ  rô   r  )rK   r   r  r   Úhas_canonical_formatr-  rJ   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_formatŒ  sˆ  € ô Ÿ™ ! ›¤r§x¡x°°£}´b·h±hÀÀ1¸vÓ6FÐGˆÜŸ(™( A q 6Ó*¬B¯H©H°a¸°VÓ,<¼b¿h¹hÈÈ1ÀvÓ>NÐOˆà×Ñ˜|Ó,ˆÜ�T˜1×1Ñ1Ô2à×Ñ˜~Ó.×3Ñ3Ó5ˆÜ�U˜A×2Ñ2Ô3Ü˜!×0Ñ0´$Ô7Ð7Ð7ð 	
×ÑÔÜ�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'ð ×Ñ˜~Ó.×3Ñ3Ó5ˆØ!%ˆÔÜ�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'à	×ÑÔÜ�Qœ˜AŸI™I›Ô'à!&ˆÔØ	×ÑÔÜ�Qœ˜AŸI™I›Ô'Ü�T˜1×1Ñ1Ô2ð "'ˆÔÜ�U˜A×2Ñ2Ô3Ø×#Ñ# Q§V¡V¨Q¯Y©Y¸¿¹Ð$AÓBˆÜ�T˜6×6Ñ6Ô7à	×ÑÔÜ�T˜1×1Ñ1Ô2ð ×Ñ¤§¡¨!¨£¬r¯x©x¸¸«}¼b¿h¹hÂ|Ó>TÐUÓVˆÜ�Q—W‘W˜fÔ%Ü×$Ñ$Ó&ñ 	Ü×#Ñ# H¬dÔ4KÔLØˆAˆd‰GØˆa’ˆd‹G�q‰L‹GØˆAˆd‰G÷		ô
 	�T˜1×1Ñ1Ô2Ø×#Ñ# Q§V¡V¨Q¯Y©Y¸¿¹Ð$AÓBˆÜ�T˜6×6Ñ6Ô7ð ×Ñ˜|Ó,ˆØ&4Ñ#ˆŒ�”	˜1œ8Ü�U˜A×2Ñ2Ô3Ü�Qœ˜AŸI™I›Ô'ð ×Ñ˜|Ó,ˆØ	×ÒØ&4Ñ#ˆŒ�”	˜1œ8Ü�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'Ø	×ÑÔÜ�Qœ˜AŸI™I›Õ'÷-	ñ 	ús   Ì ;R3Ò3R=c                 óH  — t        j                  dt         j                  ¬«      }t        j                  dt         j                  ¬«      }t        j                  d«      }| j                  |||fd¬«      }| j                  |||fd¬«      }t        j                  dt         j                  ¬«      }| j                  ||fd¬«      }| j                  ||fd¬«      }| j                  d«      }	| j                  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    Œ	 y )Nrf   ró   r   ©rè   éÿÿÿrm  ©rè   ì        r  )rK   r   r[   r  r   rË  r@   rg   ©r¡   rË  rÊ  rp  rO   rT   r%  r¤  r  r¥  r¦  rA   s               r;   Útest_scalar_idx_dtypezTestCSR.test_scalar_idx_dtypeÐ  ó€  € ô —‘˜!¤2§8¡8Ô,ˆÜ—(‘(˜1¤B§H¡HÔ-ˆÜ�x‰x˜‹{ˆØ×Ñ  g¨vÐ6¸lÐÓKˆØ×Ñ  g¨vÐ6¸jÐÓIˆÜ�X‰X�f¤B§H¡HÔ-ˆØ×Ñ  b˜z°ÐÓ>ˆØ×Ñ  b˜z°ÐÓ<ˆØ×Ñ˜|Ó,ˆØ×Ñ˜zÓ*ˆÜ�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.ð �Q˜˜1˜a Ð#ò 	ˆAØ�‹Eñ	r=   c                 ó¼   — | j                  g d¢g«      }| j                  g d¢g«      }||z   j                  dk(  sJ ‚|j                  |«      j                  dk(  sJ ‚y )Nr.  ©rè   rè   r   rf   rè   )r  rf  r  ©r¡   rO   rT   s      r;   Útest_binop_explicit_zerosz!TestCSR.test_binop_explicit_zerosè  sZ   € ð ×Ñ¢	˜{Ó+ˆØ×Ñ¢	˜{Ó+ˆØ�A‘�{‰{˜aÒÐÐØ�z‰z˜!‹}× Ñ  AÒ%Ð%Ñ%r=   N)r¶   r·   r¸   rÞ  rù   rK   r  Úint_rõ   rø   r  r€  rƒ  r…  r“  r™  r�  r¢  r¥  r¬  r²  r·  r¼  rÂ  rÇ  rÏ  rÖ  rÛ  rb   r=   r;   rw  rw  Ë  s�   „ Øñ.ó ð.ð —8‘8˜RŸW™W b§j¡j°"·-±-Ð@€Kò
-ò4ò4òò(,ò<ò+ò$5ò9ò	9ò
Jò	Kò"ò5ò8B(òHó0&r=   rw  c                   ó   — e Zd Zed„ «       Zy)ÚTestCSRMatrixc                 óª   — t        j                  «       5  t        j                  dt        t        «       t        |i |¤Žcd d d «       S # 1 sw Y   y xY wry  )r*  r+  r  r	  r)   r   rz  s      r;   rù   zTestCSRMatrix.spcreatorõ  óC   € ä×$Ñ$Ó&ñ 	/Ü×#Ñ# H¬dÔ4KÔLÜ˜tÐ. vÑ.÷	/÷ 	/ò 	/úr}  N©r¶   r·   r¸   rÞ  rù   rb   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 ‚y r?   )r   rK   r   rJ   r   Ú
__origin__Ú__args__©rb  s    r;   Útest_spmatrix_subscriptablerç  û  sL   € ÜœŸ™Ñ €FÜ�fœlÔ+Ð+Ð+Ø×Ñ¤
Ñ*Ð*Ð*Ø�?‰?œrŸw™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y)ÚTestCSCc                 óª   — t        j                  «       5  t        j                  dt        t        «       t        |i |¤Žcd d d «       S # 1 sw Y   y xY wry  )r*  r+  r  r	  r)   r    rz  s      r;   rù   zTestCSC.spcreator  r|  r}  c                 óx  — t        g d¢g d¢g d¢gd«      }| j                  |«      }t        |j                  g d¢«       t	        |j
                  g d¢«       t	        |j                  g d¢«       t        |j                  d«       t        |j                  |j                  «       t        |j                  d	«       y )
N©rè   r   r   r   r  ©r   rf   r   rô   r  )rè   rf   rè   rô   )r   rf   rè   rf   rµ  r”  r7  )r   r  r   rÌ  r   rÊ  rË  r   rf  r¾   rü   r  s      r;   r€  zTestCSC.test_constructor1  s}   € Ü’<¢ª|Ð<¸cÓBˆØ× Ñ  Ó#ˆÜ! #§(¡(ª9Ô5Ü˜3Ÿ;™;¢yÔ1Ü˜3Ÿ:™:¢kÔ2Ü�S—W‘W˜QÔÜ�S—Y‘Y˜qŸw™wÔ'Ü�S—Z‘Z Õ&r=   c                 óÔ   — t        dd«      }d|d<   | j                  |«      }t        |j                  dg«       t	        |j
                  dg«       t	        |j                  g d¢«       y )Nr‚  r  rŒ  ©rf   r”  rf   )r   r   r   r   r   rè   rè   )r   r  r   rÌ  r   rÊ  rË  r  s      r;   rƒ  zTestCSC.test_constructor2  sU   € Ü�%˜ÓˆØˆˆ#‰Ø× Ñ  Ó#ˆÜ! #§(¡(¨A¨3Ô/Ü˜3Ÿ;™;¨ sÔ+Ü˜3Ÿ:™:¢oÕ6r=   c                 óà   — t        ddgddgddggd«      }| j                  |«      }t        |j                  ddg«       t	        |j
                  ddg«       t	        |j                  g d¢«       y )Nrè   r   rf   r  r,  )r   r  r   rÌ  r   rÊ  rË  r  s      r;   r…  zTestCSC.test_constructor3  sc   € Ü�A�q�6˜A˜q˜6 A q 6Ð*¨CÓ0ˆØ× Ñ  Ó#ˆÜ! #§(¡(¨A¨a¨5Ô1Ü˜3Ÿ;™;¨¨! uÔ-Ü˜3Ÿ:™:¢gÕ.r=   c                 óR  — t        g d¢«      }t        g d¢«      }t        g d¢«      }t        ||f«      }| j                  ||fd«      }t        t	        d«      j                  dd«      |j                  «       «       | j                  g d¢g d	¢g d
¢ff«      }|j                  dk(  sJ ‚y )Nr‡  rˆ  r‰  ry  rê  r”  rô   r�  r�  r‘  rf   )r   r	   r  r   r   rú   rš   rf  )r¡   rÎ  rÏ  rÌ  r%  r7  s         r;   r“  zTestCSC.test_constructor4&  s”   € äÒ5Ó6ˆÜÒ5Ó6ˆÜÒCÓDˆä�S˜�IÓˆØ× Ñ  $ r ¨5Ó1ˆÜœ6 "›:×-Ñ-¨a°Ó3°S·[±[³]ÔCð × Ñ ¢)ªiºÐ-CÐ!DÓEˆØ�w‰w˜!Š|Ð‰|r=   c                 ó¦   — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||f«      }t        |j                  d«       y ©Nr–  r—  rÒ  )rò   rô   )r   r  r   r¾   ©r¡   rË  rÊ  rÌ  r7  s        r;   r™  zTestCSC.test_constructor54  rš  r=   c                 óÞ   — g d¢}g d¢}g d¢}| j                  |||f«      }t        |j                  d«       t        t	        j
                  |j                  t        j                  «      «       y ró  )r  r   r¾   r   rK   rm   r@   rœ  rô  s        r;   r�  zTestCSC.test_constructor6<  sS   € âˆÚˆÚˆØ× Ñ  $¨°Ð!8Ó9ˆÜ˜3Ÿ9™9 UÔ+Ü”—‘˜cŸi™i¬×)9Ñ)9Ó:Õ;r=   c                 ój  — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }|j                  «       }|j                  «        t	        |j
                  d«       t	        |j                  g d¢«       t	        |j                  «       |j                  «       «       y )Nr®  r¯  r°  ©rW   rf   rm  rô   rà  )r   r  r-  r±  r   rf  rÌ  rš   r«  s         r;   r²  zTestCSC.test_eliminate_zerosE  r³  r=   c                 ó(  — t        d«      }t        g d¢«      }g d¢}| j                  |||fd¬«      }|j                  «       }|j	                  «        t        |j                  g d¢«       t        |j                  «       |j                  «       «       y )NrŒ  r§  r¨  r÷  rm  rª  )r   r   r  r-  r»  r   rÊ  rš   )r¡   rÌ  rÎ  r   rX  rY  s         r;   r¬  zTestCSC.test_sort_indicesP  sq   € Ü�a‹yˆÜ’OÓ$ˆÚˆØ× Ñ  $¨¨SÐ!1¸Ð Ó@ˆØ�h‰h‹jˆØ×ÑÔÜ˜3Ÿ;™;¢Ô7Ü˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c           	      ó  — | j                  t        j                  d«      j                  dd«      dz  «      }dD ]Ï  }t	        t        | j                  |«      d«        t        ||«      «       }t	        |j                  |j                  «       t        |j                  |j                  «       t        |j                  |j                  «       t        |j                  «        t        t        |«      |j                  «       «      «       ŒÑ y )Né   râ  rô   g      5@rµ  T)r  rK   r   rú   r   rÔ  rê   r|   r¾   r   rÊ  rË  rš   r¶  s       r;   r·  zTestCSC.test_ufuncsZ  r¸  r=   c                 óh  — t        d«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }t        d«      }t        g d¢«      }t        g d¢«      }| j                  |||fd¬«      }t        ||z   j	                  «       |j	                  «       |j	                  «       z   «       y )	NrŒ  r§  r¨  r÷  rm  rò   rº  r»  )r   r   r  r   rš   r«  s         r;   r¼  z TestCSC.test_unsorted_arithmeticf  r½  r=   c                 óŒ  — t        j                  dgdgdgg«      }t        j                  g d¢«      }t         j                  j                  d«       | j	                  t         j                  j                  dd«      «      }| j                  |«      }|||f   }t        |«      r|j                  «       }t        ||||f   «       y r¿  rÀ  rÁ  s         r;   rÂ  z%TestCSC.test_fancy_indexing_broadcastq  rÃ  r=   c                 óH  — t        j                  dt         j                  ¬«      }t        j                  dt         j                  ¬«      }t        j                  d«      }| j                  |||fd¬«      }| j                  |||fd¬«      }t        j                  dt         j                  ¬«      }| j                  ||fd¬«      }| j                  ||fd¬«      }| j	                  d«      }	| j	                  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    Œ	 y )
Nrf   ró   r   )rÒ  rè   rm  )rÔ  rè   r  rÑ  rÓ  )	rK   r   r[   r  r  r   rË  r@   rg   rÕ  s               r;   rÖ  zTestCSC.test_scalar_idx_dtype  r×  r=   N)r¶   r·   r¸   rÞ  rù   rK   r  rÜ  rõ   rø   r  r€  rƒ  r…  r“  r™  r�  r²  r¬  r·  r¼  rÂ  rÖ  rb   r=   r;   ré  ré    sr   „ Øñ.ó ð.ð —8‘8˜RŸW™W b§j¡j°"·-±-Ð@€Kò'ò7ò/òò,ò<ò	9ò9ò
Jò	Kò"ór=   ré  c                   ó   — e Zd Zed„ «       Zy)ÚTestCSCMatrixc                 óª   — t        j                  «       5  t        j                  dt        t        «       t        |i |¤Žcd d d «       S # 1 sw Y   y xY wry  )r*  r+  r  r	  r)   r   rz  s      r;   rù   zTestCSCMatrix.spcreatorœ  rà  r}  Nrá  rb   r=   r;   rÿ  rÿ  ›  râ  r=   rÿ  c                   óz   — 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y)r  c                 óâ   — | j                  d«      }d|d<   d|d<   ||j                  z  }||j                  j                  «       z  }t        |j	                  «       |j	                  «       «       y )N)rW   rê  rW   rB  rð  ©rŒ  rò   )r  r@  r   r   rš   )r¡   rR   rÈ  r  s       r;   Ú	test_multzTestDOK.test_multª  s[   € Ø×Ñ˜xÓ(ˆØˆˆ$‰Øˆˆ$‰Ø�—‘‰GˆØ�—‘—‘“ÑˆÜ˜1Ÿ9™9›;¨¯	©	«Õ4r=   c                 óè   — | j                  d«      }d|d<   d|d<   |dz   }t        ddgddgddgg«      }t        |j                  «       |«       |d	z   }|d	z   }t        |j                  «       |«       y )
NrÓ  éöÿÿÿr4  rð  r  rW   r   rñ  r…  )rù   r   r   rš   r:  s      r;   Útest_add_nonzerozTestDOK.test_add_nonzero²  sz   € Ø�N‰N˜5Ó!ˆØˆˆ#‰Øˆˆ#‰Ø�‰FˆÜ�B˜�7˜R ˜H r¨2 hÐ/Ó0ˆÜ˜1Ÿ9™9›;¨Ô*à�‰FˆØ�‰FˆÜ˜1Ÿ9™9›;¨Õ*r=   c                 óò   — | j                  d«      }d|d<   d|d<   t        |dz  j                  «       |j                  «       dz  «       t        |dz  j                  «       |j                  «       dz  «       y ©NrÓ  r  r4  rð  r  r…  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¸©MÕ:r=   c                 óp  — d\  }}| j                  ||f«      }d|d<   d|d<   d|d<   d|d	<   d
|d<   d|d<   t        |j                  «       d d …|dz
  f   t        |«      «       |j	                  «       }t        |j                  «       d d …|dz
  f   t        |«      «       ||}}|j                  «       }t        |j                  ||f«       t        |j                  «       |dz
  d d …f   t        |«      «       |j                  «       }t        |j                  «       |dz
  d d …f   t        |«      «       y )N)rò   râ  rè   rX  rf   r  rô   rj  r”  r  rŒ  ry  rò   r_  )	r  r   rš   r   r   r   r   r¾   r¡  )r¡   r§  rÿ  rO   r7  rT   r8  s          r;   Útest_convertzTestDOK.test_convertÆ  s  € à‰ˆˆAØ×Ñ  1˜vÓ&ˆð ˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰Øˆˆ#‰ô 	˜1Ÿ9™9›;¢q¨¨1© uÑ-¬u°Q«yÔ9ð �g‰g‹iˆÜ˜3Ÿ;™;›=ª¨1¨Q©3¨Ñ/´°q³Ô;ð �QˆAˆØ�K‰K‹MˆÜ�Q—W‘W˜q !˜fÔ%ä˜1Ÿ9™9›; q¨¡sª1 uÑ-¬u°Q«yÔ9ð �g‰g‹iˆÜ˜3Ÿ;™;›=¨¨1©ªQ¨Ñ/´°q³Õ;r=   c                 ó„  — t        t        | j                  «       t        g d¢g d¢g d¢gd«      }| j                  |«      }t	        |j
                  |j
                  «       t	        |j                  «       |«       | j                  |«      }t	        |j                  «       |j                  «       «       g d¢g d¢g}| j                  |t        j                  ¬«      }t	        |j
                  t        j                  «       |j                  «       }t	        |j
                  t        j                  «       t        ||«       y )Nrì  r  rí  r  r,  r-  ró   )r  r—  r  r   r   r@   rš   r  rK   r÷   r   )r¡   rT   rR   r¤  rÌ  r  Údas          r;   Ú	test_ctorzTestDOK.test_ctorå  sÝ   € ä”i ×!3Ñ!3Ô4ô ’<¢ª|Ð<¸cÓBˆØ×Ñ˜qÓ!ˆÜ�Q—W‘W˜aŸg™gÔ&Ü�Q—Y‘Y“[ !Ô$ð ×Ñ˜qÓ!ˆÜ�Q—Y‘Y“[ !§)¡)£+Ô.âš9Ð%ˆØ×Ñ˜t¬2¯:©:ÐÓ6ˆÜ�Q—W‘WœbŸj™jÔ)Ø�Y‰Y‹[ˆÜ�R—X‘XœrŸz™zÔ*Ü˜2˜tÕ$r=   c                 óè   — | j                  d«      }d|d<   t        d|j                  «       vd«       | j                  d«      }d|d d …df<   t        t        |j                  «       «      dk(  d«       y )Nra  r   rÖ  zUnexpected entry (0,0) in keyszUnexpected entries in keys)r  r   ÚkeysrÃ   rÚ  s      r;   Útest_ticket1160zTestDOK.test_ticket1160ú  sl   € à×Ñ˜uÓ%ˆØˆˆ#‰ô 	�˜QŸV™V›XÐ%Ð'GÔHð ×Ñ˜uÓ%ˆØˆŠ!ˆAˆ#‰Ü”�A—F‘F“H“ Ñ"Ð$@ÕAr=   N)r¶   r·   r¸   r"   rù   rK   rÜ  rõ   rø   r  r  r  r  r  r  r  rb   r=   r;   r  r  ¦  s>   „ Ø€IØ—7‘7˜BŸJ™J¨¯©Ð6€Kò5ò
+ò;ò<ò>%ó*Br=   r  )r`  ra  c                   ó   — e Zd ZeZy)ÚTestDOKMatrixN)r¶   r·   r¸   r   rù   rb   r=   r;   r  r    ó   „ Ø�Ir=   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y
)ÚTestLILc                 óØ  — t        dt        j                  «      }d|d<   d|d<   | j                  dt        j                  ¬«      }d|d<   d|d<   t	        j
                  «       dk7  r4t        ||j                  z  ||j                  z  j                  «       «       t        ||j                  «       j                  z  ||j                  «       j                  z  j                  «       «       y )N©rW   rW   rW   rB  y              4@r  ró   Úppc64le)
r   rK   rø   r  ÚplatformÚmachiner   r@  rš   r   r:  s      r;   Útest_dotzTestLIL.test_dot  s¶   € Ü�(œBŸM™MÓ*ˆØˆˆ$‰Øˆˆ$‰à×Ñ˜x¬r¯}©}ÐÓ=ˆØˆˆ$‰Øˆˆ$‰ô ×ÑÓ Ò*Ü˜q 1§3¡3™w¨¨Q¯S©S©×(9Ñ(9Ó(;Ô<ä˜1˜qŸ{™{›}Ÿ™Ñ.°°Q·[±[³]·_±_Ñ1D×0MÑ0MÓ0OÕPr=   c                 ó€   — | j                  d«      }d|d<   |dz  }t        |d   d«       |dz  }t        |d   d«       y )Nra  rf   rÖ  r”  r   )r  r   )r¡   rA   s     r;   Útest_scalar_mulzTestLIL.test_scalar_mul#  sI   € Ø×Ñ˜vÓ&ˆØˆˆ$‰àˆa‰CˆÜ�Q�t‘W˜aÔ àˆa‰CˆÜ�Q�t‘W˜aÕ r=   c                 óò   — | j                  d«      }d|d<   d|d<   t        |dz  j                  «       |j                  «       dz  «       t        |dz  j                  «       |j                  «       dz  «       y r	  r
  r±  s     r;   Útest_truediv_scalarzTestLIL.test_truediv_scalar-  sc   € Ø�N‰N˜6Ó"ˆØˆˆ$‰Øˆˆ$‰ä˜A ™F×+Ñ+Ó-¨q¯y©y«{¸RÑ/?Ô@Ü˜A ™EŸ?™?Ó,¨a¯i©i«k¸A©oÕ>r=   c                 ó2  — | j                  g d¢g d¢g«      }| j                  g d¢g d¢g«      }|||z   f|||z
  fd|dz  fdœ}|j                  «       D ]V  \  }\  }}|j                  «       } t        |d|› d�«      |«       t	        |j                  «       |j                  «       «       ŒX | j                  dt        j                  d	«      ¬
«      }| j                  g d¢«      }|dd d …fxx   |z  cc<   t	        |dd d …f   j                  «       |«       y )N©r   rf   rô   r2  r.  rô   )ÚaddÚsubÚmulÚ__iÚ__rA  rõ   ró   )çš™™™™™¹?r*  r*  r   )	r  r±  r-  r|   r   rš   rK   r@   r	  )r¡   rR   rS   rÌ  ÚoprÒ   rp  rb  s           r;   Útest_inplace_opszTestLIL.test_inplace_ops5  s  € Ø×Ñ¢	ª9Ð5Ó6ˆØ×Ñ¢	ª9Ð5Ó6ˆà˜1˜q™5�zØ˜1˜q™5�zØ˜1˜q™5�zñ#ˆð &*§Z¡Z£\ò 	EÑ!ˆBÑ!�˜Ø—V‘V“XˆFØ)ŒG�F˜c "  R˜LÓ)¨%Ô0ä˜vŸ~™~Ó/°×1AÑ1AÓ1CÕDð		Eð ×Ñ˜v¬R¯X©X°iÓ-@ÐÓAˆØ�L‰LšÓ)ˆØ	ˆ!ŠQˆ$‹�1‰‹Ü˜1˜Q¢˜T™7Ÿ?™?Ó,¨aÕ0r=   c                 óÒ   — g d¢g d¢g}| j                  t        |«      «      }t        |«      D ]7  \  }}t        |j	                  «       t        ||   |j
                  ¬«      «       Œ9 y )Nrà  rá  )Úndmin)r  r   rQ  r   rš   rÄ   )r¡   Úrow_datarS   r  rÎ  s        r;   Útest_lil_iterationzTestLIL.test_lil_iterationI  sX   € ÚšyÐ)ˆØ×Ñœu X›Ó/ˆÜ “lò 	R‰FˆAˆsÜ˜sŸ{™{›}¬e°H¸Q±KÀsÇxÁxÔ.PÕQñ	Rr=   c                 óê   — | j                  d«      }d|d<   d|d<   d|d<   d|d	<   d
|d<   |j                  «       }| j                  |«      }t        |j                  «       |j                  «       «       y )Nr  rW   rB  rð  r  rñ  )rã  rô   rÕ  )rô   rã  rŽ  )rã  rä  )r  r¡  r   rš   )r¡   rS   rþ   rÈ  s       r;   Útest_lil_from_csrzTestLIL.test_lil_from_csrO  sp   € à×Ñ˜xÓ(ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Ø�G‰G‹IˆØ×Ñ˜qÓ!ˆÜ˜1Ÿ9™9›;¨¯	©	«Õ4r=   c                 óö   — | j                  t        d«      j                  dd«      «      }| j                  |«      }t	        |t        g d¢«      dd…f   j                  «       |t        g d¢«      dd…f   «       y )NrB  rŒ  rà  rf   rô   )r	  r   rú   r  r   r   rš   )r¡   r•  rR   s      r;   Útest_fancy_indexing_lilzTestLIL.test_fancy_indexing_lil[  sm   € Ø�L‰Lœ ›×+Ñ+¨A¨qÓ1Ó2ˆØ×Ñ˜qÓ!ˆä�Q”ušYÓ'¨¨1¨Ð,Ñ-×5Ñ5Ó7Ø”ušYÓ'¨¨1¨Ð,Ñ-õ	/r=   c                 ó˜  — | j                  d«      }d|d<   d|d<   d|d<   d|d	<   | j                  d«      }d|d<   d|d
<   d|d<   d|d	<   d|d<   t        |j                  |«      j                  «       |j                  |«      j                  «       «       t        |j                  |«      j                  «       g d¢g d¢g d¢g d¢g«       y )Nry  rè   rÖ  rf   r3  rô   rÔ  r”  rj  r4  rÓ  rx  re  ©r   r   rä  )r   rô  r   )r  r   r  rš   )r¡   Úlr§  s      r;   Útest_point_wise_multiplyz TestLIL.test_point_wise_multiplyb  sÐ   € Ø×Ñ˜vÓ&ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰à×Ñ˜vÓ&ˆØˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰Øˆˆ$‰ä˜1Ÿ:™: a›=×0Ñ0Ó2ØŸ:™: a›=×0Ñ0Ó2ô	4ô 	˜1Ÿ:™: a›=×0Ñ0Ó2Ú%Ú%Ú%Ú&ð(õ	)r=   c                 óh   — | j                  t        j                  d«      «      }|dz  }d|dd d …f<   y )Nra  r�  r   )r  rK   r  ri  s     r;   Útest_lil_multiply_removalz!TestLIL.test_lil_multiply_removaly  s0   € à×ÑœrŸw™w v›Ó/ˆØ	ˆR‰ˆØˆˆ!ŠQˆ$Šr=   N)r¶   r·   r¸   r$   rù   rK   rÜ  rõ   rø   r  r  r   r"  r,  r0  r2  r4  r8  r:  rb   r=   r;   r  r    sN   „ Ø€IØ—7‘7˜BŸJ™J¨¯©Ð6€KòQò!ò?ò1ò(Rò
5ò/ò)ó.r=   r  )r`  c                   ó   — e Zd ZeZy)ÚTestLILMatrixN)r¶   r·   r¸   r   rù   rb   r=   r;   r<  r<  €  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                  j                  dd¬«      d	„ «       Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚBaseTestCOOc                 ó°  — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||ffd«      }t        t        d«      j	                  dd«      |j                  «       «       | j                  dd	gd
d	gd
d	gfft        j                  ¬«      }t        dd
gd
d	ggt        j                  ¬«      }t        ||j                  «       «       y )Nr‡  rˆ  r‰  ry  rê  r”  rô   rŽ  rè   r   ró   )r   r  r   r   rú   rš   rK   r’  )r¡   rÎ  rÏ  rÌ  rÍ  rh  s         r;   r€  zBaseTestCOO.test_constructor1‹  s½   € äÒ5Ó6ˆÜÒ5Ó6ˆÜÒCÓDˆà× Ñ  $¨¨C yÐ!1°%Ó8ˆÜœ6 "›:×-Ñ-¨a°Ó3°S·[±[³]ÔCð × Ñ  9¨a .°A°q°6¸A¸q¸6Ð2BÐ!CÌ2Ï9É9Ð ÓUˆÜ˜	 1�~¨¨1 vÐ.´b·i±iÔ@ˆÜ˜5 #§+¡+£-Õ0r=   c                 óÚ   — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||ffd«      }t        g d¢g d¢g d¢g«      }t        ||j                  «       «       y )N)
r   rè   rf   rf   rf   rf   r   r   rf   rf   )
r   rf   r   rf   rè   rè   rè   r   r   rf   )
rf   rä  r¯  rŒ  râ  r   ré   rf   rè   r­  ra  )r”  ré   r   r6  )r»  râ  r   )r   r  r   rš   )r¡   rÎ  rÏ  rÌ  rÍ  r¢   s         r;   rƒ  zBaseTestCOO.test_constructor2™  s_   € äÒ)Ó*ˆÜÒ)Ó*ˆÜÒ-Ó.ˆØ× Ñ  $¨¨C yÐ!1°%Ó8ˆä’Z¢ªJÐ7Ó8ˆä˜3 §¡£Õ.r=   c                 ó  — | j                  d«      }t        |j                  d«       t        |j                  g «       t        |j                  g «       t        |j
                  g «       t        |j                  «       t        d«      «       y )Nry  )r  r   r¾   rÎ  rÏ  rÌ  rš   r   ©r¡   rÍ  s     r;   r…  zBaseTestCOO.test_constructor3¤  s^   € à× Ñ  Ó'ˆä˜3Ÿ9™9 UÔ+Ü˜3Ÿ7™7 2Ô&Ü˜3Ÿ7™7 2Ô&Ü˜3Ÿ8™8 BÔ'Ü˜3Ÿ;™;›=¬%°«-Õ8r=   c                 óP  — t        g d¢g d¢g d¢g«      }| j                  |«      }t        |j                  «       |«       t        g d¢«      }| j                  |«      }| j                  r|n|j                  dd«      }t        |j                  «       |«       t        j                  t        d¬«      5  | j                  g d¢g d	¢g d
¢f«       d d d «       t        j                  t        d¬«      5  | j                  g d¢d¬«       d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)N©r   rè   r   r   )râ  r   rô   r   )r   r”  r   r   rè   ré   zobject cannot be interpretedrj  )r   r4  é   é!   r%  rî  rä  r  rm  )
r   r  r   rš   r  rú   r  r   r—  r  )r¡   r¢   rÍ  rp  s       r;   r“  zBaseTestCOO.test_constructor4®  sþ   € ä’YÚÚð ó !ˆð × Ñ  Ó%ˆÜ˜3Ÿ;™;›=¨#Ô.ô ’IÓˆØ× Ñ  Ó%ˆØ×,Ò,‘3°#·+±+¸aÀÓ2DˆÜ˜3Ÿ;™;›=¨(Ô3ô �]‰]œ9Ð,KÔLñ 	NØ×Ñš²º|Ð0LÔM÷	Nô �]‰]œ:Ð-CÔDñ 	>Ø×Ñš°fÐÔ=÷	>ð 	>÷		Nð 	Nú÷	>ð 	>ús   Â3DÃ1DÄDÄD%c                 ó˜   — dg}| j                  |dgdgffd ¬«      }|j                  t        j                  |«      j                  k(  sJ ‚y )Nrè   r   ró   )r  r@   rK   r   )r¡   rÌ  rÍ  s      r;   Ú"test_constructor_data_ij_dtypeNonez.BaseTestCOO.test_constructor_data_ij_dtypeNoneÄ  sK   € ØˆsˆØ× Ñ  $¨!¨¨q¨c¨
Ð!3¸4Ð Ó@ˆØ�y‰yœBŸH™H T›N×0Ñ0Ò0Ð0Ñ0r=   FzCOO does not have a __getitem__©Úrunr  c                  ó   — y r?   rb   rÁ   s    r;   r›  zBaseTestCOO.test_iteratorÉ  ó   € àr=   c                 ó€   — ddgg}| j                  |«      j                  «       }t        |j                  «       |«       y rk   )r  Útodiar   rš   )r¡   r   rb  s      r;   Útest_todia_all_zerosz BaseTestCOO.test_todia_all_zerosÍ  s6   € Ø�Q��ˆØ× Ñ  Ó'×-Ñ-Ó/ˆÜ˜3Ÿ;™;›=¨%Õ0r=   c                 óü  — | j                  d«      }|j                  «        | j                  ddgddgddgff«      }|j                  «        t        |j                  «       ddgddgg«       | j                  ddgddgddgff«      }|j                  «        t        |j                  «       ddgddgg«       t        |j                  dg«       t        |j
                  dg«       t        |j                  dg«       y )Nry  rè   rf   r   rô   )r  rË  r   rš   rÎ  rÏ  rÌ  rB  s     r;   Útest_sum_duplicateszBaseTestCOO.test_sum_duplicatesÒ  sè   € Ø× Ñ  Ó'ˆØ×ÑÔØ× Ñ  1 Q %¨1¨Q¨%°!°A°¨Ð!8Ó9ˆØ×ÑÔÜ˜3Ÿ;™;›=¨A¨a¨5°!°A°¨-Ô8Ø× Ñ  1 Q %¨1¨Q¨%°!°A°¨Ð!8Ó9ˆØ×ÑÔÜ˜3Ÿ;™;›=¨A¨a¨5°!°A°¨-Ô8Ü˜3Ÿ7™7 Q CÔ(Ü˜3Ÿ7™7 Q CÔ(Ü˜3Ÿ8™8 a SÕ)r=   c                 óª   — | j                  g d¢g d¢g d¢ff«      }|j                  «       }t        |j                  «       |j                  «       «       y )Nr�  r�  r‘  )r  r£  r   rš   )r¡   rÍ  rE   s      r;   Útest_todok_duplicatesz!BaseTestCOO.test_todok_duplicatesß  s=   € Ø× Ñ ¢)ªiºÐ-CÐ!DÓEˆØ�i‰i‹kˆÜ˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c                 ó  — | j                  g d¢g d¢g d¢ff«      }|j                  «       }t        |j                  dz   |j                  «       |j	                  «       }t        |j                  dz   |j                  «       y )Nr�  r�  r‘  rf   )r  r¡  r   rf  r   )r¡   rÍ  r8  r7  s       r;   Útest_tocompressed_duplicatesz(BaseTestCOO.test_tocompressed_duplicatesä  s^   € Ø× Ñ ¢)ªiºÐ-CÐ!DÓEˆØ�i‰i‹kˆÜ�S—W‘W˜q‘[ #§'¡'Ô*Ø�i‰i‹kˆÜ�S—W‘W˜q‘[ #§'¡'Õ*r=   c                 ó€  — | j                  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                  |«      }|j                  du sJ ‚| j                  |«      }|j                  du sJ ‚|j                  «        |j                  du sJ ‚| j                  |d¬«      }|j                  du sJ ‚| j                  |d¬«      }|j                  du sJ ‚|j                  «        |j                  du sJ ‚| j                  |«      }|j                  du sJ ‚t        |j                  d«       |j                  «        |j                  du sJ ‚t        |j                  d«       d|_        t        |j                  d«       t        |j                  d«       |j                  «        t        |j                  d«       | j                  |«      }d|_        t        |j                  d«       t        |j                  d«       |j                  «        t        |j                  d«       y	)
rÉ  r  Trû  rf   r   rè   Frö  N)r  r   rÊ  rK   r   rË  rf  )r¡   rR   ÚA_arrayÚA_coords_formÚA_coords_dupss        r;   rÏ  z%BaseTestCOO.test_has_canonical_formatë  se  € ð ×Ñ˜vÓ&ˆÜ�Q×+Ñ+¨TÔ2ä—(‘(šI˜;Ó'ˆÜŸ™ 1 #›¬¯©°1°#«¼¿¹À!À»Ð(FÐGˆÜŸ™ 1 a &Ó)¬B¯H©H°a¸°VÓ,<¼b¿h¹hÈÈ1ÀvÓ>NÐ+OÐPˆà×Ñ˜wÓ'ˆØ×%Ñ%¨Ñ-Ð-Ð-Ø×Ñ˜}Ó-ˆØ×%Ñ%¨Ñ.Ð.Ð.Ø	×ÑÔØ×%Ñ%¨Ñ-Ð-Ð-à×Ñ˜q tÐÓ,ˆØ×%Ñ%¨Ñ-Ð-Ð-Ø×Ñ˜q uÐÓ-ˆØ×%Ñ%¨Ñ.Ð.Ð.Ø	×ÑÔØ×%Ñ%¨Ñ-Ð-Ð-à×Ñ˜}Ó-ˆØ×%Ñ%¨Ñ.Ð.Ð.Ü�Q—U‘U˜AÔØ	×ÑÔØ×%Ñ%¨Ñ-Ð-Ð-Ü�Q—U‘U˜AÔð "'ˆÔÜ�Q×+Ñ+¨UÔ3Ü�Q—U‘U˜AÔØ	×ÑÔÜ�Q×+Ñ+¨TÔ2à×Ñ˜}Ó-ˆØ!%ˆÔÜ�Q×+Ñ+¨TÔ2Ü�Q—U‘U˜AÔØ	×ÑÔÜ�Q—U‘U˜AÕr=   c                 ó\  — t        g d¢«      }t        g d¢«      }t        g d¢«      }| j                  |||ffd¬«      }|j                  «       }|j                  «        t	        |j
                  dk7  j                  «       «       t        |j                  «       |j                  «       «       y )Nr®  )r   r   r   rè   rè   rè   rè   rè   r¯  r©  rm  r   )	r   r  r-  r±  r   rÌ  rX  r   rš   )r¡   rÌ  rÎ  rÏ  rX  rY  s         r;   r²  z BaseTestCOO.test_eliminate_zeros  s‡   € ÜÒ-Ó.ˆÜÒ,Ó-ˆÜÒ,Ó-ˆØ× Ñ  $¨¨c¨
Ð!3¸6Ð ÓBˆØ�h‰h‹jˆØ×ÑÔÜ�—‘˜Q‘×#Ñ#Ó%Ô&Ü˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c                 óš  — g d¢g d¢g d¢g}d}| j                  |«      }|j                  |«      }t        |j                  |j                  u «       |j                  |d¬«      }t        |j                  |j                  u «       |j                  |d¬«      }t        t	        j
                  |j                  |j                  «       «       y )Nrí  rî  rï  rò  Frö  T)r  rú   r   rÌ  rK   rQ   )r¡   rp   Ú	new_shaperA   rB   s        r;   Útest_reshape_copyzBaseTestCOO.test_reshape_copy"  sŸ   € ÚšlªOÐ<ˆØˆ	Ø×Ñ˜sÓ#ˆà�I‰I�iÓ ˆÜ�—‘˜!Ÿ&™&Ð Ô!à�I‰I�i eˆIÓ,ˆÜ�—‘˜!Ÿ&™&Ð Ô!à�I‰I�i dˆIÓ+ˆÜ”B×'Ñ'¨¯©°·±Ó7Ð7Õ8r=   c                 ó  — | j                  dgdgdgffd«      }| j                  dgdgdgffd«      }t        |j                  dd¬«      |k7  j                  dk(  «       t        |j                  dd	¬«      |k7  j                  dk(  «       y )
Nrè   iÀÆ- r|  )éÁÆ- éé  )r`  r_  rþ   rë  r   ré  )r  r   rú   rf  )r¡   Úmat1Úmat2s      r;   Útest_large_dimensions_reshapez)BaseTestCOO.test_large_dimensions_reshape0  s”   € ð ×!Ñ! A 3¨'¨°T°FÐ(;Ð"<¸oÓNˆØ×!Ñ! A 3¨$¨°'°Ð(;Ð"<¸oÓNˆô 	�—‘˜o°S�Ó9¸TÑA×FÑFÈ!ÑKÔLÜ�—‘˜o°S�Ó9¸TÑA×FÑFÈ!ÑKÕLr=   N)r¶   r·   r¸   rK   rÜ  rõ   rø   r  r€  rƒ  r…  r“  rH  r  rß  Úxfailr›  rO  rQ  rS  rU  rÏ  r²  r]  rc  rb   r=   r;   r>  r>  ˆ  s‡   „ Ø—7‘7˜BŸJ™J¨¯©Ð6€Kò1ò	/ò9ò>ò,1ð
 ‡[�[×Ñ˜5Ð)JÐÓKñó Lðò1ò
*ò9ò
+ò+òZ9ò9ó	Mr=   r>  c                   ó   — e Zd ZeZy)ÚTestCOON)r¶   r·   r¸   r#   rù   rb   r=   r;   rf  rf  ;  s	   „ ð �Ir=   rf  )rY  rZ  r[  r\  r]  c                   ó   — e Zd ZeZy)ÚTestCOOMatrixN)r¶   r·   r¸   r   rù   rb   r=   r;   rh  rh  A  s	   „ ð
 �Ir=   rh  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 ‚y r?   )	r#   rK   r   r"  ra  rJ   r   rä  rå  ræ  s    r;   Útest_sparray_subscriptablerj  M  s¦   € Ü”r—w‘w¤¤c¡
Ð*Ñ+€FÜ�fœlÔ+Ð+Ð+Ø×Ñ¤	Ñ)Ð)Ð)Ø�?‰?œrŸw™w¬¬c©
Ð3Ò3Ð3Ð3ä”r—w‘wÑ€FÜ�fœlÔ+Ð+Ð+Ø×Ñ¤	Ñ)Ð)Ð)Ø�?‰?œrŸw™w˜jÒ(Ð(Ñ(r=   c                   ó>  — e Zd ZeZej                  ej                  ej                  gZ	d„ Z
ej                  j                  dd¬«      d„ «       Z ed«      d„ «       Zd„ Zd	„ Zej                  j'                  d
¬«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestDIAc                 ó  — t        g d¢g d¢g d¢g d¢g«      }t        j                   g d¢g«      j                  dd¬«      }t        j                   g d	¢«      }t        | j	                  ||fd
¬«      j                  «       |«       y )N)rè   r   rô   r   )rè   rf   r   r”  )r   rf   rô   r   )r   r   rô   r”  rÒ  rô   r   rc  ©r   ré   rf   r  rm  )r   rK   Úrepeatr   r  rš   )r¡   rÈ  rÌ  rÐ  s       r;   r€  zTestDIA.test_constructor1_  st   € Ü’<ÚÚÚð!ó "ˆô �x‰xš˜Ó$×+Ñ+¨A°1Ð+Ó5ˆÜ—(‘(š8Ó$ˆÜ�T×'Ñ'¨¨w¨¸vÐ'ÓF×NÑNÓPÐRSÕTr=   FzDIA does not have a __getitem__rI  c                  ó   — y r?   rb   rÁ   s    r;   r›  zTestDIA.test_iteratorh  rL  r=   rô   c                 óP  — | j                  t        j                  d«      «      }t        |j                  j
                  t        j                  «       |j                  dd¬«       t        |j                  j
                  t        j                  «       | j                  t        j                  d«      «      }t        |j                  j
                  t        j                  «       |j                  dd¬«       t        |j                  j
                  t        j                  «       y )Nrô   ri  rf   rÓ  r”  )	r  rK   r'   r   rÐ  r@   r[   r
  rg   ©r¡   r§  s     r;   Útest_setdiag_dtypezTestDIA.test_setdiag_dtypel  sª   € à×ÑœrŸv™v a›yÓ)ˆÜ�Q—Y‘Y—_‘_¤b§h¡hÔ/Ø	�	‰	�$˜!ˆ	ÔÜ�Q—Y‘Y—_‘_¤b§h¡hÔ/à×ÑœrŸv™v a›yÓ)ˆÜ�Q—Y‘Y—_‘_¤b§h¡hÔ/Ø	�	‰	�$˜!ˆ	ÔÜ�Q—Y‘Y—_‘_¤b§h¡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«      j                  d«      g d¢dddgddggdft        j                  dd«      j                  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)rf   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è   rf   rô   ré   rF  r»  rŒ  z)overfilled shorter-diagonal, out of orderrE  )râ  rô   r”  é   z(overfilled longer-diagonal, out of order)rK   r   rú   )r¡   Úd1Úd3s      r;   Ú	ill_caseszTestDIA.ill_casesx  sÑ  € ð
 ˆcˆUˆÚˆ[ˆà�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Ú)Ø�a˜�V˜a ˜VÐ$Ø<ð>ô —‘˜1˜iÓ(×0Ñ0°Ó8Ú)Ø�a˜�V˜b !˜WÐ%Ø;ð=ð1>ð 	>r=   c                 óà   — | j                  «       D ][  \  }}}}}dD ]N  }|€| j                  |«      }n| j                  ||f|¬«      }d|v rd}|j                  «       |k(  rŒFJ d|z   «       ‚ Œ] y )N©rÔ  r  r  rm  r   úcase: )rx  r  Ú_getnnz)r¡   rÌ  Úofsetsrf  ÚrefÚcaser¾   rR   s           r;   Útest_getnnzzTestDIA.test_getnnz�  s‰   € Ø,0¯N©NÓ,<ò 	;Ñ(ˆD�&˜#˜s DØ1ò ;�Ø�<Ø×*Ñ*¨5Ó1‘Aà×*Ñ*¨D°&¨>ÀÐ*ÓG�AØ˜‘:Ø�CØ—y‘y“{ cÓ)Ð:¨8°d©?Ó:Ð)ñ;ñ	;r=   zDIA stores extra zerosr  c                  ó   — y r?   rb   rÁ   s    r;   rH  zTestDIA.test_getnnz_axis¨  rL  r=   c                 óŒ  — | j                  «       D ]±  \  }}}}}dD ]¤  }|€| j                  |«      }n| j                  ||f|¬«      }|j                  «       }t        j                  |«      d |d   …d |d   …f   }	t        j
                  |	«      }
|j                  |
k(  sJ ‚t        |j                  «       |	d|z   ¬«       Œ¦ Œ³ y )Nrz  rm  r   rè   r{  r  )	rx  r  r¡  rK   r   rg  rf  r   rš   )r¡   rÌ  r}  r$  r  r  r¾   rR   rS   r~  rf  s              r;   Ú
test_tocsrzTestDIA.test_tocsr¬  sÎ   € ð )-¯©Ó(8ò 
	NÑ$ˆD�&˜!˜Q Ø1ò 	N�Ø�<Ø×*Ñ*¨5Ó1‘Aà×*Ñ*¨D°&¨>ÀÐ*ÓG�AØ—G‘G“I�Ü—h‘h˜q“k ) 5¨¡8 )¨Y¨e°A©h¨YÐ"6Ñ7�Ü×&Ñ& sÓ+�Ø—u‘u ’|Ð#�|Ü" 1§9¡9£;°¸XÈ¹_ÖMñ	Nñ
	Nr=   c                 óö   — | j                  g d¢gdgfd¬«      }|j                  «       }t        |j                  «       j                  «       |«       t        |j	                  «       j                  «       |«       y )NrÙ  ré   r_  rm  )r  rš   r   r   r¡  )r¡   r§  rp  s      r;   Útest_convert_gh14555zTestDIA.test_convert_gh14555¼  s]   € à×Ñ¢ ¨b¨TÐ2¸&ÐÓAˆØ—9‘9“;ˆÜ˜1Ÿ7™7›9×,Ñ,Ó.°Ô9Ü˜1Ÿ7™7›9×,Ñ,Ó.°Õ9r=   c                 ó2  — | j                  ddgddgg«      j                  «       }t        j                  |j                  |j
                  f|j                  «      }t        j                  t        j                  |«      dkD  «      }|j                  |k(  sJ ‚y )Nrè   rf   rô   r”  r   )
r  r¢  rK   Úravel_multi_indexrÎ  rÏ  r¾   rX  ÚdiffrÊ  )r¡   r§  Ú	flat_indsÚinds_are_sorteds       r;   Útest_tocoo_gh10050zTestDIA.test_tocoo_gh10050Ã  sz   € à×Ñ  A ¨¨A¨Ð/Ó0×6Ñ6Ó8ˆÜ×(Ñ(¨!¯%©%°·±¨¸¿¹ÓAˆ	ÜŸ&™&¤§¡¨Ó!3°aÑ!7Ó8ˆØ×%Ñ%¨Ò8Ð8Ñ8r=   c                 ó,  — t        j                  g d¢g«      j                  dd¬«      }t        j                  g d¢t         j                  ¬«      }t	        j
                  ||fd¬«      }|j                  «       }|j                  j                  t         j                  k(  sJ ‚|j                  «       }|j                  j                  t         j                  k(  sJ ‚|j                  «       }|j                  j                  t         j                  k(  sJ ‚y )	NrÒ  rô   r   rc  rn  ró   r  rm  )rK   r   ro  r[   r‡   r%   r¢  rÏ  r@   r¡  rÊ  r   )r¡   rÌ  rÐ  rb  rÍ  r8  r7  s          r;   Útest_tocoo_tocsr_tocsc_gh19245z&TestDIA.test_tocoo_tocsr_tocsc_gh19245Ê  s¿   € ä�x‰xš˜Ó'×.Ñ.¨q°qÐ.Ó9ˆÜ—(‘(š:¬R¯X©XÔ6ˆÜ×Ñ  g˜°fÔ=ˆà�i‰i‹kˆØ�w‰w�}‰}¤§¡Ò(Ð(Ð(Ø�i‰i‹kˆØ�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�i‰i‹kˆØ�{‰{× Ñ ¤B§H¡HÒ,Ð,Ñ,r=   c                 ój  — t        ddg«      }|t        dgd«      z   }| j                  |«      }| j                  |«      }||z   }t        || j                  «      sJ ‚t        |j	                  «       ||z   «       ||z   }t        || j                  «      sJ ‚t        |j	                  «       ||z   «       y )Nrè   rf   rô   )r   r  rJ   r   rš   ©r¡   rR   rS   r$  r  r  s         r;   Útest_add_sparsezTestDIA.test_add_sparse×  s§   € ä�!�Q�‹LˆØ”�a�S˜!“ÑˆØ× Ñ  Ó#ˆØ× Ñ  Ó#ˆà�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!¨a©%Ô0à�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!¨a©%Õ0r=   c                 ó  — t        ddg«      }|t        dgd«      z   }| j                  |«      }| j                  |«      }||z
  }t        || j                  «      sJ ‚t        |j	                  «       ||z
  «       ||z
  }t        || j                  «      sJ ‚t        |j	                  «       ||z
  «       |j                  d«      }t        ||z
  j	                  «       ||z
  «       t        ||z
  j	                  «       ||z
  «       y )Nrè   rf   rô   r8  )r   r  rJ   r   rš   ri  r�  s         r;   Útest_sub_sparsezTestDIA.test_sub_sparseæ  së   € ä�!�Q�‹LˆØ”�a�S˜!“ÑˆØ× Ñ  Ó#ˆØ× Ñ  Ó#ˆà�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!¨a©%Ô0à�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!¨a©%Ô0à�l‰l˜5Ó!ˆÜ˜C #™I×.Ñ.Ó0°!°a±%Ô8Ü˜C #™I×.Ñ.Ó0°!°a±%Õ8r=   c                 ó>  — | j                  ddgddgg«      }|dz  }t        ||j                  «      sJ ‚t        |j	                  «       ddgddgg«       |j                  d«      }t        ||j                  «      sJ ‚t        |j	                  «       ddgddgg«       y )Nrè   rf   r   r”  rô   rò   rê  )r  rJ   r–  r   rš   r  )r¡   r§  ÚresÚres2s       r;   rÞ  zTestDIA.test_mul_scalarù  s—   € à×Ñ  A ¨¨A¨Ð/Ó0ˆØ�!‰eˆÜ˜#˜qŸ{™{Ô+Ð+Ð+Ü˜3Ÿ;™;›=¨A¨q¨6°A°r°7Ð*;Ô<à�z‰z˜!‹}ˆÜ˜$ §¡Ô,Ð,Ð,Ü˜4Ÿ<™<›>¨Q°¨F°Q¸°GÐ+<Õ=r=   c                 óî  — t        g d¢g d¢g«      }t        ddgddgddgg«      }| j                  |«      }| j                  |«      }d	|j                  |j                  d
k(  <   d	|j                  |j                  d
k(  <   t        |j	                  «       |«       t        |j	                  «       |«       ||z  }||z  }t        || j                  «      sJ ‚t        |j	                  «       |«       t        |j                  g d¢«       t        |j                  | j                  |«      j                  «       ||z  }||z  }t        || j                  «      sJ ‚t        |j	                  «       |«       t        |j                  g d¢«       t        |j                  | j                  |«      j                  «       | j                  g d¢g d¢gddgfd«      }| j                  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«       y )Nrà  rá  r4  rê  ru  r‘  r�  rô  ré   r   r¼  )rF  ré   r   rè   rf   )r�  rŽ  r�  )rŒ  r³  r�  rè   rF  rž  )rŠ  r¤  rŒ  )r�  r�  r‹  rf   r»  )ç      8@g     €A@r�  )rŠ  ç      ,@ç      ;@)r—  r�  r�  )r™  rŠ  r˜  )r   r  rÌ  r   rš   rJ   rÐ  )r¡   rR   rS   r$  r  rþ   r  s          r;   Útest_matmul_diazTestDIA.test_matmul_dia  s&  € ô ’9Úðó ˆä�B˜�8Ø˜�8Ø˜�8ðó ˆð × Ñ  Ó#ˆØ× Ñ  Ó#ˆØ"$ˆ�‰�—‘˜Q‘ÑØ"$ˆ�‰�—‘˜Q‘ÑÜ˜3Ÿ;™;›=¨!Ô,Ü˜3Ÿ;™;›=¨!Ô,à�‰EˆØ�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!Ô,Ü˜3Ÿ;™;ª
Ô3Ü˜3Ÿ8™8 T×%7Ñ%7¸Ó%:×%?Ñ%?Ô@à�‰EˆØ�C‰iˆÜ˜#˜t×1Ñ1Ô2Ð2Ð2Ü˜3Ÿ;™;›=¨!Ô,Ü˜3Ÿ;™;Ò(9Ô:Ü˜3Ÿ8™8 T×%7Ñ%7¸Ó%:×%?Ñ%?Ô@ð × Ñ ¢<²Ð">ÀÀBÀÐ!HÈ&ÓQˆØ× Ñ ¢<²Ð">ÀÀQÀÐ!HÈ&ÓQˆà�C‰iˆÜ˜3Ÿ;™;¬¨r°1¨g«Ô7Ü˜3Ÿ8™8¢nÚ&4ð&6ô 	7ð �C‰iˆÜ˜3Ÿ;™;¬¨r°1¨g«Ô7Ü˜3Ÿ8™8¢mÚ&4ð&6õ 	7r=   N)r¶   r·   r¸   r%   rù   rK   rÜ  rõ   rø   r  r€  r  rß  rd  r›  r˜   rs  rx  r€  r  rH  rƒ  r…  r‹  r�  r�  r’  rÞ  rš  rb   r=   r;   rl  rl  Y  sÅ   „ ð €IØ—7‘7˜BŸJ™J¨¯©Ð6€KòUð ‡[�[×Ñ˜5Ð)JÐÓKñó Lðñ ˜QÓñ	0ó  ð	0ò#>òJ	;ð ‡[�[×ÑÐ5ÐÓ6ñó 7ðòNò :ò9ò-ò1ò9ò&	>ó*7r=   rl  )rY  rZ  r[  r\  r]  r`  ra  c                   ó   — e Zd ZeZy)ÚTestDIAMatrixN)r¶   r·   r¸   r   rù   rb   r=   r;   rœ  rœ  1  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.                  j1                  dd¬«      d„ «       Zej.                  j1                  dd¬«      d„ «       Zd„ Zej.                  j1                  dd¬«      d„ «       Zej.                  j;                  ed¬«      d„ «       Zy)ÚTestBSRc                 óà  — 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«      }| j                  |||fd¬«      }t	        |j                  «       |«       | j                  |||f«      }t	        |j                  «       |«       y ©N)r   rf   rf   r”  )r   rf   rf   rô   )r”  rf   rô   r,  rm  r   rã  )rò   r   rW   rè   )r   r”  rã  )rê  r   rð  rf   )r   rŒ  rW   )r�  r   rB  rô   r#  rî  rl  ©rò   rê  rm  )r   r   r   r  r   rš   )r¡   rË  rÊ  rÌ  rR   r$  s         r;   r€  zTestBSR.test_constructor1@  sî   € ä’yÓ!ˆÜš	Ó"ˆÜ�W‹~ˆäšÚ"ð$ó %ˆˆQ‰äšÚ#ð%ó &ˆˆQ‰äšÚ$ð&ó 'ˆˆQ‰äšÚ$ð&ó 'ˆˆQ‰ô ’)šI¢iÐ0²7º7Ð2CÓDˆØ× Ñ  $ w¨vÐ!6¸VÐ ÓDˆÜ�S—[‘[“] AÔ&ð × Ñ  $ w¨vÐ!6Ó7ˆÜ�S—[‘[“] AÕ&r=   c                 óª  — dD ]6  }t        |«      }t        | j                  |«      j                  «       |«       Œ8 t        d«      }t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t	        g d¢g d¢g d¢gg d	¢g d
¢g«      }t        | j                  |«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t        | j                  |d¬«      j                  «       |«       t	        g d¢g d¢g d¢gg d	¢g d
¢g«      }t        | j                  |d¬«      j                  «       |«       y )N)r3  r  r(  )rW   r”  )rô   râ  rX  )r”  rò   rÔ  ro  r  r#  rî  rl  r,  rm  r¡  rm  r3  rò  )rf   rê  )rô   rê  rD  )r   r   r  rš   r   )r¡   r¾   rR   s      r;   rƒ  zTestBSR.test_constructor2W  sò  € ð Bò 	=ˆEÜ�e“ˆAÜ˜×+Ñ+¨AÓ.×6Ñ6Ó8¸!Õ<ð	=ô �%‹LˆÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÔJÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÔJä’)šI¢iÐ0²7º7Ð2CÓDˆÜ�T×'Ñ'¨Ó*×2Ñ2Ó4°aÔ8Ü�T×'Ñ'¨°Ð'Ó9×AÑAÓCÀQÔGÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÔJÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÔJÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÔJÜ�T×'Ñ'¨°WÐ'Ó=×EÑEÓGÈÔKÜ�T×'Ñ'¨°WÐ'Ó=×EÑEÓGÈÔKÜ�T×'Ñ'¨°WÐ'Ó=×EÑEÓGÈÔKä’)šI¢iÐ0²7º7Ð2CÓDˆÜ�T×'Ñ'¨°VÐ'Ó<×DÑDÓFÈÕJr=   c                 ó”   — g d¢g d¢g d¢ff}t        ddgddgg«      }t        | j                  |d¬	«      j                  «       |«       y )
Nrà  r   rÐ  rè   r   rf   rô   rÔ  ro  )r   r   r  rš   )r¡   ÚargrR   s      r;   r…  zTestBSR.test_constructor3o  sJ   € âš¢'Ð*Ð+ˆÜ�A�a�5˜!˜A˜�-Ó ˆÜ�T×'Ñ'¨°vÐ'Ó>×FÑFÓHÈ!ÕLr=   c                 ó"  — d}t        j                  ||dft         j                  ¬«      }t        j                  d|gt         j                  ¬«      }t        j
                  |t         j                  ¬«      }| j                  |||f|dfd¬«       y )Nrã  rè   ró   r   F)rp  r-  )rK   r  r   r   r[   r   r  )r¡   rÿ  rÌ  rË  rÊ  s        r;   r“  zTestBSR.test_constructor4u  so   € ð ˆÜ�w‰w˜˜1˜a�y¬¯©Ô0ˆÜ—‘˜1˜a˜&¬¯©Ô1ˆÜ—)‘)˜A¤R§X¡XÔ.ˆØ×Ñ˜D '¨6Ð2¸qÀ!¸fÈ5ÐÕQr=   c                 ó  — d}t        j                  |«      }t        j                  |||f«      }t        j                  d|g«      }t        j                  |«      }t	        t
        «      5  | j                  |||f«       d d d «       t	        t
        «      5  | j                  |||fd¬«       d d d «       t	        t
        «      5  | j                  |||fd¬«       d d d «       y # 1 sw Y   ŒfxY w# 1 sw Y   ŒDxY w# 1 sw Y   y xY w)Nrã  r   r‚  ro  r3  )rK   r  r   r   r  r  r  )r¡   rÿ  Ú	data_1dimrÌ  rË  rÊ  s         r;   r™  zTestBSR.test_constructor5~  sù   € àˆÜ—G‘G˜A“Jˆ	Ü�w‰w˜˜1˜a�yÓ!ˆÜ—‘˜1˜a˜&Ó!ˆÜ—)‘)˜A“,ˆäœ:Ó&ñ 	=à×Ñ 	¨7°FÐ;Ô<÷	=ô œ:Ó&ñ 	Mà×Ñ  g¨vÐ6À)ÐÔL÷	Mô œ:Ó&ñ 	Jà×Ñ  g¨vÐ6À&ÐÔI÷	Jð 	J÷	=ð 	=ú÷	Mð 	Mú÷	Jð 	Jús$   Á+C%ÂC1ÃC=Ã%C.Ã1C:Ã=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                  ¬«      }| j                  |||fd¬«      }|j                  t        j                  |«      j                  k(  sJ ‚y )Nrè   r   rf   ró   rX  ro  )rK   r   r[   r  r@   )r¡   rI   rË  rÊ  rT   s        r;   Útest_default_dtypezTestBSR.test_default_dtype’  s‰   € à�3˜˜�* ˜s Q C˜jÐ)ˆÜ—‘˜1˜a˜&¬¯©Ô1ˆÜ—(‘(˜A˜q˜6¬¯©Ô2ˆØ×Ñ ¨°Ð8ÀFÐÓKˆØ�w‰wœ"Ÿ(™( 6Ó*×0Ñ0Ò0Ð0Ñ0r=   c                 ó0  — 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«      }| j                  |||fd¬«      }|j	                  «       }|j                  «       j	                  «       }t        |j                  «       |«       t        |j                  «       |j                  «       «       y r   )r   r   r   r  r¡  r¢  r   rš   )r¡   rË  rÊ  rÌ  rR   ÚAbsrÚAcsrÚAcsr_via_coos           r;   Útest_bsr_tocsrzTestBSR.test_bsr_tocsrš  s  € ä’|Ó$ˆÜšÓ%ˆÜ�YÓˆäšÚ"ð$ó %ˆˆQ‰äšÚ#ð%ó &ˆˆQ‰äšÚ$ð&ó 'ˆˆQ‰äšÚ$ð&ó 'ˆˆQ‰ô ’,¢ªlÐ;ÚšYÐ'ó)ˆà×!Ñ! 4¨°&Ð"9ÀÐ!ÓIˆØ�z‰z‹|ˆØ—z‘z“|×)Ñ)Ó+ˆÜ�T—\‘\“^ QÔ'Ü�T—\‘\“^ \×%9Ñ%9Ó%;Õ<r=   c                 ó‚  — t        g d¢ddgddgg«      j                  }|j                  ddd«      }t        g d¢«      }t        g d¢«      }| j	                  |||fd¬«      }|j                  «       }|j                  «        t        |j                  d	«       t        |j                  «       |j                  «       «       y )
Nr®  rè   ré   rf   r¯  r°  )r”  rð  rm  rê  )
r   r@  rú   r   r  r-  r±  r   rf  rš   r«  s         r;   r²  zTestBSR.test_eliminate_zeros±  sŸ   € ÜÒ,°°!¨u°a¸°U¨mÓ<×>Ñ>ˆØ�|‰|˜B˜q Ó#ˆÜÒ0Ó1ˆÜ’yÓ!ˆØ× Ñ  $¨°Ð!8ÀÐ ÓGˆØ�h‰h‹jˆØ×ÑÔÜ˜3Ÿ7™7 CÔ(Ü˜3Ÿ;™;›=¨#¯+©+«-Õ8r=   c                 ój  — t         j                  j                  d«       | j                  t         j                  j                  d«      d¬«      }d|j                  |j                  dk  <   |j                  «        t        |j                  d«       t        |j                  j                  d«       d|j                  |j                  dk  <   |j                  «        t        |j                  d«       t        |j                  j                  d	«       t        |j                  «       t        j                  d«      «       |j                  «        t        |j                  d«       t        |j                  j                  d	«       t        |j                  «       t        j                  d«      «       y )
Nr   )rê  rê  r  ro  rU  éB   )r4  rf   rô   rŽ  r$  )rK   r•   r  r  rÌ  r±  r   rf  r   r¾   rš   r   rr  s     r;   Útest_eliminate_zeros_all_zeroz%TestBSR.test_eliminate_zeros_all_zero½  s  € Ü
�	‰	�‰�qÔØ×ÑœrŸy™y×/Ñ/°Ó9ÀVÐÓLˆð !"ˆ�‰ˆq�v‰v˜‰}ÑØ	×ÑÔÜ�Q—U‘U˜BÔÜ˜1Ÿ6™6Ÿ<™<¨Ô4ð !"ˆ�‰ˆq�v‰v˜‰}ÑØ	×ÑÔÜ�Q—U‘U˜AÔÜ˜1Ÿ6™6Ÿ<™<¨Ô3Ü˜1Ÿ9™9›;¬¯©°Ó(:Ô;ð 	
×ÑÔÜ�Q—U‘U˜AÔÜ˜1Ÿ6™6Ÿ<™<¨Ô3Ü˜1Ÿ9™9›;¬¯©°Ó(:Õ;r=   c                 óÎ  — t        j                  g d¢g d¢g d¢g«      }| j                  |«      }t        d|j                  «       t        j                  ddg«      }t        j                  ||dz  g«      }t        j                  ddg«      }| j                  |||f«      j                  «       }t        d|j                  «       t        |j                  t        «      sJ ‚|j                  «        t        d|j                  «       t        dt        |j                  «      «       | j                  |||f«      j                  «       }d|_        t        d|j                  «       t        dt        |j                  «      «       |j                  «        t        dt        |j                  «      «       d|_        |j                  «        t        dt        |j                  «      «       t        d|j                  «       | j                  |«      }d|_        t        d|j                  «       t        dt        |j                  «      «       |j                  «        t        d|j                  «       | j                  |«      }|||c|_        |_
        |_        t        d|j                  «       t        dt        |j                  «      «       | j                  |«      }|j                   |||c|_        |_
        |_        t        d|j                  «       t        dt        |j                  «      «       |j                  «        t        dt        |j                  «      «       y	)
rÉ  )rf   rô   rf   )r   rf   rè   )r¯  r   rf   Tr   rf   Frè   N)rK   r   r  r   rÊ  r-  rJ   r  rË  rÃ   rÊ  rÌ  rË  )r¡   rR   r•  rÊ  rÌ  rË  s         r;   rÏ  z!TestBSR.test_has_canonical_formatÔ  sš  € ô �H‰H’i¢ªJÐ7Ó8ˆØ×Ñ˜qÓ!ˆÜ�T˜1×1Ñ1Ô2ä—(‘(˜A˜q˜6Ó"ˆÜ�x‰x˜˜A˜a™C˜Ó!ˆÜ—‘˜1˜a˜&Ó!ˆà×Ñ  g¨vÐ6Ó7×<Ñ<Ó>ˆÜ�U˜A×2Ñ2Ô3Ü˜!×0Ñ0´$Ô7Ð7Ð7à	×ÑÔÜ�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'ð ×Ñ  g¨vÐ6Ó7×<Ñ<Ó>ˆØ!%ˆÔÜ�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'à	×ÑÔÜ�Qœ˜AŸI™I›Ô'à!&ˆÔØ	×ÑÔÜ�Qœ˜AŸI™I›Ô'Ü�T˜1×1Ñ1Ô2ð ×Ñ˜qÓ!ˆØ!&ˆÔÜ�U˜A×2Ñ2Ô3Ü�Qœ˜AŸI™I›Ô'à	×ÑÔÜ�T˜1×1Ñ1Ô2ð ×Ñ˜qÓ!ˆØ&*¨G°VÐ#ˆŒ�”	˜1œ8Ü�U˜A×2Ñ2Ô3Ü�Qœ˜AŸI™I›Ô'ð ×Ñ˜qÓ!ˆØ	×ÒØ&*¨G°VÐ#ˆŒ�”	˜1œ8Ü�T˜1×1Ñ1Ô2Ü�Qœ˜AŸI™I›Ô'Ø	×ÑÔÜ�Qœ˜AŸI™I›Õ'r=   c                 óì   — | j                  t        d«      j                  dd«      d¬«      }t        |j                  d   «      j                  dd«      }t	        ||z  |j                  «       |z  «       y )Néx   rã  r�  ©r”  rŒ  ro  rè   ré   ©r  r   rú   r¾   r   rš   r…  s      r;   Útest_bsr_matveczTestBSR.test_bsr_matvec  s_   € Ø×Ñœv g›×6Ñ6°s¸3Ó?È5ÐÓQˆÜ�1—7‘7˜1‘:Ó×&Ñ& r¨!Ó,ˆÜ�Q˜‘U˜AŸI™I›K¨!™OÕ,r=   c                 óò   — | j                  t        d«      j                  dd«      d¬«      }t        |j                  d   dz  «      j                  dd«      }t	        ||z  |j                  «       |z  «       y )	Nrµ  rã  r�  r¶  ro  rè   rò   ré   r·  r…  s      r;   Útest_bsr_matvecszTestBSR.test_bsr_matvecs  sc   € Ø×Ñœv g›×6Ñ6°s¸3Ó?È5ÐÓQˆÜ�1—7‘7˜1‘:˜a‘<Ó ×(Ñ(¨¨AÓ.ˆÜ�Q˜‘U˜AŸI™I›K¨!™OÕ,r=   FzBSR does not have a __getitem__rI  c                  ó   — y r?   rb   rÁ   s    r;   r›  zTestBSR.test_iterator  rL  r=   zBSR does not have a __setitem__c                  ó   — y r?   rb   rÁ   s    r;   r  zTestBSR.test_setdiag  rL  r=   c                 óL  — t        j                  g d¢g d¢g d¢g«      }| j                  |d¬«      }t        |j	                  d«      d u «       t        |j                  «       ddgd	dgd
dgg«       |j	                  d«       t        |j                  «       ddgd	dgg«       |j	                  d«       t        |j                  «       ddgd	dgddgg«       |j	                  d«       t        |j                  «       g d¢g d¢g d¢g«       t        t        |j                  d«       y )NrÐ  rÑ  rÒ  r  ro  rÓ  rè   r   rf   rô   rÔ  rõ  rì  rî  r  )	rK   r   rù   r   rÕ  r   rš   r  r  r­  s      r;   Útest_resize_blockedzTestBSR.test_resize_blocked  s  € ä�H‰H’lÚ"Ú"ð$ó %ˆð �N‰N˜1¨ˆNÓ/ˆÜ�—‘˜Ó  DÐ(Ô)Ü˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ô 	2ð 	
�‰�ÔÜ˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨ð)1ô 	2à	�‰�ÔÜ˜1Ÿ9™9›;¨!¨Q¨Ø*+¨Q¨Ø*+¨Q¨ð)1ô 	2ð 	
�‰�ÔÜ˜1Ÿ9™9›;ªÚ)5Ú)5ð)7ô 	8ô 	”j !§(¡(¨FÕ3r=   c                  ó   — y r?   rb   rÁ   s    r;   r  z"TestBSR.test_setdiag_comprehensive6  rL  r=   zexceeds memory limitr  c                 óŠ  — t        j                  dt         j                  ¬«      }t        j                  dt         j                  ¬«      }t        j                  d«      }| j                  |||fd¬«      }| j                  |||fd¬«      }| j                  d«      }| j                  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	«      }	| j                  |||fd¬«      }
| j                  |	||fd¬«      }t	        |
j
                  j                  t         j                  «       t	        |j
                  j                  t         j                  «       |||||
|fD ]  }||z    Œ	 y # t        t        f$ r d}
d}Y Œ(w xY w)
Nrf   ró   r   r   rÑ  rm  rÓ  )r   rè   rÒ  )r   rè   rÔ  )
rK   r   r[   r  r   rË  r@   rg   ÚMemoryErrorr  )r¡   rË  rÊ  rp  rO   rT   r¤  r  Úvals2Úvals3r¥  r¦  rA   s                r;   rÖ  zTestBSR.test_scalar_idx_dtype:  s´  € ô —‘˜!¤2§8¡8Ô,ˆÜ—(‘(˜1¤B§H¡HÔ-ˆÜ�x‰x˜	Ó"ˆØ×Ñ  g¨vÐ6¸lÐÓKˆØ×Ñ  g¨vÐ6¸jÐÓIˆØ×Ñ˜|Ó,ˆØ×Ñ˜zÓ*ˆÜ�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.Ü�Q—X‘X—^‘^¤R§X¡XÔ.ð
	Ü—H‘H˜_Ó-ˆEÜ—H‘H˜]Ó+ˆEØ×"Ñ" E¨7°FÐ#;À<Ð"ÓPˆAØ×"Ñ" E¨7°FÐ#;À:Ð"ÓNˆAÜ˜Ÿ™Ÿ™¬¯©Ô2Ü˜Ÿ™Ÿ™¬¯©Ô2ð �Q˜˜1˜a Ð#ò 	ˆAØ�‹Eñ	øô œZÐ(ò 	àˆAØŠAð	ús   Å'B2H, È,IÉIN) r¶   r·   r¸   r&   rù   rK   rÜ  rõ   rø   r  r€  rƒ  r…  r“  r™  r©  r®  r²  r²  rÏ  r¸  rº  r  rß  rd  r›  r  r¾  r  ÚskipifÚIS_COLABrÖ  rb   r=   r;   rž  rž  9  s  „ ð €IØ—7‘7˜BŸJ™J¨¯©Ð6€Kò'ò.Kò0MòRòJò(1ò=ò.	9ò<ò.7(òr-ò
-ð
 ‡[�[×Ñ˜5Ð)JÐÓKñó Lðð ‡[�[×Ñ˜5Ð)JÐÓKñó Lðò4ð. ‡[�[×Ñ˜5Ð)JÐÓKñó Lðð ‡[�[×Ñ˜Ð)?ÐÓ@ñó Añr=   rž  )rY  rZ  r[  r\  r]  ra  c                   ó   — e Zd ZeZy)ÚTestBSRMatrixN)r¶   r·   r¸   r   rù   rb   r=   r;   rÇ  rÇ  [  r  r=   rÇ  c                 ój  — |j                  dd«      }t        j                  | j                  t        j                  «      s.t        j                  | j                  t        j
                  «      r|€| f|z   S | f|z   |fz   S | dk(  j                  «       }| j                  dd¬«      } | ddd…xx   dz  cc<   d| ddd…<   |d   j                  dkD  r=t        d„ |D «       «      }d|d   z  f|dd z   }d|d   z  dz   f|dd z   }d| |<   d| |<   t        d„ |D «       «      }|€| f|z   S | f|z   |dz  fz   S )	z-Duplicates entries to produce the same matrixrË  Nr   rf   rc  rè   c              3   ó&   K  — | ]	  }|d    –— Œ y­wr
  rb   )Ú.0Úps     r;   ú	<genexpr>z&_same_sum_duplicate.<locals>.<genexpr>z  s   è ø€ Ò,˜Q�A�a•DÑ,ùs   ‚c              3   ó>   K  — | ]  }|j                  d «      –— Œ y­w)rf   N)ro  )rÊ  rÊ  s     r;   rÌ  z&_same_sum_duplicate.<locals>.<genexpr>€  s   è ø€ Ò7 w�—‘ ×"Ñ7ùs   ‚)
ÚpoprK   rm   r@   r  Úunsignedintegerr!  ro  rl   r"  )rÌ  ÚindsrC   rË  Ú	zeros_posÚposÚpos1Úpos2s           r;   Ú_same_sum_duplicaterÕ  g  sP  € à�Z‰Z˜ $Ó'€FÜ	‡}�}�T—Z‘Z¤§¡Ô*Ü	‡}�}�T—Z‘Z¤×!3Ñ!3Ô4Øˆ>Ø�7˜T‘>Ð!à�7˜T‘> V IÑ-Ð-à˜‘×#Ñ#Ó%€Ið �;‰;�q˜qˆ;Ó!€DØ‰ˆ1ˆƒI��NƒIØ€DˆˆˆAˆ�Jð ��|×Ñ˜1ÒÜÑ, )Ô,Ó,ˆØ�#�a‘&‘ˆ{˜S  ˜WÑ$ˆØ�#�a‘&‘˜‘
ˆ}˜s 1 2˜wÑ&ˆØˆˆT‰
ØˆˆT‰
äÑ7°$Ô7Ó7€Dà€~Øˆw˜‰~Ðàˆw˜‰~ ¨!¡ Ñ-Ð-r=   c                   óð   ‡ — e Zd Zddœˆ fd„
Zej
                  j                  d¬«      d„ «       Zej
                  j                  d¬«      d„ «       Zej
                  j                  d	¬«      d
„ «       Z	ˆ xZ
S )Ú_NonCanonicalMixinF©Úsorted_indicesc                óò  •— t         ‰| �  } ||g|¢­i |¤Ž}|j                  «       dk(  j                  «       }|d   j                  dkD  }|rm|d   j                  dz  }	t        j                  «       5  t        j                  dt        t        «       | j                  ||d   |	   |d   |	   «      }ddd«       | j                  ||«      }
d|vr|j                  |d<    ||
fi |¤Ž}|j                  t        j                  t        j                   fv rd}nd}t#        |j                  «       |j                  «       |¬	«       |r&t%        |j&                  dk(  j)                  «       «       |S # 1 sw Y   Œ¼xY w)
zcReplace D with a non-canonical equivalent: containing
        duplicate elements and explicit zerosr   rf   r)  rè   Nr¾   gñhãˆµøä>gH¯¼šò×z>)Úrtol)Úsuperrù   rš   r!  rl   r*  r+  r  r	  r)   Ú_insert_explicit_zeroÚ_arg1_for_noncanonicalr¾   r@   rK   r÷   rŸ  r   r   rÌ  r  )r¡   rÈ  rÙ  r{  rC   Ú	constructr•  Úzero_posÚ	has_zerosrÔ  Úarg1ÚNCrÛ  r–  s                €r;   rù   z_NonCanonicalMixin.spcreator‰  s_  ø€ ô ‘GÑ%ˆ	Ù�aÐ)˜$Ò) &Ñ)ˆà—I‘I“K 1Ñ$×-Ñ-Ó/ˆØ˜a‘[×%Ñ%¨Ñ)ˆ	ÙØ˜‘× Ñ  !Ñ#ˆAÜ×(Ñ(Ó*ñ RÜ×'Ñ'¨´$Ô8OÔPØ×.Ñ.¨q°(¸1±+¸a±.À(È1Á+ÈaÁ.ÓQ�÷Rð ×*Ñ*¨1¨nÓ=ˆØ˜&Ñ ØŸg™gˆF�7‰OÙ�tÑ&˜vÑ&ˆð �8‰8œŸ
™
¤B§L¡LÐ1Ñ1ð
 ‰DàˆDÜ˜Ÿ
™
› a§i¡i£k¸Õ=ñ Ü�R—W‘W ‘\×&Ñ&Ó(Ô)ð ˆ	÷3Rð Rús   Á3?E-Å-E6z"bool(matrix) counts explicit zerosr  c                  ó   — y r?   rb   rÁ   s    r;   r!  z_NonCanonicalMixin.test_bool®  rL  r=   z!getnnz-axis counts explicit zerosc                  ó   — y r?   rb   rÁ   s    r;   rH  z#_NonCanonicalMixin.test_getnnz_axis²  rL  r=   znnz counts explicit zerosc                  ó   — y r?   rb   rÁ   s    r;   rh  z_NonCanonicalMixin.test_empty¶  rL  r=   )r¶   r·   r¸   rù   r  rß  r  r!  rH  rh  Ú__classcell__)r–  s   @r;   r×  r×  ˆ  sƒ   ø„ Ø16ö #ðJ ‡[�[×ÑÐAÐÓBñó Cðð ‡[�[×ÑÐ@ÐÓAñó Bðð ‡[�[×ÑÐ8ÐÓ9ñó :ôr=   r×  c                   ó   — e Zd Zdd„Zd„ Zy)Ú_NonCanonicalCompressedMixinc                 ó  — t        |j                  |j                  |j                  ¬«      \  }}}|sOt	        ||dd «      D ]=  \  }}||| ddd…   j                  «       ||| ||| ddd…   j                  «       ||| Œ? |||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±F¸A¿I¹IØ;<¿8¹8ô!EÑˆˆg�váÜ" 6¨6°!°"¨:Ó6ò A‘��tØ&-¨e°DÐ&9¹$¸B¸$Ñ&?×&DÑ&DÓ&F�˜˜dÐ#Ø#'¨¨dÐ#3±D°b°DÑ#9×#>Ñ#>Ó#@��U˜4Ñ ðAð �W˜fÐ$Ð$r=   c                 ó   — d|||f<   |S rk   rb   ©r¡   r•  r“  r   s       r;   rÝ  z2_NonCanonicalCompressedMixin._insert_explicit_zeroÆ  s   € Øˆˆ!ˆAˆ#‰Øˆr=   N)F)r¶   r·   r¸   rÞ  rÝ  rb   r=   r;   ré  ré  »  s   „ ó%ór=   ré  c                   ó¤   — e Zd Zd„ Zd„ Zej                  j                  dd¬«      d„ «       Zej                  j                  dd¬«      d„ «       Z	y	)
Ú_NonCanonicalCSMixinc                 ól   ‡ — ˆ fd„}t         D ]%  }dD ]  } |t        j                  |«      |«       Œ  Œ' y )Nc                 ó@  •— t        g d¢g d¢g d¢g d¢g| ¬«      }‰	j                  ||¬«      }|j                  \  }}t        | |«      D ]*  }t        | |«      D ]  }t	        |||f   |||f   «       Œ Œ, dD ]#  }t        t        t        f|j                  |«       Œ% y )Nrx  rú  rû  re  ró   rØ  rü  )	r   rù   r¾   r#  r   r  rÖ  r—  rý  )
r@   rÙ  rÈ  rR   r•  r˜  r“  r   r%  r¡   s
            €r;   r  z3_NonCanonicalCSMixin.test_getelement.<locals>.checkÍ  s´   ø€ Ü’wÚÚÚð ð (-ô.ˆAð —‘˜q°�Ó@ˆAà—'‘'‰CˆAˆaä˜A˜2˜q“\ò 1�Ü ˜r 1›ò 1�AÜ   1 Q 3¡¨¨1¨Q¨3©Õ0ñ1ð1ð Cò J�Üœz¬9Ð5°q·}±}ÀbÕIñJr=   )FTrþ  )r¡   r  r@   rÙ  s   `   r;   rÿ  z$_NonCanonicalCSMixin.test_getelementÌ  s;   ø€ ô	Jô  &ò 	7ˆEØ"/ò 7�Ù”b—h‘h˜u“o ~Õ6ñ7ñ	7r=   c                 ó°  — t        j                  d«      }| j                  |«      }| j                  g d¢g«      }|j                  «       |dd d …f<   t	        j
                  «       5  t	        j                  dt        t        «       ||dd d …f<   d d d «       t        |j                  «       |«       |j                  «       j                  «       |d d …df<   t	        j
                  «       5  t	        j                  dt        t        «       |j                  |d d …df<   d d d «       t        |j                  «       |«       y # 1 sw Y   Œ²xY w# 1 sw Y   Œ0xY w)Nrô   rà  rè   r)  rf   )rK   r'   rù   rš   r*  r+  r  r	  r)   r   r«  r@  )r¡   rÈ  rR   rS   s       r;   Útest_setitem_sparsez(_NonCanonicalCSMixin.test_setitem_sparseá  s  € Ü�F‰F�1‹IˆØ�N‰N˜1ÓˆØ�N‰NšG˜9Ó%ˆà—‘“ˆˆ!ŠAˆ#‰Ü×$Ñ$Ó&ñ 	Ü×#Ñ# H¬dÔ4KÔLØˆAˆa’ˆc‰F÷	ô 	˜1Ÿ9™9›;¨Ô*à—‘“×"Ñ"Ó$ˆŠ!ˆAˆ#‰Ü×$Ñ$Ó&ñ 	Ü×#Ñ# H¬dÔ4KÔLØ—S‘SˆAŠa�ˆc‰F÷	ô 	˜1Ÿ9™9›;¨Õ*÷	ð 	ú÷	ð 	ús   Á&)E Ã*3EÅ E	ÅEFz(inverse broken with non-canonical matrixrI  c                  ó   — y r?   rb   rÁ   s    r;   r¡  z_NonCanonicalCSMixin.test_invò  rL  r=   z&solve broken with non-canonical matrixc                  ó   — y r?   rb   rÁ   s    r;   r$  z_NonCanonicalCSMixin.test_solveö  rL  r=   N)
r¶   r·   r¸   rÿ  rõ  r  rß  rd  r¡  r$  rb   r=   r;   rñ  rñ  Ë  s`   „ ò7ò*+ð" ‡[�[×Ñ˜5Ð)SÐÓTñó Uðð ‡[�[×Ñ˜5Ð)QÐÓRñó Sñr=   rñ  c                   ó   — e Zd Zy)ÚTestCSRNonCanonicalN©r¶   r·   r¸   rb   r=   r;   rù  rù  û  ó   „ Ør=   rù  c                   ó   — e Zd Zy)ÚTestCSRNonCanonicalMatrixNrú  rb   r=   r;   rý  rý  ÿ  rû  r=   rý  c                   ó   — e Zd Zy)ÚTestCSCNonCanonicalNrú  rb   r=   r;   rÿ  rÿ    rû  r=   rÿ  c                   ó   — e Zd Zy)ÚTestCSCNonCanonicalMatrixNrú  rb   r=   r;   r  r    rû  r=   r  c                   óž   — e Zd Zd„ Zej
                  j                  dd¬«      d„ «       Zej
                  j                  dd¬«      d„ «       Zy)	ÚTestBSRNonCanonicalc                 óh   — |j                  «       }d|||f<   |j                  |j                  ¬«      S )Nr   ro  )r¡  r¤  rp  )r¡   r•  r“  r   rA   s        r;   rÝ  z)TestBSRNonCanonical._insert_explicit_zero  s/   € Ø�G‰G‹IˆØˆˆ!ˆAˆ#‰Ø�w‰w §¡ˆwÓ-Ð-r=   Fz&diagonal broken with non-canonical BSRrI  c                  ó   — y r?   rb   rÁ   s    r;   rÞ  z!TestBSRNonCanonical.test_diagonal  rL  r=   z"expm broken with non-canonical BSRc                  ó   — y r?   rb   rÁ   s    r;   r�  zTestBSRNonCanonical.test_expm  rL  r=   N)	r¶   r·   r¸   rÝ  r  rß  rd  rÞ  r�  rb   r=   r;   r  r    s[   „ ò.ð
 ‡[�[×Ñ˜5Ð)QÐÓRñó Sðð ‡[�[×Ñ˜5Ð)MÐÓNñó Oñr=   r  c                   ó   — e Zd Zy)ÚTestBSRNonCanonicalMatrixNrú  rb   r=   r;   r  r    rû  r=   r  c                   ó    — e Zd Zdd„Zd„ Zd„ Zy)ÚCOONonCanonicalMixinNc                 ól   — 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  s1   € ä,¨Q¯V©V°Q·U±U¸A¿E¹EÓB‰ˆˆc�3Ø�c˜3�ZÐÐr=   c                 ó°  — t         j                  |j                  j                  j	                  d«      |j                  f   |_        t         j                  |j
                  j                  j	                  |«      |j
                  f   |_        t         j                  |j                  j                  j	                  |«      |j                  f   |_        |S rk   )rK   Úr_rÌ  r@   r`  rÎ  rÏ  rï  s       r;   rÝ  z*COONonCanonicalMixin._insert_explicit_zero$  s‹   € Ü—‘�q—v‘v—|‘|×(Ñ(¨Ó+¨Q¯V©VÐ3Ñ4ˆŒÜ—‘�a—e‘e—k‘k×&Ñ& qÓ)¨1¯5©5Ð0Ñ1ˆŒÜ—‘�a—e‘e—k‘k×&Ñ& qÓ)¨1¯5©5Ð0Ñ1ˆŒØˆr=   c                 ó2  — | j                  t        j                  d«      «      }|j                  «        |j	                  ddgd¬«       |j                  «        t        t        j                  t        j                  |j                  «      dk\  «      «       y )Nrô   rf   rè   rÓ  r   )	rù   rK   r'   rË  r
  r   rX  rˆ  rÏ  rr  s     r;   Útest_setdiag_noncanonicalz.COONonCanonicalMixin.test_setdiag_noncanonical*  sf   € Ø�N‰Nœ2Ÿ6™6 !›9Ó%ˆØ	×ÑÔØ	�	‰	�1�a�&˜Aˆ	ÔØ	×ÑÔÜ”—‘”r—w‘w˜qŸu™u“~¨Ñ*Ó+Õ,r=   r?   )r¶   r·   r¸   rÞ  rÝ  r  rb   r=   r;   r
  r
    s   „ ó ò
ó-r=   r
  c                   ó   — e Zd Zy)ÚTestCOONonCanonicalNrú  rb   r=   r;   r  r  2  rû  r=   r  c                   ó   — e Zd Zy)ÚTestCOONonCanonicalMatrixNrú  rb   r=   r;   r  r  6  rû  r=   r  c                  ó®  — 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 �]  } || «      j                  d«      } ||«      j                  d	«      } ||«      j                  d«      }	 ||«      j                  d
«      }
 ||«      j                  d«      } ||«      j                  d«      }t        |j                  «       t        j                  | d«      «       t        |j                  «       t        j                  |d	«      «       t        |	j                  «       |«       t        |
j                  «       t        j                  |d
«      «       t        |j                  «       t        j                  |d«      «       t        |j                  «       t        j                  |d«      «       t        j                  t        d¬«      5   |g d¢g d¢g«      j                  d¬«       d d d «       t        j                  t        d¬«      5   |g d¢g«      j                  d¬«       d d d «       �Œ y # 1 sw Y   ŒLxY w# 1 sw Y   �Œ)xY w)NrÏ  rè   r   rf   rÑ  râ  rî  r  rõ  r  r  rï  zcannot be broadcastrj  )rè   rf   r   r  rX  rm  r,  rÓ  )rK   r   r   r    r   r!   Ú_broadcast_tor   rš   Úbroadcast_tor  r   r  )rO   rT   r¤  r  r¥  r¦  Ú	containerÚres_aÚres_bÚres_cÚres_dÚres_eÚres_fs                r;   Útest_broadcast_tor  :  s  € Ü
�‰’)�Ó€AÜ
�‰�1�#˜�s˜Q˜C�Ó!€AÜ
�‰’)šYÐ'Ó(€AÜ
�‰�1�#�‹€AÜ
�‰�1�#�‹€AÜ
�‰’)�Ó€AÜ ¤)¬Z¼ÐCó ?ˆ	Ù˜!“×*Ñ*¨5Ó1ˆÙ˜!“×*Ñ*¨5Ó1ˆÙ˜!“×*Ñ*¨5Ó1ˆÙ˜!“×*Ñ*¨5Ó1ˆÙ˜!“×*Ñ*¨5Ó1ˆÙ˜!“×*Ñ*¨5Ó1ˆÜ˜5Ÿ=™=›?¬B¯O©O¸A¸uÓ,EÔFÜ˜5Ÿ=™=›?¬B¯O©O¸A¸uÓ,EÔFÜ˜5Ÿ=™=›?¨AÔ.Ü˜5Ÿ=™=›?¬B¯O©O¸A¸uÓ,EÔFÜ˜5Ÿ=™=›?¬B¯O©O¸A¸uÓ,EÔFÜ˜5Ÿ=™=›?¬B¯O©O¸A¸uÓ,EÔFä�]‰]œ:Ð-BÔCñ 	JÙ’y¢)Ð,Ó-×;Ñ;À&Ð;ÔI÷	Jô �]‰]œ:Ð-BÔCñ 	?Ù’y�kÓ"×0Ñ0°vÐ0Ô>÷	?ñ 	?ñ#?÷	Jð 	Jú÷	?ñ 	?ús   ÉJ>ÊK
Ê>K	Ë
K	r?   )NFNNF)T)	TTTTTTTTT)Œr   Ú
contextlibr’   rO  r  rR  Úsysr*  r  r   r  ÚnumpyrK   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†   r6  r‡   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/   r0   r1   r2   Úscipy.sparse.linalgr3   r4   r5   r„   rÅ  r<   rD   Ú	frozensetrÚ  r	  rU   r˜   rš   rœ   rº   rÎ   rå   r  râ  r÷  rß  Úthread_unsafer!  r&  rm  rˆ  Úcontextmanagerr¼  r¾  rÔ  rÝ  rî  r  rC  rU  re  rg  rw  r  rÞ  rç  ré  rÿ  r  r  r  r<  r>  rf  rh  rj  rl  rœ  rž  rÇ  rÕ  r×  ré  rñ  rù  rý  rÿ  r  r  r  r
  r  r  r  rb   r=   r;   ú<module>r,     sÒ  ðñó Û Û Û Û Û 
Û ã Ý *ã ÷÷ ÷ õ ó ÷÷ õ ,å ã å ÷÷ ÷ ÷ ÷ ó õ (÷Fõ Fç /Ñ /à˜cŸk™kÐ)€ó/ò
'ñ
 % e WÓ-Ð à(€òð( JNØ?DóWòt÷$ñ $÷6"$ñ "$÷Hñ ÷4ñ ÷D\!7ñ \!7÷~B|ñ |÷~a+ñ a+ðH ‡�×ÑÐ"5ÐÓ6÷%ð %ó 7ð%÷0@ñ @÷F
OKñ OK÷d\0ñ \0ð~ ×ÑñBó ðB÷k$ñ k$÷\%Cñ %C÷P_Kñ _K÷D`0ñ `0÷FL5ñ L5÷^
2ñ 2ó:ð8 AEØ8<ØJNØ,0ó%'÷X),ñ ),ôXc&ÐÑ 1Ó 3ô c&ðL	 × Ñ Ô ô/�L 'ô /ò)ð × Ñ Ô ôPÐÑ 1Ó 3ô Pðf × Ñ Ô ô/�L 'ô /ð × Ñ Ô ô_BÑ u°uÔ=ô _BôD�L 'ô ð × Ñ Ô Ø × Ñ Ô ômÑ uÔ-ô mô`�L 'ô ð × Ñ Ô Ø × Ñ Ô ÷qMñ qMôfˆkÙ tØ(,¸TØ/3À$ôHôô�LØÙ%¨UØ.3ÀEØ5:ÈôPôð × Ñ Ô Ø × Ñ Ô ò	)ôU7Ñ u°eÈEØ/4À5Ø',°uô>ô U7ôp�L 'ô ð × Ñ Ô Ø × Ñ Ô ô_Ñ uØ(-¸eØ/4À5Ø).ô0ô _ôD	�L 'ô ð × Ñ Ô Ø × Ñ Ô ò.÷B0ñ 0ôfÐ#5ô ô -Ð7ô -ô`	Ð.°ô 	ô	Ð 3°]ô 	ô	Ð.°ô 	ô	Ð 3°]ô 	ôÐ6¸ô ô	Ð 3°]ô 	ô-Ð-ô -ô(	Ð.°ô 	ô	Ð 4°mô 	ó?r=   