Ë
    qwjr  ã                   óà  — 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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j6                  j8                  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Z0dZ1 G d „ d!«      Z2d"„ Z3d#„ Z4d$„ Z5d%„ Z6d&„ Z7y)'é    )Ú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                 óˆ   — | j                   j                  a| j                   j                  a| j                   j                  ay ©N)ÚparamÚmminfoÚmmreadÚmmwrite)Úrequests    ú]/var/www/html/newmanjeet/manjet/venv/lib/python3.12/site-packages/scipy/io/tests/test_mmio.pyÚimplementationsr      s1   € ð
 �]‰]×!Ñ!€FØ�]‰]×!Ñ!€FØ�m‰m×#Ñ#�Gó    c                   óF  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  de
«      d„ «       Zej                  j                  de
«      d„ «       Zd„ Zd	„ Zej                  j                  de
«      d
„ «       Zej                  j                  de
«      d„ «       Zej                  j                  de
«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  de
«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zej                  j7                  d«      d„ «       Zd„ Zd„ Zy)ÚTestMMIOArrayc                 óº   — t        t        t        j                  «       «      ¬«      | _        t
        j                  j                  | j                  d«      | _        y ©N©Úsuffixztestfile.mtx©	r   ÚstrÚ	threadingÚget_native_idÚtmpdirÚosÚpathÚjoinÚfn©Úselfs    r   Úsetup_methodzTestMMIOArray.setup_method&   ó6   € Ü¤S¬×)@Ñ)@Ó)BÓ%CÔDˆŒÜ—'‘'—,‘,˜tŸ{™{¨NÓ;ˆ�r   c                 óB   — t        j                  | j                  «       y r   ©ÚshutilÚrmtreer(   r-   s    r   Úteardown_methodzTestMMIOArray.teardown_method*   ó   € Ü�‰�d—k‘kÕ"r   c                 ó´   — t        | j                  |«       t        t        | j                  «      |«       t	        | j                  d¬«      }t        ||«       y ©NF©Úspmatrix)r   r,   r   r   r   r
   ©r.   ÚaÚinfoÚbs       r   ÚcheckzTestMMIOArray.check-   s<   € Ü�—‘˜ÔÜ”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ! ! QÕ'r   c                 ó´   — t        | j                  |«       t        t        | j                  «      |«       t	        | j                  d¬«      }t        ||«       y r8   )r   r,   r   r   r   r;   s       r   Úcheck_exactzTestMMIOArray.check_exact3   s<   € Ü�—‘˜ÔÜ”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ�Q˜Õr   útypeval, dtypec           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y )Né   é   é   é   ©Údtyper   Úgeneral©rA   r   ©r.   ÚtypevalrI   s      r   Útest_simple_integerz!TestMMIOArray.test_simple_integer9   ó7   € à×Ñœ  A ¨¨A¨Ð/°uÔ=Ø˜Q  7¨G°YÐ?õ	Ar   c           	      óZ   — t        ddgddgg|¬«      }| j                  |dddd|d	f«       y )
NéÿÿÿéþÿÿéýÿÿéüÿÿrH   rE   rG   r   rJ   )r   rA   )r.   rM   rI   r<   s       r   Útest_32bit_integerz TestMMIOArray.test_32bit_integer>   s:   € ä�G˜WÐ%¨°Ð'9Ð:À%ÔHˆØ×Ñ˜˜Q  1 g¨w¸	ÐBÕCr   c                 óF  — t        ddgddggt        j                  ¬«      }t        j                  d«      j                  dk  rLt
        t        j                  j                  j
                  k(  r!t        t        t
        | j                  |«       y | j                  |d«       y )	Nì        ì        ì   þÿÿÿ ì   ÿÿÿÿ rH   r   é   ©rE   rE   rG   r   r   rJ   )r   ÚnpÚint64ÚintpÚitemsizer   ÚscipyÚioÚ_mmioÚassert_raisesÚOverflowErrorr,   rA   ©r.   r<   s     r   Útest_64bit_integerz TestMMIOArray.test_64bit_integerC   sn   € Ü�E˜5�> G¨WÐ#5Ð6¼b¿h¹hÔGˆÜ�G‰G�A‹J×Ñ !Ò#¬´E·H±H·N±N×4JÑ4JÒ)JÜœ-¬°$·'±'¸1Õ=à×Ñ˜QÐ HÕIr   c                 ój   — t        ddgddggt        j                  ¬«      }| j                  |d«       y )NrW   rX   ì   þÿÿÿ ì   ÿÿÿÿ rH   )rE   rE   rG   r   r   rJ   )r   r]   Úuint64rA   rf   s     r   Útest_64bit_unsigned_integerz)TestMMIOArray.test_64bit_unsigned_integerJ   s1   € Ü�E˜5�> G¨WÐ#5Ð6¼b¿i¹iÔHˆØ×Ñ˜ÐMÕNr   c           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y ©Nr   rD   rH   rE   rG   r   rJ   rK   rL   s      r   Ú"test_simple_upper_triangle_integerz0TestMMIOArray.test_simple_upper_triangle_integerN   rO   r   c           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y rn   rK   rL   s      r   Ú"test_simple_lower_triangle_integerz0TestMMIOArray.test_simple_lower_triangle_integerS   rO   r   c           	      óV   — | j                  t        g d¢g d¢g|¬«      dddd|df«       y )	N©rD   rE   rF   ©rG   é   é   rH   rE   rF   rv   r   rJ   rK   rL   s      r   Útest_simple_rectangular_integerz-TestMMIOArray.test_simple_rectangular_integerX   s/   € à×Ñœ¢	ª9Ð5¸UÔCØ˜Q  7¨G°YÐ?õ	Ar   c                 ó:   — | j                  ddgddgddggd«       y )NrD   rE   ç      @rG   ru   rv   )rF   rE   rv   r   ÚrealrJ   ©r?   r-   s    r   Útest_simple_rectangular_floatz+TestMMIOArray.test_simple_rectangular_float]   s&   € Ø�
‰
�Q˜�F˜S !˜H q¨! fÐ-Ø8õ	:r   c                 ó4   — | j                  ddgddggd«       y )NrD   rE   rF   ç      @©rE   rE   rG   r   rz   rJ   r{   r-   s    r   Útest_simple_floatzTestMMIOArray.test_simple_floata   s    € Ø�
‰
�Q˜�F˜Q ˜HÐ%Ø8õ	:r   c                 ó4   — | j                  ddgddggd«       y )NrD   rE   rF   ù              @)rE   rE   rG   r   ÚcomplexrJ   r{   r-   s    r   Útest_simple_complexz!TestMMIOArray.test_simple_complexe   s    € Ø�
‰
�Q˜�F˜Q ˜GÐ$Ø;õ	=r   c           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y )NrD   rE   rG   rH   r   Ú	symmetricrK   rL   s      r   Útest_simple_symmetric_integerz+TestMMIOArray.test_simple_symmetric_integeri   s7   € à×Ñœ  A ¨¨A¨Ð/°uÔ=Ø˜Q  7¨G°[ÐAõ	Cr   c                 ó4   — | j                  ddgddggd«       y )Nr   rE   éþÿÿÿ)rE   rE   rG   r   r   úskew-symmetric)rA   r-   s    r   Ú"test_simple_skew_symmetric_integerz0TestMMIOArray.test_simple_skew_symmetric_integern   s#   € Ø×Ñ˜1˜a˜& 2 q 'Ð*ØHõ	Jr   c                 óH   — | j                  t        ddgddggd«      d«       y )Nr   rE   ç       Àg        Úf)rE   rE   rG   r   rz   rŠ   )r?   r   r-   s    r   Ú test_simple_skew_symmetric_floatz.TestMMIOArray.test_simple_skew_symmetric_floatr   s(   € Ø�
‰
”5˜1˜a˜& 4¨ +Ð.°Ó4Ø?õ	Ar   c                 ó4   — | j                  ddgddggd«       y )NrD   ù       @      @ù       @      ÀrG   )rE   rE   rG   r   rƒ   Ú	hermitianr{   r-   s    r   Útest_simple_hermitian_complexz+TestMMIOArray.test_simple_hermitian_complexv   s    € Ø�
‰
�Q˜�I  a˜yÐ)Ø=õ	?r   c                 ó†   — d}t         j                  j                  |«      }|t        |«      z   }| j                  |d«       y )N©é   r—   )r—   r—   i�  r   rz   r†   )r]   Úrandomr   r?   ©r.   Úszr<   s      r   Útest_random_symmetric_floatz)TestMMIOArray.test_random_symmetric_floatz   s8   € ØˆÜ�I‰I×Ñ˜RÓ ˆØ”	˜!“ÑˆØ�
‰
�1ÐAÕBr   c                 ój   — d}t         j                  j                  |«      }| j                  |d«       y )N©r—   é   )r—   rž   é,  r   rz   rJ   )r]   r˜   r?   r™   s      r   Útest_random_rectangular_floatz+TestMMIOArray.test_random_rectangular_float€   s*   € ØˆÜ�I‰I×Ñ˜RÓ ˆØ�
‰
�1Ð?Õ@r   é
   c                 ó  — d}t        j                  |«      j                  d«      }t        j                  t
        d¬«      5  t        j                  j                  t        j                  |«      «       d d d «       y # 1 sw Y   y xY w)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   Ú
ValueErrorra   rb   r   ÚBytesIO©r.   ÚsÚtexts      r   Ú&test_bad_number_of_array_header_fieldsz4TestMMIOArray.test_bad_number_of_array_header_fields…   sY   € ðˆô �‰˜qÓ!×(Ñ(¨Ó1ˆÜ�]‰]œ:Ð->Ö?Ü�H‰H�O‰OœBŸJ™J tÓ,Ô-÷ @×?Ñ?úó   Á3A>Á>Bc                 óf   — | j                  t        ddgddggt        j                  ¬«      d«       y )NrD   rE   r‰   éc   rH   r\   )rA   r   r]   Úint32r-   s    r   Ú#test_gh13634_non_skew_symmetric_intz1TestMMIOArray.test_gh13634_non_skew_symmetric_int˜   s.   € Ø×Ñœ  A ¨¨R¨Ð1¼¿¹ÔBØAõ	Cr   c                 óf   — | j                  t        ddgddggt        j                  ¬«      d«       y )NrD   rE   r‰   ç     ÀX@rH   r   )r?   r   r]   Úfloat32r-   s    r   Ú%test_gh13634_non_skew_symmetric_floatz3TestMMIOArray.test_gh13634_non_skew_symmetric_floatœ   s+   € Ø�
‰
”5˜1˜a˜& 2 s )Ð,´B·J±JÔ?Ø8õ	:r   N)Ú__name__Ú
__module__Ú__qualname__r/   r5   r?   rA   rª   ÚmarkÚparametrizeÚparametrize_argsrN   rU   rg   rl   ro   rq   rw   r|   r€   r„   r‡   r‹   r�   r”   r›   r    Ú	fail_slowr°   rµ   r¹   © r   r   r   r   %   sx  „ ò<ò#ò(òð ‡[�[×ÑÐ-Ð/?Ó@ñAó AðAð ‡[�[×ÑÐ-Ð/?Ó@ñDó AðDòJòOð ‡[�[×ÑÐ-Ð/?Ó@ñAó AðAð ‡[�[×ÑÐ-Ð/?Ó@ñAó AðAð ‡[�[×ÑÐ-Ð/?Ó@ñAó AðAò:ò:ò=ð ‡[�[×ÑÐ-Ð/?Ó@ñCó AðCòJòAò?òCòAð
 ‡[�[×Ñ˜2Óñ.ó ð.ò$Có:r   r   c                   óÒ  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  de
«      d„ «       Zd„ Zd„ Zd	„ Zd
„ Zej                  j                  de
«      d„ «       Zej                  j                  de
«      d„ «       Zej                  j                  de
«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  de
«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMMIOSparseCSRc                 óº   — t        t        t        j                  «       «      ¬«      | _        t
        j                  j                  | j                  d«      | _        y r!   r$   r-   s    r   r/   zTestMMIOSparseCSR.setup_method¢   r0   r   c                 óB   — t        j                  | j                  «       y r   r2   r-   s    r   r5   z!TestMMIOSparseCSR.teardown_method¦   r6   r   c                 óì   — t        | j                  |«       t        t        | j                  «      |«       t	        | j                  d¬«      }t        |j                  «       |j                  «       «       y r8   )r   r,   r   r   r   r
   Útoarrayr;   s       r   r?   zTestMMIOSparseCSR.check©   sH   € Ü�—‘˜ÔÜ”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ! !§)¡)£+¨q¯y©y«{Õ;r   c                 óì   — t        | j                  |«       t        t        | j                  «      |«       t	        | j                  d¬«      }t        |j                  «       |j                  «       «       y r8   )r   r,   r   r   r   rÇ   r;   s       r   rA   zTestMMIOSparseCSR.check_exact¯   sH   € Ü�—‘˜ÔÜ”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ�Q—Y‘Y“[ !§)¡)£+Õ.r   rB   c           	      ó~   — | j                  t        j                  j                  ddgddgg|¬«      dddd|df«       y )NrD   rE   rF   rG   rH   Ú
