Ë
    çÿæif@  ã                   ól   — d Z ddlZddlmZ ddlZddlmZ ddlm	Z
mZmZmZmZ ddlmZ  G d„ d«      Zy)	z'unit tests for sparse utility functionsé    N)Úassert_equal)Úraises)Ú_sputilsÚ	csr_arrayÚ	bsr_arrayÚ	dia_arrayÚ	coo_array)Úmatrixc                   ó  — e Z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eg«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dg ddg‘ddg‘ddg‘g d¢dg‘g dg‘dgdg‘dgdg‘ddgdg‘ddgdg‘dgdg‘ddgdg‘g d¢dg‘dgdg‘d d!gd"g‘d#d$gd$g‘d%d$gd$g‘d#d%gd$g‘dd$gd$g‘dd#gd#g‘dd%gd%g‘dd&gd&g‘d&d$gd$g‘d&d%gd$g‘d'd$gd$g‘dd$gd$g‘dd&gd#g‘d'd%gd%g‘d'd#gd#g‘dd#gd#g‘dd%gd%g‘d'd(gd(g‘d)d*gd*g‘dgd+z  dg‘dgd,z  dg‘dgd+z  dg‘«      d-„ «       Zej                  j                  d.d(d/gd0dgd)d0gg d1¢d2d3gd4d2gd5d6gg d7¢dgd+z  d(gd+z  z   g	«      d8„ «       Zd9„ Zd:„ Zd;„ Zy<)=ÚTestSparseUtilsc                 ó„  — t        t        j                  d«      t        j                  «       t        t        j                  dd«      t        j
                  «       t        t        j                  dt        t        «      t        j                  «       t        t        j                  dd«      t        j
                  «       y )NÚintcÚint32Úfloat32ÚboolÚiÚd)	r   ÚsputilsÚupcastÚnpr   Úfloat64ÚcomplexÚfloatÚ
complex128©Úselfs    út/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/sparse/tests/test_sputils.pyÚtest_upcastzTestSparseUtils.test_upcast   sf   € Ü”W—^‘^ FÓ+¬R¯W©WÔ5Ü”W—^‘^ G¨YÓ7¼¿¹ÔDÜ”W—^‘^ F¬G´UÓ;¼R¿]¹]ÔKÜ”W—^‘^ C¨Ó-¬r¯z©zÕ:ó    c                 óð  — t        j                  dgd¬«      }t        t        j                  d t
        ¬«      t
        «       t        t        j                  d |¬«      t         j                  «       t        t        d¬«      5  t        j                  d«       d d d «       t        t        d	¬«      5  t        j                  d t         j                  ¬«       d d d «       y # 1 sw Y   ŒIxY w# 1 sw Y   y xY w)
