Ë
    âQ(h!–  ã                   óÚ   — 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'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          ú_/var/www/skyplay_api_hub/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%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*ej                  j                  deeg«      d„ «       Z+d„ Z,d„ Z-d„ Z.ej                  j                  deeg«      d„ «       Z/d„ Z0ej                  j                  dejb                  ejd                  f«      d „ «       Z3d!„ Z4d"„ Z5ej                  jl                  ej                  jn                  ej                  jq                  d#«      d$„ «       «       «       Z9d%„ Z:d&„ Z;d'„ Z<d(„ Z=d)„ Z>d*„ Z?d+„ Z@ej                  j                  d,d-d.eAj„                  j‡                  d.«      g«      d/„ «       ZDej                  j                  d,d-d.eAj„                  j‡                  d.«      g«      d0„ «       ZEd1„ ZFd2„ ZGd3„ ZHd4„ ZIy-)5Ú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   rQ   ©r   rJ   r   ©r   r   rK   ©rO   r   r   r   ©rD   rP   r   r   ©r   rJ   rQ   r   éýÿÿÿrO   )r   r   rK   r   r   r   )r   r   r   rL   r   r   )r   r   r   r   rM   r   )rO   r   r   r   r   r   ©r   rP   r   r   r   r   ©r   r   rQ   r   r   r   ©rZ   r   rD   )rO   rV   r   r   r   r   )rD   rP   rW   r   r   r   )r   rJ   rQ   rX   r   r   )r   r   rK   rR   rY   r   )r   r   r   rL   rS   r   ©éüÿÿÿrJ   rZ   )r   r   rQ   r   r   )rU   r   r   rR   r   )r   rV   r   r   rS   ©r   r   rW   r   r   ©rD   r   r   rX   r   ©r   rJ   r   r   rY   )rZ   rD   rJ   )r   rP   rW   r   r   )rD   r   rQ   rX   r   )r   rJ   r   rR   rY   )r   r   rK   r   rS   )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 dM¢g dP¢gf«       |D ]®  \  }}}}|›dQ|›dQ|›dQ|›�}	t        t	        j
                  |||¬R«      j                  «       ||	¬S«       |d   |d   k(  sŒSt        |d   dT«      sŒct        |d   «      t        |«      k  sŒ~t        t	        j
                  ||¬U«      j                  «       ||	¬S«       Œ° y )VNrI   rN   rT   rD   r   rC   ©rJ   rD   ©rD   rJ   rJ   ©rJ   rJ   rZ   rK   )rK   rL   r[   r\   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   ri   )rM   rK   ©r   r   r   ©rD   r   r   rd   r_   r`   ©r   rD   r   )r   r   rJ   ©r   r   rD   ©rK   rK   )rD   r   rO   ra   rb   rc   )rO   rO   )r   r   rD   r   r   r   )r   r   r   rJ   r   r   )r   r   r   r   rK   r   )rO   r   r   r   r   rL   re   rf   rg   ©rM   rM   )rO   rU   r   r   r   )rD   rP   rV   r   r   )r   rJ   rQ   rW   r   )r   r   rK   rR   rX   )r   r   r   rL   rS   rh   ©rO   rM   )r   r   rO   r   r   )rU   r   r   rP   r   )r   rV   r   r   rQ   rj   rk   rl   ©rD   rJ   rK   )rL   rM   rO   )rL   rJ   r   )r   rM   rK   )rD   r}   rD   )rD   r   rZ   )r}   rD   r   )r   rD   r}   ú ©ÚoffsetsrF   )Úerr_msgÚ__len__©r‰   )
r   rm   r$   r   r(   Údiagsrp   Úhasattrrn   Úmax)
r@   ÚaÚbÚcrt   ru   rv   rF   rw   rŠ   s
             r0   Ú
test_diagszTestConstructUtils.test_diags   s/  € Ü’/Ó"ˆÜÒ"Ó#ˆÜÒ&Ó'ˆàˆØ�‰�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’i¢Ð+Ó,ØˆrˆFØÚš	¢9Ð-ð	
ô 	ð 	�‰’h¢¨&²:Ú4>Ú4>ð3@ð Aô 	Bð $)ò 
	.Ñˆ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ÀfØ%,ö.ñ
	.r2   c                 óž   — t        g d¢«      }t        t        j                  |«      j	                  «       t        j                  |«      «       y )NrI   )r   r   r(   r�   rp   r$   Údiag©r@   r�   s     r0   Útest_diags_defaultz%TestConstructUtils.test_diags_defaultÍ   s0   € Ü’/Ó"ˆÜ”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   rO   )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 )NrI   rN   rT   r   rC   rL   rK   rg   r„   rJ   rh   r…   rD   éûÿÿÿ©rL   rL   rˆ   rŒ   )r   rm   r™   r>   r(   r�   Ú	TypeError)r@   r�   r‘   r’   rt   ru   rv   rF   s           r0   Útest_diags_badz!TestConstructUtils.test_diags_badÕ   s4  € Ü’/Ó"ˆÜÒ"Ó#ˆÜÒ&Ó'ˆàˆØ�‰�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Ð*Ô+Ø�‰�q�c˜B˜4 Ð(Ô)Ø�‰�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   rS   rD   rJ   r   rS   rŒ   )r$   r%   ÚRandomStateÚrandintÚarangeÚshuffler   Úabsr(   r�   ÚsumÚzipr•   r   rp   rn   )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-   rp   ©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                 óö   — t        t        d«      «      }t        dd«      D ]V  }t        t        j                  ||¬«      j                  «       t        j                  |g|g¬«      j                  «       «       ŒX y )NrM   rœ   rO   rŒ   )ÚlistÚranger   r(   r�   rp   )r@   ru   Úks      r0   Útest_diags_one_diagonalz*TestConstructUtils.test_diags_one_diagonal  s`   € Ü”�q“‹NˆÜ�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   rp   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œ   rO   zOffset.*out of boundsr;   ©r·   )