coordinaterJ   ©rA   ra   ÚsparseÚ	csr_arrayrL   s      r   rN   z%TestMMIOSparseCSR.test_simple_integerµ   óD   € à×ÑœŸ™×/Ñ/°!°Q°¸!¸Q¸Ð0@ÈÐ/ÓNØ˜Q  <°¸)ÐDõ	Fr   c                 ó¤   — t         j                  j                  t        ddgddggt        j
                  ¬«      «      }| j                  |d«       y )NrQ   i  €rS   rT   rH   ©rE   rE   rG   rÊ   r   rJ   )ra   rÌ   rÍ   r   r]   r´   rA   rf   s     r   rU   z$TestMMIOSparseCSR.test_32bit_integerº   sK   € Ü�L‰L×"Ñ"¤5¨7°HÐ*=Ø+2°GÐ*<ð*>ä/1¯x©xô$9ó :ˆð 	×Ñ˜ÐIÕJr   c                 ó€  — t         j                  j                  t        ddgddggt        j
                  ¬«      «      }t	        j                  d«      j                  dk  rLt        t         j                  j                  j                  k(  r!t        t        t        | j                  |«       y | j                  |d«       y )Nì       ìûÿÿÿþÿÿÿ rY   rH   r   r[   rÐ   )ra   rÌ   rÍ   r   r]   r^   r_   r`   r   rb   rc   rd   re   r,   rA   rf   s     r   rg   z$TestMMIOSparseCSR.test_64bit_integerÀ   sˆ   € Ü�L‰L×"Ñ"¤5¨7°GÐ*<Ø+3°WÐ*=ð*?ä/1¯x©xô$9ó :ˆô �G‰G�A‹J×Ñ !Ò#¬´E·H±H·N±N×4JÑ4JÒ)JÜœ-¬°$·'±'¸1Õ=à×Ñ˜QÐ MÕNr   c                 ó¤   — t         j                  j                  t        ddgddggt        j
                  ¬«      «      }| j                  |d«       y )NrQ   rR   rS   rT   rH   ©rE   rE   rG   rÊ   r   rJ   )ra   rÌ   rÍ   r   r]   Úuint32rA   rf   s     r   Útest_32bit_unsigned_integerz-TestMMIOSparseCSR.test_32bit_unsigned_integerÉ   óK   € Ü�L‰L×"Ñ"¤5¨7°GÐ*<Ø+2°GÐ*<ð*>ä/1¯y©yô$:ó ;ˆð 	×Ñ˜ÐRÕSr   c                 ó¤   — t         j                  j                  t        ddgddggt        j
                  ¬«      «      }| j                  |d«       y )NrÒ   ri   rj   rH   rÕ   )ra   rÌ   rÍ   r   r]   rk   rA   rf   s     r   rl   z-TestMMIOSparseCSR.test_64bit_unsigned_integerÏ   rØ   r   c           	      ó~   — | j                  t        j                  j                  ddgddgg|¬«      dddd|df«       y ©Nr   rD   rH   rE   rÊ   rJ   rË   rL   s      r   ro   z4TestMMIOSparseCSR.test_simple_upper_triangle_integerÕ   rÎ   r   c           	      ó~   — | j                  t        j                  j                  ddgddgg|¬«      dddd|df«       y rÛ   rË   rL   s      r   rq   z4TestMMIOSparseCSR.test_simple_lower_triangle_integerÚ   rÎ   r   c           	      ó~   — | j                  t        j                  j                  g d¢g d¢g|¬«      dddd|df«       y )	Nrs   rt   rH   rE   rF   rv   rÊ   rJ   rË   rL   s      r   rw   z1TestMMIOSparseCSR.test_simple_rectangular_integerß   s<   € à×ÑœŸ™×/Ñ/²ºIÐ0FÈeÐ/ÓTØ˜Q  <°¸)ÐDõ	Fr   c                 ót   — | j                  t        j                  j                  ddgddgddgg«      d«       y )NrD   rE   ry   rG   ru   rv   )rF   rE   rv   rÊ   rz   rJ   ©r?   ra   rÌ   rÍ   r-   s    r   r|   z/TestMMIOSparseCSR.test_simple_rectangular_floatä   s5   € Ø�
‰
”5—<‘<×)Ñ)¨A¨q¨6°C¸°8¸aÀ¸VÐ*DÓEØ=õ	?r   c                 ón   — | j                  t        j                  j                  ddgddgg«      d«       y )NrD   rE   rF   r~   ©rE   rE   rG   rÊ   rz   rJ   rß   r-   s    r   r€   z#TestMMIOSparseCSR.test_simple_floatè   s/   € Ø�
‰
”5—<‘<×)Ñ)¨A¨q¨6°A°s°8Ð*<Ó=Ø=õ	?r   c                 ón   — | j                  t        j                  j                  ddgddgg«      d«       y )NrD   rE   rF   r‚   )rE   rE   rG   rÊ   rƒ   rJ   rß   r-   s    r   r„   z%TestMMIOSparseCSR.test_simple_complexì   s0   € Ø�
‰
”5—<‘<×)Ñ)¨A¨q¨6°A°r°7Ð*;Ó<Ø@õ	Br   c           	      ó~   — | j                  t        j                  j                  ddgddgg|¬«      dddd|df«       y )NrD   rE   rG   rH   rF   rÊ   r†   rË   rL   s      r   r‡   z/TestMMIOSparseCSR.test_simple_symmetric_integerð   sD   € à×ÑœŸ™×/Ñ/°!°Q°¸!¸Q¸Ð0@ÈÐ/ÓNØ˜Q  <°¸+ÐFõ	Hr   c                 ón   — | j                  t        j                  j                  ddgddgg«      d«       y )Nr   rE   r‰   )rE   rE   rD   rÊ   r   rŠ   rË   r-   s    r   r‹   z4TestMMIOSparseCSR.test_simple_skew_symmetric_integerõ   s2   € Ø×ÑœŸ™×/Ñ/°!°Q°¸"¸a¸Ð0AÓBØMõ	Or   c           	      ó‚   — | j                  t        j                  j                  t	        ddgddggd«      «      d«       y )Nr   rE   r�   rŽ   )rE   rE   rD   rÊ   rz   rŠ   )r?   ra   rÌ   rÍ   r   r-   s    r   r�   z2TestMMIOSparseCSR.test_simple_skew_symmetric_floatù   s7   € Ø�
‰
”5—<‘<×)Ñ)¬%°!°Q°¸$À¸Ð0CÀSÓ*IÓJØDõ	Fr   c                 ón   — | j                  t        j                  j                  ddgddgg«      d«       y )NrD   r‘   r’   rG   )rE   rE   rF   rÊ   rƒ   r“   rß   r-   s    r   r”   z/TestMMIOSparseCSR.test_simple_hermitian_complexý   s0   € Ø�
‰
”5—<‘<×)Ñ)¨A¨t¨9°t¸Q°iÐ*@ÓAØBõ	Dr   c                 óÄ   — d}t         j                  j                  |«      }|t        |«      z   }t        j                  j                  |«      }| j                  |d«       y )Nr–   )r—   r—   éÒ   rÊ   rz   r†   )r]   r˜   r   ra   rÌ   rÍ   r?   r™   s      r   r›   z-TestMMIOSparseCSR.test_random_symmetric_float  sL   € ØˆÜ�I‰I×Ñ˜RÓ ˆØ”	˜!“ÑˆÜ�L‰L×"Ñ" 1Ó%ˆØ�
‰
�1ÐFÕGr   c                 ó¨   — d}t         j                  j                  |«      }t        j                  j	                  |«      }| j                  |d«       y )Nr�   )r—   rž   rŸ   rÊ   rz   rJ   )r]   r˜   ra   rÌ   rÍ   r?   r™   s      r   r    z/TestMMIOSparseCSR.test_random_rectangular_float  s>   € ØˆÜ�I‰I×Ñ˜RÓ ˆÜ�L‰L×"Ñ" 1Ó%ˆØ�
‰
�1ÐDÕEr   c                 ó²  — t         j                  j                  ddgddgg«      }t        j                  |j                  «       «      }d||j                  «       dkD  <   d}t        | j                  |d¬«       t        t        | j                  «      |«       t        | j                  d	¬
«      }t        ||j                  «       «       t         j                  j                  |«      rJ ‚t        | j                  d¬
«      }t         j                  j                  |«      sJ ‚t        | j                  «      }t         j                  j                  |«      sJ ‚y )Nr   g      ø?g      @g      @rD   )rE   rE   rF   rÊ   ÚpatternrJ   rë   )ÚfieldFr9   T)ra   rÌ   rÍ   r]   Ú
zeros_likerÇ   r   r,   r   r   r   r
   Ú
isspmatrix)r.   r<   Úpr=   r>   s        r   Útest_simple_patternz%TestMMIOSparseCSR.test_simple_pattern  s÷   € Ü�L‰L×"Ñ" Q¨ H¨s°C¨jÐ#9Ó:ˆÜ�M‰M˜!Ÿ)™)›+Ó&ˆØˆˆ!�)‰)‹+˜‰/ÑØ<ˆÜ�—‘˜ )Õ,Ü”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ! ! Q§Y¡Y£[Ô1Ü—<‘<×*Ñ*¨1Ô-Ð-Ð-ä�4—7‘7 TÔ*ˆÜ�|‰|×&Ñ& qÔ)Ð)Ð)Ü�4—7‘7‹OˆÜ�|‰|×&Ñ& qÔ)Ð)Ñ)r   c                 ó’   — t         j                  j                  ddgddggt        j                  ¬«      }| j                  |d«       y )NrD   rE   r‰   r³   rH   rÐ   )ra   rÌ   rÍ   r]   r´   rA   rf   s     r   rµ   z5TestMMIOSparseCSR.test_gh13634_non_skew_symmetric_int  s=   € Ü�L‰L×"Ñ" Q¨ F¨R°¨HÐ#5¼R¿X¹XÐ"ÓFˆØ×Ñ˜ÐIÕJr   c                 ó’   — t         j                  j                  ddgddggt        j                  ¬«      }| j                  |d«       y )NrD   rE   r‰   r·   rH   rá   )ra   rÌ   rÍ   r]   r¸   r?   rf   s     r   r¹   z7TestMMIOSparseCSR.test_gh13634_non_skew_symmetric_float"  s;   € Ü�L‰L×"Ñ" Q¨ F¨R°¨IÐ#6¼b¿j¹jÐ"ÓIˆØ�
‰
�1Ð@ÕAr   N)rº   r»   r¼   r/   r5   r?   rA   rª   r½   r¾   r¿   rN   rU   rg   r×   rl   ro   rq   rw   r|   r€   r„   r‡   r‹   r�   r”   r›   r    rð   rµ   r¹   rÁ   r   r   rÃ   rÃ   ¡   s?  „ ò<ò#ò<ò/ð ‡[�[×ÑÐ-Ð/?Ó@ñFó AðFòKòOòTòTð ‡[�[×ÑÐ-Ð/?Ó@ñFó AðFð ‡[�[×ÑÐ-Ð/?Ó@ñFó AðFð ‡[�[×ÑÐ-Ð/?Ó@ñFó AðFò?ò?òBð ‡[�[×ÑÐ-Ð/?Ó@ñHó AðHòOòFòDòHòFò*ò Kó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                   óN   — 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y)ÚTestMMIOReadLargeIntegersc                 óº   — t        t        t        j                  «       «      ¬«      | _        t
        j                  j                  | j                  d«      | _        y r!   r$   r-   s    r   r/   z&TestMMIOReadLargeIntegers.setup_methodj  r0   r   c                 óB   — t        j                  | j                  «       y r   r2   r-   s    r   r5   z)TestMMIOReadLargeIntegers.teardown_methodn  r6   r   c                 ó  — t        | j                  d«      5 }|j                  |«       d d d «       t        t	        | j                  «      |«       |rMt        j                  d«      j                  dk  r+t        t        j                  j                  j                  k(  s|r t        t        t        | j                  «       y t        | j                  d¬«      }|s|j                  «       }t        ||«       y # 1 sw Y   ŒÏxY w)NÚwr   r[   Fr9   )Úopenr,   Úwriter   r   r]   r_   r`   r   ra   rb   rc   rd   re   r   rÇ   )	r.   Úexampler<   r=   ÚdenseÚover32Úover64rŽ   r>   s	            r   Ú