Né   Úint8©Údtype)Údefault)Úaz.scipy.sparse does not support dtype object. .*©ÚmatchÚOz/scipy.sparse does not support dtype float16. .*)
r   Úarrayr   r   Úgetdtyper   r"   Úassert_raisesÚ
ValueErrorÚfloat16)r   ÚAs     r   Útest_getdtypezTestSparseUtils.test_getdtype   s¯   € Ü�H‰H�a�S Ô'ˆä”W×%Ñ% d´EÔ:¼EÔBÜ”W×%Ñ% d¨aÔ0´"·'±'Ô:äÜØBö
ô ×Ñ˜SÔ!÷	
ô ÜØCö
ô ×Ñ˜T¬2¯:©:Õ6÷	
ð 
÷
ð 
ú÷
ð 
ús   ÂC Â1&C,Ã C)Ã,C5c                 óÂ  — t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  t        j                  d«      «      d«       t        t        j                  d«      d«       t        t        j                  t        j                  dg«      «      d«       t        t        j                  dgg«      d«       t        t        j                  d	«      d«       t        t        j                  d
«      d«       y )Nç      @Téüÿÿÿç      @ù      ð?      @é   Ú16F©r!   ©r!   é   )r   r   Úisscalarliker   r*   r   s    r   Útest_isscalarlikez!TestSparseUtils.test_isscalarlike%   sê   € Ü”W×)Ñ)¨#Ó.°Ô5Ü”W×)Ñ)¨"Ó-¨tÔ4Ü”W×)Ñ)¨#Ó.°Ô5Ü”W×)Ñ)¨&Ó1°4Ô8Ü”W×)Ñ)¬"¯(©(°1«+Ó6¸Ô=Ü”W×)Ñ)¨$Ó/°Ô6ä”W×)Ñ)¬"¯(©(°A°3«-Ó8¸%Ô@Ü”W×)Ñ)¨A¨3¨%Ó0°%Ô8Ü”W×)Ñ)¨$Ó/°Ô7Ü”W×)Ñ)¨&Ó1°5Õ9r   c                 óz  — t        t        j                  d«      d«       t        t        j                  t        j                  d«      «      d«       t        t        j                  t        j                  dg«      «      d«       t        t        d¬«      5  t        j                  d«       d d d «       t        t        j                  d«      d«       t        t        j                  d	«      d«       t        t        j                  d
«      d«       t        t        j                  d«      d«       y # 1 sw Y   Œ†xY w)Nr3   Tr6   Fz4Inexact indices into sparse matrices are not allowedr'   r2   r4   r5   r8   r9   )r   r   Ú	isintliker   r*   r,   r-   r   s    r   Útest_isintlikezTestSparseUtils.test_isintlike2   s×   € Ü”W×&Ñ& rÓ*¨DÔ1Ü”W×&Ñ&¤r§x¡x°£{Ó3°TÔ:Ü”W×&Ñ&¤r§x¡x°°£}Ó5°uÔ=ÜÜØHö
ô ×Ñ˜cÔ"÷	
ô 	”W×&Ñ& sÓ+¨UÔ3Ü”W×&Ñ& vÓ.°Ô6Ü”W×&Ñ& tÓ,¨eÔ4Ü”W×&Ñ& vÓ.°Õ6÷
ð 
ús   ÂD1Ä1D:c                 óÜ  — t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  dgdf«      d«       t        t        j                  dd¬	«      d«       t        t        j                  d
d¬	«      d«       t        t        j                  dd¬	«      d«       t        t        j                  d
d¬	«      d«       t        t        j                  dd¬«      d«       t        t        j                  dgdfd¬«      d«       t        t        j                  ddd¬«      d«       t        t        j                  dd¬«      d«       t        t        j                  dd¬«      d«       t        t        j                  dd¬«      d«       y )Nr9   T)é   r:   )ç      ø?r:   F©r:   r:   r:   r:   )éÿÿÿÿr:   )Únonneg)r:   rD   )Úallow_nd)r:   r:   éþÿÿÿ)rE   rF   ©r:   )r:   r:   )r   r   Úisshaper   s    r   Útest_isshapezTestSparseUtils.test_isshapeA   sD  € Ü”W—_‘_ VÓ,¨dÔ3Ü”W—_‘_ VÓ,¨dÔ3ä”W—_‘_ XÓ.°Ô6Ü”W—_‘_ YÓ/°Ô7Ü”W—_‘_ q c¨1 XÓ.°Ô6Ü”W—_‘_ W°UÔ;¸DÔAÜ”W—_‘_ W°UÔ;¸DÔAÜ”W—_‘_ W°TÔ:¸5ÔAÜ”W—_‘_ W°TÔ:¸5ÔAä”W—_‘_ X¸Ô?ÀÔGÜ”W—_‘_ q c¨1 X¸Ô?ÀÔGÜ”W—_‘_ Z¸ÀvÔNØô	ä”W—_‘_ T°FÔ;¸TÔBÜ”W—_‘_ W°vÔ>ÀÔEÜ”W—_‘_ Y¸Ô@À%ÕHr   c           	      ó  — t        t        j                  d«      d«       t        t        j                  d«      d«       t        t        j                  dg«      d«       t        t        j                  g d¢«      d«       t        t        j                  t        j                  g d¢«      «      d«       t        t        j                  t        j                  dgdgdgg«      «      d«       t        t        j                  d«      d«       y )Nr8   T©r!   r:   r6   r!   r:   r6   F)r   r   Ú
issequencer   r*   r   s    r   Útest_issequencezTestSparseUtils.test_issequenceU   sµ   € Ü”W×'Ñ'¨Ó-¨tÔ4Ü”W×'Ñ'¨	Ó2°DÔ9Ü”W×'Ñ'¨¨Ó,¨dÔ3Ü”W×'Ñ'ª	Ó2°DÔ9Ü”W×'Ñ'¬¯©²Ó(;Ó<¸dÔCä”W×'Ñ'¬¯©°1°#¸°s¸Q¸C°Ó(AÓBÀEÔJÜ”W×'Ñ'¨Ó*¨EÕ2r   c                 ó  — t        t        j                  d«      d«       t        t        j                  dgdgg«      d«       t        t        j                  t        j                  d«      d    «      d«       t        t        j                  ddg«      d«       t        t        j                  t        j                  d«      «      d«       t        t        j                  dggg«      d«       t        t        j                  d«      d«       y )N)© Tr!   r:   r6   F)r   r   Úismatrixr   Úaranger   s    r   Útest_ismatrixzTestSparseUtils.test_ismatrix_   s¼   € Ü”W×%Ñ% eÓ,¨dÔ3Ü”W×%Ñ%¨ s¨Q¨C jÓ1°4Ô8Ü”W×%Ñ%¤b§i¡i°£l°4Ñ&8Ó9¸4Ô@ä”W×%Ñ% q¨! fÓ-¨uÔ5Ü”W×%Ñ%¤b§i¡i°£lÓ3°UÔ;Ü”W×%Ñ%¨¨ u gÓ.°Ô6Ü”W×%Ñ% aÓ(¨%Õ0r   c                 ó¼   — t        t        j                  t        j                  dg«      «      d«       t        t        j                  t        dg«      «      d«       y )Nr!   T)r   r   Úisdenser   r*   r
   r   s    r   Útest_isdensezTestSparseUtils.test_isdensei   s8   € Ü”W—_‘_¤R§X¡X¨q¨c£]Ó3°TÔ:Ü”W—_‘_¤V¨Q¨C£[Ó1°4Õ8r   c                 óÒ  — t        t        d¬«      5  t        j                  d«       d d d «       dD ]1  }t        t        d¬«      5  t        j                  |«       d d d «       Œ3 dD ]1  }t        t        d¬«      5  t        j                  |«       d d d «       Œ3 dD ]3  }t        t        d	¬«      5  t        j                  |d
