Ë
    ÏÍ:jëÆ  ã                   óÈ  — d Z ddlZddlmZ ddlmZmZmZmZ ddl	Z	ddl	m
Z ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddl m!Z" g d	¢Z#d!d
„Z$d!d„Z% G d„ d«      Z&d„ Z'd„ Z(e	jR                  jU                  dejV                  ejX                  f«      d„ «       Z-e	jR                  jU                  dejV                  ejX                  f«      d„ «       Z.d„ Z/d„ Z0e	jR                  jU                  de#«      d„ «       Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6e	jR                  jU                  de#«      d„ «       Z7d„ Z8d„ Z9e	jR                  jU                  de#«      d„ «       Z:d „ Z;y)"z)test sparse matrix construction functionsé    N)Úarray)Úassert_equalÚassert_Úassert_array_equalÚassert_array_almost_equal_nulp)Úraises)Úcheck_free_memory)Ú
csr_matrixÚ
coo_matrixÚ	csr_arrayÚ	coo_arrayÚ	csc_arrayÚ	bsr_arrayÚ	dia_arrayÚ	dok_arrayÚ	lil_arrayÚ
csc_matrixÚ
bsr_matrixÚ
dia_matrixÚ
lil_matrixÚsparrayÚspmatrixÚ
_construct)Úrand)ÚcsrÚcscÚcooÚbsrÚdiaÚlilÚdokc           	      óŽ   — t         j                  j                  |«      }|j                  }t	        j                  | ||||||«      S ©N)ÚnpÚrandomÚdefault_rngÚstandard_normalÚ	construct)ÚmÚnÚdensityÚformatÚdtypeÚrngÚdata_rvss          úv/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/scipy/sparse/tests/test_construct.pyÚ_sprandnr1      s>   € ä
�)‰)×
Ñ
 Ó
$€CØ×"Ñ"€HÜ×Ñ˜A˜q '¨6°5¸#¸xÓHÐHó    c                 ó’   — t         j                  j                  |«      }|j                  }t	        j
                  | |f|||||¬«      S )N)r+   r,   r-   r.   Údata_sampler)r$   r%   r&   r'   r(   Úrandom_array)r)   r*   r+   r,   r-   r.   r4   s          r0   Ú_sprandn_arrayr6   !   sH   € ä
�)‰)×
Ñ
 Ó
$€CØ×&Ñ&€LÜ×!Ñ! 1 a &°'À&ÐPUØ&)¸ôFð Fr2   c            
       óœ  — e Zd Zej                  j                  deeee	e
eeg«      d„ «       Zej                  j                  deeeeeeg«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zej                  j                  dej>                  ej@                  g«      d„ «       Z!ej                  j                  dejD                  ej@                  g«      d„ «       Z#ej                  j                  dejD                  ej@                  g«      d„ «       Z$d„ Z%ej                  j                  dddgddggddfddgddggddfddgddgggddfg«      d„ «       Z&d„ Z'ej                  jQ                  d«      d„ «       Z)d„ Z*d„ Z+ej                  jQ                  d«      d„ «       Z,ej                  j                  d eeg«      d!„ «       Z-d"„ Z.d#„ Z/d$„ Z0ej                  j                  d eeg«      d%„ «       Z1d&„ Z2ej                  j                  d'ejf                  ejh                  f«      d(„ «       Z5d)„ Z6d*„ Z7ej                  jp                  ej                  js                  d+«      d,„ «       «       Z:d-„ Z;d.„ Z<ej                  jQ                  d«      d/„ «       Z=ej                  jQ                  d«      d0„ «       Z>d1„ Z?d2„ Z@d3„ ZAej                  j                  d4dd5eBj†                  j‰                  d5«      g«      d6„ «       ZEej                  j                  d4dd5eBj†                  j‰                  d5«      g«      d7„ «       ZFd8„ ZGd9„ ZHd:„ ZId;„ ZJy)<ÚTestConstructUtilsÚclsc                 ót   — t        j                  t        d¬«      5   |d«       d d d «       y # 1 sw Y   y xY w)NzEscipy sparse array classes do not support instantiation from a scalar©Úmatchr   )Úpytestr   Ú
ValueError©Úselfr9   s     r0   Ú test_singleton_array_constructorz3TestConstructUtils.test_singleton_array_constructor+   s6   € ô
 �]‰]Üð.ô
ñ 	ñ �ŒF÷	÷ 	ñ 	ús   œ	.®7c                 ó2   —  |d«      j                   dk(  sJ ‚y)a1  
        This test is for backwards compatibility post scipy 1.13.
        The behavior observed here is what is to be expected
        with the older matrix classes. This test comes with the
        exception of dok_matrix, which was not working pre scipy1.12
        (unlike the rest of these).
        r   ©é   rD   N©Úshaper?   s     r0   Ú!test_singleton_matrix_constructorz4TestConstructUtils.test_singleton_matrix_constructor9   s   € ñ �1‹v�|‰|˜vÒ%Ð%Ñ%r2   c                 ór  — t        g d¢g«      }t        g d¢g d¢g«      }t        g d¢g d¢g d¢g«      }g }|j                  |ddddggf«       |j                  |dgdddggf«       |j                  |dgdddgdggf«       |j                  |dgddddggf«       |j                  |dgddddggf«       |j                  |dgddddggf«       |j                  |dgddddgddggf«       |j                  |dgddddgddggf«       |j                  |dgddddgddggf«       |j                  |dgdd	g d
¢g d¢g d¢gf«       |j                  |dgdd	g d¢g d¢g d¢gf«       |j                  |dgddg d¢g d¢g d¢gf«       |j                  |ddgddg d¢g d¢g d¢gf«       |j                  |ddgdd	g d¢g d¢g d¢gf«       |j                  |ddgddg d¢g d¢g d¢g d¢g d¢g d¢gf«       |j                  |g d ¢ddg d!¢g d"¢g d#¢g d$¢g d%¢g d¢gf«       |j                  |g d&¢ddg d'¢g d(¢g d)¢g d*¢g d+¢g d,¢gf«       |j                  |g d-¢t        |d   «      t        |d   «      g d.¢g d/¢g d0¢g d1¢g d¢gf«       |D ]­  \  }}}}}	t        |d   «      |k(  r3||k(  r.t        t	        j
                  ||«      j                  «       |	«       t        t	        j
                  ||||«      j                  «       |	«       t        t	        j
                  ||||f«      j                  «       |	«       Œ¯ y )2N©rD   é   é   é   é   )é   é   é   é	   é
   )é   é   é   é   é   r   rD   rJ   éÿÿÿÿrK   rL   ©rD   r   r   r   ©r   rJ   r   r   ©r   r   rK   r   )r   r   r   rL   rM   ©r   r   rK   r   r   )r   r   r   rL   r   )r   r   r   r   rM   )rD   r   rP   ©r   rJ   r   ©r   r   rK   ©rN   r   r   r   ©rD   rO   r   r   ©r   rJ   rP   r   éýÿÿÿrN   )r   r   rK   r   r   r   )r   r   r   rL   r   r   )r   r   r   r   rM   r   )rN   r   r   r   r   r   ©r   rO   r   r   r   r   ©r   r   rP   r   r   r   ©rX   r   rD   )rN   rT   r   r   r   r   )rD   rO   rU   r   r   r   )r   rJ   rP   rV   r   r   )r   r   rK   rQ   rW   r   )r   r   r   rL   rR   r   ©éüÿÿÿrJ   rX   )r   r   rP   r   r   )rS   r   r   rQ   r   )r   rT   r   r   rR   ©r   r   rU   r   r   ©rD   r   r   rV   r   ©r   rJ   r   r   rW   )rX   rD   rJ   )r   rO   rU   r   r   )rD   r   rP   rV   r   )r   rJ   r   rQ   rW   )r   r   rK   r   rR   )r   ÚappendÚlenr   r(   ÚspdiagsÚtoarray)
