§
    ¢éUg m  ã                   ó¨  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZm	Z	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Zd dlZd dlmc mZ ddgZ ej        dej        j        efd	¬
¦  «        d„ ¦   «         Z G d„ d¦  «        Z G d„ de¦  «        ZdZdZ dZ!dZ"dZ#dZ$dZ%dZ& G d„ d¦  «        Z'dZ(dZ)dZ*dZ+dZ,dZ- G d „ d!¦  «        Z.d"„ Z/d#„ Z0d$„ Z1dS )%é    )ÚmkdtempN)ÚarrayÚ	transposeÚpi)Úassert_equalÚassert_allcloseÚassert_array_equalÚassert_array_almost_equal)Úraises)ÚintegerÚint)úunsigned-integerÚuintÚmoduleT)ÚscopeÚparamsÚautousec                 óN   — | j         j        a| j         j        a| j         j        ad S ©N)ÚparamÚmminfoÚmmreadÚmmwrite)Úrequests    úW/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/io/tests/test_mmio.pyÚimplementationsr      s&   € ð
 Œ]Ô!€FØŒ]Ô!€FØŒmÔ#€G€G€Gó    c                   ód  — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    de
¦  «        d„ ¦   «         Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd	„ Zej         	                    de
¦  «        d
„ ¦   «         Zej         	                    de
¦  «        d„ ¦   «         Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             d¦  «        d„ ¦   «         Zd„ Zd„ ZdS )ÚTestMMIOArrayc                 ó€   — t          ¦   «         | _        t          j                             | j        d¦  «        | _        d S ©Nztestfile.mtx©r   ÚtmpdirÚosÚpathÚjoinÚfn©Úselfs    r   Úsetup_methodzTestMMIOArray.setup_method#   ó*   € Ý‘i”iˆŒÝ”'—,’,˜tœ{¨NÑ;Ô;ˆŒˆˆr   c                 ó8   — t          j        | j        ¦  «         d S r   ©ÚshutilÚrmtreer#   r(   s    r   Úteardown_methodzTestMMIOArray.teardown_method'   ó   € ÝŒ�d”kÑ"Ô"Ð"Ð"Ð"r   c                 ó¼   — t          | j        |¦  «         t          t          | j        ¦  «        |¦  «         t	          | j        ¦  «        }t          ||¦  «         d S r   )r   r'   r   r   r   r
   ©r)   ÚaÚinfoÚbs       r   ÚcheckzTestMMIOArray.check*   sO   € Ý�”˜ÑÔÐÝ•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒOˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r   c                 ó¼   — t          | j        |¦  «         t          t          | j        ¦  «        |¦  «         t	          | j        ¦  «        }t          ||¦  «         d S r   )r   r'   r   r   r   r3   s       r   Úcheck_exactzTestMMIOArray.check_exact0   sO   € Ý�”˜ÑÔÐÝ•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒOˆÝ�Q˜ÑÔÐÐÐr   útypeval, dtypec           	      óh   — |                       t          ddgddgg|¬¦  «        dddd|df¦  «         d S )Né   é   é   é   ©Údtyper   Úgeneral©r9   r   ©r)   ÚtypevalrA   s      r   Útest_simple_integerz!TestMMIOArray.test_simple_integer6   óU   € à×Ò�  A ¨¨A¨Ð/°uÐ=Ñ=Ô=Ø˜Q  7¨G°YÐ?ñ	Aô 	Að 	Að 	Að 	Ar   c           	      ól   — t          ddgddgg|¬¦  «        }|                      |dddd|d	f¦  «         d S )
Néÿÿÿéþÿÿéýÿÿéüÿÿr@   r=   r?   r   rB   )r   r9   )r)   rE   rA   r4   s       r   Útest_32bit_integerz TestMMIOArray.test_32bit_integer;   sL   € å�G˜WÐ%¨°Ð'9Ð:À%ÐHÑHÔHˆØ×Ò˜˜Q  1 g¨w¸	ÐBÑCÔCÐCÐCÐCr   c                 ó2  — t          ddgddggt          j        ¬¦  «        }t          j        d¦  «        j        dk     rBt
          t          j        j        j        k    r#t          t          t
          | j        |¦  «         d S |                      |d¦  «         d S )	Nì        ì        ì   þÿÿÿ ì   ÿÿÿÿ r@   r   é   ©r=   r=   r?   r   r   rB   )r   ÚnpÚint64ÚintpÚitemsizer   ÚscipyÚioÚ_mmioÚassert_raisesÚOverflowErrorr'   r9   ©r)   r4   s     r   Útest_64bit_integerz TestMMIOArray.test_64bit_integer@   s„   € Ý�E˜5�> G¨WÐ#5Ð6½b¼hÐGÑGÔGˆÝŒG�A‰JŒJÔ !Ò#Ð#­µE´H´NÔ4JÒ)JÐ)JÝ�-­°$´'¸1Ñ=Ô=Ð=Ð=Ð=à×Ò˜QÐ HÑIÔIÐIÐIÐIr   c                 ót   — t          ddgddggt          j        ¬¦  «        }|                      |d¦  «         d S )NrO   rP   ì   þÿÿÿ ì   ÿÿÿÿ r@   )r=   r=   r?   r   r   rB   )r   rU   Úuint64r9   r^   s     r   Útest_64bit_unsigned_integerz)TestMMIOArray.test_64bit_unsigned_integerG   sA   € Ý�E˜5�> G¨WÐ#5Ð6½b¼iÐHÑHÔHˆØ×Ò˜ÐMÑNÔNÐNÐNÐNr   c           	      óh   — |                       t          ddgddgg|¬¦  «        dddd|df¦  «         d S ©Nr   r<   r@   r=   r?   r   rB   rC   rD   s      r   Ú"test_simple_upper_triangle_integerz0TestMMIOArray.test_simple_upper_triangle_integerK   rG   r   c           	      óh   — |                       t          ddgddgg|¬¦  «        dddd|df¦  «         d S rf   rC   rD   s      r   Ú"test_simple_lower_triangle_integerz0TestMMIOArray.test_simple_lower_triangle_integerP   rG   r   c           	      óh   — |                       t          g d¢g d¢g|¬¦  «        dddd|df¦  «         d S )	N©r<   r=   r>   ©r?   é   é   r@   r=   r>   rn   r   rB   rC   rD   s      r   Útest_simple_rectangular_integerz-TestMMIOArray.test_simple_rectangular_integerU   sU   € à×Ò� 	 	 	¨9¨9¨9Ð5¸UÐCÑCÔCØ˜Q  7¨G°YÐ?ñ	Aô 	Að 	Að 	Að 	Ar   c                 óD   — |                       ddgddgddggd¦  «         d S )Nr<   r=   ç      @r?   rm   rn   )r>   r=   rn   r   ÚrealrB   ©r7   r(   s    r   Útest_simple_rectangular_floatz+TestMMIOArray.test_simple_rectangular_floatZ   s:   € Ø�
Š
�Q˜�F˜S !˜H q¨! fÐ-Ø8ñ	:ô 	:ð 	:ð 	:ð 	:r   c                 ó>   — |                       ddgddggd¦  «         d S )Nr<   r=   r>   ç      @©r=   r=   r?   r   rr   rB   rs   r(   s    r   Útest_simple_floatzTestMMIOArray.test_simple_float^   s4   € Ø�
Š
�Q˜�F˜Q ˜HÐ%Ø8ñ	:ô 	:ð 	:ð 	:ð 	:r   c                 ó>   — |                       ddgddggd¦  «         d S )Nr<   r=   r>   ù              @)r=   r=   r?   r   ÚcomplexrB   rs   r(   s    r   Útest_simple_complexz!TestMMIOArray.test_simple_complexb   s4   € Ø�
Š
�Q˜�F˜Q ˜GÐ$Ø;ñ	=ô 	=ð 	=ð 	=ð 	=r   c           	      óh   — |                       t          ddgddgg|¬¦  «        dddd|df¦  «         d S )Nr<   r=   r?   r@   r   Ú	symmetricrC   rD   s      r   Útest_simple_symmetric_integerz+TestMMIOArray.test_simple_symmetric_integerf   sU   € à×Ò�  A ¨¨A¨Ð/°uÐ=Ñ=Ô=Ø˜Q  7¨G°[ÐAñ	Cô 	Cð 	Cð 	Cð 	Cr   c                 ó>   — |                       ddgddggd¦  «         d S )Nr   r=   éþÿÿÿ)r=   r=   r?   r   r   úskew-symmetric)r9   r(   s    r   Ú"test_simple_skew_symmetric_integerz0TestMMIOArray.test_simple_skew_symmetric_integerk   s;   € Ø×Ò˜1˜a˜& 2 q 'Ð*ØHñ	Jô 	Jð 	Jð 	Jð 	Jr   c                 óZ   — |                       t          ddgddggd¦  «        d¦  «         d S )Nr   r=   ç       Àg        Úf)r=   r=   r?   r   rr   r‚   )r7   r   r(   s    r   Ú test_simple_skew_symmetric_floatz.TestMMIOArray.test_simple_skew_symmetric_floato   sC   € Ø�
Š
•5˜1˜a˜& 4¨ +Ð.°Ñ4Ô4Ø?ñ	Aô 	Að 	Að 	Að 	Ar   c                 ó>   — |                       ddgddggd¦  «         d S )Nr<   ù       @      @ù       @      Àr?   )r=   r=   r?   r   r{   Ú	hermitianrs   r(   s    r   Útest_simple_hermitian_complexz+TestMMIOArray.test_simple_hermitian_complexs   s4   € Ø�
Š
�Q˜�I  a˜yÐ)Ø=ñ	?ô 	?ð 	?ð 	?ð 	?r   c                 ó˜   — d}t           j                             |¦  «        }|t          |¦  «        z   }|                      |d¦  «         d S )N©é   r�   )r�   r�   i�  r   rr   r~   )rU   Úrandomr   r7   ©r)   Úszr4   s      r   Útest_random_symmetric_floatz)TestMMIOArray.test_random_symmetric_floatw   sG   € ØˆÝŒI×Ò˜RÑ Ô ˆØ•	˜!‘”ÑˆØ�
Š
�1ÐAÑBÔBÐBÐBÐBr   c                 ót   — d}t           j                             |¦  «        }|                      |d¦  «         d S )N©r�   é   )r�   r–   é,  r   rr   rB   )rU   r�   r7   r‘   s      r   Útest_random_rectangular_floatz+TestMMIOArray.test_random_rectangular_float}   s7   € ØˆÝŒI×Ò˜RÑ Ô ˆØ�
Š
�1Ð?Ñ@Ô@Ð@Ð@Ð@r   rm   c                 ó"  — d}t          j        |¦  «                             d¦  «        }t          j        t
          d¬¦  «        5  t          j                             t          j	        |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzè            %%MatrixMarket matrix array real general
              3  3 999
            1.0
            2.0
            3.0
            4.0
            5.0
            6.0
            7.0
            8.0
            9.0
            Úasciiznot of length 2©Úmatch©
