Ë
    âQ(hë:  ã                   ó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    ú]/var/www/skyplay_api_hub/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ô
ñ 	7ô ×Ñ˜T¬2¯:©:Õ6÷		7ð 	7÷	"ð 	"ú÷	7ð 	7ú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        t        j                  d«       t        t        t        j                  d«       t        t        t        j                  d«       dD ]  }t        j                  |«       Œ y )N©r   r!   rB   r6   )rG   rD   r   r!   N)r,   Ú	TypeErrorr   Úvalidateaxisr-   )r   Úaxiss     r   Útest_validateaxisz!TestSparseUtils.test_validateaxism   sW   € Ü”i¤×!5Ñ!5°vÔ>Ü”i¤×!5Ñ!5°sÔ;Ü”j¤'×"6Ñ"6¸Ô:ð )ò 	'ˆDÜ× Ñ  Õ&ñ	'r   Ú	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   r]   ÚimaxÚA32ÚB32ÚA64ÚB64ÚC64r/   rd   rf   s              r   Ú!test_safely_cast_index_compressedz1TestSparseUtils.test_safely_cast_index_compressedv   sl  € ô
 �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)re   r   r`   ©Ú.0Úcos     r   ú	<genexpr>z=TestSparseUtils.test_safely_cast_index_coo.<locals>.<genexpr>°   ó   è ø€ ÒD°2˜2Ÿ9™9¤R§X¡X×.ÑDùó   ‚)+c              3   óZ   K  — | ]#  }|j                  t        j                  «      –— Œ% y ­wrr   )re   r   r   rs   s     r   rv   z=TestSparseUtils.test_safely_cast_index_coo.<locals>.<genexpr>·   rw   rx   r   r_   )r   r`   ra   r   rb   r	   rc   ÚtupleÚcoordsr*   rg   r$   r   rh   r,   r-   )	r   ri   rj   rk   rl   rm   rn   r/   r{   s	            r   Útest_safely_cast_index_cooz*TestSparseUtils.test_safely_cast_index_coo§   s�  € ô �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:   r_   )r   r`   ra   r   rb   r   rc   Úoffsetsre   r*   rg   r$   r   rh   r,   r-   )	r   ri   rj   rk   rl   rm   rn   r/   r~   s	            r   Útest_safely_cast_index_diaz*TestSparseUtils.test_safely_cast_index_diaÑ   sH  € ô �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   r`   éY   é   )Úmaxvalrƒ   )r†   )
r   r`   ra   r   rb   Úonesr   r$   r   Úget_index_dtype)r   ri   Ú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!   é   r!   r!   ©r!   ì        ©r‘   r!   )rŽ   rA   r!   r�   r‘   r‘   )r�   r�   )rŽ   rA   r!   r�   r!   r‘   )r�   r’   )r‘   r‘   rC   rH   rP   ©é   r9   )r!   r!   )r6   r�   ))rŽ   r”   ©rA   rŽ   r!   r“   )rA   r!   r”   )rA   rŽ   r”   r•   )r!   r6   ©r6   r!   )r6   r6   )r!   r   )r   r   rX   )r   r8   ©r6   r:   ©r6   r:   é    éd   c                 ó<   — t        t        j                  |Ž |«       y rr   )r   r   Úbroadcast_shapes)r   Úinput_shapesÚtarget_shapes      r   Útest_broadcast_shapes_successesz/TestSparseUtils.test_broadcast_shapes_successes7  s   € ôL 	”W×-Ñ-¨|Ð<¸lÕKr   r�   ©r�   )r:   r6   )r—   r—   r    )r:   rA   )r6   rA   )r:   r�   )r!   r6   r�   )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`  s2   € ô œ:Ð-BÔCñ 	4Ü×$Ñ$ lÑ3÷	4÷ 	4ñ 	4ú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_overflowo  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)rc   ©r©   r©   r©   )r   r*   Ú
isinstancer   r
   r   ©r   r&   ÚbÚcs       r   Útest_matrixzTestSparseUtils.test_matrixs  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   r\   ÚpytestÚmarkÚparametrizer   r   ro   r|   r   rŒ   rŸ   r£   r§   r¯   r²   rP   r   r   r   r      s¨  „ ò;ò7ò$:ò7òIò(3ò1ò9ò'ð ‡[�[×Ñ˜[¨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   