check_readz$TestMMIOReadLargeIntegers.check_readq  s¦   € Ü�$—'‘'˜3Ô 1Ø�G‰G�GÔ÷  ä”V˜DŸG™G“_ dÔ+ÙœŸ™ ›×,Ñ,¨qÒ0´gÄÇÁÇÁ×AWÑAWÒ6WÙÜœ-¬°·±Õ9ä�t—w‘w¨Ô/ˆAÙØ—I‘I“K�Ü˜˜AÕ÷  Ðús   —C7Ã7D c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬«       y )NrQ   rR   rH   r\   TF©rü   rý   rþ   )r   r]   r^   rÿ   Ú_32bit_integer_dense_examplerf   s     r   Útest_read_32bit_integer_densez7TestMMIOReadLargeIntegers.test_read_32bit_integer_dense~  sJ   € Ü�G˜WÐ%Ø˜WÐ%ð'Ü.0¯h©hô8ˆà�‰Ô4ØØ@Ø"Ø$Ø$ð 	õ 	&r   c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬«       y )NrQ   r   rR   rH   ©rE   rE   rE   rÊ   r   r†   Fr  )r   r]   r^   rÿ   Ú_32bit_integer_sparse_examplerf   s     r   Útest_read_32bit_integer_sparsez8TestMMIOReadLargeIntegers.test_read_32bit_integer_sparseˆ  sH   € Ü�G˜Q�<Ø�w�<ð!Ü(*¯©ô2ˆà�‰Ô5ØØGØ#Ø$Ø$ð 	õ 	&r   c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬	«       y )
NrW   i   €rÓ   rZ   rH   r\   TFr  )r   r]   r^   rÿ   Ú_64bit_integer_dense_examplerf   s     r   Útest_read_64bit_integer_densez7TestMMIOReadLargeIntegers.test_read_64bit_integer_dense’  sI   € Ü�E˜6�?Ø˜gÐ&ð(Ü/1¯x©xô9ˆà�‰Ô4ØØ@Ø"Ø#Ø$ð 	õ 	&r   c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬«       y )	NrW   rZ   r   rH   )rE   rE   rF   rÊ   r   rJ   FTr  )r   r]   r^   rÿ   Ú%_64bit_integer_sparse_general_examplerf   s     r   Ú&test_read_64bit_integer_sparse_generalz@TestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_generalœ  sI   € Ü�E˜7Ð#Ø�w�<ð!Ü(*¯©ô2ˆà�‰Ô=ØØEØ#Ø#Ø$ð 	õ 	&r   c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬«       y )	NrW   ìûÿÿÿÿÿÿÿ rZ   rH   )rE   rE   rF   rÊ   r   r†   FTr  )r   r]   r^   rÿ   Ú'_64bit_integer_sparse_symmetric_examplerf   s     r   Ú(test_read_64bit_integer_sparse_symmetriczBTestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_symmetric¦  sJ   € Ü�E˜8Ð$Ø˜gÐ&ð(Ü/1¯x©xô9ˆà�‰Ô?ØØGØ#Ø#Ø$ð 	õ 	&r   c                 ó|   — t        ddgddggt        j                  ¬«      }| j                  t        |dddd¬«       y )	NrW   r  rZ   rH   )rE   rE   rF   rÊ   r   rŠ   FTr  )r   r]   r^   rÿ   Ú"_64bit_integer_sparse_skew_examplerf   s     r   Ú#test_read_64bit_integer_sparse_skewz=TestMMIOReadLargeIntegers.test_read_64bit_integer_sparse_skew°  sJ   € Ü�E˜8Ð$Ø˜WÐ%ð'Ü.0¯h©hô8ˆà�‰Ô:ØØLØ#Ø#Ø$ð 	õ 	&r   c                 ó:   — | j                  t        d dddd¬«       y )Nr\   Tr  )rÿ   Ú _over64bit_integer_dense_exampler-   s    r   Ú!test_read_over64bit_integer_densez;TestMMIOReadLargeIntegers.test_read_over64bit_integer_denseº  s%   € Ø�‰Ô8ØØ@Ø"Ø#Ø#ð 	õ 	%r   c                 ó:   — | j                  t        d dddd¬«       y )Nr  FTr  )rÿ   Ú!_over64bit_integer_sparse_exampler-   s    r   Ú"test_read_over64bit_integer_sparsez<TestMMIOReadLargeIntegers.test_read_over64bit_integer_sparseÂ  s%   € Ø�‰Ô9ØØGØ#Ø#Ø#ð 	õ 	%r   N)rº   r»   r¼   r/   r5   rÿ   r  r  r
  r  r  r  r  r  rÁ   r   r   rô   rô   i  s9   „ ò<ò#òò&ò&ò&ò&ò&ò&ò%ó%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                   ór   — 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y)ÚTestMMIOCoordinatec                 óº   — t        t        t        j                  «       «      ¬«      | _        t
        j                  j                  | j                  d«      | _        y r!   r$   r-   s    r   r/   zTestMMIOCoordinate.setup_method1  r0   r   c                 óB   — t        j                  | j                  «       y r   r2   r-   s    r   r5   z"TestMMIOCoordinate.teardown_method5  r6   r   c                 ó  — t        | j                  d«      }|j                  |«       |j                  «        t	        t        | j                  «      |«       t        | j                  d¬«      j                  «       }t        ||«       y )Nrø   Fr9   )	rù   r,   rú   Úcloser   r   r   rÇ   r
   )r.   rû   r<   r=   rŽ   r>   s         r   rÿ   zTestMMIOCoordinate.check_read8  s\   € Ü�—‘˜#ÓˆØ	�‰�ÔØ	�‰Œ	Ü”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+×3Ñ3Ó5ˆÜ! ! QÕ'r   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y ©N)rD   r   r   rv   r   )r   ç      %@r   r   r   ©r   r   ç¸…ëQ¸Ž?r   r   )r   ç     Po@r   éèþÿÿç)\�Âõ¨@@©r   r   r   r   é   ©ru   ru   r[   rÊ   rz   rJ   )rÿ   Ú_general_examplerf   s     r   Útest_read_generalz$TestMMIOCoordinate.test_read_general@  s/   € ÚÚÚÚ'Úð	ˆð
 	�‰Ô(¨!ØBõ	Dr   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y )N©rD   r   r   r   r   )r   r#  r   y     Po@¸…ëQ86Àr   r$  )r   y     Po@¸…ëQ86@r   r'  y       €)\�Âõ¨@À)r   r   r   y        )\�Âõ¨@@r*  )ru   ru   é   rÊ   rƒ   r“   )rÿ   Ú_hermitian_examplerf   s     r   Útest_read_hermitianz&TestMMIOCoordinate.test_read_hermitianI  s/   € ÚÚ,ÚÚ2Ú"ð	$ˆð
 	�‰Ô*¨AØGõ	Ir   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y )Nr/  )r   r#  r   g     PoÀr   r$  )r   r&  r   r'  r   r)  )ru   ru   r0  rÊ   rz   rŠ   )rÿ   Ú_skew_examplerf   s     r   Útest_read_skewz!TestMMIOCoordinate.test_read_skewR  s.   € ÚÚ$ÚÚ#Úð	ˆð
 	�‰œ qØIõ	Kr   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y )Nr/  )r   r#  r   r&  r   r$  )r   r&  r   r'  r[   )r   r   r   r[   r*  )ru   ru   r0  rÊ   rz   r†   )rÿ   Ú_symmetric_examplerf   s     r   Útest_read_symmetricz&TestMMIOCoordinate.test_read_symmetric[  s/   € ÚÚ#ÚÚ#Úð	ˆð
 	�‰Ô*¨AØDõ	Fr   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y )Nr/  )r   rD   r   rD   r   )r   r   rD   r   r   )r   rD   r   rD   rD   )r   r   r   rD   rD   )ru   ru   r0  rÊ   rë   r†   )rÿ   Ú_symmetric_pattern_examplerf   s     r   Útest_read_symmetric_patternz.TestMMIOCoordinate.test_read_symmetric_patternd  s/   € ÚÚÚÚÚð	ˆð
 	�‰Ô2°AØGõ	Ir   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y r"  )rÿ   Ú_empty_lines_examplerf   s     r   Útest_read_empty_linesz(TestMMIOCoordinate.test_read_empty_linesm  s/   € ÚÚÚÚ'Úð	ˆð
 	�‰Ô,¨aØBõ	Dr   c                 ó.  — t         j                  j                  d«      }t        | j                  |«       t        t        | j                  «      d«       |j                  «       }t        | j                  d¬«      j                  «       }t        ||«       y )N)r¡   r¡   )r¡   r¡   r   rÊ   rz   r†   Fr9   )