ÚtextwrapÚdedentÚencodeÚpytestr   Ú
ValueErrorrY   rZ   r   ÚBytesIO©r)   ÚsÚtexts      r   Ú&test_bad_number_of_array_header_fieldsz4TestMMIOArray.test_bad_number_of_array_header_fields‚   sÀ   € ðˆõ Œ˜qÑ!Ô!×(Ò(¨Ñ1Ô1ˆÝŒ]�:Ð->Ð?Ñ?Ô?ð 	.ð 	.ÝŒH�OŠO�BœJ tÑ,Ô,Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ó   Á2BÂBÂBc                 óp   — |                       t          ddgddggt          j        ¬¦  «        d¦  «         d S )Nr<   r=   r�   éc   r@   rT   )r9   r   rU   Úint32r(   s    r   Ú#test_gh13634_non_skew_symmetric_intz1TestMMIOArray.test_gh13634_non_skew_symmetric_int•   sJ   € Ø×Ò�  A ¨¨R¨Ð1½¼ÐBÑBÔBØAñ	Cô 	Cð 	Cð 	Cð 	Cr   c                 óp   — |                       t          ddgddggt          j        ¬¦  «        d¦  «         d S )Nr<   r=   r�   ç     ÀX@r@   rw   )r7   r   rU   Úfloat32r(   s    r   Ú%test_gh13634_non_skew_symmetric_floatz3TestMMIOArray.test_gh13634_non_skew_symmetric_float™   sC   € Ø�
Š
•5˜1˜a˜& 2 s )Ð,µB´JÐ?Ñ?Ô?Ø8ñ	:ô 	:ð 	:ð 	:ð 	:r   N)Ú__name__Ú
__module__Ú__qualname__r*   r0   r7   r9   r¡   ÚmarkÚparametrizeÚparametrize_argsrF   rM   r_   rd   rg   ri   ro   rt   rx   r|   r   rƒ   r‡   rŒ   r“   r˜   Ú	fail_slowr§   r¬   r°   © r   r   r   r   "   s}  € € € € € ð<ð <ð <ð#ð #ð #ð(ð (ð (ðð ð ð „[×ÒÐ-Ð/?Ñ@Ô@ðAð Añ AÔ@ðAð „[×ÒÐ-Ð/?Ñ@Ô@ðDð Dñ AÔ@ðDðJð Jð JðOð Oð Oð „[×ÒÐ-Ð/?Ñ@Ô@ðAð Añ AÔ@ðAð „[×ÒÐ-Ð/?Ñ@Ô@ðAð Añ AÔ@ðAð „[×ÒÐ-Ð/?Ñ@Ô@ðAð Añ AÔ@ðAð:ð :ð :ð:ð :ð :ð=ð =ð =ð „[×ÒÐ-Ð/?Ñ@Ô@ðCð Cñ AÔ@ðCðJð Jð JðAð Að Að?ð ?ð ?ðCð Cð CðAð Að Að
 „[×Ò˜1ÑÔð.ð .ñ Ôð.ð$Cð Cð Cð:ð :ð :ð :ð :r   r   c                   óè  — e Zd Zd„ Zd„ Zd„ Zd„ Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd„ Zd	„ Zd
„ Zej         	                    de
¦  «        d„ ¦   «         Zej         	                    de
¦  «        d„ ¦   «         Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zej         	                    de
¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMMIOSparseCSRc                 ó€   — t          ¦   «         | _        t          j                             | j        d¦  «        | _        d S r!   r"   r(   s    r   r*   zTestMMIOSparseCSR.setup_methodŸ   r+   r   c                 ó8   — t          j        | j        ¦  «         d S r   r-   r(   s    r   r0   z!TestMMIOSparseCSR.teardown_method£   r1   r   c                 ó  — t          | j        |¦  «         t          t          | j        ¦  «        |¦  «         t	          | j        ¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S r   )r   r'   r   r   r   r
   Útoarrayr3   s       r   r7   zTestMMIOSparseCSR.check¦   s_   € Ý�”˜ÑÔÐÝ•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒOˆÝ! !§)¢)¡+¤+¨q¯yªy©{¬{Ñ;Ô;Ð;Ð;Ð;r   c                 ó  — t          | j        |¦  «         t          t          | j        ¦  «        |¦  «         t	          | j        ¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S r   )r   r'   r   r   r   r¾   r3   s       r   r9   zTestMMIOSparseCSR.check_exact¬   s_   € Ý�”˜ÑÔÐÝ•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒOˆÝ�Q—Y’Y‘[”[ !§)¢)¡+¤+Ñ.Ô.Ð.Ð.Ð.r   r:   c           	      óˆ   — |                       t          j                             ddgddgg|¬¦  «        dddd|df¦  «         d S )Nr<   r=   r>   r?   r@   Ú
coordinaterB   ©r9   rY   ÚsparseÚ
csr_matrixrD   s      r   rF   z%TestMMIOSparseCSR.test_simple_integer²   ó]   € à×Ò�œ×0Ò0°1°a°&¸1¸a¸&Ð1AÈÐ0ÑOÔOØ˜Q  <°¸)ÐDñ	Fô 	Fð 	Fð 	Fð 	Fr   c                 ó®   — t           j                             t          ddgddggt          j        ¬¦  «        ¦  «        }|                      |d¦  «         d S )NrI   i  €rK   rL   r@   ©r=   r=   r?   rÁ   r   rB   )rY   rÃ   rÄ   r   rU   r«   r9   r^   s     r   rM   z$TestMMIOSparseCSR.test_32bit_integer·   sb   € ÝŒL×#Ò#¥E¨G°XÐ+>Ø,3°WÐ+=ð+?å02´ð%:ñ %:ô %:ñ ;ô ;ˆð 	×Ò˜ÐIÑJÔJÐJÐJÐJr   c                 ól  — t           j                             t          ddgddggt          j        ¬¦  «        ¦  «        }t	          j        d¦  «        j        dk     rBt          t           j	        j
        j        k    r#t          t          t          | j        |¦  «         d S |                      |d¦  «         d S )Nì       ìûÿÿÿþÿÿÿ rQ   r@   r   rS   rÇ   )rY   rÃ   rÄ   r   rU   rV   rW   rX   r   rZ   r[   r\   r]   r'   r9   r^   s     r   r_   z$TestMMIOSparseCSR.test_64bit_integer½   s¦   € ÝŒL×#Ò#¥E¨G°WÐ+=Ø,4°gÐ+>ð+@å02´ð%:ñ %:ô %:ñ ;ô ;ˆõ ŒG�A‰JŒJÔ !Ò#Ð#­µE´H´NÔ4JÒ)JÐ)JÝ�-­°$´'¸1Ñ=Ô=Ð=Ð=Ð=à×Ò˜QÐ MÑNÔNÐNÐNÐNr   c                 ó®   — t           j                             t          ddgddggt          j        ¬¦  «        ¦  «        }|                      |d¦  «         d S )NrI   rJ   rK   rL   r@   ©r=   r=   r?   rÁ   r   rB   )rY   rÃ   rÄ   r   rU   Úuint32r9   r^   s     r   Útest_32bit_unsigned_integerz-TestMMIOSparseCSR.test_32bit_unsigned_integerÆ   ób   € ÝŒL×#Ò#¥E¨G°WÐ+=Ø,3°WÐ+=ð+?å02´	ð%;ñ %;ô %;ñ <ô <ˆð 	×Ò˜ÐRÑSÔSÐSÐSÐSr   c                 ó®   — t           j                             t          ddgddggt          j        ¬¦  «        ¦  «        }|                      |d¦  «         d S )NrÉ   ra   rb   r@   rÌ   )rY   rÃ   rÄ   r   rU   rc   r9   r^   s     r   rd   z-TestMMIOSparseCSR.test_64bit_unsigned_integerÌ   rÏ   r   c           	      óˆ   — |                       t          j                             ddgddgg|¬¦  «        dddd|df¦  «         d S ©Nr   r<   r@   r=   rÁ   rB   rÂ   rD   s      r   rg   z4TestMMIOSparseCSR.test_simple_upper_triangle_integerÒ   rÅ   r   c           	      óˆ   — |                       t          j                             ddgddgg|¬¦  «        dddd|df¦  «         d S rÒ   rÂ   rD   s      r   ri   z4TestMMIOSparseCSR.test_simple_lower_triangle_integer×   rÅ   r   c           	      óˆ   — |                       t          j                             g d¢g d¢g|¬¦  «        dddd|df¦  «         d S )	Nrk   rl   r@   r=   r>   rn   rÁ   rB   rÂ   rD   s      r   ro   z1TestMMIOSparseCSR.test_simple_rectangular_integerÜ   s]   € à×Ò�œ×0Ò0°)°)°)¸Y¸Y¸YÐ1GÈuÐ0ÑUÔUØ˜Q  <°¸)ÐDñ	Fô 	Fð 	Fð 	Fð 	Fr   c                 ó~   — |                       t          j                             ddgddgddgg¦  «        d¦  «         d S )Nr<   r=   rq   r?   rm   rn   )r>   r=   rn   rÁ   rr   rB   ©r7   rY   rÃ   rÄ   r(   s    r   rt   z/TestMMIOSparseCSR.test_simple_rectangular_floatá   sJ   € Ø�
Š
•5”<×*Ò*¨Q°¨F°S¸!°H¸qÀ!¸fÐ+EÑFÔFØ=ñ	?ô 	?ð 	?ð 	?ð 	?r   c                 óx   — |                       t          j                             ddgddgg¦  «        d¦  «         d S )Nr<   r=   r>   rv   ©r=   r=   r?   rÁ   rr   rB   rÖ   r(   s    r   rx   z#TestMMIOSparseCSR.test_simple_floatå   sD   € Ø�
Š
•5”<×*Ò*¨Q°¨F°Q¸°HÐ+=Ñ>Ô>Ø=ñ	?ô 	?ð 	?ð 	?ð 	?r   c                 óx   — |                       t          j                             ddgddgg¦  «        d¦  «         d S )Nr<   r=   r>   rz   )r=   r=   r?   rÁ   r{   rB   rÖ   r(   s    r   r|   z%TestMMIOSparseCSR.test_simple_complexé   sI   € Ø�
Š
•5”<×*Ò*¨Q°¨F°Q¸°GÐ+<Ñ=Ô=Ø@ñ	Bô 	Bð 	Bð 	Bð 	Br   c           	      óˆ   — |                       t          j                             ddgddgg|¬¦  «        dddd|df¦  «         d S )Nr<   r=   r?   r@   r>   rÁ   r~   rÂ   rD   s      r   r   z/TestMMIOSparseCSR.test_simple_symmetric_integerí   s]   € à×Ò�œ×0Ò0°1°a°&¸1¸a¸&Ð1AÈÐ0ÑOÔOØ˜Q  <°¸+ÐFñ	Hô 	Hð 	Hð 	Hð 	Hr   c                 óx   — |                       t          j                             ddgddgg¦  «        d¦  «         d S )Nr   r=   r�   )r=   r=   r<   rÁ   r   r‚   rÂ   r(   s    r   rƒ   z4TestMMIOSparseCSR.test_simple_skew_symmetric_integerò   sK   € Ø×Ò�œ×0Ò0°1°a°&¸2¸q¸'Ð1BÑCÔCØMñ	Oô 	Oð 	Oð 	Oð 	Or   c           	      ó”   — |                       t          j                             t	          ddgddggd¦  «        ¦  «        d¦  «         d S )Nr   r=   r…   r†   )r=   r=   r<   rÁ   rr   r‚   )r7   rY   rÃ   rÄ   r   r(   s    r   r‡   z2TestMMIOSparseCSR.test_simple_skew_symmetric_floatö   sS   € Ø�
Š
•5”<×*Ò*­5°1°a°&¸4À¸)Ð1DÀcÑ+JÔ+JÑKÔKØDñ	Fô 	Fð 	Fð 	Fð 	Fr   c                 óx   — |                       t          j                             ddgddgg¦  «        d¦  «         d S )Nr<   r‰   rŠ   r?   )r=   r=   r>   rÁ   r{   r‹   rÖ   r(   s    r   rŒ   z/TestMMIOSparseCSR.test_simple_hermitian_complexú   sI   € Ø�
Š
•5”<×*Ò*¨Q°¨I¸¸a°yÐ+AÑBÔBØBñ	Dô 	Dð 	Dð 	Dð 	Dr   c                 óÖ   — d}t           j                             |¦  «        }|t          |¦  «        z   }t          j                             |¦  «        }|                      |d¦  «         d S )NrŽ   )r�   r�   éÒ   rÁ   rr   r~   )rU   r�   r   rY   rÃ   rÄ   r7   r‘   s      r   r“   z-TestMMIOSparseCSR.test_random_symmetric_floatþ   s\   € ØˆÝŒI×Ò˜RÑ Ô ˆØ•	˜!‘”ÑˆÝŒL×#Ò# AÑ&Ô&ˆØ�
Š
�1ÐFÑGÔGÐGÐGÐGr   c                 ó²   — d}t           j                             |¦  «        }t          j                             |¦  «        }|                      |d¦  «         d S )Nr•   )r�   r–   r—   rÁ   rr   rB   )rU   r�   rY   rÃ   rÄ   r7   r‘   s      r   r˜   z/TestMMIOSparseCSR.test_random_rectangular_float  sL   € ØˆÝŒI×Ò˜RÑ Ô ˆÝŒL×#Ò# AÑ&Ô&ˆØ�
Š
�1ÐDÑEÔEÐEÐEÐEr   c                 ó´  — t           j                             ddgddgg¦  «        }t          j        |                     ¦   «         ¦  «        }d||                     ¦   «         dk    <   d}t          | j        |d¬¦  «         t          t          | j        ¦  «        |¦  «         t          | j        ¦  «        }t          ||                     ¦   «         ¦  «         d S )	Nr   g      ø?g      @g      @r<   )r=   r=   r>   rÁ   ÚpatternrB   râ   )Úfield)rY   rÃ   rÄ   rU   Ú
zeros_liker¾   r   r'   r   r   r   r
   )r)   r4   Úpr5   r6   s        r   Útest_simple_patternz%TestMMIOSparseCSR.test_simple_pattern  s°   € ÝŒL×#Ò# a¨ X°°S¨zÐ$:Ñ;Ô;ˆÝŒM˜!Ÿ)š)™+œ+Ñ&Ô&ˆØˆˆ!�)Š)‰+Œ+˜Š/ÑØ<ˆÝ�”˜ )Ð,Ñ,Ô,Ð,Ý•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒOˆÝ! ! Q§Y¢Y¡[¤[Ñ1Ô1Ð1Ð1Ð1r   c                 ó”   — t           j                             ddgddggt          j        ¬¦  «        }|                      |d¦  «         d S )Nr<   r=   r�   rª   r@   rÇ   )rY   rÃ   rÄ   rU   r«   r9   r^   s     r   r¬   z5TestMMIOSparseCSR.test_gh13634_non_skew_symmetric_int  sH   € ÝŒL×#Ò# a¨ V¨b°"¨XÐ$6½b¼hÐ#ÑGÔGˆØ×Ò˜ÐIÑJÔJÐJÐJÐJr   c                 ó”   — t           j                             ddgddggt          j        ¬¦  «        }|                      |d¦  «         d S )Nr<   r=   r�   r®   r@   rØ   )rY   rÃ   rÄ   rU   r¯   r7   r^   s     r   r°   z7TestMMIOSparseCSR.test_gh13634_non_skew_symmetric_float  sF   € ÝŒL×#Ò# a¨ V¨b°#¨YÐ$7½r¼zÐ#ÑJÔJˆØ�
Š
�1Ð@ÑAÔAÐAÐAÐAr   N)r±   r²   r³   r*   r0   r7   r9   r¡   r´   rµ   r¶   rF   rM   r_   rÎ   rd   rg   ri   ro   rt   rx   r|   r   rƒ   r‡   rŒ   r“   r˜   ræ   r¬   r°   r¸   r   r   rº   rº   ž   s[  € € € € € ð<ð <ð <ð#ð #ð #ð<ð <ð <ð/ð /ð /ð „[×ÒÐ-Ð/?Ñ@Ô@ðFð Fñ AÔ@ðFðKð Kð KðOð Oð OðTð Tð TðTð Tð Tð „[×ÒÐ-Ð/?Ñ@Ô@ðFð Fñ AÔ@ðFð „[×ÒÐ-Ð/?Ñ@Ô@ðFð Fñ AÔ@ðFð „[×ÒÐ-Ð/?Ñ@Ô@ðFð Fñ AÔ@ðFð?ð ?ð ?ð?ð ?ð ?ðBð Bð Bð „[×ÒÐ-Ð/?Ñ@Ô@ðHð Hñ AÔ@ðHðOð Oð OðFð Fð FðDð Dð DðHð Hð HðFð Fð Fð2ð 2ð 2ðKð Kð KðBð Bð Bð Bð Br   rº   z]%%MatrixMarket matrix array integer general
2  2
2147483647
2147483646
2147483647
2147483646
z]%%MatrixMarket matrix coordinate integer symmetric
2  2  2
1  1  2147483647
2  2  2147483646
z…%%MatrixMarket matrix array integer general
2  2
          2147483648
-9223372036854775806
         -2147483648
 9223372036854775807