¬«       d d d «       Œ5 t        t        d¬«      5  t        j                  dd
¬«       d d d «       dD ]  }t        j                  |d
¬«      €ŒJ ‚ dD ]3  }t        t        d	¬«      5  t        j                  |d¬«       d d d «       Œ5 dD ]  }t        j                  |d¬«      |k(  rŒJ ‚ ddddd d dœ}|j                  «       D ]!  \  }}t        j                  |d¬«      |k(  rŒ!J ‚ dD ]  }t        j                  |d¬«      |k(  rŒJ ‚ ddddddœ}|j                  «       D ]  \  }}t        j                  |d¬«      |k(   Œ! 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   �ŒTxY w# 1 sw Y   �Œ?xY w)Nzdoes not accept 0D axisr'   rP   )rB   )r   rB   )rB   r   zmust be an integer)©r!   r!   ©r!   rD   )r   rG   zduplicate value in axis)r!   rG   ©r   r!   rY   zout of ranger!   )Úndim©r   rD   )r   rD   N©r   )rD   )rA   éûÿÿÿ)r   rA   )r^   r   r:   )r]   r8   Nr]   r8   )rG   rD   r   r!   rZ   r\   )rH   ©r6   ©r:   r6   )r:   r!   )r   r6   é   rH   r_   )r6   r   )r3   éýÿÿÿr:   r6   )r6   r3   )r,   r-   r   ÚvalidateaxisÚ	TypeErrorÚitems)r   ÚaxÚaxisÚaxis_2dÚcanonical_axisÚaxis_4ds         r   Útest_validateaxisz!TestSparseUtils.test_validateaxism   s(  € Üœ:Ð-FÖGÜ× Ñ  Ô$÷ Hó ,ˆBÜœyÐ0DÖEÜ×$Ñ$ RÔ(÷ FÐEð ,ó -ˆBÜœzÐ1JÖKÜ×$Ñ$ RÔ(÷ LÐKð -ó
 +ˆBÜœz°Ö@Ü×$Ñ$ R¨aÕ0÷ AÐ@ð +ô œ:Ð-FÖGÜ× Ñ  ¨qÕ1÷ Hó /ˆDÜ×'Ñ'¨°1Ô5Ñ=Ð=Ð=ð /ó +ˆBÜœz°Ö@Ü×$Ñ$ R¨aÕ0÷ AÐ@ð +ó 'ˆDÜ×'Ñ'¨°1Ô5¸Ó=Ð=Ð=ð 'à ¨$°4ÀÐPTÑUˆØ$+§M¡M¦OÑ ˆD�.Ü×'Ñ'¨°1Ô5¸ÓGÐGÐGð %4ó 9ˆDÜ×'Ñ'¨°1Ô5¸Ó=Ð=Ð=ð 9à ¨$°4À&ÑIˆØ$+§M¡M¦OÑ ˆD�.Ü× Ñ  ¨AÔ.°.Ó@ñ %4÷E HÑGú÷ FÑEú÷ LÑKú÷
 AÑ@úçGÑGú÷ AÑ@úsG   ’HÁH(Á<H5Â2IÃ%IÄ;IÈH%È(H2	È5H?	ÉI	ÉIÉI&	Ú	containerc                 óâ	  — t        j                  t        j                  t         j                  «      j                  «      } |d|f«      }|j                  «       }|j                  j                  t         j                  «      |_        |j                  j                  t         j                  «      |_        t        d|dz   f«      }|j                  «       }|j                  j                  t         j                  «      |_        |j                  j                  t         j                  «      |_        |j                  «       }t        j                  |dz   gt         j                  ¬«      |_        t        j                  ddgt         j                  ¬«      |_        t        j                  dg«      |_        |j                  j                  |j                  j                  ft         j                  t         j                  fk(  sJ ‚|j                  j                  |j                  j                  ft         j                  t         j                  fk(  sJ ‚|j                  j                  |j                  j                  ft         j                  t         j                  fk(  sJ ‚|j                  j                  |j                  j                  ft         j                  t         j                  fk(  sJ ‚|j                  j                  |j                  j                  ft         j                  t         j                  fk(  sJ ‚||||fD �]  }t        j                  |t         j                  «      \  }	}
|	j                  |
j                  ft         j                  t         j                  fk(  sJ ‚t        j                  |t         j                  «      \  }	}
|	j                  |
j                  ft         j                  t         j                  fk(  sJ ‚t        j                  ||j                  j                  «      \  }	}
|	|j                  u sJ ‚|
|j                  u r�ŒJ ‚ t        t         «      5  t        j                  |t         j                  «       d d d «       t        j                  |t         j                  «      \  }	}
|	|j                  u sJ ‚|
|j                  u sJ ‚y # 1 sw Y   ŒQxY w)Nr!   r#   r   çš™™™™™@)r   Úint64Úiinfor   ÚmaxÚcopyÚindicesÚastypeÚindptrr   r*   Údatar$   r   Úsafely_cast_index_arraysr,   r-   )r   rl   ÚimaxÚA32ÚB32ÚA64ÚB64ÚC64r/   rs   ru   s              r   Ú!test_safely_cast_index_compressedz1TestSparseUtils.test_safely_cast_index_compressed“   s`  € ô
 �x‰xœŸ™¤§¡Ó*×.Ñ.Ó/ˆñ ˜˜D˜	Ó"ˆà�h‰h‹jˆØ—k‘k×(Ñ(¬¯©Ó2ˆŒØ—Z‘Z×&Ñ&¤r§x¡xÓ0ˆŒ