r@   Údiags1Údiags2Údiags3ÚcasesÚdÚor)   r*   Úresults
             r0   Útest_spdiagszTestConstructUtils.test_spdiagsG   s‚  € ÜšÐ(Ó)ˆÜšÚ(ð*ó +ˆäšÚ(Ú)ð+ó ,ˆð ˆØ�‰�f˜a  A¨¨ uÐ-Ô.Ø�‰�f˜q˜c 1 a¨1¨#¨Ð/Ô0Ø�‰�f˜q˜c 1 a¨1¨#¨q¨c¨Ð3Ô4Ø�‰�f˜q˜c 1 a¨1¨Q¨%¨Ð1Ô2Ø�‰�f˜q˜c 1 a¨1¨Q¨%¨Ð1Ô2Ø�‰�f˜b˜T 1 a¨1¨Q¨%¨Ð1Ô2Ø�‰�f˜q˜c 1 a¨1¨Q¨%°°1°¨Ð7Ô8Ø�‰�f˜b˜T 1 a¨1¨Q¨%°°1°¨Ð7Ô8Ø�‰�f˜q˜c 1 a¨1¨Q¨%°°1°¨Ð7Ô8Ø�‰�f˜q˜c 1 aª)²IºiÐ)HÐIÔJØ�‰�f˜q˜c 1 aª)²IºiÐ)HÐIÔJØ�‰�f˜q˜c 1 aª+²kÂ+Ð)NÐOÔPà�‰�f˜q ˜e Q¨ªG²GºGÐ+DÐEÔFØ�‰�f˜r !˜f a¨ªY²yÂÐ,KÐLÔMØ�‰�f˜q ˜f a¨ª]Ú.;Ú.;Ú.;Ú.;Ú.;ð-=ð >ô 	?ð 	�‰�fšh¨¨1Ò/AÚ0BÚ0BÚ0BÚ0BÚ0Bð/Dð Eô 	Fð 	�‰�fši¨¨A²Ú1AÚ1@Ú1@Ú1@Ú1@ð0Bð Cô 	Dð 	�‰�fšj¬#¨f°Q©i«.¼#¸fÀQ¹i».Ú'Ú'Ú'Ú'Ú&ð	(ð)ô 	*ð #(ò 	LÑˆAˆq�!�Q˜Ü�1�Q‘4‹y˜AŠ~ ! q¢&ÜœY×.Ñ.¨q°!Ó4×<Ñ<Ó>ÀÔGÜœ×*Ñ*¨1¨a°°AÓ6×>Ñ>Ó@À&ÔIÜœ×*Ñ*¨1¨a°!°Q°Ó8×@Ñ@ÓBÀFÕKñ		Lr2   c                 ó  — t        g d¢«      }t        g d¢«      }t        g d¢«      }g }|j                  |d d dddggf«       |j                  |d d gdgddggf«       |j                  |d d gdgddgdggf«       |j                  |d d gdgdddggf«       |j                  |d d gdgdddggf«       |j                  |d d	 gdgd
ddgdd	ggf«       |j                  |d d gdgd
ddgddggf«       |j                  |d d gdgdg d¢g d¢g d¢gf«       |j                  |d d gdgdg d¢g d¢g d¢gf«       |j                  |d d gdgdg d¢g d¢g d¢gf«       |j                  |d d	 gdgdg d¢g d¢g d¢gf«       |j                  |d d gdgdg d¢g d¢g d¢gf«       |j                  |d d gdgdg d¢g d¢g d¢gf«       |j                  |d d gd	gdg d¢g d¢g d¢gf«       |j                  |d d	 gdgdg d ¢g d!¢g d¢gf«       |j                  |d d gd"gdg d#¢g d¢g d¢gf«       |j                  |d d gd$gd%g d&¢g d&¢g d&¢g d&¢g d'¢gf«       |j                  |d d	 gd(gd%g d&¢g d&¢g d&¢g d'¢g d)¢gf«       |j                  |d d gdgd%g d&¢g d&¢g d'¢g d)¢g d*¢gf«       |j                  |d d gdgd%g d&¢g d'¢g d)¢g d*¢g d&¢gf«       |j                  |d d gdgd%g d'¢g d)¢g d*¢g d&¢g d&¢gf«       |j                  |d d	 gdgd%g d+¢g d,¢g d&¢g d&¢g d&¢gf«       |j                  |d d gd	gd%g d-¢g d&¢g d&¢g d&¢g d&¢gf«       |j                  |d d |d d gdd	gd.g d/¢g d)¢g d*¢gf«       |j                  |d d	 |d d gddgdg d0¢g d1¢g d2¢gf«       |j                  |d d" |d d gd	d(gd3g d4¢g d5¢g d6¢g d7¢g d8¢g d9¢gf«       |j                  |d d" ||d d" gg d:¢d;g d<¢g d=¢g d>¢g d?¢g d@¢gf«       |j                  |d d	 |d d |gg dA¢dBg dC¢g dD¢g dE¢g dF¢g dG¢g dH¢gf«       |j                  |gdgddggf«       |j                  |d d |gdd	gd.g d/¢g d)¢g d*¢gf«       |j                  t        j                   g dI¢g dJ¢g«      ddgd.g d'¢g dK¢g dL¢gf«       |j                  g dM¢g dN¢d.g dO¢g dP¢g dQ¢gf«       |D ]®  \  }}}}|›dR|›dR|›dR|›�}	t        t	        j
                  |||¬S«      j                  «       ||	¬T«       |d   |d   k(  sŒSt        |d   dU«      sŒct        |d   «      t        |«      k  sŒ~t        t	        j
                  ||¬V«      j                  «       ||	¬T«       Œ° y )WN©ç      ð?ç       @ç      @ç      @ç      @©ç      @g      @g       @g      "@g      $@©g      &@g      (@g      *@g      ,@g      .@rD   r   rC   ©rJ   rD   ©rD   rJ   rJ   ©rJ   rJ   rX   rK   )rK   rL   rY   rZ   r[   )r   rD   r   r   )r   r   rJ   r   )r   r   r   rK   éþÿÿÿ©rK   rM   )r   r   r   r   r   )rD   r   r   r   r   )r   rJ   r   r   r   r\   )r   rD   r   r   r   )r   r   rJ   r   r   )r   r   r   rK   r   )r   r   rD   r   r   )r   r   r   rJ   r   )r   r   r   r   rK   )r   r   r   rD   r   )r   r   r   r   rJ   rL   )r   r   r   r   rD   rg   )rM   rK   ©r   r   r   ©rD   r   r   rb   r]   r^   ©r   rD   r   )r   r   rJ   ©r   r   rD   ©rK   rK   )rD   r   rN   r_   r`   ra   )rN   rN   )r   r   rD   r   r   r   )r   r   r   rJ   r   r   )r   r   r   r   rK   r   )rN   r   r   r   r   rL   rc   rd   re   ©rM   rM   )rN   rS   r   r   r   )rD   rO   rT   r   r   )r   rJ   rP   rU   r   )r   r   rK   rQ   rV   )r   r   r   rL   rR   rf   ©rN   rM   )r   r   rN   r   r   )rS   r   r   rO   r   )r   rT   r   r   rP   rh   ri   rj   )ry   rz   r{   )r|   r}   r   )rL   rJ   r   )r   rM   rK   )ry   g       Àry   )rD   r   rX   )r„   rD   r   )rD   r„   rD   )r   rD   r„   ú ©ÚoffsetsrF   )Úerr_msgÚ__len__©r�   )
r   rk   r$   r   r(   Údiagsrn   Úhasattrrl   Úmax)
r@   ÚaÚbÚcrr   rs   rt   rF   ru   r�   s
             r0   Ú
test_diagszTestConstructUtils.test_diags   s0  € ÜÒ+Ó,ˆÜÒ,Ó-ˆÜÒ0Ó1ˆàˆØ�‰�a˜˜�e˜Q ¨!¨¨Ð.Ô/Ø�‰�q˜˜!�u�g ˜s F¨a¨S¨EÐ2Ô3Ø�‰�q˜˜!�u�g ˜s F¨a¨S°!°¨IÐ6Ô7Ø�‰�q˜˜!�u�g ˜s F¨a°¨U¨GÐ4Ô5Ø�‰�q˜˜!�u�g ˜s F¨a°¨U¨GÐ4Ô5Ø�‰�q˜˜!�u�g ˜s F¨a°¨U°A°a°5¨MÐ:Ô;Ø�‰�q˜˜!�u�g˜r˜d F¨a°¨U°A°a°5¨MÐ:Ô;Ø�‰�q˜˜!�u�g ˜s FªY²yÂÐ,KÐLÔMØ�‰�q˜˜!�u�g ˜s FªY²yÂÐ,KÐLÔMØ�‰�q˜˜!�u�g ˜t Vªkº+ÂkÐ-RÐSÔTØ�‰�q˜˜!�u�g ˜t Vªkº+ÂkÐ-RÐSÔTØ�‰�q˜˜!�u�g ˜s Fª[ºÂ[Ð,QÐRÔSØ�‰�q˜˜!�u�g ˜s Fª[ºÂ[Ð,QÐRÔSØ�‰�q˜˜!�u�g ˜s Fª[ºÂ[Ð,QÐRÔSØ�‰�q˜˜!�u�g ˜s Fª[ºÂ[Ð,QÐRÔSØ�‰�q˜˜!�u�g ˜s Fª[ºÂ[Ð,QÐRÔSØ�‰�q˜˜!�u�g ˜t Vªg²gºgÂgÊgÐ-VÐWÔXØ�‰�q˜˜!�u�g ˜t Vªg²gºgÂgÊgÐ-VÐWÔXØ�‰�q˜˜!�u�g ˜t Vªg²gºgÂgÊgÐ-VÐWÔXØ�‰�q˜˜!�u�g ˜t Vªg²gºgÂgÊgÐ-VÐWÔXØ�‰�q˜˜!�u�g ˜s FªW²WºWÂWÊWÐ,UÐVÔWØ�‰�q˜˜!�u�g ˜s FªW²WºWÂWÊWÐ,UÐVÔWØ�‰�q˜˜!�u�g ˜s FªW²WºWÂWÊWÐ,UÐVÔWà�‰�q˜˜!�u˜Q˜r ˜U�m a¨ U¨F²WºWÂWÐ4MÐNÔOØ�‰�q˜˜!�u˜Q˜r ˜U�m b¨ V¨V²iÂ	Ê)Ð5TÐUÔVØ�‰�q˜˜!�u˜Q˜r ˜U�m a¨ V¨V²mÚ5BÚ5BÚ5BÚ5BÚ5Bð6Dð Eô 	Fð 	�‰�q˜˜!�u˜Q˜q  !˜u�o¢x°º/Ú<KÚ<KÚ<KÚ<Kð	:Mð Nô 	Oð
 	�‰�q˜˜!�u˜Q˜r ˜U 1�o¢y°&º?Ú:JÚ:IÚ:IÚ:IÚ:Ið;Kð Lô 	Mð 	�‰�q�c˜A˜3 ¨!¨¨Ð.Ô/Ø�‰�q˜˜!�u˜Q�i ! A ¨²ºIÂyÐ0QÐRÔSØ�‰Ü�H‰H’o¢Ð7Ó8ØˆrˆFØÚš	¢9Ð-ð	
ô 	ð 	�‰’n¢h°ºÚ9CÚ9Cð9Eð Fô 	Gð $)ò 
	6ÑˆAˆq�%˜Ø˜˜Q˜q˜e 1 U I¨Q¨v¨jÐ9ˆGÜœŸ™¨°A¸UÔC×KÑKÓMØ¨õ2ð �a‘˜E !™HÓ$Ü˜A˜a™D )Õ,Ü˜˜!™“I¤ U£Ó+äœYŸ_™_¨Q¸Ô:×BÑBÓDØ#¨Wö6ñ
	6r2   c                 óž   — t        g d¢«      }t        t        j                  |«      j	                  «       t        j                  |«      «       y )Nrx   )r   r   r(   r“   rn   r$   Údiag©r@   r–   s     r0   Útest_diags_defaultz%TestConstructUtils.test_diags_defaultÍ   s1   € ÜÒ+Ó,ˆÜ”Y—_‘_ QÓ'×/Ñ/Ó1´2·7±7¸1³:Õ>r2   c                 ód   — t        g d¢g d¢g«      }t        t        t        j                  |«       y )NrI   )rJ   rK   rL   rM   rN   )r   Úassert_raisesr>   r(   r“   rœ   s     r0   Útest_diags_default_badz)TestConstructUtils.test_diags_default_badÑ   s!   € Ü’?¢OÐ4Ó5ˆÜ”j¤)§/¡/°1Õ5r2   c                 ód  — t        g d¢«      }t        g d¢«      }t        g d¢«      }g }|j                  |d d gddf«       |j                  |d d ||d d gg d¢d	f«       |j                  |d d
 ||d d gg d¢df«       |j                  |d d
 ||d d gg d¢d f«       |j                  g g d¢d f«       |j                  dgdgdf«       |j                  |gdd f«       |D ](  \  }}}t        t        t        j
                  |||¬«       Œ* t        t        t        j
                  d ggdg¬«       y )Nrx   r~   r€   r   rC   rL   rK   re   r‹   rJ   rf   rŒ   ry   éûÿÿÿ©rL   rL   rŽ   r’   )r   rk   rŸ   r>   r(   r“   Ú	TypeError)r@   r–   r—   r˜   rr   rs   rt   rF   s           r0   Útest_diags_badz!TestConstructUtils.test_diags_badÕ   s5  € ÜÒ+Ó,ˆÜÒ,Ó-ˆÜÒ0Ó1ˆàˆØ�‰�q˜˜!�u�g˜q &Ð)Ô*Ø�‰�q˜˜!�u˜Q˜q  !˜u�o¢x°Ð8Ô9Ø�‰�q˜˜!�u˜Q˜q  !˜u�o¢y°&Ð9Ô:Ø�‰�q˜˜!�u˜Q˜q  !˜u�o¢y°$Ð7Ô8Ø�‰�bš) TÐ*Ô+Ø�‰�s�e˜b˜T 6Ð*Ô+Ø�‰�q�c˜1˜d�^Ô$à ò 	R‰KˆAˆq�%Üœ*¤i§o¡o°qÀ!È5ÖQð	Rô 	”i¤§¡°D°6°(ÀQÀCÖHr2   c                 óø  — t         j                  j                  d«      }dD �]J  }d|dz  z   |j                  dd«      z   }t        j                  | dz   |dz
  «      }|j                  |«       |d | }|D �cg c]  }|j                  |t        |«      z
  «      ‘Œ! }}t        j                  ||¬«      }t        t        ||«      D ��	cg c]  \  }}	t        j                  ||	«      ‘Œ c}	}«      }
t        |j                  «       |
«       t        |«      dk(  sŒøt        j                  |d   |d   ¬«      }t        j                  |d   |d   «      }
t        |j                  «       |
«       �ŒM y c c}w c c}	}w )NiÒ  )rD   rJ   rK   rL   rM   rR   rD   rJ   r   rR   r’   )r$   r%   ÚRandomStateÚrandintÚarangeÚshuffler   Úabsr(   r“   ÚsumÚzipr›   r   rn   rl   )r@   r.   Ún_diagsr*   r�   ÚqÚ	diagonalsÚmatÚxÚjÚ	dense_mats              r0   Útest_diags_vs_diagz%TestConstructUtils.test_diags_vs_diagè   s>  € ô �i‰i×#Ñ# DÓ)ˆà*ó 	IˆGØ�G˜Q‘J‘ §¡¨Q°Ó!3Ñ3ˆAä—i‘i   1¡ a¨¡cÓ*ˆGØ�K‰K˜Ô Ø˜h˜wÐ'ˆGà7>Ö?°!˜Ÿ™ !¤c¨!£f¡*Õ-Ð?ˆIÐ?ä—/‘/ )°WÔ=ˆCÜ´s¸9ÀgÓ7N×O©t¨q°!œRŸW™W Q¨�]ÓOÓPˆIä*¨3¯;©;«=¸)ÔDä�7‹|˜qÓ Ü—o‘o i°¡l¸GÀA¹JÔG�ÜŸG™G I¨a¡L°'¸!±*Ó=�	Ü.¨s¯{©{«}¸iÖHñ#	Iùò @ùó Ps   Á8$E1Ã	 E6c                 ó¶   — t        j                  dgdgdt        ¬«      }t        |j                  t        «       t        |j                  «       ddgddgg«       y )Ngš™™™™™@r   rƒ   ©r�   rF   r-   rJ   )r(   r“   Úintr   r-   rn   ©r@   r²   s     r0   Útest_diags_dtypez#TestConstructUtils.test_diags_dtype  sE   € Ü�O‰O˜S˜E¨A¨3°fÄCÔHˆÜ�Q—W‘WœcÔ"Ü�Q—Y‘Y“[ A q 6¨A¨q¨6Ð"2Õ3r2   c                 óÖ   — g d¢}t        dd«      D ]V  }t        t        j                  ||¬«      j	                  «       t        j                  |g|g¬«      j	                  «       «       ŒX y )N)ç        ry   rz   r{   r|   r¢   rN   r’   )Úranger   r(   r“   rn   )r@   rs   Úks      r0   Útest_diags_one_diagonalz*TestConstructUtils.test_diags_one_diagonal  sX   € Ú%ˆÜ�r˜1“ò 	FˆAÜœŸ™¨°AÔ6×>Ñ>Ó@Ü"Ÿ™¨!¨°q°cÔ:×BÑBÓDõFñ	Fr2   c                 óZ   — t        j                  g «      }t        |j                  d«       y )N©r   r   )r(   r“   r   rF   r¹   s     r0   Útest_diags_emptyz#TestConstructUtils.test_diags_empty  s   € Ü�O‰O˜BÓˆÜ�Q—W‘W˜fÕ%r2   Úidentityc                 óÄ  — t         |d«      j                  «       dgg«       t         |d«      j                  «       ddgddgg«        |ddd¬«      }t        |j                  t        j                  d«      «       t        |j                  d«       t
        D ]E  } |d|¬«      }t        |j                  |«       t        |j                  «       g d	¢g d