z‡%%MatrixMarket matrix coordinate integer general
2  2  3
1  1           2147483648
1  2  9223372036854775807
2  2  9223372036854775807
zŒ%%MatrixMarket matrix coordinate integer symmetric
2  2  3
1  1            2147483648
1  2  -9223372036854775807
2  2   9223372036854775807
z‘%%MatrixMarket matrix coordinate integer skew-symmetric
2  2  3
1  1            2147483648
1  2  -9223372036854775807
2  2   9223372036854775807
z�%%MatrixMarket matrix array integer general
2  2
         2147483648
9223372036854775807
         2147483648
9223372036854775808
zq%%MatrixMarket matrix coordinate integer symmetric
2  2  2
1  1            2147483648
2  2  19223372036854775808
c                   óP   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ ZdS )ÚTestMMIOReadLargeIntegersc                 ó€   — t          ¦   «         | _        t          j                             | j        d¦  «        | _        d S r!   r"   r(   s    r   r*   z&TestMMIOReadLargeIntegers.setup_methoda  r+   r   c                 ó8   — t          j        | j        ¦  «         d S r   r-   r(   s    r   r0   z)TestMMIOReadLargeIntegers.teardown_methode  r1   r   c                 ó  — t          | j        d¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t	          | j        ¦  «        |¦  «         |r<t          j        d¦  «        j        dk     rt          t          j
        j        j        k    s|r"t          t          t          | j        ¦  «         d S t          | j        ¦  «        }|s|                     ¦   «         }t          ||¦  «         d S )NÚwr   rS   )Úopenr'   Úwriter   r   rU   rW   rX   r   rY   rZ   r[   r\   r]   r   r¾   )	r)   Úexampler4   r5   ÚdenseÚover32Úover64r†   r6   s	            r   Ú
