Ë
    âQ(hoq  ã                   óÚ  — 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%„ Z6y)&é    )Ú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    úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/io/tests/test_mmio.pyÚimplementationsr      s1   € ð
 �]‰]×!Ñ!€FØ�]‰]×!Ñ!€FØ�m‰m×#Ñ#�Gó    c                   óª  — e Zd Zd„ Zd„ Zd„ Zd„ Zej                  j                  ej                  j                  de«      d„ «       «       Zej                  j                  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                  j9                  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 r7   )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©r@   r   ©r-   ÚtypevalrH   s      r   Útest_simple_integerz!TestMMIOArray.test_simple_integer9   s9   € ð 	×Ñœ  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éÿÿÿéþÿÿéýÿÿéüÿÿrG   rD   rF   r   rI   )r   r@   )r-   rL   rH   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ì        ì        ì   þÿÿÿ ì   ÿÿÿÿ rG   r   é   ©rD   rD   rF   r   r   rI   )r   ÚnpÚint64ÚintpÚitemsizer   ÚscipyÚioÚ_mmioÚassert_raisesÚOverflowErrorr+   r@   ©r-   r;   s     r   Útest_64bit_integerz TestMMIOArray.test_64bit_integerE   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 )NrU   rV   ì   þÿÿÿ ì   ÿÿÿÿ rG   )rD   rD   rF   r   r   rI   )r   r[   Úuint64r@   rd   s     r   Útest_64bit_unsigned_integerz)TestMMIOArray.test_64bit_unsigned_integerL   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   rC   rG   rD   rF   r   rI   rJ   rK   s      r   Ú"test_simple_upper_triangle_integerz0TestMMIOArray.test_simple_upper_triangle_integerP   ó7   € à×Ñœ  A ¨¨A¨Ð/°uÔ=Ø˜Q  7¨G°YÐ?õ	Ar   c           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y rl   rJ   rK   s      r   Ú"test_simple_lower_triangle_integerz0TestMMIOArray.test_simple_lower_triangle_integerU   rn   r   c           	      óV   — | j                  t        g d¢g d¢g|¬«      dddd|df«       y )	N©rC   rD   rE   ©rF   é   é   rG   rD   rE   ru   r   rI   rJ   rK   s      r   Útest_simple_rectangular_integerz-TestMMIOArray.test_simple_rectangular_integerZ   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 )NrC   rD   ç      @rF   rt   ru   )rE   rD   ru   r   ÚrealrI   ©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 )NrC   rD   rE   ç      @©rD   rD   rF   r   ry   rI   rz   r,   s    r   Útest_simple_floatzTestMMIOArray.test_simple_floatc   s    € Ø�
‰
�Q˜�F˜Q ˜HÐ%Ø8õ	:r   c                 ó4   — | j                  ddgddggd«       y )NrC   rD   rE   ù              @)rD   rD   rF   r   ÚcomplexrI   rz   r,   s    r   Útest_simple_complexz!TestMMIOArray.test_simple_complexg   s    € Ø�
‰
�Q˜�F˜Q ˜GÐ$Ø;õ	=r   c           	      óV   — | j                  t        ddgddgg|¬«      dddd|df«       y )NrC   rD   rF   rG   r   Ú	symmetricrJ   rK   s      r   Útest_simple_symmetric_integerz+TestMMIOArray.test_simple_symmetric_integerk   s7   € à×Ñœ  A ¨¨A¨Ð/°uÔ=Ø˜Q  7¨G°[ÐAõ	Cr   c                 ó4   — | j                  ddgddggd«       y )Nr   rD   éþÿÿÿ)rD   rD   rF   r   r   úskew-symmetric)r@   r,   s    r   Ú"test_simple_skew_symmetric_integerz0TestMMIOArray.test_simple_skew_symmetric_integerp   s#   € Ø×Ñ˜1˜a˜& 2 q 'Ð*ØHõ	Jr   c                 óH   — | j                  t        ddgddggd«      d«       y )Nr   rD   ç       Àg        Úf)rD   rD   rF   r   ry   r‰   )r>   r   r,   s    r   Ú test_simple_skew_symmetric_floatz.TestMMIOArray.test_simple_skew_symmetric_floatt   s(   € Ø�
‰
”5˜1˜a˜& 4¨ +Ð.°Ó4Ø?õ	Ar   c                 ó4   — | j                  ddgddggd«       y )NrC   ù       @      @ù       @      ÀrF   )rD   rD   rF   r   r‚   Ú	hermitianrz   r,   s    r   Útest_simple_hermitian_complexz+TestMMIOArray.test_simple_hermitian_complexx   s    € Ø�
‰
�Q˜�I  a˜yÐ)Ø=õ	?r   c                 ó†   — d}t         j                  j                  |«      }|t        |«      z   }| j                  |d«       y )N©é   r–   )r–   r–   i�  r   ry   r…   )r[   Úrandomr   r>   ©r-   Úszr;   s      r   Útest_random_symmetric_floatz)TestMMIOArray.test_random_symmetric_float|   s8   € ØˆÜ�I‰I×Ñ˜RÓ ˆØ”	˜!“ÑˆØ�
‰
�1ÐAÕBr   c                 ój   — d}t         j                  j                  |«      }| j                  |d«       y )N©r–   é   )r–   r�   é,  r   ry   rI   )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   Ú
ValueErrorr_   r`   r   ÚBytesIO©r-   ÚsÚtexts      r   Ú&test_bad_number_of_array_header_fieldsz4TestMMIOArray.test_bad_number_of_array_header_fields‡   sa   € ðˆô �‰˜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 )NrC   rD   rˆ   éc   rG   rZ   )r@   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 )NrC   rD   rˆ   ç     ÀX@rG   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.   r4   r>   r@   r©   ÚmarkÚthread_unsafeÚparametrizeÚparametrize_argsrM   rS   re   rj   rm   rp   rv   r{   r   rƒ   r†   rŠ   rŽ   r“   rš   rŸ   Ú	fail_slowr¯   r´   r¸   © r   r   r   r   %   sœ  „ ò<ò#ò(òð ‡[�[×ÑØ‡[�[×ÑÐ-Ð/?Ó@ñ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¤   r/   r   c                 óB   — t        j                  | j                  «       y r   r1   r,   s    r   r4   z!TestMMIOSparseCSR.teardown_method¨   r5   r   c                 óì   — t        | j                  |«       t        t        | j                  «      |«       t	        | j                  d¬«      }t        |j                  «       |j                  «       «       y r7   )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 r7   )r   r+   r   r   r   rÇ   r:   s       r   r@   zTestMMIOSparseCSR.check_exact±   sH   € Ü�—‘˜ÔÜ”V˜DŸG™G“_ dÔ+Ü�4—7‘7 UÔ+ˆÜ�Q—Y‘Y“[ !§)¡)£+Õ.r   rA   c           	      ó~   — | j                  t        j                  j                  ddgddgg|¬«      dddd|df«       y )NrC   rD   rE   rF   rG   Ú
coordinaterI   ©r@   r_   ÚsparseÚ	csr_arrayrK   s      r   rM   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 )NrO   i  €rQ   rR   rG   ©rD   rD   rF   rÊ   r   rI   )r_   rÌ   rÍ   r   r[   r³   r@   rd   s     r   rS   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ì       ìûÿÿÿþÿÿÿ rW   rG   r   rY   rÐ   )r_   rÌ   rÍ   r   r[   r\   r]   r^   r   r`   ra   rb   rc   r+   r@   rd   s     r   re   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 )NrO   rP   rQ   rR   rG   ©rD   rD   rF   rÊ   r   rI   )r_   rÌ   rÍ   r   r[   Úuint32r@   rd   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Ò   rg   rh   rG   rÕ   )r_   rÌ   rÍ   r   r[   ri   r@   rd   s     r   rj   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   rC   rG   rD   rÊ   rI   rË   rK   s      r   rm   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Ë   rK   s      r   rp   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 )	Nrr   rs   rG   rD   rE   ru   rÊ   rI   rË   rK   s      r   rv   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 )NrC   rD   rx   rF   rt   ru   )rE   rD   ru   rÊ   ry   rI   ©r>   r_   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 )NrC   rD   rE   r}   ©rD   rD   rF   rÊ   ry   rI   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 )NrC   rD   rE   r�   )rD   rD   rF   rÊ   r‚   rI   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 )NrC   rD   rF   rG   rE   rÊ   r…   rË   rK   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   rD   rˆ   )rD   rD   rC   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   rD   rŒ   r�   )rD   rD   rC   rÊ   ry   r‰   )r>   r_   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 )NrC   r�   r‘   rF   )rD   rD   rE   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Ê   ry   r…   )r[   r—   r   r_   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Ê   ry   rI   )r[   r—   r_   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      @rC   )rD   rD   rE   rÊ   ÚpatternrI   rë   )ÚfieldFr8   T)r_   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 )NrC   rD   rˆ   r²   rG   rÐ   )r_   rÌ   rÍ   r[   r³   r@   rd   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 )NrC   rD   rˆ   r¶   rG   rá   )r_   rÌ   rÍ   r[   r·   r>   rd   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.   r4   r>   r@   r©   r¼   r¾   r¿   rM   rS   re   r×   rj   rm   rp   rv   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_methodl  r/   r   c                 óB   — t        j                  | j                  «       y r   r1   r,   s    r   r4   z)TestMMIOReadLargeIntegers.teardown_methodp  r5   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   rY   Fr8   )Úopenr+   Úwriter   r   r[   r]   r^   r   r_   r`   ra   rb   rc   r   rÇ   )	r-   Úexampler;   r<   ÚdenseÚover32Úover64r�   r=   s	            r   Ú
check_readz$TestMMIOReadLargeIntegers.check_reads  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 )NrO   rP   rG   rZ   TF©rü   rý   rþ   )r   r[   r\   rÿ   Ú_32bit_integer_dense_examplerd   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 )NrO   r   rP   rG   ©rD   rD   rD   rÊ   r   r…   Fr  )r   r[   r\   rÿ   Ú_32bit_integer_sparse_examplerd   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 )
NrU   i   €rÓ   rX   rG   rZ   TFr  )r   r[   r\   rÿ   Ú_64bit_integer_dense_examplerd   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 )	NrU   rX   r   rG   )rD   rD   rE   rÊ   r   rI   FTr  )r   r[   r\   rÿ   Ú%_64bit_integer_sparse_general_examplerd   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 )	NrU   ìûÿÿÿÿÿÿÿ rX   rG   )rD   rD   rE   rÊ   r   r…   FTr  )r   r[   r\   rÿ   Ú'_64bit_integer_sparse_symmetric_examplerd   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 )	NrU   r  rX   rG   )rD   rD   rE   rÊ   r   r‰   FTr  )r   r[   r\   rÿ   Ú"_64bit_integer_sparse_skew_examplerd   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 )NrZ   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.   r4   rÿ   r  r  r
  r  r  r  r  r  rÁ   r   r   rô   rô   k  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_method3  r/   r   c                 óB   — t        j                  | j                  «       y r   r1   r,   s    r   r4   z"TestMMIOCoordinate.teardown_method7  r5   r   c                 ó  — t        | j                  d«      }|j                  |«       |j                  «        t	        t        | j                  «      |«       t        | j                  d¬«      j                  «       }t        ||«       y )Nrø   Fr8   )	rù   r+   rú   Úcloser   r   r   rÇ   r
   )r-   rû   r;   r<   r�   r=   s         r   rÿ   zTestMMIOCoordinate.check_read:  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)rC   r   r   ru   r   )r   ç      %@r   r   r   ©r   r   ç¸…ëQ¸Ž?r   r   )r   ç     Po@r   éèþÿÿç)\�Âõ¨@@©r   r   r   r   é   ©rt   rt   rY   rÊ   ry   rI   )rÿ   Ú_general_examplerd   s     r   Útest_read_generalz$TestMMIOCoordinate.test_read_generalB  s/   € ÚÚÚÚ'Úð	ˆð
 	�‰Ô(¨!ØBõ	Dr   c                 óT   — g d¢g d¢g d¢g d¢g d¢g}| j                  t        |d«       y )N©rC   r   r   r   r   )r   r#  r   y     Po@¸…ëQ86Àr   r$  )r   y     Po@¸…ëQ86@r   r'  y       €)\�Âõ¨@À)r   r   r   y        )\�Âõ¨@@r*  )rt   rt   é   rÊ   r‚   r’   )rÿ   Ú_hermitian_examplerd   s     r   Útest_read_hermitianz&TestMMIOCoordinate.test_read_hermitianK  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)  )rt   rt   r0  rÊ   ry   r‰   )rÿ   Ú_skew_examplerd   s     r   Útest_read_skewz!TestMMIOCoordinate.test_read_skewT  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'  rY   )r   r   r   rY   r*  )rt   rt   r0  rÊ   ry   r…   )rÿ   Ú_symmetric_examplerd   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   rC   r   rC   r   )r   r   rC   r   r   )r   rC   r   rC   rC   )r   r   r   rC   rC   )rt   rt   r0  rÊ   rë   r…   )rÿ   Ú_symmetric_pattern_examplerd   s     r   Útest_read_symmetric_patternz.TestMMIOCoordinate.test_read_symmetric_patternf  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_examplerd   s     r   Útest_read_empty_linesz(TestMMIOCoordinate.test_read_empty_lineso  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Ê   ry   r…   Fr8   )
r_   rÌ   Ú	coo_arrayr   r+   r   r   rÇ   r   r
   )r-   r=   r;   s      r   Útest_empty_write_readz(TestMMIOCoordinate.test_empty_write_readx  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   rC   rD   rE   rE   rE   rF   ©r   rE   rC   rD   rC   rE   rF   rF   ©g      ð?g      @r#  r%  r&  g     €qÀr(  g      (@©rt   rt   ©Úshapez.bz2ÚrbÚwbFr8   )Úbz2ÚImportErrorr   r_   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  Fr8   )ÚgziprL  r   r_   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+  Fr8   ©r   r_   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  )rt   rt   rY   rÊ   r‚   rI   Fr8   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.mtxFr8   )Úmkdirr   Úappendr_   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	|z  |z  «      g«       Œ× ŒÞ y c c}w )
Nr   iöÿÿÿéÿÿÿÿr    rC   )Ú	precisionFr8   z%%.%dg)r   Úranger_   rÌ   Ú	dok_arrayr   r+   r`   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›,ˆØ ò 	OˆEØ,ò O�	à˜	‘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Ü §¡¬¨x¸)Ñ/CÀeÑ/KÓ)LÐ(MÕNñOñ	Oùò 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ü  sa   € ðˆô �‰˜qÓ!×(Ñ(¨Ó1ˆÜ�]‰]œ:Ð->Ô?ñ 	.Ü�H‰H�O‰OœBŸJ™J tÓ,Ô-÷	.÷ 	.ñ 	.úr°   N)r¹   rº   r»   r.   r4   rÿ   r-  r2  r5  r8  r;  r>  rA  rU  rZ  r^  ra  rq  r�  rƒ  rÁ   r   r   r  r  2  s^   „ ò<ò#ò(òDòIòKòFòIòDò
(ò2ò02ò0(ò(ò <ò0Oó".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+00Fr8   )r   r`   Ú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ø   Fr8   )rù   Ú
writelinesr   )rj  ÚlinesÚ	test_filer�   s       r   Útest_gh18123rŒ    sL   € ò€Eð
 ˜:Ñ%€IÜ	ˆi˜Ó	ð  Ø	�‰�UÔ÷ä
ˆ9˜uÖ%÷ð ús	   –>¾Ac                 óŠ   — t        t        j                  d«      d¬«      }| dz  }| dz  }t        ||«       t        |d¬«       y )Nr…  Fr8   Útest_mtxztest_mtx.mtx)r   r`   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 threadpoolctlrF   )ÚlimitsrD   r_   )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Ô(÷)ð 
×	(Ñ	(°¸GÐ	(Ó	Dñ )Ü”S—_‘_ aÔ(÷)ð )øô ò Ü�‰Ð&Ô'Ùðú÷)ð )ú÷)ð )ús(   ‚%B »B9Á1CÂB6Â5B6Â9CÃC)7Útempfiler   r(   r`   r2   r%   r¦   Únumpyr[   r   r   r   Únumpy.testingr   r   r	   r
   r©   r   rb   Úscipy.sparser_   Úscipy.io._mmioÚscipy.io._fast_matrix_marketÚ_fast_matrix_marketrš  r¿   r¼   r½   Ú
pytestmarkÚfixturera   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   ú<module>r¦     sL  ðÝ Û 	Û 	Û Û Û ã ß &Ñ &÷Jó Jã Ý *ã Û ß *Ð *ð 'Ø0ð2Ð ð �[‰[×&Ñ&€
ð €‡��h¨¯©¯©¸Ð'<ÀdÔKñ$ó Lð$÷{:ñ {:ô|CB˜ô CBðL Ð ð!Ð ð Ð ð)Ð %ð+Ð 'ð&Ð "ð$Ð  ð%Ð !÷_%ñ _%ðD Ð ðD
Ð ð
€ð
Ð ð
Ð ðÐ ÷"Y.ñ Y.òxò	&ò*ó)r   