¢g d¢g«       ŒG y ©NrD   rJ   r   rK   Úint8r   )r-   r,   ©r,   r‡   rˆ   r‰   ©r   rn   r-   r$   r,   Úsparse_formats)r@   rÃ   ÚIÚfmts       r0   Útest_identityz TestConstructUtils.test_identity  sµ   € ä‘X˜a“[×(Ñ(Ó*¨a¨S¨EÔ2Ü‘X˜a“[×(Ñ(Ó*¨a°¨U°A°a°5¨MÔ:á�Q˜f¨UÔ3ˆÜ�Q—W‘WœbŸh™h vÓ.Ô/Ü�Q—X‘X˜uÔ%ä!ò 	AˆCÙ˜ 3Ô'ˆAÜ˜Ÿ™ 3Ô'Ü˜Ÿ™›¢wªw²wÐ&?Õ@ñ	Ar2   Úeyec                 ó‚  — t         |dd«      j                  «       dgg«       t         |dd«      j                  «       g d¢g d¢g«       t         |dd«      j                  «       ddgddgddgg«       t         |dd«      j                  «       g d¢g d¢g d¢g«       t         |ddd¬	«      j                  t        j                  d«      «       d
D ]Þ  }d
D ]×  }t	        dd«      D ]Æ  }|dkD  r||kD  s|dk  r>t        |«      |kD  r0t        j                  t        d¬«      5   ||||¬«       d d d «       ŒPt         ||||¬«      j                  «       t        j                  |||¬«      «       ||k(  sŒ�t         |||¬«      j                  «       t        j                  |||¬«      «       ŒÈ ŒÙ Œà y # 1 sw Y   Œ×xY w)NrD   rJ   rK   r‡   rˆ   r   r‰   Úint16©r-   r…   r¢   rN   zOffset.*out of boundsr;   ©r¾   )
r   rn   r-   r$   r½   r«   r=   r   r>   rÍ   )r@   rÍ   r)   r*   r¾   s        r0   Útest_eyezTestConstructUtils.test_eye   s—  € ä‘S˜˜1“X×%Ñ%Ó'¨1¨#¨Ô/Ü‘S˜˜1“X×%Ñ%Ó'ª'²'Ð):Ô;Ü‘S˜˜1“X×%Ñ%Ó'¨1¨Q¨%°°1°°q¸°eÐ)<Ô=Ü‘S˜˜1“X×%Ñ%Ó'ª'²'º'Ð)BÔCä‘S˜˜1 7Ô+×1Ñ1´2·8±8¸GÓ3DÔEàò 	ˆAØò �Ü˜r !›ò �Að ˜Aš ! a¢%¨Q°ªU´s¸1³vÀ²zÜ#Ÿ]™]Ü&Ð.Eôñ +ñ    1¨�N÷+ð +ô %Ù  1¨œN×2Ñ2Ó4ÜŸF™F 1 a¨1Ô-ôð  ›6Ü(Ù # A¨¤× 3Ñ 3Ó 5Ü "§¡ q¨!¨qÔ 1õñ)ññ	÷+ð +ús   Ä"F5	Æ5F>c                 óÄ  — t         |d«      j                  «       dgg«       t         |d«      j                  «       ddgddgg«        |ddd¬«      }t        |j                  t        j                  d«      «       t        |j                  d«       t
        D ]E  } |d|¬«      }t        |j                  |«       t        |j                  «       g d	¢g d
¢g d¢g«       ŒG y rÅ   rÈ   )r@   rÍ   rÊ   rË   s       r0   Útest_eye_onezTestConstructUtils.test_eye_oneD  s±   € ä‘S˜“V—^‘^Ó%¨¨ uÔ-Ü‘S˜“V—^‘^Ó%¨¨1¨¨q°¨e }Ô5á�˜¨Ô.ˆÜ�Q—W‘WœbŸh™h vÓ.Ô/Ü�Q—X‘X˜uÔ%ä!ò 	AˆCÙ�A˜cÔ"ˆAÜ˜Ÿ™ 3Ô'Ü˜Ÿ™›¢wªw²wÐ&?Õ@ñ	Ar2   c                 ó˜   — t        t        j                  d«      t        «      sJ ‚t        t        j                  d«      t        «      rJ ‚y )NrK   )Ú
isinstancer(   Ú	eye_arrayr   rÍ   ©r@   s    r0   Útest_eye_array_vs_matrixz+TestConstructUtils.test_eye_array_vs_matrixR  s9   € Üœ)×-Ñ-¨aÓ0´'Ô:Ð:Ð:ÜœiŸm™m¨AÓ.´Ô8Ð8Ð8Ð8r2   zarr,kw_format,out_formatr   rD   Nr   r   c                 ó  — t        |«      }t        j                  |||¬«      j                  |k(  sJ ‚t        j                  |||¬«      j                  |k(  sJ ‚t        j                  |||¬«      j                  |k(  sJ ‚y )NrÇ   )r   r(   Úkronr,   )r@   ÚarrÚ	kw_formatÚ
out_formatÚsparrs        r0   Útest_kron_output_formatz*TestConstructUtils.test_kron_output_formatV  sp   € ô ˜#“ˆÜ�~‰~˜e U°9Ô=×DÑDÈ
ÒRÐRÐRÜ�~‰~˜e S°Ô;×BÑBÀjÒPÐPÐPÜ�~‰~˜c 5°Ô;×BÑBÀjÒPÐPÑPr2   c           	      óR  — g }|j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        dgdgg«      «       |j                  t        ddgg«      «       |j                  t        ddgddgg«      «       |j                  t        ddgddgg«      «       |j                  t        g d	¢g d
¢g«      «       |j                  t        ddgddgddgg«      «       |j                  t        g d¢g d¢g d¢g«      «       |j                  t        g d¢g«      «       |j                  t        g d¢g d¢g«      «       |D ]�  }t        |«      }|D ]‹  }t        |«      }t        j                  ||«      }t
        dd D ]\  }t        j                  |||¬«      }t        |j                  |«       t        |j                  «       |«       t        |t        «      rŒ\J ‚ Œ� ŒŸ |j                  t        g d¢«      «       |j                  t        g d¢g d¢gg«      «       |j                  t        ddggddggddggddggg«      «       |D ]g  }t        |«      }|D ]U  }t        |«      }t        j                  ||«      }t        j                  ||d¬«      }t        |j                  «       |«       ŒW Œi t        g d¢g d¢g«      }t        g d¢g d¢g d¢g«      }t        |«      }t        |«      }t        j                  ||«      }t
        D ]\  }t        j                  |||¬«      }t        |j                  |«       t        |j                  «       |«       t        |t        «      rŒ\J ‚ t        j                  t        |«      t        |«      ¬«      }t        |j                  |«       t        |j                  «       |«       t        |t        «      sJ ‚y )Nr   rX   rL   rR   rD   rJ   rK   rM   ©r   rJ   iúÿÿÿ©rP   r   rV   rN   )rM   rL   rL   r‡   )rN   r   rP   )r   rD   r   rJ   r   rM   rP   )ç      à?g      À?r   g      
@)r   g      @r   r   rÇ   )r   rD   rJ   rˆ   r   )rk   r   r   r$   rÛ   rÉ   r(   r   r,   r   rn   rÖ   r   r   r
   r   )	r@   rr   r–   Úcar—   ÚcbÚexpectedrË   ru   s	            r0   Ú	test_kronzTestConstructUtils.test_krona  sw  € Øˆà�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜C ! ˜:Ó&Ô'Ø�‰”U˜Q ˜F˜8“_Ô%Ø�‰”U˜Q ˜F Q¨ FÐ+Ó,Ô-Ø�‰”U˜Q ˜F Q¨ FÐ+Ó,Ô-Ø�‰”UšJª
Ð3Ó4Ô5Ø�‰”U˜Q ˜F Q¨ F¨Q°¨FÐ3Ó4Ô5Ø�‰”UšI¢y²)Ð<Ó=Ô>Ø�‰”UÒ1Ð2Ó3Ô4Ø�‰”UÒ1²>ÐBÓCÔDð ò 		7ˆAÜ˜1“ˆBØò 7�Ü˜q“\�ÜŸ7™7 1 a›=�Ü)¨!¨AÐ.ò 7�CÜ&Ÿ^™^¨B°¸3Ô?�FÜ  §¡°Ô4Ü& v§~¡~Ó'7¸ÔBÜ% f¬gÕ6Ð6Ð6ñ	7ñ7ð		7ð 	�‰”Uš9Ó%Ô&Ø�‰”UšYª	Ð2Ð3Ó4Ô5Ø�‰”U˜a ˜V˜H¨¨1 v h°!°Q°°¸A¸q¸6¸(ÐCÓDÔEàò 	?ˆAÜ˜1“ˆBØò ?�Ü˜q“\�ÜŸ7™7 1 a›=�Ü"Ÿ™¨¨B°uÔ=�Ü" 6§>¡>Ó#3°XÕ>ñ	?ð	?ô Ò(ª.Ð9Ó:ˆÜ’9šiªÐ3Ó4ˆÜ�q‹\ˆÜ�q‹\ˆä—7‘7˜1˜a“=ˆÜ!ò 	/ˆCÜ—^‘^ B¨°3Ô7ˆFÜ˜Ÿ™¨Ô,Ü˜vŸ~™~Ó/°Ô:Ü˜f¤gÕ.Ð.Ð.ð		/ô —‘¤
¨1£¬z¸!«}ÀSÔIˆÜ�V—]‘] CÔ(Ü˜6Ÿ>™>Ó+¨XÔ6Ü˜&¤(Ô+Ð+Ñ+r2   z3ignore:.*switching.*sparse array:DeprecationWarningc                 óâ  — t        j                  t        d¬«      5  t        j                  dgdggddggg«       d d d «       t        j                  t        d¬«      5  t        j                  ddgggdgdgg«       d d d «       t        j                  t        ddggg«      dgdggg«       t        j                  ddgggt        dgdggg«      «       t        j                  dgdggg d¢«       t        j                  ddgdgdgg«       t        j                  dgdggt        g d¢«      «       t        j                  t        ddg«      dgdgg«       y # 1 sw Y   �ŒxY w# 1 sw Y   ŒéxY w)Nzexpected 2D array or matrixr;   r   rD   rˆ   )r=   r   r¤   r(   rÛ   r   rØ   s    r0   Útest_kron_ndim_exceptionsz,TestConstructUtils.test_kron_ndim_exceptionsž  s@  € ô �]‰]œ9Ð,IÔJñ 	3Ü�N‰N˜Q˜C ! ˜:¨!¨Q¨¨ zÔ2÷	3ä�]‰]œ9Ð,IÔJñ 	3Ü�N‰N˜a ˜V˜H˜:¨¨¨a¨S zÔ2÷	3ô 	�‰”y A q 6 ( Ó,°°°a°S¨z¨lÔ;Ü�‰˜!˜Q˜˜�z¤9°¨s°Q°C¨j¨\Ó#:Ô;ô 	�‰˜˜˜a˜S�z¢9Ô-Ü�‰˜˜1�v   a S˜zÔ*Ü�‰˜˜˜a˜S�z¤9ªYÓ#7Ô8Ü�‰”y ! Q Ó(¨A¨3°°¨*Õ5÷	3ñ 	3ú÷	3ð 	3ús   œEÁE%ÅE"Å%E.c                 óÜ   — d}t        j                  dgd|f|dz
  d ¬«      }t        j                  dg|dfd|z
  d ¬«      }t        j                  ||«       t        j                  ||«       y )Ni   rD   )rF   r�   r-   )r(   Údiags_arrayrÛ   )r@   r*   r–   r—   s       r0   Útest_kron_largez"TestConstructUtils.test_kron_large°  sc   € ØˆÜ×!Ñ! 1 #¨a°¨V¸Q¸q¹SÈÔMˆÜ×!Ñ! 1 #¨a°¨V¸Q¸q¹SÈÔMˆä�‰�q˜!ÔÜ�‰�q˜!Õr2   c           
      óò  — g }|j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        dgg«      «       |j                  t        ddgddgg«      «       |j                  t        ddgddgg«      «       |j                  t        g d	¢g d
¢g d¢g«      «       |j                  t        g d¢g d¢g d¢g«      «       |D ]¸  }|D ]±  }t        j                  t	        |«      t	        |«      «      j                  «       }t        j                  t        j                  |j                  d   «      |«      t        j                  |t        j                  |j                  d   «      «      z   }t        ||«       Œ³ Œº t        j                  t        «      t        «      «      j                  «       }t        |«       y )Nr   rX   rL   rR   rD   rJ   rK   rM   râ   rã   )r   rK   r   r‡   )r   rM   rX   )rL   r„   rP   )rk   r   r(   Úkronsumr   rn   r$   rÛ   rÍ   rF   r   r
   )r@   rr   r–   r—   ru   rç   s         r0   Útest_kronsumzTestConstructUtils.test_kronsum¸  s‚  € Øˆà�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜q˜E 1 Q %˜=Ó)Ô*Ø�‰”U˜Q˜q˜E 1 Q %˜=Ó)Ô*Ø�‰”UšH¢XªgÐ6Ó7Ô8Ø�‰”UšG¢HªXÐ6Ó7Ô8ð ò 	5ˆAØò 5�Ü"×*Ñ*¬9°Q«<¼À1»ÓF×NÑNÓP�ÜŸG™G¤B§F¡F¨1¯7©7°1©:Ó$6¸Ó:Ü Ÿg™g a¬¯©°·±¸±