ra   rÌ   Ú	coo_arrayr   r,   r   r   rÇ   r   r
   )r.   r>   r<   s      r   Útest_empty_write_readz(TestMMIOCoordinate.test_empty_write_readv  sj   € ô �L‰L×"Ñ" 8Ó,ˆÜ�—‘˜Ôä”V˜DŸG™G“_ØCô	Eà�I‰I‹KˆÜ�4—7‘7 UÔ+×3Ñ3Ó5ˆÜ! ! QÕ'r   c                 óP  — 	 dd l }t        g d¢«      }t        g d¢«      }t        g d¢«      }t        j                  j                  |||ffd¬«      }t        | j                  |«       | j                  › d�}t        | j                  d«      5 }|j                  |d	«      }|j                  |j                  «       «       |j                  «        d d d «       t        |d
¬«      j                  «       }	t        |	|j                  «       «       y # t        $ r Y y w xY w# 1 sw Y   ŒNxY w)Nr   ©r   r   rD   rE   rF   rF   rF   rG   ©r   rF   rD   rE   rD   rF   rG   rG   ©g      ð?g      @r#  r%  r&  g     €qÀr(  g      (@©ru   ru   ©Úshapez.bz2ÚrbÚwbFr9   )Úbz2ÚImportErrorr   ra   rÌ   r@  r   r,   rù   ÚBZ2Filerú   Úreadr   r   rÇ   r
   )