r   rp   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   c                 óv  — 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 ‚ Œ� ŒŸ |d   }|d   }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   rZ   rL   rS   rD   rJ   rK   rM   ©r   rJ   iúÿÿÿ©rQ   r   rX   rO   )rM   rL   rL   r€   )rO   r   rQ   )r   rD   r   rJ   r   rM   rQ   )ç      à?g      À?r   g      
@)r   g      @r   r   rÀ   rd   )rm   r   r   r$   ÚkronrÂ   r(   r   r,   r   rp   rÏ   r   r
   r   )	r@   rt   r�   Úcar‘   ÚcbÚexpectedrÄ   rw   s	            r0   Ú	test_kronzTestConstructUtils.test_kronV  s¥  € Øˆà�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜C˜5“\Ô"Ø�‰”U˜R˜D˜6“]Ô#Ø�‰”U˜Q˜C  ˜9Ó%Ô&Ø�‰”U˜Q˜q˜E˜7“^Ô$Ø�‰”U˜Q˜q˜E 1 Q %˜=Ó)Ô*Ø�‰”U˜Q˜q˜E 1 Q %˜=Ó)Ô*Ø�‰”UšH¢XÐ.Ó/Ô0Ø�‰”U˜Q˜q˜E 1 Q %¨¨1¨Ð.Ó/Ô0Ø�‰”UšG¢GªGÐ4Ó5Ô6Ø�‰”UšOÐ,Ó-Ô.Ø�‰”UÒ.ª{Ð;Ó<Ô=ð ò 		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ð �"‰IˆØ�"‰IˆÜ�q‹\ˆÜ�q‹\ˆä—7‘7˜1˜a“=ˆÜ!ò 	/ˆCÜ—^‘^ B¨°3Ô7ˆFÜ˜Ÿ™¨Ô,Ü˜vŸ~™~Ó/°Ô:Ü˜f¤gÕ.Ð.Ð.ð		/ô —‘¤