Ó);Ó<ñ=�ä" 6¨8Õ4ñ	5ð	5ô ×"Ñ"¤:¨a£=´*¸Q³-Ó@×HÑHÓJˆÜ˜6 8Õ,r2   c                 ó’  — t        j                  t        d¬«      5  t        j                  dgdggt        ddg«      «       d d d «       t        j                  t        d¬«      5  t        j                  t        ddg«      dgdgg«       d d d «       t        j                  ddgddggdg«       y # 1 sw Y   ŒpxY w# 1 sw Y   Œ3xY w)Nzrequires 2D inputr;   r   rD   rJ   )r=   r   r>   r(   rï   r   rØ   s    r0   Útest_kronsum_ndim_exceptionsz/TestConstructUtils.test_kronsum_ndim_exceptionsÐ  s­   € ä�]‰]œ:Ð-@ÔAñ 	=Ü×Ñ ˜s Q C˜j¬)°Q¸°FÓ*;Ô<÷	=ä�]‰]œ:Ð-@ÔAñ 	=Ü×Ñœi¨¨A¨Ó/°1°#¸°s°Ô<÷	=ô 	×Ñ˜A˜q˜6 A q 6Ð*¨Q¨CÕ0÷	=ð 	=ú÷	=ð 	=ús   œ&B1Á%&B=Â1B:Â=CÚcoo_clsc                 ó   —  |ddgddgg«      } |ddgg«      }t        ddgddgddgg«      }t        t        j                  ||g«      j	                  «       |«       t        t        j                  ||gt
        j                  ¬«      j                  t
        j                  «       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        j                  |j                  «       |j                  «       gdt
        j                  ¬	«      }t        |j                  t
        j                  «       t        |j                  j                  t
        j                  «       t        |j                  j                  t
        j                  «       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        j                  |j                  «       |j                  «       gd
t
        j                  ¬	«      }t        |j                  t
        j                  «       t        |j                  j                  t
        j                  «       t        |j                  j                  t
        j                  «       y )NrD   rJ   rK   rL   rM   rN   rÐ   r   )r,   r-   r   )r   r   r(   Úvstackrn   r$   Úfloat32r-   ÚtodokÚtocsrÚindicesÚint32ÚindptrÚtocsc)r@   ró   ÚAÚBrç   ru   s         r0   Útest_vstackzTestConstructUtils.test_vstackÙ  s  € á�a˜�U˜A˜a˜5�MÓ"ˆÙ�a˜�U�GÓˆä˜1˜a˜&Ø˜a˜&Ø˜a˜&ð"ó #ˆô 	”Y×%Ñ% q¨! fÓ-×5Ñ5Ó7¸ÔBÜ”Y×%Ñ% q¨! f´B·J±JÔ?×EÑEÜ—Z‘Zô	!ô 	”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGÈÔRä”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGØô	ä×!Ñ! 1§7¡7£9¨a¯g©g«iÐ"8Ø).´b·j±jôBˆä�V—\‘\¤2§:¡:Ô.Ü�V—^‘^×)Ñ)¬2¯8©8Ô4Ü�V—]‘]×(Ñ(¬"¯(©(Ô3ä”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGØô	ä×!Ñ! 1§7¡7£9¨a¯g©g«iÐ"8Ø).´b·j±jôBˆä�V—\‘\¤2§:¡:Ô.Ü�V—^‘^×)Ñ)¬2¯8©8Ô4Ü�V—]‘]×(Ñ(¬"¯(©(Õ3r2   c                 ó"  — t        g d¢g d¢g d¢g«      }|j                  j                  t        j                  «      |_        |j
                  j                  t        j                  «      |_        t        j                  ||g«      j                  j                  t        j                  k(  sJ ‚t        j                  ||g«      j                  j                  t        j                  k(  sJ ‚t        g d¢g d¢g d¢g«      }|j                  j                  t        j                  «      |_        |j
                  j                  t        j                  «      |_        t        j                  ||g«      j                  j                  t        j                  k(  sJ ‚t        j                  ||g«      j                  j                  t        j                  k(  sJ ‚t        g d¢g d¢g d¢g«      }t        d„ |j                  D «       «      |_        t        j                  ||g«      j                  d   j                  t        j                  k(  sJ ‚t        j                  ||g«      j                  d   j                  t        j                  k(  sJ ‚y )Nr‡   rˆ   c              3   óZ   K  — | ]#  }|j                  t        j                  «      –— Œ% y ­wr#   ©Úastyper$   Úint64©Ú.0Úcos     r0   ú	<genexpr>zITestConstructUtils.test_vstack_maintain64bit_idx_dtype.<locals>.<genexpr>  ó   è ø€ Ò@°˜Ÿ™¤2§8¡8×,Ñ@ùó   ‚)+r   )r   rû   r  r$   r  rù   r(   rõ   r-   Úhstackr   r   ÚtupleÚcoords©r@   ÚXs     r0   Ú#test_vstack_maintain64bit_idx_dtypez6TestConstructUtils.test_vstack_maintain64bit_idx_dtype÷  sÇ  € ä’y¢)ªYÐ7Ó8ˆØ—8‘8—?‘?¤2§8¡8Ó,ˆŒØ—I‘I×$Ñ$¤R§X¡XÓ.ˆŒ	Ü×Ñ  A Ó'×.Ñ.×4Ñ4¼¿¹Ò@Ð@Ð@Ü×Ñ  A Ó'×.Ñ.×4Ñ4¼¿¹Ò@Ð@Ð@ä’y¢)ªYÐ7Ó8ˆØ—8‘8—?‘?¤2§8¡8Ó,ˆŒØ—I‘I×$Ñ$¤R§X¡XÓ.ˆŒ	Ü×Ñ  A Ó'×.Ñ.×4Ñ4¼¿¹Ò@Ð@Ð@Ü×Ñ  A Ó'×.Ñ.×4Ñ4¼¿¹Ò@Ð@Ð@ä’y¢)ªYÐ7Ó8ˆÜÑ@°q·x±xÔ@Ó@ˆŒÜ×Ñ  A Ó'×.Ñ.¨qÑ1×7Ñ7¼2¿8¹8ÒCÐCÐCÜ×Ñ  A Ó'×.Ñ.¨qÑ1×7Ñ7¼2¿8¹8ÒCÐCÑCr2   c                 óæ  — ddgddgg}ddgg}t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚y ©NrD   rJ   rK   rL   rM   rN   )rÖ   r(   rõ   r   r   r   r   ©r@   rý   rþ   s      r0   Útest_vstack_matrix_or_arrayz.TestConstructUtils.test_vstack_matrix_or_array
  s¾   € Ø�ˆU�A�a�5ˆMˆØ�ˆUˆGˆÜœ)×*Ñ*¬I°a«L¼)ÀA»,Ð+GÓHÌ'ÔRÐRÐRÜœ)×*Ñ*¬I°a«L¼*ÀQ»-Ð+HÓIÌ7ÔSÐSÐSÜœ)×*Ñ*¬J°q«M¼9ÀQ»<Ð+HÓIÌ7ÔSÐSÐSÜœ)×*Ñ*¬J°q«M¼:Àa»=Ð+IÓJÌHÔUÐUÑUr2   c                 óÊ  — t        g d¢g d¢g«      }t        g d¢«      }t        g d¢«      }t        j                  |t	        j
                  g d¢«      g«      j                  dk(  sJ ‚t        j                  |t	        j
                  dgg«      g«      j                  dk(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  ||g«      j                  d	k(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  ||g«      j                  dk(  sJ ‚t        j                  t        d
¬«      5  t        j                  |t	        j
                  ddg«      g«       d d d «       t        j                  t        d¬«      5  t        j                  |t	        j
                  ddg«      g«       d d d «       y # 1 sw Y   ŒZxY w# 1 sw Y   y xY w)Nr‡   rˆ   r†   rŠ   r   )rD   rL   )rD   rN   )rJ   rK   )rJ   rN   zincompatible row dimensionsr;   zincompatible column dimensions)r   r   r(   rõ   r$   r   rF   r  r=   r   r>   )r@   rÜ   Úarr1dÚarr1dcoos       r0   Útest_vstack_1d_with_2dz)TestConstructUtils.test_vstack_1d_with_2d  s  € äš¢IÐ.Ó/ˆÜš)Ó$ˆÜšYÓ'ˆÜ×Ñ ¤b§h¡hªyÓ&9Ð :Ó;×AÑAÀVÒKÐKÐKÜ×Ñ ¬¯©°1°#°«Ð 8Ó9×?Ñ?À6ÒIÐIÐIÜ×Ñ ¨ Ó/×5Ñ5¸Ò?Ð?Ð?Ü×Ñ ¨ Ó/×5Ñ5¸Ò?Ð?Ð?ô ×Ñ  c 
Ó+×1Ñ1°VÒ;Ð;Ð;Ü×Ñ ¨ Ó/×5Ñ5¸Ò?Ð?Ð?ä×Ñ ¨Ð 1Ó2×8Ñ8¸FÒBÐBÐBÜ×Ñ  h Ó0×6Ñ6¸&Ò@Ð@Ð@Ü×Ñ ¨Ð 1Ó2×8Ñ8¸FÒBÐBÐBä�]‰]œ:Ð-JÔKñ 	6Ü×Ñ˜c¤2§8¡8¨Q°¨FÓ#3Ð4Ô5÷	6ä�]‰]œ:Ð-MÔNñ 	6Ü×Ñ˜c¤2§8¡8¨Q°¨FÓ#3Ð4Ô5÷	6ð 	6÷	6ð 	6ú÷	6ð 	6ús   Ç-IÈ-IÉIÉI"c                 ó   —  |ddgddgg«      } |dgdgg«      }t        g d¢g d¢g«      }t        t        j                  ||g«      j	                  «       |«       t        t        j                  ||gt
        j                  ¬	«      j                  t
        j                  «       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        t        j                  |j                  «       |j                  «       gt
        j                  ¬	«      j                  t
        j                  «       t        t        j                  |j                  «       |j                  «       g«      j	                  «       |«       t        t        j                  |j                  «       |j                  «       gt
        j                  ¬	«      j                  t
        j                  «       y )
NrD   rJ   rK   rL   rM   rN   ©rD   rJ   rM   ©rK   rL   rN   rÐ   )r   r   r(   r  rn   r$   rö   r-   r÷   rü   rø   )r@   ró   rý   rþ   rç   s        r0   Útest_hstackzTestConstructUtils.test_hstack)  s™  € á�a˜�U˜A˜a˜5�MÓ"ˆÙ�a�S˜!˜�IÓˆäš)Ú#ð%ó &ˆä”Y×%Ñ% q¨! fÓ-×5Ñ5Ó7¸ÔBÜ”Y×%Ñ% q¨! f´B·J±JÔ?×EÑEÜ—Z‘Zô	!ô 	”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGÈÔRä”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGØô	ä”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ü,.¯J©Jô8ß8=¹Ü—Z‘Zô	!ô 	”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ó=×EÑEÓGØô	ä”Y×%Ñ% q§w¡w£y°!·'±'³)Ð&<Ü,.¯J©Jô8ß8=¹Ü—Z‘Zõ	!r2   c                 óè  — ddgddgg}dgdgg}t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚t        t        j                  t        |«      t        |«      g«      t        «      sJ ‚y r  )rÖ   r(   r  r   r   r   r   r  s      r0   Útest_hstack_matrix_or_arrayz.TestConstructUtils.test_hstack_matrix_or_arrayA  sÀ   € Ø�ˆU�A�a�5ˆMˆØˆS�!�ˆIˆÜœ)×*Ñ*¬I°a«L¼)ÀA»,Ð+GÓHÌ'ÔRÐRÐRÜœ)×*Ñ*¬I°a«L¼*ÀQ»-Ð+HÓIÌ7ÔSÐSÐSÜœ)×*Ñ*¬J°q«M¼9ÀQ»<Ð+HÓIÌ7ÔSÐSÐSÜœ)×*Ñ*¬J°q«M¼:Àa»=Ð+IÓJÌHÔUÐUÑUr2   Úblock_arrayc                 ó®  — t        ddgddgg«      }t        dgdgg«      }t        dgg«      }t        d«      }t        g d	¢g d
¢g d¢g«      }t         |||gd |gg«      j                  «       |«       t	        dt
        j                  ¬«      }t         ||j                  «       |j                  «       g||j                  «       gg«      j                  «       |«       t         ||j                  «       |j                  «       g|j                  «       |j                  «       gg«      j                  «       |«       t        g d¢g d¢g d¢g«      }t         ||d gd |gg«      j                  «       |«       t         ||j                  «       |j                  j                  «       g||j                  «       gg«      j                  «       |«       t         ||j                  «       |j                  j                  «       g|j                  «       |j                  «       gg«      j                  «       |«       t	        dt
        j                  ¬«      }t        ddgddgddgg«      }t         |d |g|d gg«      j                  «       |«       t         ||j                  j                  «       |j                  «       g|j                  «       |gg«      j                  «       |«       t         ||j                  j                  «       |j                  «       g|j                  «       |j                  «       gg«      j                  «       |«       t        j                  d«      }t         |d d gg«      j                  «       |«       t         |d |g|d gg«      j                  «       |«       t        dgg«      }t         |d |g|d gg«      j                  «       |«       t        t        «      5 }	 ||g|gg«       d d d «       	j                  d«       t        t        «      5 }	 ||j                  «       g|j                  «       gg«       d d d «       |	j                  d«       t        t        «      5 }	 ||j                  «       g|j                  «       gg«       d d d «       |	j                  d«       t        t        «      5 }	 |||gg«       d d d «       |	j                  d«       t        t        «      5 }	 ||j                  «       |j                  «       gg«       d d d «       |	j                  d«       t        t        «      5 }	 ||j                  «       |j                  «       gg«       d d d «       |	j                  d«       y # 1 sw Y   �Œ’xY w# 1 sw Y   �ŒNxY w# 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   ŒZxY w)NrD   rJ   rK   rL   rM   rN   rO   rÁ   r  r  )r   r   rO   r‚   rÐ   )rD   rJ   r   )rK   rL   r   rC   r   z.Got blocks\[1,0\]\.shape\[1\] == 1, expected 2z"incompatible dimensions for axis 1z4Mismatching dimensions along axis 1: ({1, 2}|{2, 1})z.Got blocks\[0,1\]\.shape\[0\] == 1, expected 2z4Mismatching dimensions along axis 0: ({1, 2}|{2, 1})z"incompatible dimensions for axis 0)r   r   r   rn   r   r$   rú   rø   rü   ÚTÚemptyrŸ   r>   r<   )
