Ë
    çÿæi•Ã  ã                   óÂ  — 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'e	jP                  jS                  dejT                  ejV                  g«      d„ «       Z,e	jP                  jS                  dejT                  ejV                  g«      d„ «       Z-d„ Z.d„ Z/e	jP                  jS                  de#«      d„ «       Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5e	jP                  jS                  de#«      d„ «       Z6d„ Z7d„ Z8e	jP                  jS                  de#«      d„ «       Z9d„ 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/Volumes/fast/ai/experiments/voice-extract-mac/.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'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$„ «       Z0d%„ Z1ej                  j                  d&ejd                  ejf                  f«      d'„ «       Z4d(„ Z5d)„ Z6ej                  jn                  ej                  jq                  d*«      d+„ «       «       Z9d,„ Z:d-„ Z;d.„ Z<d/„ Z=d0„ Z>d1„ Z?d2„ Z@ej                  j                  d3dd4eAj„                  j‡                  d4«      g«      d5„ «       ZDej                  j                  d3dd4eAj„                  j‡                  d4«      g«      d6„ «       ZEd7„ ZFd8„ ZGd9„ ZHd:„ ZIy);Ú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+   s1   € ô
 �]‰]Üð.ö
ñ �Œ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».Ú'Ú'Ú'Ú'Ú&ð	(ð)ô 	*ó #(Ñˆ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ñ	 #(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   s+  € ÜÒ+Ó,ˆÜÒ,Ó-ˆÜÒ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ó $)Ñˆ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ñ $)r2   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Õ   s.  € ÜÒ+Ó,ˆÜÒ,Ó-ˆÜÒ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�^Ô$ã ‰KˆAˆq�%Üœ*¤i§o¡o°qÀ!È5ÖQð !ô 	”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Ó)ˆä*ˆGØ�G˜Q‘J‘ §¡¨Q°Ó!3Ñ3ˆAä—i‘i   1¡ a¨¡cÓ*ˆGØ�K‰K˜Ô Ø˜h˜wÐ'ˆGá7>Ó?±w°!˜Ÿ™ !¤c¨!£f¡*Õ-°wˆIÐ?ä—/‘/ )°WÔ=ˆCÜ´s¸9ÀgÔ7NÔOÑ7N©t¨q°!œRŸW™W Q¨�]Ð7NÒOÓPˆIä*¨3¯;©;«=¸)ÔDä�7‹|˜qÓ Ü—o‘o i°¡l¸GÀA¹JÔG�ÜŸG™G I¨a¡L°'¸!±*Ó=�	Ü.¨s¯{©{«}¸iÖHñ# +ùò @ùó 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  sQ   € Ú%ˆÜ�r˜1–ˆAÜœŸ™¨°AÔ6×>Ñ>Ó@Ü"Ÿ™¨!¨°q°cÔ:×BÑBÓDõ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Ô%ç!ˆCÙ˜ 3Ô'ˆAÜ˜Ÿ™ 3Ô'Ü˜Ÿ™›¢wªw²wÐ&?Õ@ñ "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Ô%ç!ˆCÙ�A˜cÔ"ˆAÜ˜Ÿ™ 3Ô'Ü˜Ÿ™›¢wªw²wÐ&?Õ@ñ "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  sY  € Øˆà�‰”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ó ˆAÜ˜1“ˆBÛ�Ü˜q“\�ÜŸ7™7 1 a›=�Ü)¨!¨AÓ.�CÜ&Ÿ^™^¨B°¸3Ô?�FÜ  §¡°Ô4Ü& v§~¡~Ó'7¸ÔBÜ% f¬gÕ6Ð6Ð6ñ	 /ñ ð ð 	�‰”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   c                 óâ  — 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ž  s1  € ä�]‰]œ9Ð,IÖJÜ�N‰N˜Q˜C ! ˜:¨!¨Q¨¨ zÔ2÷ Kä�]‰]œ9Ð,IÖJÜ�N‰N˜a ˜V˜H˜:¨¨¨a¨S zÔ2÷ Kô 	�‰”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÷ KÑJúçJÐJú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·  sx  € Øˆà�‰”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ó ˆAÛ�Ü"×*Ñ*¬9°Q«<¼À1»ÓF×NÑNÓP�ÜŸG™G¤B§F¡F¨1¯7©7°1©:Ó$6¸Ó:Ü Ÿg™g a¬¯©°·±¸±
Ó);Ó<ñ=�ä" 6¨8Õ4ñ	 ð ô ×"Ñ"¤:¨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Ó*;Ô<÷ Bä�]‰]œ:Ð-@ÖAÜ×Ñœi¨¨A¨Ó/°1°#¸°s°Ô<÷ Bô 	×Ñ˜A˜q˜6 A q 6Ð*¨Q¨CÕ0÷ BÐAúçAÐAú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>  ó   è ø€ Ð@±x°˜Ÿ™¤2§8¡8×,±xùó   ‚)+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Ü×Ñ˜c¤2§8¡8¨Q°¨FÓ#3Ð4Ô5÷ Lä�]‰]œ:Ð-MÖNÜ×Ñ˜c¤2§8¡8¨Q°¨FÓ#3Ð4Ô5÷ OÐN÷ LÐKúçNÐNú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_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   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_creationG  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äœ:Ô&¨'Ù˜!Ÿ'™'›)˜ q§w¡w£y kÐ2Ô3÷ 'à�‰Ð;Ô<äœ:Ô&¨'Ù˜!Ÿ'™'›)˜ q§w¡w£y kÐ2Ô3÷ 'à�‰ÐMÔNäœ:Ô&¨'Ù˜!˜Q˜˜Ô!÷ 'à�‰ÐGÔHäœ:Ô&¨'Ù˜!Ÿ'™'›) Q§W¡W£YÐ/Ð0Ô1÷ 'à�‰ÐMÔNäœ:Ô&¨'Ù˜!Ÿ'™'›) Q§W¡W£YÐ/Ð0Ô1÷ 'à�‰Ð;Õ<÷- 'Ñ&ú÷ 'Ñ&ú÷ 'Ñ&ú÷ 'Ð&ú÷ 'Ð&ú÷ 'Ð&ú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>0  s   ø€ ©a°°2°s¬mr2   c                  ó   •—  ‰ ddd«      S )NrM   rR   gš™™™™™¹¿rU  rV  s   €r0   rX  z9TestConstructUtils.test_random_sampling.<locals>.<lambda>1  s   ø€ ©a°°2°t¬nr2   )Ú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Õ&ðGñ �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Ô.ã/�Ù�a˜ WÔ-�Ü˜QŸU™U¤C¨´"·'±'¸!¿'¹'Ó2BÑ(BÓ$CÕDð 0ó 4�Ù�a˜ CÔ(�Ü˜QŸX™X sÕ+ð 4ô œ*Ó&;Ô<Üœ*Ó&<Ö=ñ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_rand3  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_dtypeF  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_shapeN  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_dtypeZ  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_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   rv   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  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6ò"ò-ò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                  | 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�  w  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—  —  su   € à
ˆˆq�!ˆf�q�cÐ€AÚ€Gô
 
�‰”mÐ+DÖ	EÙ�1˜gÔ&ˆ÷ 
Fä�x‰x˜#˜s˜ c¨3 ZÐ0Ó1€HÜ�s—{‘{“} h°tÖ<÷ 
FÐ	Eú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 !Ô$÷ 
9ä	”z¨Ö	8Ü×Ñ˜1˜a Ô$÷ 
9ä	”z¨Ö	8Ü×Ñ˜1˜a Ô#÷ 
9ä	”z¨Ö	8Ü×Ñ˜1˜a Ô#÷ 
9ä	”z¨Ö	8Ü×Ñ˜1˜c 1Ô%÷ 
9ä	”z¨Ö	8Ü×Ñ˜1˜a Ô%÷ 
9ä”×#Ñ# A q¨!Ó,×4Ñ4Ó6¸¿	¹	»ÔDÜ�1ŽXˆÜÜ×Ñ˜q ! Q¨¡UÓ+×3Ñ3Ó5Ü×Ñ˜q ! a¡%¨¨a©Ó0×8Ñ8Ó:õ	
ñ ÷ 
9Ñ	8úç	8Ñ	8úç	8Ñ	8úç	8Ñ	8úç	8Ñ	8úç	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Ê    sG  € Ü’9šiÐ(Ó)€Aä	”zÐ)CÖ	DÜ×Ñ˜q yÕ1÷ 
Eä	”zÐ)BÖ	CÜ×Ñ˜q vÕ.÷ 
Dä	”yÐ(GÖ	HÜ×Ñ˜q¨¨1 vÕ.÷ 
Iô 
”zÐ)<Ö	=Ü×Ñ˜q wÕ/÷ 
>ä	”zÐ)<Ö	=Ü×Ñ˜q wÕ/÷ 
>ä	”zÐ)<Ö	=Ü×Ñ˜q vÕ.÷ 
>ä	”zÐ)<Ö	=Ü×Ñ˜q vÕ.÷ 
>ä	”yÐ(AÖ	BÜ×Ñ˜q xÕ0÷ 
Cô Ü×Ñ˜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Ã[õ÷? 
EÑ	Dúç	CÑ	Cúç	HÑ	Hú÷ 
>Ñ	=úç	=Ñ	=úç	=Ñ	=úç	=Ñ	=úç	BÑ	Bú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Ì  8  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Õ  E  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×  c  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Ú  j  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Ü  v  sÙ   € Ü�A�q�6˜A˜q˜6Ð"Ó#€AÜ	”z¨Ö	8Ü×Ñ˜a bÕ)÷ 
9ä	”z¨Ö	8Ü×Ñ˜a aÕ(÷ 
9ä	”z¨Ö	8Ü×Ñ˜a cÕ*÷ 
9ä�1ŽXˆÜÜ×!Ñ! !¨!Ô,×4Ñ4Ó6Ü×!Ñ! !¨!¨a©%Ô0×8Ñ8Ó:õ	
ñ ÷ 
9Ð	8úç	8Ð	8úç	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Ü  rU  r2   r0   Ú<module>rã     ss  ðÙ /ã Ý ÷<ó <ã Ý *Ý 3÷3÷ 3÷ 3÷ 3ó 3õ 3â<€ó
IóF÷K7ñ K7ò\>ð( ‡�×Ñ˜ )×"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   