check_readz$TestMMIOReadLargeIntegers.check_readh  s  € Ý�$”'˜3ÑÔð 	 1Ø�GŠG�GÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å•V˜DœG‘_”_ dÑ+Ô+Ð+Øð 	�œ ™œÔ,¨qÒ0Ð0µgÅÄÄÔAWÒ6WÐ6WØð 7Xå�-­°´Ñ9Ô9Ð9Ð9Ð9å�t”w‘”ˆAØð  Ø—I’I‘K”K�Ý˜˜AÑÔÐÐÐs   –8¸<¿<c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬¦  «         d S )NrI   rJ   r@   rT   TF©rò   ró   rô   )r   rU   rV   rõ   Ú_32bit_integer_dense_exampler^   s     r   Útest_read_32bit_integer_densez7TestMMIOReadLargeIntegers.test_read_32bit_integer_denseu  sf   € Ý�G˜WÐ%Ø˜WÐ%ð'Ý.0¬hð8ñ 8ô 8ˆà�ŠÕ4ØØ@Ø"Ø$Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬¦  «         d S )NrI   r   rJ   r@   ©r=   r=   r=   rÁ   r   r~   Fr÷   )r   rU   rV   rõ   Ú_32bit_integer_sparse_exampler^   s     r   Útest_read_32bit_integer_sparsez8TestMMIOReadLargeIntegers.test_read_32bit_integer_sparse  sd   € Ý�G˜Q�<Ø�w�<ð!Ý(*¬ð2ñ 2ô 2ˆà�ŠÕ5ØØGØ#Ø$Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬	¦  «         d S )
NrO   i   €rÊ   rR   r@   rT   TFr÷   )r   rU   rV   rõ   Ú_64bit_integer_dense_exampler^   s     r   Útest_read_64bit_integer_densez7TestMMIOReadLargeIntegers.test_read_64bit_integer_dense‰  se   € Ý�E˜6�?Ø˜gÐ&ð(Ý/1¬xð9ñ 9ô 9ˆà�ŠÕ4ØØ@Ø"Ø#Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬¦  «         d S )	NrO   rR   r   r@   )r=   r=   r>   rÁ   r   rB   FTr÷   )r   rU   rV   rõ   Ú%_64bit_integer_sparse_general_exampler^   s     r   Ú&test_read_64bit_integer_sparse_generalz@TestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_general“  se   € Ý�E˜7Ð#Ø�w�<ð!Ý(*¬ð2ñ 2ô 2ˆà�ŠÕ=ØØEØ#Ø#Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬¦  «         d S )	NrO   ìûÿÿÿÿÿÿÿ rR   r@   )r=   r=   r>   rÁ   r   r~   FTr÷   )r   rU   rV   rõ   Ú'_64bit_integer_sparse_symmetric_exampler^   s     r   Ú(test_read_64bit_integer_sparse_symmetriczBTestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_symmetric�  sf   € Ý�E˜8Ð$Ø˜gÐ&ð(Ý/1¬xð9ñ 9ô 9ˆà�ŠÕ?ØØGØ#Ø#Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óˆ   — t          ddgddggt          j        ¬¦  «        }|                      t          |dddd¬¦  «         d S )	NrO   r  rR   r@   )r=   r=   r>   rÁ   r   r‚   FTr÷   )r   rU   rV   rõ   Ú"_64bit_integer_sparse_skew_exampler^   s     r   Ú#test_read_64bit_integer_sparse_skewz=TestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_skew§  sf   € Ý�E˜8Ð$Ø˜WÐ%ð'Ý.0¬hð8ñ 8ô 8ˆà�ŠÕ:ØØLØ#Ø#Ø$ð 	ñ 	&ô 	&ð 	&ð 	&ð 	&r   c                 óF   — |                       t          d dddd¬¦  «         d S )NrT   Tr÷   )rõ   Ú _over64bit_integer_dense_exampler(   s    r   Ú!test_read_over64bit_integer_densez;TestMMIOReadLargeIntegers.test_read_over64bit_integer_dense±  s9   € Ø�ŠÕ8ØØ@Ø"Ø#Ø#ð 	ñ 	%ô 	%ð 	%ð 	%ð 	%r   c                 óF   — |                       t          d dddd¬¦  «         d S )Nrû   FTr÷   )rõ   Ú!_over64bit_integer_sparse_exampler(   s    r   Ú"test_read_over64bit_integer_sparsez<TestMMIOReadLargeIntegers.test_read_over64bit_integer_sparse¹  s9   € Ø�ŠÕ9ØØGØ#Ø#Ø#ð 	ñ 	%ô 	%ð 	%ð 	%ð 	%r   N)r±   r²   r³   r*   r0   rõ   rù   rý   r   r  r  r
  r  r  r¸   r   r   rê   rê   `  s¹   € € € € € ð<ð <ð <ð#ð #ð #ðð ð ð&ð &ð &ð&ð &ð &ð&ð &ð &ð&ð &ð &ð&ð &ð &ð&ð &ð &ð%ð %ð %ð%ð %ð %ð %ð %r   rê   a&  %%MatrixMarket matrix coordinate real general
%=================================================================================
%
% This ASCII file represents a sparse MxN matrix with L
% nonzeros in the following Matrix Market format:
%
% +----------------------------------------------+
% |%%MatrixMarket matrix coordinate real general | <--- header line
% |%                                             | <--+
% |% comments                                    |    |-- 0 or more comment lines
% |%                                             | <--+
% |    M  N  L                                   | <--- rows, columns, entries
% |    I1  J1  A(I1, J1)                         | <--+
% |    I2  J2  A(I2, J2)                         |    |
% |    I3  J3  A(I3, J3)                         |    |-- L lines
% |        . . .                                 |    |
% |    IL JL  A(IL, JL)                          | <--+
% +----------------------------------------------+
%
% Indices are 1-based, i.e. A(1,1) is the first element.
%
%=================================================================================
  5  5  8
    1     1   1.000e+00
    2     2   1.050e+01
    3     3   1.500e-02
    1     4   6.000e+00
    4     2   2.505e+02
    4     4  -2.800e+02
    4     5   3.332e+01
    5     5   1.200e+01
a   %%MatrixMarket matrix coordinate complex hermitian
  5  5  7
    1     1     1.0      0
    2     2    10.5      0
    4     2   250.5     22.22
    3     3     1.5e-2   0
    4     4    -2.8e2    0
    5     5    12.       0
    5     4     0       33.32
zÍ%%MatrixMarket matrix coordinate real skew-symmetric
  5  5  7
    1     1     1.0
    2     2    10.5
    4     2   250.5
    3     3     1.5e-2
    4     4    -2.8e2
    5     5    12.
    5     4     0
zÈ%%MatrixMarket matrix coordinate real symmetric
  5  5  7
    1     1     1.0
    2     2    10.5
    4     2   250.5
    3     3     1.5e-2
    4     4    -2.8e2
    5     5    12.
    5     4     8
z‘%%MatrixMarket matrix coordinate pattern symmetric
  5  5  7
    1     1
    2     2
    4     2
    3     3
    4     4
    5     5
    5     4
a  %%MatrixMarket  MATRIX    Coordinate    Real General

   5  5         8

1 1  1.0
2 2       10.5
3 3             1.5e-2
4 4                     -2.8E2
5 5                              12.
     1      4      6
     4      2      250.5
     4      5      33.32

c                   ót   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestMMIOCoordinatec                 ó€   — t          ¦   «         | _        t          j                             | j        d¦  «        | _        d S r!   r"   r(   s    r   r*   zTestMMIOCoordinate.setup_method(  r+   r   c                 ó8   — t          j        | j        ¦  «         d S r   r-   r(   s    r   r0   z"TestMMIOCoordinate.teardown_method,  r1   r   c                 ó2  — t          | j        d¦  «        }|                     |¦  «         |                     ¦   «          t	          t          | j        ¦  «        |¦  «         t          | j        ¦  «                             ¦   «         }t          ||¦  «         d S )Nrî   )	rï   r'   rð   Úcloser   r   r   r¾   r
   )r)   rñ   r4   r5   r†   r6   s         r   rõ   zTestMMIOCoordinate.check_read/  sy   € Ý�”˜#ÑÔˆØ	�Š�ÑÔÐØ	�Š‰	Œ	ˆ	Ý•V˜DœG‘_”_ dÑ+Ô+Ð+Ý�4”7‰OŒO×#Ò#Ñ%Ô%ˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S ©N)r<   r   r   rn   r   )r   ç      %@r   r   r   ©r   r   ç¸…ëQ¸Ž?r   r   )r   ç     Po@r   éèþÿÿç)\�Âõ¨@@©r   r   r   r   é   ©rm   rm   rS   rÁ   rr   rB   )rõ   Ú_general_exampler^   s     r   Útest_read_generalz$TestMMIOCoordinate.test_read_general7  sc   € Øˆ_ˆ_ØÐÐØÐÐØ'Ð'Ð'ØÐÐð	ˆð
 	�ŠÕ(¨!ØBñ	Dô 	Dð 	Dð 	Dð 	Dr   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S )N©r<   r   r   r   r   )r   r  r   y     Po@¸…ëQ86Àr   r  )r   y     Po@¸…ëQ86@r   r  y       €)\�Âõ¨@À)r   r   r   y        )\�Âõ¨@@r   )rm   rm   é   rÁ   r{   r‹   )rõ   Ú_hermitian_exampler^   s     r   Útest_read_hermitianz&TestMMIOCoordinate.test_read_hermitian@  sc   € Øˆ_ˆ_Ø,Ð,Ð,ØÐÐØ2Ð2Ð2Ø"Ð"Ð"ð	$ˆð
 	�ŠÕ*¨AØGñ	Iô 	Ið 	Ið 	Ið 	Ir   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S )Nr%  )r   r  r   g     PoÀr   r  )r   r  r   r  r   r  )rm   rm   r&  rÁ   rr   r‚   )rõ   Ú_skew_exampler^   s     r   Útest_read_skewz!TestMMIOCoordinate.test_read_skewI  sb   € Øˆ_ˆ_Ø$Ð$Ð$ØÐÐØ#Ð#Ð#ØÐÐð	ˆð
 	�Š� qØIñ	Kô 	Kð 	Kð 	Kð 	Kr   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S )Nr%  )r   r  r   r  r   r  )r   r  r   r  rS   )r   r   r   rS   r   )rm   rm   r&  rÁ   rr   r~   )rõ   Ú_symmetric_exampler^   s     r   Útest_read_symmetricz&TestMMIOCoordinate.test_read_symmetricR  sc   € Øˆ_ˆ_Ø#Ð#Ð#ØÐÐØ#Ð#Ð#ØÐÐð	ˆð
 	�ŠÕ*¨AØDñ	Fô 	Fð 	Fð 	Fð 	Fr   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S )Nr%  )r   r<   r   r<   r   )r   r   r<   r   r   )r   r<   r   r<   r<   )r   r   r   r<   r<   )rm   rm   r&  rÁ   râ   r~   )rõ   Ú_symmetric_pattern_exampler^   s     r   Útest_read_symmetric_patternz.TestMMIOCoordinate.test_read_symmetric_pattern[  s[   € Øˆ_ˆ_Øˆ_ˆ_Øˆ_ˆ_Øˆ_ˆ_Øˆ_ˆ_ð	ˆð
 	�ŠÕ2°AØGñ	Iô 	Ið 	Ið 	Ið 	Ir   c                 ó`   — g d¢g d¢g d¢g d¢g d¢g}|                       t          |d¦  «         d S r  )rõ   Ú_empty_lines_exampler^   s     r   Útest_read_empty_linesz(TestMMIOCoordinate.test_read_empty_linesd  sc   € Øˆ_ˆ_ØÐÐØÐÐØ'Ð'Ð'ØÐÐð	ˆð
 	�ŠÕ,¨aØBñ	Dô 	Dð 	Dð 	Dð 	Dr   c                 óF  — t           j                             d¦  «        }t          | j        |¦  «         t          t          | j        ¦  «        d¦  «         |                     ¦   «         }t          | j        ¦  «                             ¦   «         }t          ||¦  «         d S )N)é
   r6  )r6  r6  r   rÁ   rr   r~   )
rY   rÃ   Ú
coo_matrixr   r'   r   r   r¾   r   r
   )r)   r6   r4   s      r   Útest_empty_write_readz(TestMMIOCoordinate.test_empty_write_readm  s‰   € õ ŒL×#Ò# HÑ-Ô-ˆÝ�”˜ÑÔÐå•V˜DœG‘_”_ØCñ	Eô 	Eð 	Eà�IŠI‰KŒKˆÝ�4”7‰OŒO×#Ò#Ñ%Ô%ˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r   c                 ó¤  — 	 dd l }n# t          $ r Y d S w xY wt          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j                             |||ffd¬¦  «        }t          | j        |¦  «         d| j        z  }t          | j        d¦  «        5 }| 	                    |d	¦  «        }| 
                    |                     ¦   «         ¦  «         |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          |¦  «                             ¦   «         }	t          |	|                     ¦   «         ¦  «         d S )