r@   r  rý   rþ   ÚCÚDrç   ÚEÚZÚexcinfos
             r0   Útest_block_creationz&TestConstructUtils.test_block_creationI  sõ  € ô ˜˜1�v  1˜vÐ&Ó'ˆÜ˜�s˜A˜3�iÓ ˆÜ˜�s�eÓˆÜ�fÓˆäš)Ú#Ú#ð%ó &ˆô 	‘[ 1 a &¨4°¨)Ð!4Ó5×=Ñ=Ó?ÀÔJÜ�f¤B§H¡HÔ-ˆÜ‘[ 1§7¡7£9¨a¯g©g«iÐ"8Ø#$ a§g¡g£i .ð"2ó 3ß3:±7³9Øô	ô 	‘[ 1§7¡7£9¨a¯g©g«iÐ"8Ø#$§7¡7£9¨a¯g©g«iÐ"8ð":ó ;ß;B¹7»9Øô	ô š)Ú#Ú#ð%ó &ˆô 	‘[ 1 d )¨d°A¨YÐ!7Ó8×@Ñ@ÓBÀHÔMÜ‘[ 1§7¡7£9¨a¯c©c¯i©i«kÐ":Ø#$ a§g¡g£i .ð"2ó 3ß3:±7³9Øô	ô 	‘[ 1§7¡7£9¨a¯c©c¯i©i«kÐ":Ø#$§7¡7£9¨a¯g©g«iÐ"8ð":ó ;ß;B¹7»9Øô	ô �f¤B§H¡HÔ-ˆÜ˜1˜a˜&Ø˜a˜&Ø˜a˜&ð"ó #ˆô 	‘[ 4¨ )¨a°¨YÐ!7Ó8×@Ñ@ÓBÀHÔMÜ‘[ 1§3¡3§9¡9£;°·±³	Ð":Ø#$§7¡7£9¨a .ð"2ó 3ß3:±7³9Øô	ô 	‘[ 1§3¡3§9¡9£;°·±³	Ð":Ø#$§7¡7£9¨a¯g©g«iÐ"8ð":ó ;ß;B¹7»9Øô	ô —8‘8˜FÓ#ˆÜ‘[ 4¨ , Ó0×8Ñ8Ó:¸HÔEÜ‘[ 4¨ )¨a°¨YÐ!7Ó8×@Ñ@ÓBØô	ô ˜1˜#˜“<ˆÜ‘[ 4¨ )¨a°¨YÐ!7Ó8×@Ñ@ÓBØô	ô œ:Ó&ð 	$¨'Ù˜!˜˜q˜c˜
Ô#÷	$à�‰ÐGÔHäœ:Ó&ð 	4¨'Ù˜!Ÿ'™'›)˜ q§w¡w£y kÐ2Ô3÷	4à�‰Ð;Ô<äœ:Ó&ð 	4¨'Ù˜!Ÿ'™'›)˜ q§w¡w£y kÐ2Ô3÷	4à�‰ÐMÔNäœ:Ó&ð 	"¨'Ù˜!˜Q˜˜Ô!÷	"à�‰ÐGÔHäœ:Ó&ð 	2¨'Ù˜!Ÿ'™'›) Q§W¡W£YÐ/Ð0Ô1÷	2à�‰ÐMÔNäœ:Ó&ð 	2¨'Ù˜!Ÿ'™'›) Q§W¡W£YÐ/Ð0Ô1÷	2à�‰Ð;Õ<÷-	$ñ 	$ú÷	4ñ 	4ú÷	4ñ 	4ú÷	"ð 	"ú÷	2ð 	2ú÷	2ð 	2úsH   Ï/VÐ$)VÑ5)V&ÓV3Ó:(V?Õ
(WÖVÖV#Ö&V0Ö3V<Ö?W×Wc                 ó&  — t         j                  }ddgddggdgdgg}}t        |«      t        |«      }}t         |d |g|d ggd¬«      t        «      sJ ‚t         |d |g|d ggd¬«      t        «      sJ ‚t         |||ggd¬«      t        «      sJ ‚y )	NrD   rJ   rK   rL   rO   rM   r   rÇ   )r(   r  r
   rÖ   r   )r@   ÚblockÚFlÚGlÚFmÚGms         r0   Útest_block_return_typez)TestConstructUtils.test_block_return_type—  s¢   € Ü×%Ñ%ˆð
 �a�&˜!˜Q˜� A 3¨¨ *ˆBˆÜ˜B“¤¨B£ˆBˆÜ™% $¨ ¨b°$¨ZÐ 8ÀÔGÌÔQÐQÐQÜ™% $¨ ¨b°$¨ZÐ 8ÀÔGÌÔQÐQÐQÜ™% " b  
°5Ô9¼7ÔCÐCÑCr2   c                 óP  — t         j                  }ddgddggdgdgg}}t        |«      t        |«      }}t        |«      t        |«      }}t	         |||ggd¬«      t
        «      sJ ‚t	         |||ggd¬«      t        «      sJ ‚t	         |d	|g|d	ggd¬«      t
        «      sJ ‚t	         |d	|g|d	ggd¬«      t
        «      sJ ‚t	         |d	|g|d	ggd¬«      t        «      sJ ‚t	         |d	|g|d	ggd¬«      t        «      sJ ‚t	         |||ggd¬«      t
        «      sJ ‚t	         |||ggd¬«      t
        «      sJ ‚t	         |||ggd¬«      t
        «      sJ ‚t	         |||ggd¬«      t        «      sJ ‚t	         |||ggd¬«      t
        «      sJ ‚t	         |||ggd¬«      t        «      sJ ‚t	         ||j                  «       |j                  «       ggd
¬«      t
        «      sJ ‚t	         ||j                  «       |j                  «       ggd
¬«      t        «      sJ ‚t	         ||j                  «       |j                  «       ggd¬«      t
        «      sJ ‚t	         ||j                  «       |j                  «       ggd¬«      t        «      sJ ‚t	         |||ggd¬«      t
        «      sJ ‚t	         ||j                  «       |ggd¬«      t
        «      sJ ‚t	         ||j                  «       |ggd¬«      t        «      sJ ‚t	         |||ggd