r.   rK  ÚIÚJÚVr>   Úfn_bzip2Úf_inÚf_outr<   s
             r   Útest_bzip2_py3z!TestMMIOCoordinate.test_bzip2_py3‚  sð   € ð	ãô Ò*Ó+ˆÜÒ*Ó+ˆÜÒEÓFˆä�L‰L×"Ñ" A¨¨1 v ;°fÐ"Ó=ˆä�—‘˜Ôà—g‘g�Y˜dÐ#ˆÜ�$—'‘'˜4Ô  DØ—K‘K ¨$Ó/ˆEØ�K‰K˜Ÿ	™	›Ô$Ø�K‰KŒM÷ !ô
 �8 eÔ,×4Ñ4Ó6ˆÜ! ! Q§Y¡Y£[Õ1øô# ò 	Ùð	ú÷ !Ð úó   ‚D ÂADÄ	DÄDÄD%c                 óP  — 	 dd l }t        g d¢«      }t        g d¢«      }t        g d¢«      }t        j                  j                  |||ffd¬«      }t        | j                  |«       | j                  › d�}t        | j                  d«      5 }|j                  |d	«      }|j                  |j                  «       «       |j                  «        d d d «       t        |d
¬«      j                  «       }	t        |	|j                  «       «       y # t        $ r Y y w xY w# 1 sw Y   ŒNxY w)Nr   rC  rD  rE  rF  rG  z.gzrI  rJ  Fr9   )ÚgziprL  r   ra   rÌ   r@  r   r,   rù   rú   rN  r   r   rÇ   r
   )