Nr   ©r   r   r<   r=   r>   r>   r>   r?   ©r   r>   r<   r=   r<   r>   r?   r?   ©g      ð?g      @r  r  r  g     €qÀr  g      (@©rm   rm   ©Úshapez%s.bz2ÚrbÚwb)Úbz2ÚImportErrorr   rY   rÃ   r7  r   r'   rï   ÚBZ2Filerð   Úreadr  r   r¾   r
   )
r)   rB  ÚIÚJÚVr6   Úfn_bzip2Úf_inÚf_outr4   s
             r   Útest_bzip2_py3z!TestMMIOCoordinate.test_bzip2_py3y  s‡  € ð	àˆJˆJˆJˆJøÝð 	ð 	ð 	ØˆFˆFð	øøøåÐ*Ð*Ð*Ñ+Ô+ˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐEÐEÐEÑFÔFˆåŒL×#Ò# Q¨¨A¨ K°vÐ#Ñ>Ô>ˆå�”˜ÑÔÐà˜dœgÑ%ˆÝ�$”'˜4Ñ Ô ð 	 DØ—K’K ¨$Ñ/Ô/ˆEØ�KŠK˜Ÿ	š	™œÑ$Ô$Ð$Ø�KŠK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 �8ÑÔ×$Ò$Ñ&Ô&ˆÝ! ! Q§Y¢Y¡[¤[Ñ1Ô1Ð1Ð1Ð1ó   ‚ ‡
”Â$ADÄDÄ	Dc                 ó¤  — 	 dd l }n# t          $ r Y d S w xY wt          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j                             |||ffd¬¦  «        }t          | j        |¦  «         d| j        z  }t          | j        d¦  «        5 }|                     |d	¦  «        }| 	                    | 
                    ¦   «         ¦  «         |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          |¦  «                             ¦   «         }	t          |	|                     ¦   «         ¦  «         d S )
Nr   r:  r;  r<  r=  r>  z%s.gzr@  rA  )ÚgziprC  r   rY   rÃ   r7  r   r'   rï   rð   rE  r  r   r¾   r
   )
r)   rO  rF  rG  rH  r6   Úfn_gziprJ  rK  r4   s
             r   Útest_gzip_py3z TestMMIOCoordinate.test_gzip_py3‘  s…  € ð	àˆKˆKˆKˆKøÝð 	ð 	ð 	ØˆFˆFð	øøøåÐ*Ð*Ð*Ñ+Ô+ˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐEÐEÐEÑFÔFˆåŒL×#Ò# Q¨¨A¨ K°vÐ#Ñ>Ô>ˆå�”˜ÑÔÐà˜DœGÑ#ˆÝ�$”'˜4Ñ Ô ð 	 DØ—I’I˜g tÑ,Ô,ˆEØ�KŠK˜Ÿ	š	™œÑ$Ô$Ð$Ø�KŠK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 �7‰OŒO×#Ò#Ñ%Ô%ˆÝ! ! Q§Y¢Y¡[¤[Ñ1Ô1Ð1Ð1Ð1rM  c                 ó¸  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j                             |||ffd¬¦  «        }t	          | j        |¦  «         t          t          | j        ¦  «        d¦  «         |                     ¦   «         }t          | j        ¦  «                             ¦   «         }t          ||¦  «         d S )Nr:  r;  r<  r=  r>  r!  ©r   rY   rÃ   r7  r   r'   r   r   r¾   r   r
   ©r)   rF  rG  rH  r6   r4   s         r   Útest_real_write_readz'TestMMIOCoordinate.test_real_write_read©  sÐ   € ÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐEÐEÐEÑFÔFˆåŒL×#Ò# Q¨¨A¨ K°vÐ#Ñ>Ô>ˆå�”˜ÑÔÐå•V˜DœG‘_”_Ø?ñ	Aô 	Að 	Aà�IŠI‰KŒKˆÝ�4”7‰OŒO×#Ò#Ñ%Ô%ˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r   c                 ó¸  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j                             |||ffd¬¦  «        }t	          | j        |¦  «         t          t          | j        ¦  «        d¦  «         |                     ¦   «         }t          | j        ¦  «                             ¦   «         }t          ||¦  «         d S )Nr:  r;  ©y      ð?      @y      @       @y      %@ÍÌÌÌÌÌì?y¸…ëQ¸Ž?š™™™™™Ày     Po@        y     €qÀ      @y)\�Âõ¨@@š™™™™™@y      (@š™™™™™é?r=  r>  )rm   rm   rS   rÁ   r{   rB   rS  rT  s         r   Útest_complex_write_readz*TestMMIOCoordinate.test_complex_write_read¸  sá   € ÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝð Hð Hð Hñ Iô Iˆõ ŒL×#Ò# Q¨¨A¨ K°vÐ#Ñ>Ô>ˆå�”˜ÑÔÐå•V˜DœG‘_”_ØBñ	Dô 	Dð 	Dà�IŠI‰KŒKˆÝ�4”7‰OŒO×#Ò#Ñ%Ô%ˆÝ! ! QÑ'Ô'Ð'Ð'Ð'r   c                 ó˜  — |dz  }|                      ¦   «          g }t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }|                     t          j                             |||ffd¬¦  «        ¦  «         t          g d¢¦  «        }|                     t          j                             |||ffd¬¦  «        ¦  «         |D ]w}|                     ¦   «         }dD ]^}	||	d	z   z  }
t          |
|                     |	¦  «        ¦  «         t          |
¦  «                             ¦   «         }t          ||¦  «         Œ_Œxd S )
NÚsparse_formatsr:  r;  r<  r=  r>  rW  )ÚcsrÚcscÚcooz.mtx)Úmkdirr   ÚappendrY   rÃ   r7  r¾   r   Úasformatr   r
   )r)   Útmp_pathr#   ÚmatsrF  rG  rH  ÚmatÚexpectedÚfmtÚfnameÚresults               r   Útest_sparse_formatsz&TestMMIOCoordinate.test_sparse_formatsÈ  sj  € àÐ,Ñ,ˆØ�Š‰ŒˆàˆÝÐ*Ð*Ð*Ñ+Ô+ˆÝÐ*Ð*Ð*Ñ+Ô+ˆåÐEÐEÐEÑFÔFˆØ�Š•E”L×+Ò+¨Q°°A°¨K¸vÐ+ÑFÔFÑGÔGÐGåð Hð Hð Hñ Iô Iˆà�Š•E”L×+Ò+¨Q°°A°¨K¸vÐ+ÑFÔFÑGÔGÐGàð 	<ð 	<ˆCØ—{’{‘}”}ˆHØ,ð <ð <�Ø #¨¡,Ñ/�Ý˜˜sŸ|š|¨CÑ0Ô0Ñ1Ô1Ð1Ý ™œ×.Ò.Ñ0Ô0�Ý)¨&°(Ñ;Ô;Ð;Ð;ð	<ð	<ð 	<r   c           	      ó  — t           gd„ t          ddd¦  «        D ¦   «         z   }t          dd¦  «        }|D ]Ó}|D ]Î}d|z  dz   }t          j                             ||f¦  «        }|||dz
  |dz
  f<   t          | j        ||¬¦  «         t          j                             | j        ¦  «        }t          |j
        |dz
  g¦  «         t          |j        |dz
  g¦  «         t          |j        t          d|z  |z  ¦  «        g¦  «         ŒÏŒÔd S )	Nc                 ó   — g | ]}d |z  ‘ŒS )r6  r¸   )Ú.0Úis     r   ú