¬«      t        «      sJ ‚y	)z2This can be removed after sparse matrix is removedrD   rJ   rK   rL   rO   rM   r   rÇ   Nr   )r(   Úbmatr
   r   rÖ   r   r   rü   )r@   r1  r+  r,  r-  r.  ÚFaÚGas           r0   Útest_bmat_return_typez(TestConstructUtils.test_bmat_return_type£  sø  € ä�~‰~ˆà�a�&˜!˜Q˜� A 3¨¨ *ˆBˆÜ˜B“¤¨B£ˆBˆÜ˜2“¤	¨"£ˆBˆÜ™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$  R ˜z°%Ô8¼(ÔCÐCÐCÜ™$  r 
¨R°¨JÐ7ÀÔFÌÔPÐPÐPÜ™$  r 
¨R°¨JÐ7ÀÔFÌÔPÐPÐPÜ™$  r 
¨R°¨JÐ7ÀÔFÌÔQÐQÐQÜ™$  r 
¨R°¨JÐ7ÀÔFÌÔQÐQÐQô ™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$  R ˜z°%Ô8¼(ÔCÐCÐCä™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$  R ˜z°%Ô8¼(ÔCÐCÐCô ™$ §¡£¨R¯X©X«ZÐ 8Ð9À%ÔHÌ'ÔRÐRÐRÜ™$ §¡£¨R¯X©X«ZÐ 8Ð9À%ÔHÌ(ÔSÐSÐSä™$ §¡£¨R¯X©X«ZÐ 8Ð9À%ÔHÌ'ÔRÐRÐRÜ™$ §¡£¨R¯X©X«ZÐ 8Ð9À%ÔHÌ(ÔSÐSÐSô ™$  R ˜z°%Ô8¼'ÔBÐBÐBÜ™$ §¡£¨RÐ 0Ð1¸%Ô@Ä'ÔJÐJÐJÜ™$ §¡£¨RÐ 0Ð1¸%Ô@Ä(ÔKÐKÐKÜ™$  R ˜z°%Ô8¼(ÔCÐCÑCr2   z!Can't create large array for testc           	      ó  — t        d«       d}t        t        j                  ||ft        ¬«      «      }|j                  «       }t        j                  ||fdd¬«      }t        t        j                  t        j                  t        j                  |j                  «      |«      «      «       t        |j                  j                  t        j                   «       t        |j                  j                  t        j                   «       y)z6 test for indptr overflow when concatenating matrices i0u  iè€  rÐ   r   F)ÚaxisÚreturn_spmatrixN)r	   r   r$   ÚonesÚboolÚcopyr(   Ú_compressed_sparse_stackr   ÚallÚequalÚdiffrû   r   rù   r-   r  )r@   r*   rý   rþ   r#  s        r0   Útest_concatenate_int32_overflowz2TestConstructUtils.test_concatenate_int32_overflowÇ  s¨   € ô 	˜%Ô àˆÜ”b—g‘g˜q !˜f¬DÔ1Ó2ˆØ�F‰F‹HˆÜ×.Ñ.°°1¨v¸AØ?DôFˆô 	”—‘”r—x‘x¤§¡¨¯©Ó 1°1Ó5Ó6Ô7Ü�Q—Y‘Y—_‘_¤b§h¡hÔ/Ü�Q—X‘X—^‘^¤R§X¡XÕ.r2   c                 óN  — t        ddgddgg«      }t        dgdgg«      }t        dgg«      }t        g d¢g d	¢g d
¢g d¢g d¢g«      }t        j                  |||f«      }t	        |j                  «       |«       |j                  d   j                  t        j                  k(  sJ ‚y)z basic test for block_diag rD   rJ   rK   rL   rM   rN   rO   )rD   rJ   r   r   )rK   rL   r   r   )r   r   rM   r   )r   r   rN   r   )r   r   r   rO   r   N)
r   r   r(   Ú
block_diagr   rn   r  r-   r$   rú   )r@   rý   rþ   r#  rç   ÚABCs         r0   Útest_block_diag_basicz(TestConstructUtils.test_block_diag_basic×  s�   € ä˜˜!�u˜a ˜U�mÓ$ˆÜ˜�s˜A˜3�iÓ ˆÜ˜�s�eÓˆäš,Ú&Ú&Ú&Ú&ð	(ó )ˆô ×"Ñ" A q¨! 9Ó-ˆÜ�S—[‘[“] HÔ-Ø�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ñ.r2   c                 óð   — t        g d¢g d¢g d¢g«      }t        d„ |j                  D «       «      |_        t        j                  ||g«      j                  d   j
                  t        j                  k(  sJ ‚y )Nr‡   rˆ   c              3   óZ   K  — | ]#  }|j                  t        j                  «      –— Œ% y ­wr#   r  r  s     r0   r  z?TestConstructUtils.test_block_diag_idx_dtype.<locals>.<genexpr>é  r	  r
  r   )r   r  r  r(   rA  r-   r$   r  r  s     r0   Útest_block_diag_idx_dtypez,TestConstructUtils.test_block_diag_idx_dtypeç  s[   € Ü’y¢)ªYÐ7Ó8ˆÜÑ@°q·x±xÔ@Ó@ˆŒÜ×#Ñ# Q¨ FÓ+×2Ñ2°1Ñ5×;Ñ;¼r¿x¹xÒGÐGÑGr2   c                 ó  — t        t        j                  ddgdg«      j                  «       g d¢g d¢g«       t	        g d¢«      }t	        ddg«      }t        t        j                  ||g«      j                  «       g d¢g d	¢g«       y
)z) block_diag with scalar and 1d arguments rJ   rK   rL   )rJ   rK   r   )r   r   rL   )rD   r   rK   r   )rD   r   rK   r   r   )r   r   r   r   rL   N)r   r(   rA  rn   r   r  s      r0   Útest_block_diag_scalar_1d_argsz1TestConstructUtils.test_block_diag_scalar_1d_argsì  sv   € ô 	œ9×/Ñ/°!°A°¸°
Ó;×CÑCÓEÚ%¢yÐ1ô	3ô ’gÓˆÜ�q˜�eÓˆÜœ9×/Ñ/°°A°Ó7×?Ñ?ÓAÚ+ª_Ð=õ	?r2   c                 óæ  — t        t        j                  ddgg«      j                  «       t	        ddgg«      «       t        t        j                  ddggg«      j                  «       t	        ddgg«      «       t        t        j                  dgdggg«      j                  «       t	        dgdgg«      «       t        t        j                  dg«      j                  «       t	        dgg«      «       y)z block_diag with one matrix rD   r   N)r   r(   rA  rn   r   rØ   s    r0   Útest_block_diag_1z$TestConstructUtils.test_block_diag_1ø  sÍ   € ô 	”Y×)Ñ)¨A¨q¨6¨(Ó3×;Ñ;Ó=Ü˜Q ˜F˜8“_ô	&ä”Y×)Ñ)¨Q°¨F¨8¨*Ó5×=Ñ=Ó?Ü˜Q ˜F˜8“_ô	&ä”Y×)Ñ)¨Q¨C°!°¨:¨,Ó7×?Ñ?ÓAÜ˜Q˜C ! ˜:Ó&ô	(ô 	”Y×)Ñ)¨1¨#Ó.×6Ñ6Ó8Ü˜Q˜C˜5“\õ	#r2   c                 ó–  — t        g d¢gd¬«      }t        ddggd¬«      }t        t        j                  ||g«      j	                  «       t        g d¢g d¢g«      «       t        d	gd
gdggd¬«      }t        dgdggd¬«      }t        t        j                  ||g«      j	                  «       t        d	dgd
dgddgddgddgg«      «       y)z block_diag with sparse arrays ©rD   rJ   rK   )rD   rK   rE   rL   rM   r‚   )rD   rJ   rK   r   r   )r   r   r   rL   rM   rD   rJ   rK   )rK   rD   r�   r   N)r   r   r(   rA  rn   r   r  s      r0   Útest_block_diag_sparse_arraysz0TestConstructUtils.test_block_diag_sparse_arrays  sÌ   € ô ’y�k¨Ô0ˆÜ˜˜1�v�h fÔ-ˆÜ”Y×)Ñ)¨1¨a¨&Ó1×9Ñ9Ó;ÜšOª_Ð=Ó>ô	@ô ˜�s˜Q˜C ! �o¨VÔ4ˆÜ˜�s˜Q˜C�j¨Ô/ˆÜ”Y×)Ñ)¨1¨a¨&Ó1×9Ñ9Ó;Ü˜Q ˜F Q¨ F¨Q°¨F°Q¸°F¸QÀ¸FÐCÓDõ	Fr2   c                 ót  — t        g d¢g«      t        g d¢g«      }}t        t        j                  ||g«      t
        «      sJ ‚t        t        j                  ||g«      t
        «      sJ ‚t        t        j                  ||g«      t
        «      sJ ‚t        t        j                  ||g«      t        «      sJ ‚y )NrL  )rJ   rK   rL   )r   r   rÖ   r(   rA  r   r   r  s      r0   Útest_block_diag_return_typez.TestConstructUtils.test_block_diag_return_type  s•   € Üš)˜Ó%¤z²9°+Ó'>ˆ1ˆÜœ)×.Ñ.°°1¨vÓ6¼Ô@Ð@Ð@Üœ)×.Ñ.°°1¨vÓ6¼Ô@Ð@Ð@Üœ)×.Ñ.°°1¨vÓ6¼Ô@Ð@Ð@Üœ)×.Ñ.°°1¨vÓ6¼ÔAÐAÑAr2   c                 óX  ‡— t         t        fD �]  Št        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  fD ]P  } ‰ddd|¬«      }t        |j                  |«       t        |j                  d«       t        |j                  d«       ŒR  ‰dddd¬«      }t        |j                  t        j                  «        ‰dddt        j                  j                  d«      ¬«      }t!        |j"                  |j"                  «       t!        |j$                  |j$                  «       t!        |j&                  |j&                  «       dD ]L  } ‰dd|¬	«      }t        |j                  t)        |t        j*                  |j                  «      z  «      «       ŒN d
D ]#  } ‰dd|¬«      }t        |j,                  |«       Œ% t/        t0        ˆfd„«       t/        t0        ˆfd„«       �Œ y )NrM   rR   çš™™™™™¹?)r+   r-   )rM   rR   éá  )r+   r.   )r¼   rQ  rä   ry   ©r+   )r   r   r   r    rÇ   c                  ó   •—  ‰ ddd«      S )NrM   rR   gš™™™™™ñ?© ©Úfs   €r0   ú<lambda>z9TestConstructUtils.test_random_sampling.<locals>.<lambda>4  s   ø€ ©a°°2°s«m€ r2   c                  ó   •—  ‰ ddd«      S )NrM   rR   gš™™™™™¹¿rU  rV  s   €r0   rX  z9TestConstructUtils.test_random_sampling.<locals>.<lambda>5  s   ø€ ©a°°2°t«n€ r2   )Úsprandr1   r$   rö   Úfloat64Ú
longdoublerú   r  Ú	complex64Ú
complex128r   r-   rF   Únnzr%   r&   r   ÚdataÚrowÚcolr¸   Úprodr,   rŸ   r>   )r@   Útr²   Úx1Úx2r+   rË   rW  s          @r0   Útest_random_samplingz'TestConstructUtils.test_random_sampling  s‘  ø€ äœÐ!ó 	>ˆAÜ—j‘j¤"§*¡*¬b¯m©mÜ—h‘h¤§¡¬"¯,©,¼¿¹ðGò '�á�a˜ S°Ô2�Ü˜QŸW™W aÔ(Ü˜QŸW™W gÔ.Ü˜QŸU™U AÕ&ð'ñ �1�b #¨4Ô0ˆBÜ˜Ÿ™¤2§:¡:Ô.á�1�b #¬2¯9©9×+@Ñ+@ÀÓ+FÔGˆBä˜rŸw™w¨¯©Ô0Ü˜rŸv™v r§v¡vÔ.Ü˜rŸv™v r§v¡vÔ.à/ò E�Ù�a˜ WÔ-�Ü˜QŸU™U¤C¨´"·'±'¸!¿'¹'Ó2BÑ(BÓ$CÕDðEð 4ò ,�Ù�a˜ CÔ(�Ü˜QŸX™X sÕ+ð,ô œ*Ó&;Ô<Üœ*Ó&<Ö=ñ5	>r2   r.   rR  c                 ó0  — t        dddt        j                  |¬«      }t        t        j                  t        j
                  d|j                  «      «      «       t        t        j                  t        j
                  |j                  d«      «      «       y ©NrR   é   rä   ©r+   r-   r.   r   rD   )rZ  r$   r[  r   r<  Ú
less_equalr`  ©r@   r.   r²   s      r0   Ú	test_randzTestConstructUtils.test_rand7  sZ   € ô �2�r 3¬b¯j©j¸cÔBˆÜ”—‘”r—}‘} Q¨¯©Ó/Ó0Ô1Ü”—‘”r—}‘} Q§V¡V¨QÓ/Ó0Õ1r2   c                 ó\  — t        dddt        j                  |¬«      }t        t        j                  t        j
                  |j                  d«      «      «       t        t        j                  t        j
                  d|j                  «      «      «       t        dddt        j                  |¬«      }t        t        j                  t        j
                  |j                  d«      «      «       t        t        j                  t        j
                  d|j                  «      «      «       y ri  )r1   r$   r[  r   ÚanyÚlessr`  r6   rm  s      r0   Ú
test_randnzTestConstructUtils.test_randn>  s°   € ô
 �R˜ S´·
±
ÀÔDˆÜ”—‘”r—w‘w˜qŸv™v qÓ)Ó*Ô+Ü”—‘”r—w‘w˜q !§&¡&Ó)Ó*Ô+Ü˜2˜r¨3´b·j±jÀcÔJˆÜ”—‘”r—w‘w˜qŸv™v qÓ)Ó*Ô+Ü”—‘”r—w‘w˜q !§&¡&Ó)Ó*Õ+r2   c                 ó¾   — t        j                  ddd¬«       t        j                  dd¬«       t        j                  dd¬«       t        j                  dd¬«       y )NrR   rs   rÐ   ©rR   rR   ©rR   rR   rR   ©rR   rR   rR   rR   rR   )r(   r%   r5   rØ   s    r0   Útest_random_accept_str_dtypez/TestConstructUtils.test_random_accept_str_dtypeJ  sG   € ô 	×Ñ˜˜R sÕ+Ü×Ñ˜x¨sÕ3Ü×Ñ˜|°3Õ7Ü×ÑÐ3¸3Ö?r2   c                 ó  — t        j                  ddt        d¬«      }|j                  dk(  sJ ‚t        j                  ddt        d¬«      }|j                  dk(  sJ ‚t        j                  ddt        d¬«      }|j                  dk(  sJ ‚y )N)r   rL   g333333Ó?r   )r+   r-   Úrandom_stateru  rk  rv  )r(   r5   r¸   rF   )r@   rÜ   s     r0   Ú'test_random_array_maintains_array_shapez:TestConstructUtils.test_random_array_maintains_array_shapeR  s€   € ä×$Ñ$ V°SÄÐRSÔTˆØ�y‰y˜FÒ"Ð"Ð"ä×$Ñ$ \¸3ÄcÈqÔQˆØ�y‰y˜LÒ(Ð(Ð(ä×$Ñ$Ð%9À3ÌcØ)*ô,ˆà�y‰yÐ0Ò0Ð0Ñ0r2   c                 ó†   — t        j                  d«      }|j                  d   j                  t        j
                  k(  sJ ‚y )Nrt  r   )r(   r5   r  r-   r$   rú   )r@   rý   s     r0   Útest_random_array_idx_dtypez.TestConstructUtils.test_random_array_idx_dtype^  s2   € Ü×"Ñ" 8Ó,ˆØ�x‰x˜‰{× Ñ ¤B§H¡HÒ,Ð,Ñ,r2   c                 ó@  — t        j                  ddd¬«      }t        |j                  «       d«       t        j                  dd¬«      }t        |j                  «       d«       t        |t        «      sJ ‚d}t        j                  |d¬«      }t        |j                  «       d«       t        j                  d	d