¨1£¬z¸!«}ÀSÔIˆÜ�V—]‘] CÔ(Ü˜6Ÿ>™>Ó+¨XÔ6Ü˜&¤(Ô+Ð+Ñ+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gdggddg«       y # 1 sw Y   ŒoxY w# 1 sw Y   Œ2xY w)Núrequires 2D inputr;   r   rD   )r=   r   r>   r(   r×   r   rÑ   s    r0   Útest_kron_ndim_exceptionsz,TestConstructUtils.test_kron_ndim_exceptions†  s¤   € Ü�]‰]œ:Ð-@ÔAñ 	:Ü�N‰N˜Q˜C ! ˜:¤y°!°Q°Ó'8Ô9÷	:ä�]‰]œ:Ð-@ÔAñ 	:Ü�N‰Nœ9 a¨ VÓ,°¨s°Q°C¨jÔ9÷	:ô 	�‰˜˜˜a˜S�z A q 6Õ*÷	:ð 	:ú÷	:ð 	:ús   œ&B0Á%&B<Â0B9Â<Cc                 óØ   — d}t        j                  dgd|f|dz
  ¬«      }t        j                  dg|dfd|z
  ¬«      }t        j                  ||«       t        j                  ||«       y )Ni   rD   )rF   r‰   )r(   Údiags_arrayr×   )r@   r*   r�   r‘   s       r0   Útest_kron_largez"TestConstructUtils.test_kron_largeŽ  s_   € ØˆÜ×!Ñ! 1 #¨a°¨V¸Q¸q¹SÔAˆÜ×!Ñ! 1 #¨a°¨V¸Q¸q¹SÔAˆä�‰�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   rZ   rL   rS   rD   rJ   rK   rM   rÔ   rÕ   )r   rK   r   r€   )r   rM   rZ   )rL   r}   rQ   )rm   r   r(   Úkronsumr   rp   r$   r×   rÆ   rF   r   r
   )r@   rt   r�   r‘   rw   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)NrÝ   r;   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   rO   rÉ   r   )r,   r-   r   )r   r   r(   Úvstackrp   r$   Úfloat32r-   ÚtodokÚtocsrÚindicesÚint32ÚindptrÚtocsc)r@   rç   ÚAÚBrÚ   rw   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   rO   )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   rO   )rJ   rK   )rJ   rO   zincompatible row dimensionsr;   zincompatible column dimensions)r   r   r(   ré   r$   r   rF   rÿ   r=   r   r>   )r@   ÚarrÚ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   rO   ©rD   rJ   rM   ©rK   rL   rO   rÉ   )r   r   r(   rÿ   rp   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_array  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   rO   rP   rº   r  r  )r   r   rP   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   rp   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_creation&  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   rP   rM   r   rÀ   )r(   r  r
   rÏ   r   )r@   ÚblockÚFlÚGlÚFmÚGms         r0   Útest_block_return_typez)TestConstructUtils.test_block_return_typet  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   rP   rM   r   rÀ   Nr   )r(   Úbmatr
   r   rÏ   r   r   rð   )r@   r&  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   rO   rP   )rD   rJ   r   r   )rK   rL   r   r   )r   r   rM   r   )r   r   rO   r   )r   r   r   rP   r   N)