ô ˜˜D 1™H˜Ó&ˆà�h‰h‹jˆØ—k‘k×(Ñ(¬¯©Ó2ˆŒØ—Z‘Z×&Ñ&¤r§x¡xÓ0ˆŒ
à�h‰h‹jˆÜ—h‘h  q¡˜z´·±Ô:ˆŒÜ—X‘X˜q !˜f¬B¯H©HÔ5ˆŒ
Ü—8‘8˜S˜E“?ˆŒà—‘×!Ñ! 3§:¡:×#3Ñ#3Ð4¼¿¹Ä2Ç8Á8Ð8LÒLÐLÐLØ—‘×!Ñ! 3§:¡:×#3Ñ#3Ð4¼¿¹Ä2Ç8Á8Ð8LÒLÐLÐLØ—‘×!Ñ! 3§:¡:×#3Ñ#3Ð4¼¿¹Ä2Ç8Á8Ð8LÒLÐLÐLØ—‘×!Ñ! 3§:¡:×#3Ñ#3Ð4¼¿¹Ä2Ç8Á8Ð8LÒLÐLÐLØ—‘×!Ñ! 3§:¡:×#3Ñ#3Ð4¼¿¹Ä2Ç8Á8Ð8LÒLÐLÐLà�s˜C Ô%ˆAÜ%×>Ñ>¸qÄ"Ç(Á(ÓK‰OˆG�VØ—M‘M 6§<¡<Ð0´R·X±X¼r¿x¹xÐ4HÒHÐHÐHÜ%×>Ñ>¸qÄ"Ç(Á(ÓK‰OˆG�VØ—M‘M 6§<¡<Ð0´R·X±X¼r¿x¹xÐ4HÒHÐHÐHä%×>Ñ>¸qÀ!Ç)Á)Ç/Á/ÓR‰OˆG�VØ˜aŸi™iÑ'Ð'Ð'Ø˜QŸX™XÓ%Ð%Ð%ð &ô œ:Õ&Ü×,Ñ,¨S´"·(±(Ô;÷ 'ä!×:Ñ:¸3ÄÇÁÓI‰ˆ�Ø˜#Ÿ+™+Ñ%Ð%Ð%Ø˜Ÿ™Ñ#Ð#Ñ#÷	 'Ð&ús   Ñ0%S%Ó%S.c                 ó°  — t        j                  t        j                  t         j                  «      j                  «      }t        d|f«      }|j                  «       }t        d„ |j                  D «       «      |_        t        d|dz   f«      }|j                  «       }t        d„ |j                  D «       «      |_        |j                  «       }t        j                  |dz   g«      t        j                  dg«      f|_        t        j                  dg«      |_
        |j                  d   j                  t         j                  k(  sJ ‚|j                  d   j                  t         j                  k(  sJ ‚|j                  d   j                  t         j                  k(  sJ ‚|j                  d   j                  t         j                  k(  sJ ‚|j                  d   j                  t         j                  k(  sJ ‚||||fD ]Ñ  }t        j                  |t         j                  «      }|d   j                  t         j                  k(  sJ ‚t        j                  |t         j                  «      }|d   j                  t         j                  k(  sJ ‚t        j                  ||j                  d   j                  «      }|d   |j                  d   u rŒÑJ ‚ t        t        «      5  t        j                  |t         j                  «       d d d «       t        j                  |t         j                  «      }|d   |j                  d   u sJ ‚y # 1 sw Y   ŒDxY w)Nr!   c              3   óZ   K  — | ]#  }|j                  t        j                  «      –— Œ% y ­w©N)rt   r   ro   ©Ú.0Úcos     r   Ú	<genexpr>z=TestSparseUtils.test_safely_cast_index_coo.<locals>.<genexpr>Í   ó   è ø€ ÐD¹°2˜2Ÿ9™9¤R§X¡X×.¹ùó   ‚)+c              3   óZ   K  — | ]#  }|j                  t        j                  «      –— Œ% y ­wr�   )rt   r   r   r‚   s     r   r…   z=TestSparseUtils.test_safely_cast_index_coo.<locals>.<genexpr>Ô   r†   r‡   r   rn   )r   ro   rp   r   rq   r	   rr   ÚtupleÚcoordsr*   rv   r$   r   rw   r,   r-   )	r   rx   ry   rz   r{   r|   r}   r/   rŠ   s	            r   Útest_safely_cast_index_cooz*TestSparseUtils.test_safely_cast_index_cooÄ   su  € ô �x‰xœŸ™¤§¡Ó*×.Ñ.Ó/ˆô ˜˜D˜	Ó"ˆà�h‰h‹jˆÜÑD¸¿ºÓDÓDˆŒ
ô ˜˜D 1™H˜Ó&ˆà�h‰h‹jˆÜÑD¸¿ºÓDÓDˆŒ
à�h‰h‹jˆÜ—h‘h  q¡˜zÓ*¬B¯H©H°a°S«MÐ:ˆŒ
Ü—8‘8˜S˜E“?ˆŒà�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.Ø�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.Ø�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.Ø�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.Ø�z‰z˜!‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.à�s˜C Ó%ˆAÜ×5Ñ5°a¼¿¹ÓBˆFØ˜!‘9—?‘?¤b§h¡hÒ.Ð.Ð.Ü×5Ñ5°a¼¿¹ÓBˆFØ˜!‘9—?‘?¤b§h¡hÒ.Ð.Ð.ä×5Ñ5°a¸¿¹À!¹×9JÑ9JÓKˆFØ˜!‘9 §¡¨¡Ò+Ð+Ð+ð &ô œ:Õ&Ü×,Ñ,¨S´"·(±(Ô;÷ 'ä×1Ñ1°#´r·x±xÓ@ˆØ�a‰y˜CŸJ™J q™MÑ)Ð)Ñ)÷ 'Ð&ús   Ë$%MÍMc                 óp  — t        j                  t        j                  t         j                  «      j                  «      }t        d|f«      }|j                  «       }|j                  j                  t         j                  «      |_        t        d|dz   f«      }|j                  «       }|j                  j                  t         j                  «      |_        |j                  «       }t        j                  |dz   g«      |_        t        j                  dg«      |_
        |j                  j                  t         j                  k(  sJ ‚|j                  j                  t         j                  k(  sJ ‚|j                  j                  t         j                  k(  sJ ‚|j                  j                  t         j                  k(  sJ ‚|j                  j                  t         j                  k(  sJ ‚||||fD ]Â  }t        j                  |t         j                  «      }|j                  t         j                  k(  sJ ‚t        j                  |t         j                  «      }|j                  t         j                  k(  sJ ‚t        j                  ||j                  j                  «      }||j                  u rŒÂJ ‚ t        t        «      5  t        j                  |t         j                  «       d d d «       t        j                  |t         j                  «      }||j                  u sJ ‚y # 1 sw Y   Œ>xY w)Nr!   r:   rn   )r   ro   rp   r   rq   r   rr   Úoffsetsrt   r*   rv   r$   r   rw   r,   r-   )	r   rx   ry   rz   r{   r|   r}   r/   r�   s	            r   Útest_safely_cast_index_diaz*TestSparseUtils.test_safely_cast_index_diaî   s<  € ô �x‰xœŸ™¤§¡Ó*×.Ñ.Ó/ˆô ˜˜D˜	Ó"ˆà�h‰h‹jˆØ—k‘k×(Ñ(¬¯©Ó2ˆŒô ˜˜D 1™H˜Ó&ˆà�h‰h‹jˆØ—k‘k×(Ñ(¬¯©Ó2ˆŒà�h‰h‹jˆÜ—h‘h  q¡˜zÓ*ˆŒÜ—8‘8˜S˜E“?ˆŒà�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,Ø�{‰{× Ñ ¤B§H¡HÒ,Ð,Ð,à�s˜C Ó%ˆAÜ×6Ñ6°q¼"¿(¹(ÓCˆGØ—=‘=¤B§H¡HÒ,Ð,Ð,Ü×6Ñ6°q¼"¿(¹(ÓCˆGØ—=‘=¤B§H¡HÒ,Ð,Ð,ä×6Ñ6°q¸!¿)¹)¿/¹/ÓJˆGØ˜aŸi™iÒ'Ð'Ð'ð &ô œ:Õ&Ü×,Ñ,¨S´"·(±(Ô;÷ 'ä×2Ñ2°3¼¿¹ÓAˆØ˜#Ÿ+™+Ñ%Ð%Ñ%÷ 'Ð&ús   Ë
%L,Ì,L5c           	      ó*  — t        j                  t        j                  t         j                  «      j                  «      }|dz   }t        j
                  dd¬«      }t        j
                  dd¬«      }t        t        j                  t        j                  ||fd¬«      «      t        j                  d«      «       ||d<   t        t        j                  t        j                  ||fd¬«      «      t        j                  d«      «       ||d<   t        t        j                  t        j                  ||fd¬«      «      t        j                  d	«      «       t        j
                  d
