§
    fŠtjf@  ã                   ót   — 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dS )	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                             d
eeg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Ze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                             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d<S )=Ú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        ¦  «         d S )NÚintcÚint32Úfloat32ÚboolÚiÚd)	r   ÚsputilsÚupcastÚnpr   Úfloat64ÚcomplexÚfloatÚ
complex128©Úselfs    ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_sputils.pyÚtest_upcastzTestSparseUtils.test_upcast   s€   € Ý•W”^ FÑ+Ô+­R¬WÑ5Ô5Ð5Ý•W”^ G¨YÑ7Ô7½¼ÑDÔDÐDÝ•W”^ F­GµUÑ;Ô;½R¼]ÑKÔKÐKÝ•W”^ C¨Ñ-Ô-­r¬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 ¦  «         n# 1 swxY w Y   t          t          d	¬¦  «        5  t          j        d t           j	        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
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   sx  € ÝŒH�a�S Ð'Ñ'Ô'ˆå•WÔ% dµEÐ:Ñ:Ô:½EÑBÔBÐBÝ•WÔ% d¨aÐ0Ñ0Ô0µ"´'Ñ:Ô:Ð:åÝØBð
ñ 
ô 
ð 	"ð 	"õ Ô˜SÑ!Ô!Ð!ð		"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"õ ÝØCð
ñ 
ô 
ð 	7ð 	7õ Ô˜T­2¬:Ð6Ñ6Ô6Ð6ð		7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s$   Â
B+Â+B/Â2B/Ã!C:Ã:C>ÄC>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¦  «         d S )Nç      @Téüÿÿÿç      @ù      ð?      @é   Ú16F©r!   ©r!   é   )r   r   Úisscalarliker   r*   r   s    r   Útest_isscalarlikez!TestSparseUtils.test_isscalarlike%   s,  € Ý•WÔ)¨#Ñ.Ô.°Ñ5Ô5Ð5Ý•WÔ)¨"Ñ-Ô-¨tÑ4Ô4Ð4Ý•WÔ)¨#Ñ.Ô.°Ñ5Ô5Ð5Ý•WÔ)¨&Ñ1Ô1°4Ñ8Ô8Ð8Ý•WÔ)­"¬(°1©+¬+Ñ6Ô6¸Ñ=Ô=Ð=Ý•WÔ)¨$Ñ/Ô/°Ñ6Ô6Ð6å•WÔ)­"¬(°A°3©-¬-Ñ8Ô8¸%Ñ@Ô@Ð@Ý•WÔ)¨A¨3¨%Ñ0Ô0°%Ñ8Ô8Ð8Ý•WÔ)¨$Ñ/Ô/°Ñ7Ô7Ð7Ý•WÔ)¨&Ñ1Ô1°5Ñ9Ô9Ð9Ð9Ð9r   c                 ó°  — 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 ¦  «         n# 1 swxY w Y   t          t          j        d¦  «        d¦  «         t          t          j        d	¦  «        d¦  «         t          t          j        d
¦  «        d¦  «         t          t          j        d¦  «        d¦  «         d S )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Ô1Ð1Ý•WÔ&¥r¤x°¡{¤{Ñ3Ô3°TÑ:Ô:Ð:Ý•WÔ&¥r¤x°°¡}¤}Ñ5Ô5°uÑ=Ô=Ð=ÝÝØHð
ñ 
ô 
ð 	#ð 	#õ Ô˜cÑ"Ô"Ð"ð		#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#õ 	•WÔ& sÑ+Ô+¨UÑ3Ô3Ð3Ý•WÔ& vÑ.Ô.°Ñ6Ô6Ð6Ý•WÔ& tÑ,Ô,¨eÑ4Ô4Ð4Ý•WÔ& vÑ.Ô.°Ñ6Ô6Ð6Ð6Ð6s   Â"CÃCÃ
Cc                 ó8  — 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¦  «         d S )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   sÕ  € Ý•W”_ VÑ,Ô,¨dÑ3Ô3Ð3Ý•W”_ VÑ,Ô,¨dÑ3Ô3Ð3å•W”_ XÑ.Ô.°Ñ6Ô6Ð6Ý•W”_ YÑ/Ô/°Ñ7Ô7Ð7Ý•W”_ q c¨1 XÑ.Ô.°Ñ6Ô6Ð6Ý•W”_ W°UÐ;Ñ;Ô;¸DÑAÔAÐAÝ•W”_ W°UÐ;Ñ;Ô;¸DÑAÔAÐAÝ•W”_ W°TÐ:Ñ:Ô:¸5ÑAÔAÐAÝ•W”_ W°TÐ:Ñ:Ô:¸5ÑAÔAÐAå•W”_ X¸Ð?Ñ?Ô?ÀÑGÔGÐGÝ•W”_ q c¨1 X¸Ð?Ñ?Ô?ÀÑGÔGÐGÝ•W”_ Z¸ÀvÐNÑNÔNØñ	ô 	ð 	å•W”_ T°FÐ;Ñ;Ô;¸TÑBÔBÐBÝ•W”_ W°vÐ>Ñ>Ô>ÀÑEÔEÐEÝ•W”_ Y¸Ð@Ñ@Ô@À%ÑHÔHÐHÐHÐ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¦  «         d S )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Ô4Ð4Ý•WÔ'¨	Ñ2Ô2°DÑ9Ô9Ð9Ý•WÔ'¨¨Ñ,Ô,¨dÑ3Ô3Ð3Ý•WÔ'¨	¨	¨	Ñ2Ô2°DÑ9Ô9Ð9Ý•WÔ'­¬°°°Ñ(;Ô(;Ñ<Ô<¸dÑCÔCÐCå•WÔ'­¬°1°#¸°s¸Q¸C°Ñ(AÔ(AÑBÔBÀEÑJÔJÐJÝ•WÔ'¨Ñ*Ô*¨EÑ2Ô2Ð2Ð2Ð2r   c                 óH  — 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¦  «         d S )N)© Tr!   r:   r6   F)r   r   Úismatrixr   Úaranger   s    r   Útest_ismatrixzTestSparseUtils.test_ismatrix_   sì   € Ý•WÔ% eÑ,Ô,¨dÑ3Ô3Ð3Ý•WÔ%¨ s¨Q¨C jÑ1Ô1°4Ñ8Ô8Ð8Ý•WÔ%¥b¤i°¡l¤l°4Ô&8Ñ9Ô9¸4Ñ@Ô@Ð@å•WÔ% q¨! fÑ-Ô-¨uÑ5Ô5Ð5Ý•WÔ%¥b¤i°¡l¤lÑ3Ô3°UÑ;Ô;Ð;Ý•WÔ%¨¨ u gÑ.Ô.°Ñ6Ô6Ð6Ý•WÔ% aÑ(Ô(¨%Ñ0Ô0Ð0Ð0Ð0r   c                 óÐ   — t          t          j        t          j        dg¦  «        ¦  «        d¦  «         t          t          j        t          dg¦  «        ¦  «        d¦  «         d S )Nr!   T)r   r   Úisdenser   r*   r
   r   s    r   Útest_isdensezTestSparseUtils.test_isdensei   sN   € Ý•W”_¥R¤X¨q¨c¡]¤]Ñ3Ô3°TÑ:Ô:Ð:Ý•W”_¥V¨Q¨C¡[¤[Ñ1Ô1°4Ñ8Ô8Ð8Ð8Ð8r   c                 ó  — t          t          d¬¦  «        5  t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   dD ]D}t          t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒEdD ]D}t          t          d¬¦  «        5  t          j        |¦  «         d d d ¦  «         n# 1 swxY w Y   ŒEdD ]F}t          t          d	¬¦  «        5  t          j        |d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGt          t          d¬¦  «        5  t          j        dd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   dD ]}t          j        |d