<listcomp>z5TestMMIOCoordinate.test_precision.<locals>.<listcomp>á  s   € ÐAÐAÐA¨!˜b 1™gÐAÐAÐAr   r   iöÿÿÿéÿÿÿÿr<   r6  )Ú	precisionz%%.%dg)r   ÚrangerY   rÃ   Ú
dok_matrixr   r'   rZ   r   r	   ÚrowÚcolr   ÚdataÚfloat)r)   Útest_valuesÚtest_precisionsÚvaluero  ÚnÚAs          r   Útest_precisionz!TestMMIOCoordinate.test_precisionà  s,  € Ý�dÐAÐA­u°Q¸¸RÑ/@Ô/@ÐAÑAÔAÑAˆÝ  2™,œ,ˆØ ð 	Oð 	OˆEØ,ð Oð O�	à˜	‘M AÑ%�Ý”L×+Ò+¨Q°¨FÑ3Ô3�Ø#��!�A‘#�q˜‘s�(‘å˜œ ¨iÐ8Ñ8Ô8Ð8Ý”H—O’O D¤GÑ,Ô,�å" 1¤5¨1¨Q©3¨%Ñ0Ô0Ð0Ý" 1¤5¨1¨Q©3¨%Ñ0Ô0Ð0Ý ¤­¨x¸)Ñ/CÀeÑ/KÑ)LÔ)LÐ(MÑNÔNÐNÐNðOð	Oð 	Or   c                 ó"  — d}t          j        |¦  «                             d¦  «        }t          j        t
          d¬¦  «        5  t          j                             t          j	        |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Na€              %%MatrixMarket matrix coordinate real general
              5  5  8 999
                1     1   1.000e+00
                2     2   1.050e+01
                3     3   1.500e-02
                1     4   6.000e+00
                4     2   2.505e+02
                4     4  -2.800e+02
                4     5   3.332e+01
                5     5   1.200e+01
            rš   znot of length 3r›   r�   r¤   s      r   Ú+test_bad_number_of_coordinate_header_fieldsz>TestMMIOCoordinate.test_bad_number_of_coordinate_header_fieldsñ  sÀ   € ðˆõ Œ˜qÑ!Ô!×(Ò(¨Ñ1Ô1ˆÝŒ]�:Ð->Ð?Ñ?Ô?ð 	.ð 	.ÝŒH�OŠO�BœJ tÑ,Ô,Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð 	.ð 	.r¨   N)r±   r²   r³   r*   r0   rõ   r#  r(  r+  r.  r1  r4  r8  rL  rQ  rU  rX  rh  r{  r}  r¸   r   r   r  r  '  s(  € € € € € ð<ð <ð <ð#ð #ð #ð(ð (ð (ðDð Dð DðIð Ið IðKð Kð KðFð Fð FðIð Ið IðDð Dð Dð
(ð 
(ð 
(ð2ð 2ð 2ð02ð 2ð 2ð0(ð (ð (ð(ð (ð (ð <ð <ð <ð0Oð Oð Oð".ð .ð .ð .ð .r   r  c                  óH   — t          t          j        d¦  «        ¦  «         d S )Nzg%%MatrixMarket matrix coordinate complex symmetric
 1 1 1
1 1 -2.1846000000000e+02  0.0000000000000e+00)r   rZ   ÚStringIOr¸   r   r   Útest_gh11389r€    s9   € Ý
�2Œ;ð Gñ Hô Hñ Iô Ið Ið Ið Ir   c                 ó°   — g d¢}| dz  }t          |d¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |¦  «         d S )N)z/ %%MatrixMarket matrix coordinate real general
z5 5 3
z2 3 1.0
z3 4 2.0
z3 5 3.0
ztest.mtxrî   )rï   Ú
writelinesr   )ra  ÚlinesÚ	test_filer†   s       r   Útest_gh18123r…  	  s§   € ðð ð €Eð
 ˜:Ñ%€IÝ	ˆi˜Ñ	Ô	ð  Ø	�Š�UÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å
ˆ9ÑÔÐÐÐs   š<¼A ÁA c                  óÌ  — 	 dd l } t          | d¦  «        st          j        d¦  «         d S n%# t          $ r t          j        d¦  «         Y d S w xY w|                      d¬¦  «        5  t          t          j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dd¬	¦  «        5  t          t          j        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr   Úregisterzthreadpoolctl too oldzno threadpoolctlr?   )Úlimitsr=   rY   )rˆ  Úuser_api)	ÚthreadpoolctlÚhasattrr¡   ÚskiprC  Úthreadpool_limitsr   ÚfmmÚPARALLELISM)rŠ  s    r   Útest_threadpoolctlr�    s†  € ðØÐÐÐÝ�} jÑ1Ô1ð 	ÝŒKÐ/Ñ0Ô0Ð0ØˆFð	øõ ð ð ð ÝŒÐ&Ñ'Ô'Ð'Øˆˆðøøøð 
×	(Ò	(°Ð	(Ñ	2Ô	2ð )ð )Ý•S”_ aÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð 
×	(Ò	(°¸GÐ	(Ñ	DÔ	Dð )ð )Ý•S”_ aÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s3   ‚(- ­AÁAÁ(BÂBÂBÂ1CÃCÃ C)2Útempfiler   r$   rZ   r.   rž   ÚnumpyrU   r   r   r   Únumpy.testingr   r   r	   r
   r¡   r   r\   Úscipy.sparserY   Úscipy.io._mmioÚscipy.io._fast_matrix_marketÚ_fast_matrix_marketrŽ  r¶   Úfixturer[   r   r   rº   rø   rü   rÿ   r  r  r	  r  r  rê   r"  r'  r*  r-  r0  r3  r  r€  r…  r�  r¸   r   r   ú<module>r™     s¼  ðØ Ð Ð Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø €€€à Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðJð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jð Jà €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ø Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ð 'Ø0ð2Ð ð
 €„�h¨¬¬¸Ð'<ÀdÐKÑKÔKð$ð $ñ LÔKð$ðy:ð y:ð y:ð y:ð y:ñ y:ô y:ð y:ðx}Bð }Bð }Bð }Bð }B˜ñ }Bô }Bð }Bð@ Ð ð!Ð ð Ð ð)Ð %ð+Ð 'ð&Ð "ð$Ð  ð%Ð !ð_%ð _%ð _%ð _%ð _%ñ _%ô _%ð _%ðD Ð ðD
Ð ð
€ð
Ð ð
Ð ðÐ ð"Y.ð Y.ð Y.ð Y.ð Y.ñ Y.ô Y.ð Y.ðxIð Ið Ið	ð 	ð 	ð)ð )ð )ð )ð )r   