d¬«      }t        j
                  d
d¬«      }t        t        j                  t        j                  ||f«      «      t        j                  d	«      «       t        j
                  dd¬«      }t        j
                  dd¬«      }t        t        j                  t        j                  ||f|d¬«      «      t        j                  d	«      «       ||d<   t        t        j                  t        j                  ||f|¬«      «      t        j                  d	«      «       y )Nr!   éZ   Úuint32r#   T)Úcheck_contentsr   rD   ro   éY   é   )Úmaxvalr’   )r•   )
r   ro   rp   r   rq   Úonesr   r$   r   Úget_index_dtype)r   rx   Útoo_bigÚa1Úa2s        r   Útest_get_index_dtypez$TestSparseUtils.test_get_index_dtype  sà  € Ü�x‰xœŸ™¤§¡Ó*×.Ñ.Ó/ˆØ˜‘(ˆô �W‰W�R˜xÔ(ˆÜ�W‰W�R˜xÔ(ˆÜÜ�H‰H”W×,Ñ,¨b°"¨XÀdÔKÓLÜ�H‰H�WÓô	
ð ˆˆ2‰ÜÜ�H‰H”W×,Ñ,¨b°"¨XÀdÔKÓLÜ�H‰H�WÓô	
ð ˆˆ2‰ÜÜ�H‰H”W×,Ñ,¨b°"¨XÀdÔKÓLÜ�H‰H�WÓô	
ô �W‰W�R˜xÔ(ˆÜ�W‰W�R˜xÔ(ˆÜÜ�H‰H”W×,Ñ,¨b°"¨XÓ6Ó7Ü�H‰H�WÓô	
ô �W‰W�R˜xÔ(ˆÜ�W‰W�R˜xÔ(ˆÜÜ�H‰H”W×,Ñ,Ø�R� ¸ôó ô �H‰H�WÓô		
ð ˆˆ2‰ÜÜ�H‰H”W×,Ñ,¨b°"¨X¸gÔFÓGÜ�H‰H�WÓõ	
r   zinput_shapes,target_shape)©é   rA   r!   ra   r!   r!   ©r!   ì        ©rŸ   r!   )r�   rA   r!   ra   rŸ   rŸ   )rœ   rž   )r�   rA   r!   ra   r!   rŸ   )rž   r    )rŸ   rŸ   rC   rH   rP   ©é   r9   rX   )r6   ra   ))r�   r¢   ©rA   r�   r!   r¡   )rA   r!   r¢   )rA   r�   r¢   r£   )r!   r6   ©r6   r!   )r6   r6   )r!   r   )r   r   rZ   r]   r8   r_   r:   ©r6   r:   é    éd   c                 ó<   — t        t        j                  |Ž |«       y r�   )r   r   Úbroadcast_shapes)r   Úinput_shapesÚtarget_shapes      r   Útest_broadcast_shapes_successesz/TestSparseUtils.test_broadcast_shapes_successesT  s   € ôL 	”W×-Ñ-¨|Ð<¸lÕKr   rª   ©ra   r`   )r_   r_   r­   )r:   rA   )r6   rA   )r:   ra   )r!   r6   ra   )r:   r6   r6   )r9   r¤   r¥   )é
   rA   c                 ót   — t        t        d¬«      5  t        j                  |Ž  d d d «       y # 1 sw Y   y xY w)Nzcannot be broadcastr'   )r,   r-   r   r©   )r   rª   s     r   Útest_broadcast_shapes_failuresz.TestSparseUtils.test_broadcast_shapes_failures}  s*   € ô œ:Ð-BÖCÜ×$Ñ$ lÑ3÷ D×CÑCús   ’.®7c                 óJ   — t        j                  dgd«      }t        |d«       y )N)r®   rD   )iÿÿ  iþÿ )r®   iÍÌ23)r   Úcheck_shaper   )r   Ú	new_shapes     r   Útest_check_shape_overflowz)TestSparseUtils.test_check_shape_overflowŒ  s    € Ü×'Ñ'¨¨
°OÓDˆ	Ü�Y Õ0r   c                 ó®  — g d¢g}t        j                  |«      }t        t        j                  |«      t         j                  «      sJ ‚t        t        j                  |«      t         j                  «      sJ ‚t        j                  |«      }d|d d …d d …f<   t        ||«       t        j                  |d¬«      }d|d d …d d …f<   t        |g d¢g«       y )NrL   é{   F)rr   ©r¶   r¶   r¶   )r   r*   Ú
isinstancer   r
   r   ©r   r&   ÚbÚcs       r   Útest_matrixzTestSparseUtils.test_matrix�  sŸ   € ÚˆKˆÜ�H‰H�Q‹Kˆäœ'Ÿ.™.¨Ó+¬R¯Y©YÔ7Ð7Ð7Üœ'Ÿ.™.¨Ó+¬R¯Y©YÔ7Ð7Ð7ä�N‰N˜1ÓˆØˆŠ!ŠQˆ$‰Ü�Q˜Ôä�N‰N˜1 5Ô)ˆØˆŠ!ŠQˆ$‰Ü�QšÐ)Õ*r   c                 óR  — g d¢g}t        j                  |«      }t        t        j                  |«      t         j
                  «      sJ ‚t        t        j                  |«      t         j
                  «      sJ ‚t        j                  |«      }d|d d …d d …f<   t        |g d¢g«       y )NrL   r¶   r·   )r   r*   r¸   r   Úasmatrixr
   r   r¹   s       r   Útest_asmatrixzTestSparseUtils.test_asmatrixŸ  s~   € ÚˆKˆÜ�H‰H�Q‹Kˆäœ'×*Ñ*¨1Ó-¬r¯y©yÔ9Ð9Ð9Üœ'×*Ñ*¨1Ó-¬r¯y©yÔ9Ð9Ð9ä×Ñ˜QÓˆØˆŠ!ŠQˆ$‰Ü�QšÐ)Õ*r   N)Ú__name__Ú
__module__Ú__qualname__r   r0   r<   r?   rJ   rN   rS   rV   rk   ÚpytestÚmarkÚparametrizer   r   r~   r‹   rŽ   r›   r¬   r°   r´   r¼   r¿   rP   r   r   r   r      sª  „ ò;ò7ò$:ò7òIò(3ò1ò9ò$AðL ‡[�[×Ñ˜[¨9°iÐ*@ÓAñ.$ó Bð.$ò`(*òT(&òT7
ðx ‡[�[×ÑÐ8ð $;Ø	5Ð7QÐRð$;à	)Ð+AÐBð$;ð 
" >Ð2ð$;ò 
�DÐð	$;ð
 
ˆRˆð$;ð ˆˆrˆ
ð$;ð ˆ�ˆð$;ð �$ˆ˜Ð ð$;ð �ˆ˜Ð ð$;ð ˆ�6Ðð$;ð �&Ð	˜6Ð"ð$;ò 
.¨yÐ9ð$;ð ˆ�iÐ ð$;ð �&Ð	˜6Ð"ð$;ð �&Ð	˜6Ð"ð$;ð  �&Ð	˜6Ð"ð!$;ð" �&Ð	˜6Ð"ð#$;ð$ �&Ð	˜6Ð"ð%$;ð& �&Ð	˜6Ð"ð'$;ð( �&Ð	˜6Ð"ð)$;ð* ˆdˆ�TÐð+$;ð, �ˆ˜Ð ð-$;ð. �ˆ˜Ð ð/$;ð0 �ˆ˜Ð ð1$;ð2 ˆfˆ�vÐð3$;ð4 �$ˆ˜Ð ð5$;ð6 �ˆ˜Ð ð7$;ð8 �ˆ˜Ð ð9$;ð: ˆfˆ�vÐð;$;ð< ˆfˆ�vÐð=$;ð> �ˆ�tÐð?$;ð@ ˆVˆ�fÐðA$;ðB ˆ�B‰˜ÐðC$;ðD ˆ�C‰˜Ð ðE$;ðF ˆ�"‰�dÐðG$;ó $ñJLóK$ðJLð ‡[�[×Ñ˜^Ø	ˆtˆØ	�ˆØ	
ˆFˆÚØ	�ÐØ	�ÐØ	�IÐÚ)Ø	ˆ�‰�t�f˜r‘kÑ!ð
.ó 
ñ4ó
ð4ò1ò+ó	+r   r   )Ú__doc__Únumpyr   Únumpy.testingr   rÃ   r   r,   Úscipy.sparser   r   r   r   r   r	   Úscipy.sparse._sputilsr
   r   rP   r   r   Ú<module>rË      s)   ðÙ -ã Ý &Û Ý *ß XÕ XÝ (÷]+ò ]+r   