¬«      }t        |j                  «       d«       t        |t        «      sJ ‚d}t        j                  |d¬«      }t        |j                  «       d«       y )NrR   gþÔxé&1À?rS  rU   rt  )ì        r~  g(Rsåû?<iÐ  )rR   rR   rR   rR   gkñ) Æ3À?iò  )r~  r~  r~  g�ëAŒy5:é¬   )r(   r%   r   Úcount_nonzeror5   rÖ   r   )r@   Úsparse_matrixÚsparse_arrayrF   s       r0   ÚEtest_random_sparse_matrix_returns_correct_number_of_non_zero_elementszXTestConstructUtils.test_random_sparse_matrix_returns_correct_number_of_non_zero_elementsb  sì   € ô "×(Ñ(¨¨R¸Ô@ˆÜ�]×0Ñ0Ó2°2Ô6ä ×-Ñ-¨hÀÔGˆÜ�\×/Ñ/Ó1°"Ô5Ü˜,¬Ô0Ð0Ð0àˆÜ ×-Ñ-¨e¸ZÔHˆÜ�\×/Ñ/Ó1°$Ô7ô !×-Ñ-Ð.>ÈÔPˆÜ�\×/Ñ/Ó1°$Ô7Ü˜,¬Ô0Ð0Ð0à%ˆÜ ×-Ñ-¨e¸ZÔHˆÜ�\×/Ñ/Ó1°#Õ6r2   )KÚ__name__Ú
__module__Ú__qualname__r=   ÚmarkÚparametrizer   r   r   r   r   r   r   rA   r   r
   r   r   r   r   rG   rv   r™   r�   r    r¥   rµ   rº   r¿   rÂ   r(   rÃ   r×   rÌ   rÍ   rÒ   rÔ   rÙ   rà   rè   Úfilterwarningsrê   rí   rð   rò   rÿ   r  r  r  r  r  r1  r  r(  r/  r4  ÚxslowÚxfail_on_32bitr?  rC  rF  rH  rJ  rM  rO  rg  r$   r%   r&   rn  rr  rw  rz  r|  rƒ  rU  r2   r0   r8   r8   )   sü  „ à‡[�[×Ñ˜UØ�9˜i¨Ø�9˜ið%ó ñó	ðð ‡[�[×Ñ˜UØ�J 
Ø�J 
ð%ó ñ&ó	ð&ò6LòpL6ò\?ò6òIò&Iò64ò
Fò&ð ‡[�[×Ñ˜Z¨)×*<Ñ*<¸i×>QÑ>QÐ)RÓSñAó TðAð ‡[�[×Ñ˜U Y§]¡]°I×4GÑ4GÐ$HÓIñ!ó Jð!ðF ‡[�[×Ñ˜U Y§]¡]°I×4GÑ4GÐ$HÓIñAó JðAò9ð ‡[�[×ÑÐ7Øˆaˆ&�1�a�&Ð	˜4 Ð'Øˆaˆ&�1�a�&Ð	˜4 Ð'Øˆqˆ6�A�q�6Ð
Ð	˜T 5Ð)ð:ó ñ
Qóð
Qò;,ðz ‡[�[×ÑÐ UÓVñ6ó Wð6ò"ò-ð0 ‡[�[×ÑÐ UÓVñ1ó Wð1ð ‡[�[×Ñ˜Y¨°YÐ(?Ó@ñ4ó Að4ò:Dò&Vò6ð. ‡[�[×Ñ˜Y¨°YÐ(?Ó@ñ!ó Að!ò.Vð ‡[�[×Ñ˜]¨Y¯^©^¸Y×=RÑ=RÐ,SÓTñK=ó UðK=òZ
Dò"DðH ‡[�[×ÑØ‡[�[×ÑÐ CÓDñ/ó Eó ð/ò/ò Hð
 ‡[�[×ÑÐ UÓVñ	?ó Wð	?ð ‡[�[×ÑÐ UÓVñ
#ó Wð
#òFòBò>ð< ‡[�[×Ñ˜U T¨4°·±×1FÑ1FÀtÓ1LÐ$MÓNñ2ó Oð2ð ‡[�[×Ñ˜U T¨4°·±×1FÑ1FÀtÓ1LÐ$MÓNñ	,ó Oð	,ò@ò
1ò-ó7r2   r8   c                  óÆ  — t        j                  ddgddgg«      x} }t        j                  d¬«      5  t	        j
                  | |«       d d d «       t        j                  d¬«      5  t	        j                  | |«       d d d «       t        j                  d¬«      5  t	        j                  | |g«       d d d «       y # 1 sw Y   ŒuxY w# 1 sw Y   ŒLxY w# 1 sw Y   y xY w)NrD   r   z.*switching.*sparse array intr;   )r$   r   r=   Údeprecated_callr(   rÛ   rï   rA  )rý   rþ   s     r0   Ú=test_deprecated_warnings_output_defaults_switch_from_spmatrixrŽ  {  sÅ   € Ü�H‰H�q˜!�f˜q !˜fÐ%Ó&Ð&€AˆÜ	×	Ñ	Ð&EÔ	Fñ Ü�‰�q˜!Ô÷ä	×	Ñ	Ð&EÔ	Fñ  Ü×Ñ˜!˜QÔ÷ ô 
×	Ñ	Ð&EÔ	Fñ %Ü×Ñ˜a ˜VÔ$÷%ð %÷ð ú÷ ð  ú÷%ð %ús#   ´B?Á)CÂCÂ?CÃCÃC c                  ó”  — t        j                  dd«      } t        t        j                  | d¬«      j                  «       t        j                  | «      «       t        t        j                  | dd¬«      j                  «       t        j                  | d¬«      «       t        t        j                  | ddd¬	«      j                  «       t        j                  | d¬«      dd
…dd
…f   «       t        j                  t        d¬«      5  t        j                  t        j                  dd«      dd¬«       ddd«       y# 1 sw Y   yxY w)z7Tests of diags_array that do not rely on diags wrapper.ry   r}   NrÐ   rJ   ©r�   r-   rÑ   r£   r·   rL   z.*out of boundsr;   rM   rE   )r$   r©   r   r(   rì   rn   r›   r=   r   r>   r“   )r›   s    r0   Útest_diags_arrayr‘  †  só   € ä�9‰9�S˜#Ó€Dä”y×,Ñ,¨T¸Ô>×FÑFÓHÌ"Ï'É'ÐRVË-ÔXäÜ×Ñ˜d¨A°TÔ:×BÑBÓDÄbÇgÁgÈdÐVWÔFXôô Ü×Ñ˜d¨A°VÀ4ÔH×PÑPÓRÜ
�‰�˜Ô˜2˜A˜2˜r ˜r˜6Ñ"ôô 
�‰”zÐ):Ô	;ñ >Ü�‰œŸ	™	 # sÓ+¨Q°fÕ=÷>÷ >ñ >ús   Ä-D>Ä>EÚfuncc                 ó¢   — dgddgdgg}g d¢} | ||d ¬«      }t        j                  ddgddgg«      }t        |j                  «       |d¬«       y )	NrK   rD   rJ   rL   re   r�  T©Ústrict)r$   r   r   rn   ©r’  rs   r�   rÜ   rç   s        r0   Útest_diags_intr—  š  sX   € à
ˆˆq�!ˆf�q�cÐ€AÚ€Gñ ˆq˜'¨Ô
.€CÜ�x‰x˜!˜Q˜ ! Q Ð(Ó)€HÜ�s—{‘{“} h°tÖ<r2   c                 ó   — dgddgdgg}g d¢}t        j                  t        d¬«      5   | ||¬«      }d d d «       t        j                  d	d
gddgg«      }t        j                  «       |d¬«       y # 1 sw Y   ŒAxY w)NrK   rD   rJ   rL   re   zoutput has been cast tor;   r’   ry   r|   r{   rz   Tr”  )r=   ÚwarnsÚFutureWarningr$   r   r   rn   r–  s        r0   Útest_diags_int_to_float64r›  ¦  sz   € à
ˆˆq�!ˆf�q�cÐ€AÚ€Gô
 
�‰”mÐ+DÔ	Eñ 'Ù�1˜gÔ&ˆ÷'ä�x‰x˜#˜s˜ c¨3 ZÐ0Ó1€HÜ�s—{‘{“} h°tÖ<÷'ð 'ús   ©A4Á4A=c                  ó|  — t        j                  g d¢«      } t        | «      j                  dd«      }t	        j
                  |dd«      }t        |d   j                  «       |d d …df   j                  «       «       |j                  dddd«      }t	        j
                  |dd«      }t        |j                  d«       y )	N©$g     À @g®Gáz.@g-²�ï§!@g      !@gé&1¬ü?gƒÀÊ¡E¶@g\�Âõ(Ü @g…ëQ¸@g{®Gáº#@gP�—nƒ@gh‘í|?õ!@g!°rh‘í@gj¼t“@gJ+‡@gáz®Ga@g!°rh‘í@gÁÊ¡E¶ó@g-²�ï§@g)\�Âõ(@gÃõ(\�B#@g+‡Ù@gu“V@gÛù~j¼ô@gÑ"Ûù~ê@g¨ÆK7‰Á@g
×£p=J#@g®Gáz”@gòÒMbØ@g}?5^ºÉ#@g¾Ÿ/Ý$@g!°rh‘m@g-²�ï§#@gJ+‡@gªñÒMb@gƒÀÊ¡Å@g-²�ï§Æï?rN   r   rD   rX   rK   rJ   )rJ   rJ   rK   rK   )	r$   r   r   Úreshaper(   Úswapaxesr   rn   rF   )r²   ÚsXÚ	sXswappedÚsXXÚ
sXXswappeds        r0   Útest_swapaxesr¤  ´  s¡   € ä
�‰ò <ó 	=€Aô 
�1‹×	Ñ	˜a Ó	#€BÜ×"Ñ" 2 q¨!Ó,€IÜ�˜2‘×&Ñ&Ó(¨"ªQ°¨U©)×*;Ñ*;Ó*=Ô>à
�*‰*�Q˜˜1˜aÓ
 €CÜ×#Ñ# C¨¨AÓ.€JÜ�×!Ñ! <Õ0r2   c                  ó@  — ddgddggddgddggg} t        j                  ddgddggddgddggg«      }t        |«      }t        j                  |dd«      }t        |j                  «       | «       t        |j                  «       t        j                  |dd«      «       y )Nr   rJ   rN   rD   rM   rO   )r$   r   r   r(   rŸ  r   rn   ©Útgtr²   rý   Úouts       r0   Útest_3d_swapaxesr©  Å  s�   € Ø�ˆF�Q˜�FÐ˜q !˜f q¨! fÐ-Ð
.€CÜ
�‰�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ó6€AÜ�!‹€AÜ
×
Ñ
˜Q  1Ó
%€CÜ�—‘“ Ô$Ü�—‘“¤§¡¨A¨q°!Ó 4Õ5r2   r,   c                 óZ  — t        j                  g d¢g d¢g«      }t        |«      j                  | «      }t	        j
                  |dd«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  «       t        j
                  |dd«      «       |j                  rJ ‚y )N©rJ   r   rD   ©rK   rM   r   rD   r   r   ©rK   rJ   )r$   r   r   Úasformatr(   rŸ  r,   rF   r   rn   Úhas_canonical_format©r,   rý   ÚSAr¨  s       r0   Útest_sparse_format_swapaxesr²  Î  s�   € ä
�‰’)šYÐ'Ó(€AÜ	�1‹×	Ñ	˜vÓ	&€Bä
×
Ñ
˜R  AÓ
&€CØ�:‰:˜ÒÐÐØ�9‰9˜ÒÐÐÜ�—‘“¤§¡¨A¨q°!Ó 4Ô5Ø×'Ò'Ð'Ð'Ð'r2   c            
      ó\  — t        ddgddgg«      } t        t        d¬«      5  t        j                  | dd«       d d d «       t        t        d¬«      5  t        j                  | dd«       d d d «       t        t        d¬«      5  t        j                  | dd«       d d d «       t        t        d¬«      5  t        j                  | dd«       d d d «       t        t        d¬«      5  t        j                  | dd	«       d d d «       t        t        d¬«      5  t        j                  | d	d«       d d d «       t        t        j                  | dd«      j                  «       | j                  «       «       t        d«      D ]]  }t        t        j                  | |d	|z
  «      j                  «       t        j                  | |dz
  d
|z
  «      j                  «       «       Œ_ 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   �Œ<xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒóxY w)NrJ   r   rK   rM   úInvalid axisr;   rg   ç333333ó?rD   rX   )r   rŸ   r>   r(   rŸ  r   rn   r½   ©rý   Úis     r0   Útest_axis_swapaxesr¸  Ú  sÄ  € Ü�A�q�6˜A˜q˜6Ð"Ó#€AÜ	”z¨Ô	8ñ %Ü×Ñ˜1˜b !Ô$÷%ä	”z¨Ô	8ñ %Ü×Ñ˜1˜a Ô$÷%ä	”z¨Ô	8ñ $Ü×Ñ˜1˜a Ô#÷$ä	”z¨Ô	8ñ $Ü×Ñ˜1˜a Ô#÷$ä	”z¨Ô	8ñ &Ü×Ñ˜1˜c 1Ô%÷&ä	”z¨Ô	8ñ &Ü×Ñ˜1˜a Ô%÷&ä”×#Ñ# A q¨!Ó,×4Ñ4Ó6¸¿	¹	»ÔDÜ�1‹Xò 
ˆÜÜ×Ñ˜q ! Q¨¡UÓ+×3Ñ3Ó5Ü×Ñ˜q ! a¡%¨¨a©Ó0×8Ñ8Ó:õ	
ñ
÷%ñ %ú÷%ñ %ú÷$ñ $ú÷$ñ $ú÷&ñ &ú÷&ð &úsG   £G!ÁG.ÂG;Â6HÃ'HÄH"Ç!G+Ç.G8Ç;HÈHÈHÈ"H+c                  ó>  — t        j                  g d¢«      } | j                  dd«      }t        | «      j                  dd«      }t	        j
                  |dd¬«      }|j                  d¬«      }t        |j                  «       |j                  «       «       t        |d   j                  «       |d d …df   j                  «       «       |j                  dd	d	d«      }|j                  dd	d	d«      }t	        j
                  |d