r.   rX  rO  rP  rQ  r>   Úfn_gziprS  rT  r<   s
             r   Útest_gzip_py3z TestMMIOCoordinate.test_gzip_py3š  sï   € ð	ãô Ò*Ó+ˆÜÒ*Ó+ˆÜÒEÓFˆä�L‰L×"Ñ" A¨¨1 v ;°fÐ"Ó=ˆä�—‘˜Ôà—W‘W�I˜S�/ˆÜ�$—'‘'˜4Ô  DØ—I‘I˜g tÓ,ˆEØ�K‰K˜Ÿ	™	›Ô$Ø�K‰KŒM÷ !ô
 �7 UÔ+×3Ñ3Ó5ˆÜ! ! Q§Y¡Y£[Õ1øô# ò 	Ùð	ú÷ !Ð úrV  c                 óˆ  — t        g d¢«      }t        g d¢«      }t        g d¢«      }t        j                  j                  |||ffd¬«      }t	        | j
                  |«       t        t        | j
                  «      d«       |j                  «       }t        | j
                  d¬«      j                  «       }t        ||«       y )	NrC  rD  rE  rF  rG  r+  Fr9   ©r   ra   rÌ   r@  r   r,   r   r   rÇ   r   r
   ©r.   rO  rP  rQ  r>   r<   s         r   Útest_real_write_readz'TestMMIOCoordinate.test_real_write_read²  s–   € ÜÒ*Ó+ˆÜÒ*Ó+ˆÜÒEÓFˆä�L‰L×"Ñ" A¨¨1 v ;°fÐ"Ó=ˆä�—‘˜Ôä”V˜DŸG™G“_Ø?ô	Aà�I‰I‹KˆÜ�4—7‘7 UÔ+×3Ñ3Ó5ˆÜ! ! QÕ'r   c                 óˆ  — t        g d¢«      }t        g d¢«      }t        g d¢«      }t        j                  j                  |||ffd¬«      }t	        | j
                  |«       t        t        | j
                  «      d«       |j                  «       }t        | j
                  d¬«      j                  «       }t        ||«       y )	NrC  rD  ©y      ð?      @y      @       @y      %@ÍÌÌÌÌÌì?y¸…ëQ¸Ž?š™™™™™Ày     Po@        y     €qÀ      @y)\�Âõ¨@@š™™™™™@y      (@š™™™™™é?rF  rG  )ru   ru   r[   rÊ   rƒ   rJ   Fr9   r\  r]  s         r   Útest_complex_write_readz*TestMMIOCoordinate.test_complex_write_readÁ  sž   € ÜÒ*Ó+ˆÜÒ*Ó+ˆÜò Hó Iˆô �L‰L×"Ñ" A¨¨1 v ;°fÐ"Ó=ˆä�—‘˜Ôä”V˜DŸG™G“_ØBô	Dà�I‰I‹KˆÜ�4—7‘7 UÔ+×3Ñ3Ó5ˆÜ! ! QÕ'r   c                 ó:  — |dz  }|j                  «        g }t        g d¢«      }t        g d¢«      }t        g d¢«      }|j                  t        j                  j                  |||ffd¬«      «       t        g d¢«      }|j                  t        j                  j                  |||ffd¬«      «       |D ]c  }|j                  «       }dD ]L  }	||	d	z   z  }