¬¦  «        �J ‚ŒdD ]F}t          t          d	¬¦  «        5  t          j        |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGdD ]}t          j        |d¬¦  «        |k    sJ ‚Œddddd d dœ}|                     ¦   «         D ]!\  }}t          j        |d¬¦  «        |k    sJ ‚Œ"dD ]}t          j        |d¬¦  «        |k    sJ ‚Œddddddœ}|                     ¦   «         D ]\  }}t          j        |d¬¦  «        |k     Œ d S )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ÑGÔGð 	%ð 	%ÝÔ  Ñ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð ,ð 	)ð 	)ˆBÝ�yÐ0DÐEÑEÔEð )ð )ÝÔ$ RÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )øà,ð 	)ð 	)ˆBÝ�zÐ1JÐKÑKÔKð )ð )ÝÔ$ RÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )øð +ð 	1ð 	1ˆBÝ�z°Ð@Ñ@Ô@ð 1ð 1ÝÔ$ R¨aÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1øå�:Ð-FÐGÑGÔGð 	2ð 	2ÝÔ  ¨qÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð /ð 	>ð 	>ˆDÝÔ'¨°1Ð5Ñ5Ô5Ð=Ð=Ð=Ð=ð +ð 	1ð 	1ˆBÝ�z°Ð@Ñ@Ô@ð 1ð 1ÝÔ$ R¨aÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1øà&ð 	>ð 	>ˆDÝÔ'¨°1Ð5Ñ5Ô5¸Ò=Ð=Ð=Ð=Ð=Ø ¨$°4ÀÐPTÐUÐUˆØ$+§M¢M¡O¤Oð 	Hð 	HÑ ˆD�.ÝÔ'¨°1Ð5Ñ5Ô5¸ÒGÐGÐGÐGÐGð 9ð 	>ð 	>ˆDÝÔ'¨°1Ð5Ñ5Ô5¸Ò=Ð=Ð=Ð=Ð=Ø ¨$°4À&ÐIÐIˆØ$+§M¢M¡O¤Oð 	Að 	AÑ ˆD�.ÝÔ  ¨AÐ.Ñ.Ô.°.Ò@Ð@Ð@ð	Að 	Asf   —8¸<¿<ÁA>Á>B	ÂB	Â$CÃC		ÃC		Ã+DÄD	ÄD	Ä0EÅEÅEÆF8Æ8F<	Æ?F<	Ú	containerc                 ó  — t          j        t          j        t           j        ¦  «        j        ¦  «        } |d|f¦  «        }|                     ¦   «         }|j                             t           j        ¦  «        |_        |j                             t           j        ¦  «        |_        t          d|dz   f¦  «        }|                     ¦   «         }|j                             t           j        ¦  «        |_        |j                             t           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 sJ ‚ŒÓt          t           ¦  «        5  t          j        |t           j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |t           j        ¦  «        \  }	}
|	|j        u sJ ‚|
|j        u sJ ‚d S )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�œ¥¤Ñ*Ô*Ô.Ñ/Ô/ˆð ˆi˜˜D˜	Ñ"Ô"ˆà�hŠh‰jŒjˆØ”k×(Ò(­¬Ñ2Ô2ˆŒØ”Z×&Ò&¥r¤xÑ0Ô0ˆŒ
õ ˜˜D 1™H˜Ñ&Ô&ˆà�hŠh‰jŒjˆØ”k×(Ò(­¬Ñ2Ô2ˆŒØ”Z×&Ò&¥r¤xÑ0Ô0ˆŒ
à�hŠh‰jŒjˆÝ”h  q¡˜zµ´Ð:Ñ:Ô:ˆŒÝ”X˜q !˜f­B¬HÐ5Ñ5Ô5ˆŒ
Ý”8˜S˜E‘?”?ˆŒà”Ô! 3¤:Ô#3Ð4½¼Å2Ä8Ð8LÒLÐLÐLÐLØ”Ô! 3¤:Ô#3Ð4½¼Å2Ä8Ð8LÒLÐLÐLÐLØ”Ô! 3¤:Ô#3Ð4½¼Å2Ä8Ð8LÒLÐLÐLÐLØ”Ô! 3¤:Ô#3Ð4½¼Å2Ä8Ð8LÒLÐLÐLÐLØ”Ô! 3¤:Ô#3Ð4½¼Å2Ä8Ð8LÒLÐLÐLÐLà�s˜C Ð%ð 	&ð 	&ˆAÝ%Ô>¸qÅ"Ä(ÑKÔK‰OˆG�VØ”M 6¤<Ð0µR´X½r¼xÐ4HÒHÐHÐHÐHÝ%Ô>¸qÅ"Ä(ÑKÔK‰OˆG�VØ”M 6¤<Ð0µR´X½r¼xÐ4HÒHÐHÐHÐHå%Ô>¸qÀ!Ä)Ä/ÑRÔR‰OˆG�VØ˜aœiÐ'Ð'Ð'Ð'Ø˜QœXÐ%Ð%Ð%Ð%Ð%å�:Ñ&Ô&ð 	<ð 	<ÝÔ,¨Sµ"´(Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<å!Ô:¸3ÅÄÑIÔI‰ˆ�Ø˜#œ+Ð%Ð%Ð%Ð%Ø˜œÐ#Ð#Ð#Ð#Ð#Ð#s   Î N>Î>OÏOc                 ó&  — t          j        t          j        t           j        ¦  «        j        ¦  «        }t          d|f¦  «        }|                     ¦   «         }t          d„ |j        D ¦   «         ¦  «        |_        t          d|dz   f¦  «        }|                     ¦   «         }t          d„ |j        D ¦   «         ¦  «        |_        |                     ¦   «         }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 sJ ‚Œ·t          t          ¦  «        5  t          j        |t           j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |t           j        ¦  «        }|d         |j        d         u sJ ‚d S )Nr!   c              3   óT   K  — | ]#}|                      t          j        ¦  «        V — Œ$d S ©N)rt   r   ro   ©Ú.0Úcos     r   ú	<genexpr>z=TestSparseUtils.test_safely_cast_index_coo.<locals>.<genexpr>Í   ó0   è è € ÐDÐD°2˜2Ÿ9š9¥R¤XÑ.Ô.ÐDÐDÐDÐDÐDÐDr   c              3   óT   K  — | ]#}|                      t          j        ¦  «        V — Œ$d S 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Ä   sÎ  € õ Œx�œ¥¤Ñ*Ô*Ô.Ñ/Ô/ˆõ ˜˜D˜	Ñ"Ô"ˆà�hŠh‰jŒjˆÝÐDÐD¸¼ÐDÑDÔDÑDÔDˆŒ
õ ˜˜D 1™H˜Ñ&Ô&ˆà�hŠh‰jŒjˆÝÐDÐD¸¼ÐDÑDÔDÑDÔDˆŒ
à�hŠh‰jŒjˆÝ”h  q¡˜zÑ*Ô*­B¬H°a°S©M¬MÐ:ˆŒ
Ý”8˜S˜E‘?”?ˆŒàŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.à�s˜C Ð%ð 	,ð 	,ˆAÝÔ5°a½¼ÑBÔBˆFØ˜!”9”?¥b¤hÒ.Ð.Ð.Ð.ÝÔ5°a½¼ÑBÔBˆFØ˜!”9”?¥b¤hÒ.Ð.Ð.Ð.åÔ5°a¸¼À!¼Ô9JÑKÔKˆFØ˜!”9 ¤¨¤Ð+Ð+Ð+Ð+Ð+å�:Ñ&Ô&ð 	<ð 	<ÝÔ,¨Sµ"´(Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åÔ1°#µr´xÑ@Ô@ˆØ�aŒy˜CœJ qœMÐ)Ð)Ð)Ð)Ð)Ð)s   Ê$ KËKËKc                 ó„  — t          j        t          j        t           j        ¦  «        j        ¦  «        }t          d|f¦  «        }|                     ¦   «         }|j                             t           j        ¦  «        |_        t          d|dz   f¦  «        }|                     ¦   «         }|j                             t           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 sJ ‚Œ™t          t          ¦  «        5  t          j        |t           j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |t           j        ¦  «        }||j        u sJ ‚d S )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�œ¥¤Ñ*Ô*Ô.Ñ/Ô/ˆõ ˜˜D˜	Ñ"Ô"ˆà�hŠh‰jŒjˆØ”k×(Ò(­¬Ñ2Ô2ˆŒõ ˜˜D 1™H˜Ñ&Ô&ˆà�hŠh‰jŒjˆØ”k×(Ò(­¬Ñ2Ô2ˆŒà�hŠh‰jŒjˆÝ”h  q¡˜zÑ*Ô*ˆŒÝ”8˜S˜E‘?”?ˆŒàŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,ØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,ØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,ØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,ØŒ{Ô ¥B¤HÒ,Ð,Ð,Ð,à�s˜C Ð%ð 	(ð 	(ˆAÝÔ6°q½"¼(ÑCÔCˆGØ”=¥B¤HÒ,Ð,Ð,Ð,ÝÔ6°q½"¼(ÑCÔCˆGØ”=¥B¤HÒ,Ð,Ð,Ð,åÔ6°q¸!¼)¼/ÑJÔJˆGØ˜aœiÐ'Ð'Ð'Ð'Ð'å�:Ñ&Ô&ð 	<ð 	<ÝÔ,¨Sµ"´(Ñ;Ô;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<åÔ2°3½¼ÑAÔAˆØ˜#œ+Ð%Ð%Ð%Ð%Ð%Ð%s   É JÊJÊJ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	¦  «        ¦  «         d S )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�œ¥¤Ñ*Ô*Ô.Ñ/Ô/ˆØ˜‘(ˆõ ŒW�R˜xÐ(Ñ(Ô(ˆÝŒW�R˜xÐ(Ñ(Ô(ˆÝÝŒH•WÔ,¨b°"¨XÀdÐKÑKÔKÑLÔLÝŒH�WÑÔñ	
ô 	
ð 	
ð ˆˆ2‰ÝÝŒH•WÔ,¨b°"¨XÀdÐKÑKÔKÑLÔLÝŒH�WÑÔñ	
ô 	
ð 	
ð ˆˆ2‰ÝÝŒH•WÔ,¨b°"¨XÀdÐKÑKÔKÑLÔLÝŒH�WÑÔñ	
ô 	
ð 	
õ ŒW�R˜xÐ(Ñ(Ô(ˆÝŒW�R˜xÐ(Ñ(Ô(ˆÝÝŒH•WÔ,¨b°"¨XÑ6Ô6Ñ7Ô7ÝŒH�WÑÔñ	
ô 	
ð 	
õ ŒW�R˜xÐ(Ñ(Ô(ˆÝŒW�R˜xÐ(Ñ(Ô(ˆÝÝŒH•WÔ,Ø�R� ¸ðñ ô ñ ô õ ŒH�WÑÔñ		
ô 	
ð 	
ð ˆˆ2‰ÝÝŒH•WÔ,¨b°"¨X¸gÐFÑFÔFÑGÔGÝŒ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        |Ž |¦  «         d S r�   )r   r   Úbroadcast_shapes)r   Úinput_shapesÚtarget_shapes      r   Útest_broadcast_shapes_successesz/TestSparseUtils.test_broadcast_shapes_successesT  s#   € õL 	•WÔ-¨|Ð<¸lÑKÔKÐKÐKÐ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          d¬¦  «        5  t          j        |Ž  d d d ¦  «         d S # 1 swxY w Y   d S )Nzcannot be broadcastr'   )r,   r-   r   r¨   )r   r©   s     r   Útest_broadcast_shapes_failuresz.TestSparseUtils.test_broadcast_shapes_failures}  sŠ   € õ �:Ð-BÐCÑCÔCð 	4ð 	4ÝÔ$ lÐ3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   —3³7º7c                 óR   — t          j        dgd¦  «        }t          |d¦  «         d S )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ÔDˆ	Ý�Y Ñ0Ô0Ð0Ð0Ð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¦  «         d S )NrL   é{   F)rr   ©rµ   rµ   rµ   )r   r*   Ú
isinstancer   r
   r   ©r   r&   ÚbÚcs       r   Útest_matrixzTestSparseUtils.test_matrix�  sØ   € ØˆYˆYˆKˆÝŒH�Q‰KŒKˆå�'œ.¨Ñ+Ô+­R¬YÑ7Ô7Ð7Ð7Ð7Ý�'œ.¨Ñ+Ô+­R¬YÑ7Ô7Ð7Ð7Ð7åŒN˜1ÑÔˆØˆˆ!ˆ!ˆ!ˆQˆQˆQˆ$‰Ý�Q˜ÑÔÐåŒN˜1 5Ð)Ñ)Ô)ˆØˆˆ!ˆ!ˆ!ˆQˆQˆQˆ$‰Ý�Q˜˜˜Ð)Ñ*Ô*Ð*Ð*Ð*r   c                 óT  — 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¦  «         d S )NrL   rµ   r¶   )r   r*   r·   r   Úasmatrixr
   r   r¸   s       r   Útest_asmatrixzTestSparseUtils.test_asmatrixŸ  s¢   € ØˆYˆYˆKˆÝŒH�Q‰KŒKˆå�'Ô*¨1Ñ-Ô-­r¬yÑ9Ô9Ð9Ð9Ð9Ý�'Ô*¨1Ñ-Ô-­r¬yÑ9Ô9Ð9Ð9Ð9åÔ˜QÑÔˆØˆˆ!ˆ!ˆ!ˆQˆ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ð 7ð$:ð :ð :ð7ð 7ð 7ðIð Ið Ið(3ð 3ð 3ð1ð 1ð 1ð9ð 9ð 9ð$Að $Að $AðL „[×Ò˜[¨9°iÐ*@ÑAÔAð.$ð .$ñ BÔAð.$ð`(*ð (*ð (*ðT(&ð (&ð (&ðT7
ð 7
ð 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ð LñK$ô $ðJLð „[×Ò˜^Ø	ˆtˆØ	�ˆØ	
ˆFˆØÐÐØ	�ÐØ	�ÐØ	�IÐØ)Ð)Ð)Ø	ˆ�‰�t�f˜r‘kÑ!ð
.ñ 
ô 
ð4ð 4ñ
ô 
ð4ð1ð 1ð 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Ð XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ (Ð (Ð (Ð (Ð (Ð (ð]+ð ]+ð ]+ð ]+ð ]+ñ ]+ô ]+ð ]+ð ]+ð ]+r   