r   r   r(   Ú
block_diagr   rp   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(   r6  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(   r6  rp   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(   r6  rp   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 r†   )rD   rK   rE   rL   rM   r{   )rD   rJ   rK   r   r   )r   r   r   rL   rM   rD   rJ   rK   )rK   rD   rz   r   N)r   r   r(   r6  rp   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 )Nr†   )rJ   rK   rL   )r   r   rÏ   r(   r6  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   rS   çš™™™™™¹?)r+   r-   )rM   rS   éá  )r+   r.   )g        rE  rÖ   g      ð?©r+   )r   r   r   r    rÀ   c                  ó   •—  ‰ ddd«      S )NrM   rS   gš™™™™™ñ?© ©Úfs   €r0   ú<lambda>z9TestConstructUtils.test_random_sampling.<locals>.<lambda>  s   ø€ ©a°°2°s«m€ r2   c                  ó   •—  ‰ ddd«      S )NrM   rS   gš™™™™™¹¿rI  rJ  s   €r0   rL  z9TestConstructUtils.test_random_sampling.<locals>.<lambda>  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Ä   rK  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.   NrF  c                 ó0  — t        dddt        j                  |¬«      }t        t        j                  t        j
                  d|j                  «      «      «       t        t        j                  t        j
                  |j                  d«      «      «       y ©NrS   é   rÖ   ©r+   r-   r.   r   rD   )rN  r$   rO  r   r1  Ú
less_equalrT  ©r@   r.   r¬   s      r0   Ú	test_randzTestConstructUtils.test_rand  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 r]  )r1   r$   rO  r   ÚanyÚlessrT  r6   ra  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 )NrS   ru   rÉ   ©rS   rS   ©rS   rS   rS   ©rS   rS   rS   rS   rS   )r(   r%   r5   rÑ   s    r0   Útest_random_accept_str_dtypez/TestConstructUtils.test_random_accept_str_dtype&  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_stateri  r_  rj  )r(   r5   r±   rF   )r@   r
  s     r0   Ú'test_random_array_maintains_array_shapez:TestConstructUtils.test_random_array_maintains_array_shape.  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 )Nrh  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 )NrS   gþÔxé&1À?rG  rW   rh  )ì        rr  g(Rsåû?<iÐ  )rS   rS   rS   rS   gkñ) Æ3À?iò  )rr  rr  rr  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_elements>  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   )JÚ__name__Ú
__module__Ú__qualname__r=   ÚmarkÚparametrizer   r   r   r   r   r   r   rA   r   r
   r   r   r   r   rG   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  r&  r  r  r$  r)  ÚslowÚthread_unsafeÚxfail_on_32bitr4  r8  r;  r=  r?  rA  rC  r[  r$   r%   r&   rb  rf  rk  rn  rp  rw  rI  r2   r0   r8   r8   )   s  „ à‡[�[×Ñ˜UØ�9˜i¨Ø�9˜ið%ó ñó	ðð ‡[�[×Ñ˜UØ�J 
Ø�J 
ð%ó ñ&ó	ð&ò6LòpL.ò\?ò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ò.,ò`+òò-ò0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ò
	?ò
#ò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«      } t        t        j                  | «      j                  «       t        j                  | «      «       t        t        j                  | d¬«      j                  «       t        j                  | d¬«      «       t        t        j                  | 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.rD   rM   rJ   rŒ   rÊ   r�   rˆ   NrL   z.*out of boundsr;   rE   )r$   r£   r   r(   rà   rp   r•   r=   r   r>   r�   )r•   s    r0   Útest_diags_arrayr�  W  sé   € ä�9‰9�Q˜‹?€Dä”y×,Ñ,¨TÓ2×:Ñ:Ó<¼b¿g¹gÀd»mÔLäÜ×Ñ˜d¨AÔ.×6Ñ6Ó8¼"¿'¹'À$È!Ô:Lôô Ü×Ñ˜d¨A°VÔ<×DÑDÓFÜ
�‰�˜Ô˜2˜A˜2˜r ˜r˜6Ñ"ôô 
�‰”zÐ):Ô	;ñ :Ü�‰œŸ	™	 ! Q›¨°&Õ9÷:÷ :ñ :ús   Ä-D:Ä:E)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   rN  rÂ   r1   r6   r8   r�  rI  r2   r0   ú<module>rˆ     sb   ðÙ /ã Ý ÷<ó <ã Ý *Ý 3÷3÷ 3÷ 3÷ 3ó 3õ 3â<€ó
IóF÷k7ñ k7ó\:r2   