t        |
|j                  |	«      «       t        |
d
¬«      j                  «       }t        ||«       ŒN Œe y )NÚsparse_formatsrC  rD  rE  rF  rG  r`  )ÚcsrÚcscÚcooz.mtxFr9   )Úmkdirr   Úappendra   rÌ   r@  rÇ   r   Úasformatr   r
   )r.   Útmp_pathr(   ÚmatsrO  rP  rQ  ÚmatÚexpectedÚfmtÚfnameÚresults               r   Útest_sparse_formatsz&TestMMIOCoordinate.test_sparse_formatsÑ  sü   € àÐ,Ñ,ˆØ�‰ŒàˆÜÒ*Ó+ˆÜÒ*Ó+ˆäÒEÓFˆØ�‰”E—L‘L×*Ñ*¨A°°1¨v¨;¸fÐ*ÓEÔFäò Hó Iˆà�‰”E—L‘L×*Ñ*¨A°°1¨v¨;¸fÐ*ÓEÔFãˆCØ—{‘{“}ˆHÛ,�Ø #¨¡,Ñ/�Ü˜˜sŸ|™|¨CÓ0Ô1Ü °Ô6×>Ñ>Ó@�Ü)¨&°(Õ;ñ	 -ñ r   c                 ó4  — t         gt        ddd«      D �cg c]  }d|z  ‘Œ	 c}z   }t        dd«      }|D ]Ü  }|D ]Õ  }d|z  dz   }t        j                  j	                  ||f«      }|||dz
  |dz
  f<   t        | j                  ||¬«       t        j                  j                  | j                  d¬«      }t        |j                  |dz
  g«       t        |j                  |dz
  g«       t        |j                  t        |d	|› d
�›«      g«       Œ× ŒÞ y c c}w )Nr   iöÿÿÿéÿÿÿÿr¡   rD   )Ú	precisionFr9   Ú.Úg)r   Úrangera   rÌ   Ú	dok_arrayr   r,   rb   r   r	   ÚrowÚcolr   ÚdataÚfloat)r.   ÚiÚtest_valuesÚtest_precisionsÚvaluert  ÚnÚAs           r   Útest_precisionz!TestMMIOCoordinate.test_precisioné  s  € Ü�d¬u°Q¸¸RÔ/@ÓAÑ/@¨!˜b 1›gÐ/@ÑAÑAˆÜ  2›,ˆÛ ˆEÛ,�	à˜	‘M AÑ%�Ü—L‘L×*Ñ*¨A¨q¨6Ó2�Ø#��!�A‘#�q˜‘s�(‘ä˜Ÿ™ ¨iÕ8Ü—H‘H—O‘O D§G¡G°e�OÓ<�ä" 1§5¡5¨1¨Q©3¨%Ô0Ü" 1§5¡5¨1¨Q©3¨%Ô0Ü §¡¬°%¸¸)¸ÀA°~Ð1FÓ)HÐ(IÕJñ -ñ !ùò Bs   –Dc                 ó  — d}t        j                  |«      j                  d«      }t        j                  t
        d¬«      5  t        j                  j                  t        j                  |«      «       d d d «       y # 1 sw Y   y xY w)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ú  sY   € ðˆô �‰˜qÓ!×(Ñ(¨Ó1ˆÜ�]‰]œ:Ð->Ö?Ü�H‰H�O‰OœBŸJ™J tÓ,Ô-÷ @×?Ñ?úr±   N)rº   r»   r¼   r/   r5   rÿ   r-  r2  r5  r8  r;  r>  rA  rU  rZ  r^  ra  rq  rƒ  r…  rÁ   r   r   r  r  0  s^   „ ò<ò#ò(òDòIòKòFòIòDò
(ò2ò02ò0(ò(ò <ò0Kó".r   r  c                  óD   — t        t        j                  d«      d¬«       y )Núg%%MatrixMarket matrix coordinate complex symmetric
 1 1 1
1 1 -2.1846000000000e+02  0.0000000000000e+00Fr9   )r   rb   ÚStringIOrÁ   r   r   Útest_gh11389r‰    s!   € Ü
Œ2�;‰;ð Gó Hð ör   c                 ó”   — g d¢}| dz  }t        |d«      5 }|j                  |«       d d d «       t        |d¬«       y # 1 sw Y   ŒxY w)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ø   Fr9   )rù   Ú
writelinesr   )rj  ÚlinesÚ	test_filerŽ   s       r   Útest_gh18123rŽ    sE   € ò€Eð
 ˜:Ñ%€IÜ	ˆi˜Ô	 Ø	�‰�UÔ÷ 
ä
ˆ9˜uÖ%÷ 
Ð	ús	   –>¾Ac                 óŠ   — t        t        j                  d«      d¬«      }| dz  }| dz  }t        ||«       t        |d¬«       y )Nr‡  Fr9   Útest_mtxztest_mtx.mtx)r   rb   rˆ  r   )rj  r<   Útest_writefileÚtest_readfiles       r   Útest_mtx_appendr“    sM   € ÜŒr�{‰{ð Kó Lð ô	€Að  
Ñ*€NØ Ñ.€MÜˆN˜AÔÜ
ˆ= 5Ö)r   c                  ó¢  — 	 dd l } t        | d«      st        j                  d«       y 	 | j                  d¬«      5  t        t        j                  d«       d d d «       | j                  dd¬	«      5  t        t        j                  d«       d d d «       y # t        $ r t        j                  d«       Y y w xY w# 1 sw Y   ŒdxY w# 1 sw Y   y xY w)
Nr   Úregisterzthreadpoolctl too oldzno threadpoolctlrG   )ÚlimitsrE   ra   )r–  Úuser_api)	ÚthreadpoolctlÚhasattrrª   ÚskiprL  Úthreadpool_limitsr   ÚfmmÚPARALLELISM)r˜  s    r   Útest_threadpoolctlrž  )  s¯   € ðÛÜ�} jÔ1Ü�K‰KÐ/Ô0Øð 2ð 
×	(Ñ	(°Ð	(Õ	2Ü”S—_‘_ aÔ(÷ 
3ð 
×	(Ñ	(°¸GÐ	(Õ	DÜ”S—_‘_ aÔ(÷ 
EÐ	Døô ò Ü�‰Ð&Ô'Ùðú÷ 
3Ð	2ú÷ 
EÐ	Dús(   ‚%B »B9Á1CÂB6Â5B6Â9CÃCc                  ó¼   — t        t        t        j                  «       «      ¬«      } t        j
                  j                  | d«      }t        t        t        |«       y )Nr"   znot_exist_test_file.mtx)
r   r%   r&   r'   r)   r*   r+   rd   ÚFileNotFoundErrorr   )r(   Úwrong_fns     r   Útest_gh21999_file_not_existr¢  :  s<   € ÜœC¤	× 7Ñ 7Ó 9Ó:Ô;€FÜ�w‰w�|‰|˜FÐ$=Ó>€HÜÔ#¤V¨XÕ6r   )8Útempfiler   r)   rb   r3   r&   r§   Únumpyr]   r   r   r   Únumpy.testingr   r   r	   r
   rª   r   rd   Úscipy.sparsera   Úscipy.io._mmioÚscipy.io._fast_matrix_marketÚ_fast_matrix_marketrœ  r¿   r½   Úthread_unsafeÚ
pytestmarkÚfixturerc   r   r   rÃ   r  r  r	  r  r  r  r  r  rô   r,  r1  r4  r7  r:  r=  r  r‰  rŽ  r“  rž  r¢  rÁ   r   r   Ú<module>r­     sQ  ðÝ Û 	Û 	Û Û Û ã ß &Ñ &÷Jó Jã Ý *ã Û ß *Ð *ð 'Ø0ð2Ð ð �[‰[×&Ñ&€
ð €‡��h¨¯©¯©¸Ð'<ÀdÔKñ$ó Lð$÷y:ñ y:ôxCB˜ô CBðL Ð ð!Ð ð Ð ð)Ð %ð+Ð 'ð&Ð "ð$Ð  ð%Ð !÷_%ñ _%ðD Ð ðD
Ð ð
€ð
Ð ð
Ð ðÐ ÷"Y.ñ Y.òxò	&ò*ò)ó"7r   