d¬«      }t        |j                  d«       |j                  d
¬«      }t        |j                  d«       t        |j                  «       |j                  «       «       t        |j                  «       t        j                  |d
¬«      «       y )Nr�  rN   ©rD   r   T©Úaxesr:  ©r¼  rX   rK   rJ   )r   rJ   rD   rK   )rK   rJ   rJ   rK   )
r$   r   rž  r   r(   Úpermute_dimsÚ	transposer   rn   rF   )	r²   Únpxr   Ú
sXpermutedÚsXtransposedÚnpxxr¢  ÚsXXpermutedÚsXXtransposeds	            r0   Útest_permute_dimsrÆ  ð  sJ  € ä
�‰ò <ó 	=€Að �)‰)�A�q‹/€CÜ	�1‹×	Ñ	˜a Ó	#€Bä×'Ñ'¨°¸dÔC€JØ—<‘< V�<Ó,€LÜ�×#Ñ#Ó% |×';Ñ';Ó'=Ô>Ü�˜B‘×'Ñ'Ó)¨2ªa°¨e©9×+<Ñ+<Ó+>Ô?à�;‰;�q˜!˜Q Ó"€DØ
�*‰*�Q˜˜1˜aÓ
 €CÜ×(Ñ(¨°<ÀdÔK€KÜ�×"Ñ" LÔ1Ø—M‘M |�MÓ4€MÜ�×$Ñ$ lÔ3Ü�×$Ñ$Ó&¨×(=Ñ(=Ó(?Ô@ä�×$Ñ$Ó&¬¯©°TÀÔ(MÕNr2   c                  ór  — dgdgdgdggdgdgdgdggg} t        j                  ddgddgddgddggg«      }t        |«      }t        j                  |d¬«      }t        |j                  d	«       t        |j                  «       | «       t        |j                  «       t        j                  |d¬«      «       y )
Nr   rJ   rN   rD   rM   rO   )rJ   rD   r   r½  )rJ   rL   rD   )	r$   r   r   r(   r¾  r   rF   rn   r¿  r¦  s       r0   Útest_3d_permute_dimsrÈ    s¬   € ØˆC�!��q�c˜A˜3Ð 1 #¨ s¨Q¨C°!°Ð!5Ð
6€CÜ
�‰�A�q�6˜A˜q˜6 A q 6¨A¨q¨6Ð2Ð3Ó4€AÜ�!‹€Aä
×
 Ñ
  ¨Ô
3€CÜ�—‘˜IÔ&Ü�—‘“ Ô$ä�—‘“¤§¡¨Q°YÔ ?Õ@r2   c                  ó  — t        g d¢g d¢g«      } t        j                  | d¬«      j                  du sJ ‚t        j                  | ddg¬«      j                  du sJ ‚t        j                  | ddg¬«      j                  du sJ ‚y )	Nr«  r¬  ©r   rD   r½  Tr   rD   F)r   r(   r¾  r¯  ©rý   s    r0   Ú"test_canonical_format_permute_dimsrÌ    s|   € Ü’9šiÐ(Ó)€Aä×!Ñ! !¨&Ô1×FÑFÈ$ÑNÐNÐNÜ×!Ñ! !¨1¨a¨&Ô1×FÑFÈ$ÑNÐNÐNä×!Ñ! !¨1¨a¨&Ô1×FÑFÈ%ÑOÐOÑOr2   c                  óh  — t        g d¢g d¢g«      } t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t
        d¬«      5  t        j                  | d	d
h¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t
        d¬«      5  t        j                  | d¬«       d d d «       t        t        j                  | dd¬«      j                  «       | j                  dd¬«      j                  «       «       t        t        j                  | d	d
gd¬«      j                  «       | j                  d	d
gd¬«      j                  «       «       t        t        j                  | d d¬«      j                  «       | j                  dd¬«      j                  «       «       t        t        j                  | dd¬«      j                  «       | j                  «       «       y # 1 sw Y   �Œ“xY w# 1 sw Y   �ŒoxY w# 1 sw Y   �ŒIxY w# 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   �Œ¹xY w# 1 sw Y   �Œ•xY w)Nr«  r¬  zIncorrect number of axesr;   r½  zduplicate value in axisrÁ   zaxis must be an integer/tuplerD   r   zaxis out of range)rb   r   )r   rb   )rJ   r   )r   rJ   zaxis must be an integer)rµ  r   rº  Tr»  rÊ  )	r   rŸ   r>   r(   r¾  r¤   r   rn   r¿  rË  s    r0   Útest_axis_permute_dimsrÎ     s†  € Ü’9šiÐ(Ó)€Aä	”zÐ)CÔ	Dñ 2Ü×Ñ˜q yÕ1÷2ä	”zÐ)BÔ	Cñ /Ü×Ñ˜q vÕ.÷/ä	”yÐ(GÔ	Hñ /Ü×Ñ˜q¨¨1 vÕ.÷/ô 
”zÐ)<Ô	=ñ 0Ü×Ñ˜q wÕ/÷0ä	”zÐ)<Ô	=ñ 0Ü×Ñ˜q wÕ/÷0ä	”zÐ)<Ô	=ñ /Ü×Ñ˜q vÕ.÷/ä	”zÐ)<Ô	=ñ /Ü×Ñ˜q vÕ.÷/ä	”yÐ(AÔ	Bñ 1Ü×Ñ˜q xÕ0÷1ô Ü×Ñ˜q v°DÔ9×AÑAÓCØ	�‰˜ dˆÓ+×3Ñ3Ó5ôô
 Ü×Ñ˜q¨¨1 v°DÔ9×AÑAÓCØ	�‰˜!˜Q˜ dˆÓ+×3Ñ3Ó5ôô Ü×Ñ˜q t°$Ô7×?Ñ?ÓAØ	�‰˜ dˆÓ+×3Ñ3Ó5ôô Ü×Ñ˜q v°DÔ9×AÑAÓCÀQÇYÁYÃ[õ÷?2ñ 2ú÷/ñ /ú÷/ñ /ú÷0ñ 0ú÷0ñ 0ú÷/ñ /ú÷/ñ /ú÷1ñ 1ús_   £KÁKÂK&Â8K3Ã)L ÄLÅLÅ<L'ËKËK#Ë&K0Ë3K=Ì L
ÌLÌL$Ì'L1c                 óZ  — t        j                  g d¢g d¢g«      }t        |«      j                  | «      }t	        j
                  |d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  «       t        j                  |d¬«      «       |j                  rJ ‚y )Nr«  r¬  rº  r½  r   r­  )r$   r   r   r®  r(   r¾  r,   rF   r   rn   r¿  r¯  r°  s       r0   Útest_sparse_format_permute_dimsrÐ  G  sŒ   € ä
�‰’)šYÐ'Ó(€AÜ	�1‹×	Ñ	˜vÓ	&€Bä
×
 Ñ
  ¨&Ô
1€CØ�:‰:˜ÒÐÐØ�9‰9˜ÒÐÐä�—‘“¤§¡¨Q°VÔ <Ô=Ø×'Ò'Ð'Ð'Ð'r2   c                  óF  — t        j                  g d¢«      } | j                  dd«      }t        |«      }t        j                  |d¬«      }t        j                  |d¬«      }t        |d   j                  «       |dt         j                  d d …f   j                  «       «       t        |j                  «       |«       |j                  dddd«      }|j                  dddd«      }t        j                  |d¬«      }t        j                  |d¬«      }t        |j                  d«       t        |j                  «       |«       t        j                  |d	¬«      }t        j                  |d	¬«      }t        |j                  d
«       t        |j                  «       |«       y )Nr�  rN   rD   ©r6  rX   rK   rJ   )rK   rJ   rD   rJ   rK   r„   )rK   rJ   rJ   rD   rK   )
r$   r   rž  r   Úexpand_dimsr(   r   rn   ÚnewaxisrF   )	r²   rÀ  r   Únpx_expandedÚ
sXexpandedrÃ  r¢  Únpxx_expandedÚsXXexpandeds	            r0   Útest_expand_dimsrÙ  T  sF  € ä
�‰ò <ó 	=€Að �)‰)�A�q‹/€CÜ	�3‹€Bä—>‘> #¨AÔ.€LÜ×&Ñ& r°Ô2€JÜ�˜B‘×'Ñ'Ó)¨2¨b´"·*±*ºaÐ.?Ñ+@×+HÑ+HÓ+JÔKÜ�×#Ñ#Ó% |Ô4à�;‰;�q˜!˜Q Ó"€DØ
�*‰*�Q˜˜1˜aÓ
 €Cä—N‘N 4¨aÔ0€MÜ×'Ñ'¨°!Ô4€KÜ�×"Ñ" OÔ4Ü�×$Ñ$Ó&¨Ô6ä—N‘N 4¨bÔ1€MÜ×'Ñ'¨°"Ô5€KÜ�×"Ñ" OÔ4Ü�×$Ñ$Ó&¨Õ6r2   c                  ó¼   — ddgddgggddgddgggg} t        ddgddggddgddggg«      }t        j                  |d¬«      }t        |j	                  «       | «       y )Nr   rJ   rN   rD   rM   rO   rÒ  )r   r(   rÓ  r   rn   )r§  rý   r¨  s      r0   Útest_3d_expand_dimsrÛ  r  sw   € Ø�ˆV�a˜�VÐÐ ! Q ¨!¨Q¨Ð 0Ð1Ð
2€CÜ�Q˜�F˜Q ˜FÐ# q¨! f¨q°!¨fÐ%5Ð6Ó7€AÜ
×
Ñ
 ¨Ô
*€CÜ�—‘“ Õ$r2   c                 ó�  — t        j                  ddgddgg«      }t        |«      j                  | «      }t	        j
                  |d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        |j                  «       t        j
                  |d¬«      «       |j                  «       j                  |j                  k(  sJ ‚y )	NrJ   r   rK   rM   rD   rÒ  r   )rJ   rD   rJ   )r$   r   r   r®  r(   rÓ  r,   rF   r   rn   Útocoor¯  r°  s       r0   Útest_sparse_format_expand_dimsrÞ  y  s¢   € ä
�‰�1�a�&˜1˜a˜&Ð!Ó"€AÜ	�1‹×	Ñ	˜vÓ	&€Bä
×
Ñ
 ¨Ô
+€CØ�:‰:˜ÒÐÐØ�9‰9˜	Ò!Ð!Ð!Ü�—‘“¤§¡¨q°qÔ 9Ô:Ø�8‰8‹:×*Ñ*¨c×.FÑ.FÒFÐFÑFr2   c            	      ó^  — t        ddgddgg«      } t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d¬«       d d d «       t        t        d¬«      5  t        j                  | d	¬«       d d d «       t        d«      D ]W  }t        t        j                  | |¬«      j                  «       t        j                  | |dz
  ¬«      j                  «       «       ŒY y # 1 sw Y   ŒÑxY w# 1 sw Y   Œ¬xY w# 1 sw Y   Œ‡xY w)
NrJ   r   rK   rM   r´  r;   rg   rÒ  rµ  )r   rŸ   r>   r(   rÓ  r½   r   rn   r¶  s     r0   Útest_axis_expand_dimsrà  …  s÷   € Ü�A�q�6˜A˜q˜6Ð"Ó#€AÜ	”z¨Ô	8ñ *Ü×Ñ˜a bÕ)÷*ä	”z¨Ô	8ñ )Ü×Ñ˜a aÕ(÷)ä	”z¨Ô	8ñ +Ü×Ñ˜a cÕ*÷+ä�1‹Xò 
ˆÜÜ×!Ñ! !¨!Ô,×4Ñ4Ó6Ü×!Ñ! !¨!¨a©%Ô0×8Ñ8Ó:õ	
ñ
÷*ð *ú÷)ð )ú÷+ð +ús#   £DÁDÂD#ÄDÄD Ä#D,)g{®Gáz„?r   NN)<Ú__doc__Únumpyr$   r   Únumpy.testingr   r   r   r   r=   r   rŸ   Úscipy._lib._testutilsr	   Úscipy.sparser
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(   Úscipy.sparse._constructr   rZ  rÉ   r1   r6   r8   rŽ  r‘  r‡  rˆ  rì   r“   r—  r›  r¤  r©  r²  r¸  rÆ  rÈ  rÌ  rÎ  rÐ  rÙ  rÛ  rÞ  rà  rU  r2   r0   ú<module>rç     sx  ðÙ /ã Ý ÷<ó <ã Ý *Ý 3÷3÷ 3÷ 3÷ 3ó 3õ 3â<€ó
IóF÷O7ñ O7òd%ò>ð( ‡�×Ñ˜ )×"7Ñ"7¸¿¹Ð!IÓJñ=ó Kð=ð ‡�×Ñ˜ )×"7Ñ"7¸¿¹Ð!IÓJñ
=ó Kð
=ò1ò"6ð ‡�×Ñ˜ >Ó2ñ(ó 3ð(ò
ò,Oò6	AòPò$ðN ‡�×Ñ˜ >Ó2ñ	(ó 3ð	(ò7ò<%ð ‡�×Ñ˜ >Ó2ñGó 3ðGó
r2   