+
    LV-ju)  ã                   ó\  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	 ^ RI
HtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIt^ RIHt R tR tR	 tR
 t]P8                  P:                  ]P8                  P=                  R4      R 4       4       t]P8                  PA                  ] PB                  PE                  R4      ;'       d*    ]PF                  ! ]PH                  4      PJ                  ^8¬  '       * RR7       ! R R4      4       t&]P8                  PO                  RR7      R 4       t(R t)R t*R# )é    N)Úassert_equalÚassert_Úassert_allclose)Ú_sparsetoolsÚ
coo_matrixÚ
csr_matrixÚ
csc_matrixÚ
bsr_matrixÚ
dia_matrix)Úsupported_dtypes)Úcheck_free_memory)Úraisesc                ó0   € V ^€,           R,          ^€,
          # )z.
Wrap an integer to the interval [-128, 127].
é   © )Úns   &Út/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/sparse/tests/test_sparsetools.pyÚint_to_int8r      s   € ð ��G�s�?˜SÕ Ð ó    c                  óB   € \        \        \        P                  4       R # ©N)Úassert_raisesÚMemoryErrorr   Útest_throw_errorr   r   r   Útest_exceptionr      s   € Ü”+œ|×<Ñ<Ö=r   c                  óº  aaaa	€ ^
p ^do	^o\        \        P                  ! SS.4      4      o. o ! VVVV	3R lR\        P                  4      p\        V 4       Uu. uF	  q!! 4       NK  	  ppV F  pVP                  4        K  	  V F  pVP                  4        K  	  S F3  p\        \        P                  ! VP                  4       ^8H  4      4       K5  	  R# u upi )é
   c                   ó4   <a € ] tR t^'t o VVVV3R ltRtV tR# )Útest_threads.<locals>.Workerc                ób  <€ SP                  4       p\        S4       F}  p\        P                  ! SSSP                  SP
                  SP                  SP                  SP
                  SP                  VP                  VP
                  VP                  4       K  	  SP                  V4       R # r   )ÚcopyÚranger   Úcsr_plus_csrÚindptrÚindicesÚdataÚappend)ÚselfÚbÚjÚaÚbresr   Úniters   &  €€€€r   ÚrunÚ test_threads.<locals>.Worker.run(   su   ø€ Ø—‘“ˆAÜ˜5–\�Ü×)Ò)¨!¨QØ*+¯(©(°A·I±I¸q¿v¹vØ*+¯(©(°A·I±I¸q¿v¹vØ*+¯(©(°A·I±I¸q¿v¹vöGñ "ð
 �K‰K˜ŽNr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r.   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__r+   r,   r   r-   s   @€€€€r   ÚWorkerr   '   s   ù‡ € ÷	ö 	r   r7   N)r   ÚnpÚonesÚ	threadingÚThreadr"   ÚstartÚjoinr   ÚallÚtoarray)
Únthreadsr7   Ú_ÚthreadsÚthreadr)   r+   r,   r   r-   s
         @@@@r   Útest_threadsrD      sµ   û€ ð €HØ€Eà
€AÜ”2—7’7˜A˜q˜6“?Ó#€AØ€D÷ò ”×!Ñ!ô ô "' x¤Ó1¡˜AˆvŽx¡€GÐ1ÛˆØ�‰Žñ ãˆØ�‰Žñ ó ˆÜ”—’�q—y‘y“{ aÑ'Ó(Ö)ó ùò 2s   ÁCc                  óî   € \          Fj  p \        P                  ! ^^.^^..4      P                  V 4      p\	        WR7      p\        VP                  ^ 4      P                  4       VR,          4       Kl  	  R# )é   ©ÚdtypeN):NNN:NrF   N)r   r8   ÚarrayÚastyper   r   Úgetcolr?   )rH   Úadr+   s      r   Ú!test_regression_std_vector_dtypesrM   ;   s_   € ÷ "ˆÜ�XŠX˜˜1�v  1˜vÐ&Ó'×.Ñ.¨uÓ5ˆÜ�rÔ'ˆô 	�Q—X‘X˜a“[×(Ñ(Ó*¨B¨u­IÖ6ó "r   z!Can't create large array for testc                  óü  € \         P                  ! \         P                  4      P                  ^,           p \	        ^	V ,          R,          R,           4       \         P
                  ! V \         P                  R7      p\         P
                  ! V \         P                  R7      p\         P
                  ! V \         P                  R7      p^VR&   \        W1V33RRR7      pVP                  4       p\        V^..4       R# )	rF   ç    €„.Ag      à?rG   F)Úshaper!   Néÿÿÿÿ)rF   rF   )
r8   ÚiinfoÚint32Úmaxr   ÚzerosÚint8r   r?   r   )ÚnnzÚrowÚcolr&   ÚsÚds         r   Útest_nnz_overflowr\   F   s­   € ô
 �(Š(”2—8‘8Ó
×
 Ñ
  1Õ
$€Cä�y CÕ'¨#Õ-°Õ3Ô4ô �(Š(�3œbŸh™hÔ
'€CÜ
�(Š(�3œbŸh™hÔ
'€CÜ�8Š8�CœrŸw™wÔ'€DØ€Dˆ�HÜ�D ˜*Ð%¨V¸%Ô@€Aà	�	‰	‹€Aä�A˜˜�uÖr   Úlinuxztest requires 64-bit Linux)Úreasonc            
       óê  a € ] tR t^[t o RtRtR tR t]P                  P                  ^4      R 4       t]P                  P                  R 4       t]P                  P                  R 4       t]P                  ! R]P                  P                   R	7      ]P                  ! R
]P                  P                   R	7      RRR]P                  ! R]P                  P                   R	7      .t]P                  P                  ]P                  P%                  R]4      R 4       4       t]P                  P                  ]P                  P%                  R]4      R 4       4       tR tR tR tR tR tR tRtV tR# )ÚTestInt32Overflowzð
Some of the sparsetools routines use dense 2D matrices whose
total size is not bounded by the nnz of the sparse matrix. These
routines used to suffer from int32 wraparounds; here, we try to
check that the wraparounds don't occur any more.
iPÃ  c                óL  € V P                   ^,          \        P                  ! \        P                  4      P                  8”  g   Q h \        \        P                  P                  RR4      4      p\        RV,          4       R#   \         d    \        P                  p L1i ; i)é   ÚPYTEST_XDIST_WORKER_COUNTÚ1i¸  N)r   r8   rR   rS   rT   ÚintÚosÚenvironÚgetÚ
ValueErrorÚinfr   )r(   Úparallel_counts   & r   Úsetup_methodÚTestInt32Overflow.setup_methodi   ss   € Ø�v‰v�q�yœ2Ÿ8š8¤B§H¡HÓ-×1Ñ1Ô1Ð1Ð1ð	$Ü ¤§¡§¡Ð0KÈSÓ!QÓRˆNô 	˜$ Õ/Ö0øô ô 	$ÜŸV™VŠNð	$ús   Á)B ÂB#Â"B#c                ó0   € \         P                  ! 4        R # r   )ÚgcÚcollect)r(   s   &r   Úteardown_methodÚ!TestInt32Overflow.teardown_methodu   s   € Ü
�
Š
Žr   c                óž  € V P                   p\        P                  ! ^ V^,
          .4      p\        P                  ! ^ V^,
          .4      p\        P                  ! ^^.\        P                  R7      p\	        WBV334      pVP                  4       p\        VR,          ^4       \        VR,          ^4       ?\        P                  ! 4        R# ©r   rG   N©r   r   )rQ   rQ   )	r   r8   rI   rV   r   Útodenser   ro   rp   )r(   r   Úir*   r&   ÚmÚrs   &      r   Útest_coo_todenseÚ"TestInt32Overflow.test_coo_todensex   s”   € ð �F‰Fˆä�HŠH�a˜˜1��XÓˆÜ�HŠH�a˜˜1��XÓˆÜ�xŠx˜˜A˜¤b§g¡gÔ.ˆÜ˜ !˜f�~Ó&ˆà�I‰I‹KˆÜ�Q�s•V˜QÔÜ�Q�u•X˜qÔ!ØÜ
�
Š
Žr   c                óZ  € V P                   p\        P                  ! ^ V^,
          .4      p\        P                  ! ^ V^,
          .4      p\        P                  ! ^^.\        P                  R7      p\	        WBV334      p\        P
                  ! W3\        P                  R7      p\        \        \        3 FX  pV! V4      pVP                  V4      p	\        V	R,          ^4       \        V	R,          ^4       ?	\        P                  ! 4        KZ  	  ?\        P                  ! 4        R# rt   )r   r8   rI   rV   r   r9   r   r	   r
   Údotr   ro   rp   )
r(   r   rw   r*   r&   rx   r)   ÚsptypeÚm2ry   s
   &         r   Útest_matvecsÚTestInt32Overflow.test_matvecs‹   sÔ   € ð �F‰Fˆä�HŠH�a˜˜1��XÓˆÜ�HŠH�a˜˜1��XÓˆÜ�xŠx˜˜A˜¤b§g¡gÔ.ˆÜ˜ !˜f�~Ó&ˆä�GŠG�Q�F¤"§'¡'Ô*ˆÜ!¤:¬zÓ:ˆFÙ˜“ˆBØ—‘�q“	ˆAÜ˜˜3� Ô#Ü˜˜5� 1Ô%ØÜ�JŠJŽLñ ;ð Ü
�
Š
Žr   c                ó²  € V P                   p\        P                  ! W3\        P                  R 7      p\        P                  ! V4      p\        W#3W3R7      p\        P                  ! VP                  ^,          \        P                  R 7      pVP                  V4      p\        V^ ,          \        V4      4       ?????\        P                  ! 4        R# )rG   )rP   N)r   r8   r9   rV   Úaranger   rP   r}   r   r   ro   rp   )r(   r   r&   Úoffsetsrx   Úvry   s   &      r   Útest_dia_matvecÚ!TestInt32Overflow.test_dia_matvec¡   s�   € ð �F‰FˆÜ�wŠw˜�v¤R§W¡WÔ-ˆÜ—)’)˜A“,ˆÜ˜�¨q¨fÔ5ˆÜ�GŠG�A—G‘G˜A•J¤b§g¡gÔ.ˆØ�E‰E�!‹HˆÜ�Q�q•Tœ; q›>Ô*Ø�'˜1˜a Ü
�
Š
Žr   Úmatmat)ÚmarksÚmatvecsÚmatvecÚdiagonalÚsort_indicesÚ	transposeÚopc                óÐ   a € V 3R  lp\         P                  ! 4         \        S RV,           4      ! V4       \         P                  ! 4        R#   \         P                  ! 4        i ; i)c                  ó6  <€ SP                   p \        P                  ! ^W 3\        P                  R7      p\        P                  ! ^ ^.\        P
                  R7      p\        P                  ! ^ .\        P
                  R7      p\        WV3W 3RR7      p???V# ©rF   rG   F)Ú	blocksizer!   )r   r8   r9   rV   rI   rS   r
   ©r   r&   r$   r%   rx   r(   s        €r   Ú
get_matrixÚ6TestInt32Overflow.test_bsr_1_block.<locals>.get_matrix¼   ss   ø€ Ø—‘ˆAÜ—7’7˜A˜q˜9¬B¯G©GÔ4ˆDÜ—X’X˜q !˜f¬B¯H©HÔ5ˆFÜ—h’h ˜s¬"¯(©(Ô3ˆGÜ˜D¨6Ð2¸q¸fÈ5ÔQˆAØ�f˜gØˆHr   Ú_check_bsr_N©ro   rp   Úgetattr©r(   r�   r•   s   f& r   Útest_bsr_1_blockÚ"TestInt32Overflow.test_bsr_1_blockµ   s?   ø€ õ	ô 	�
Š
Œð	Ü�D˜-¨"Õ,Ô-¨jÔ9ä�JŠJŽLøŒB�JŠJ�Lúó   žA ÁA%c                óÐ   a € V 3R  lp\         P                  ! 4         \        S RV,           4      ! V4       \         P                  ! 4        R#   \         P                  ! 4        i ; i)c                  ó6  <€ SP                   p \        P                  ! W ^3\        P                  R7      p\        P                  ! ^ V .\        P
                  R7      p\        P                  ! V \        P
                  R7      p\        WV3V ^3RR7      p???V# r’   )r   r8   r9   rV   rI   rS   rƒ   r
   r”   s        €r   r•   Ú6TestInt32Overflow.test_bsr_n_block.<locals>.get_matrixÓ   ss   ø€ Ø—‘ˆAÜ—7’7˜A !˜9¬B¯G©GÔ4ˆDÜ—X’X˜q !˜f¬B¯H©HÔ5ˆFÜ—i’i ¬¯©Ô2ˆGÜ˜D¨6Ð2¸qÀ!¸fÈ5ÔQˆAØ�f˜gØˆHr   r—   Nr˜   rš   s   f& r   Útest_bsr_n_blockÚ"TestInt32Overflow.test_bsr_n_blockË   s?   ø€ õ	ô 	�
Š
Œð	Ü�D˜-¨"Õ,Ô-¨jÔ9ä�JŠJŽLøŒB�JŠJ�Lúr�   c                óÒ   € V! 4       pV P                   pVP                  \        P                  ! V^3\        P                  R7      4      p\        VR,          \        V4      4       R# )rb   rG   Nru   ©r   r}   r8   r9   rV   r   r   ©r(   rx   r   ry   s   &&  r   Ú_check_bsr_matvecsÚ$TestInt32Overflow._check_bsr_matvecsâ   sG   € Ù‹CˆØ�F‰Fˆð �E‰E”"—'’'˜1˜a˜&¬¯©Ô0Ó1ˆÜ�Q�t•Wœk¨!›nÖ-r   c                óÐ   € V! 4       pV P                   pVP                  \        P                  ! V3\        P                  R 7      4      p\        V^ ,          \        V4      4       R# )rG   Nr¤   r¥   s   &&  r   Ú_check_bsr_matvecÚ#TestInt32Overflow._check_bsr_matvecê   sE   € Ù‹CˆØ�F‰Fˆð �E‰E”"—'’'˜1˜$¤b§g¡gÔ.Ó/ˆÜ�Q�q•Tœ; q›>Ö*r   c                óŒ   € V! 4       pV P                   pVP                  4       p\        V\        P                  ! V4      4       R # r   )r   rŒ   r   r8   r9   r¥   s   &&  r   Ú_check_bsr_diagonalÚ%TestInt32Overflow._check_bsr_diagonalò   s1   € Ù‹CˆØ�F‰Fˆð �J‰J‹LˆÜ�QœŸš ›
Ö#r   c                ó4   € V! 4       pVP                  4        R # r   )r�   ©r(   rx   s   &&r   Ú_check_bsr_sort_indicesÚ)TestInt32Overflow._check_bsr_sort_indicesú   s   € á‹CˆØ	�‰Ör   c                ó4   € V! 4       pVP                  4        R # r   )rŽ   r¯   s   &&r   Ú_check_bsr_transposeÚ&TestInt32Overflow._check_bsr_transposeÿ   s   € á‹CˆØ	�‰Žr   c                óŠ  € V! 4       pV P                   p\        \        P                  ! V^3\        P                  R7      VP
                  ^,          ^3R7      pVP                  V4       ?\        \        P                  ! ^V3\        P                  R7      ^VP
                  ^ ,          3R7      pVP                  V4       R# )rb   rG   )r“   N)r   r
   r8   r9   rV   r“   r}   )r(   rx   r   r   s   &&  r   Ú_check_bsr_matmatÚ#TestInt32Overflow._check_bsr_matmat  s‰   € Ù‹CˆØ�F‰Fˆô œŸš  A ¬b¯g©gÔ6À1Ç;Á;ÈqÅ>ÐSTÐBUÔVˆØ	�‰ˆbŒ	Øô œŸš  A ¬b¯g©gÔ6À1ÀaÇkÁkÐRSÅnÐBUÔVˆØ
�‰ˆqŽ	r   r   N)r0   r1   r2   r3   Ú__doc__r   rl   rq   ÚpytestÚmarkÚ	fail_slowrz   Úslowr€   r†   ÚparamÚxslowÚ_bsr_opsÚparametrizer›   r¡   r¦   r©   r¬   r°   r³   r¶   r4   r5   )r6   s   @r   r`   r`   [   sf  ø‡ € ñ
ð 	€Aò
1òð ‡[�[×Ñ˜1Óñó ðð$ ‡[�[×Ññó ðð* ‡[�[×Ññ
ó ð
ð —’˜X¨V¯[©[×->Ñ->Ô?Ø—’˜Y¨f¯k©k×.?Ñ.?Ô@ØØØØ—’˜[°·±×0AÑ0AÔBðD€Hð ‡[�[×ÑØ‡[�[×Ñ˜T 8Ó,ñó -ó ðð( ‡[�[×ÑØ‡[�[×Ñ˜T 8Ó,ñó -ó ðò*.ò+ò$òò
÷
ð r   r`   z/64-bit indices in sparse matrices not availablec                  ó  € R p V ^,          \         P                  ! \         P                  4      P                  8”  g   Q h\	        V ^,          ^,          R,          4       \         P
                  ! V 3\         P                  R7      p\         P                  ! V ^,           \         P                  R7      p\         P                  ! V \         P                  R7      p\        WV34      pVP                  p\        \        VP                  V4       R# )l   4s	j rO   rG   N)r8   rR   Úint64rT   r   r9   rV   rƒ   rU   r   ÚTr   ÚRuntimeErrorr}   )r   r&   r$   r%   r+   r)   s         r   Útest_csr_matmat_int64_overflowrÅ     s°   € à€AØˆa�4”"—(’(œ2Ÿ8™8Ó$×(Ñ(Ô(Ð(Ð(ô �a˜7•m aÕ'¨#Õ-Ô.ô �7Š7�A�4œrŸw™wÔ'€DÜ�YŠY�q˜•s¤"§(¡(Ô+€FÜ�hŠh�q¤§¡Ô)€GÜ�D 6Ð*Ó+€AØ	�‰€Aä”, §¡ qÖ)r   c                  óÎ  € \        \        P                  \        P                  R ,          .^^..\        R7      p \        P                  ! R	R
.\        R7      p\
         EFm  p\
         EF^  pRV: RV: R2p\        P                  ! V\        P                  4      '       d!   V P                  4       P                  V4      pM)V P                  P                  4       P                  V4      p\        P                  ! V\        P                  4      '       d!   VP                  4       P                  V4      pMQ\        P                  ! RR7      ;_uu_ 4        VP                  P                  4       P                  V4      pRRR4       V\        P                  8X  d   V\        P                  8X  gj   \        P                  ! R\        P                  R7      p\        \        \         P"                  ^^VP$                  VP&                  VP(                  XV4	       \        P                  ! V\        P                  4      '       d,   \        P                  ! V\        P                  4      '       dW   \        P                  ! V\        P                  4      '       g•   \        P                  ! V\        P                  4      '       dj   \        P                  ! R\        P*                  R7      p\        \        \         P"                  ^^VP$                  VP&                  VP(                  XV4	       \        P                  ! R\        P,                  ! W#4      R7      p\         P"                  ! ^^VP$                  VP&                  VP(                  XV4       \/        V\        P0                  ! VP3                  4       V4      VR7       EKa  	  EKp  	  R#   + '       g   i     EL\; i)y              ð?rG   Ú(z, Ú)Úignore)ÚinvalidN)Úerr_msgy      p@      ð?l        )rb   )r   r8   ÚpiÚcomplexrI   r   Ú
issubdtypeÚcomplexfloatingr!   rJ   ÚrealÚerrstateÚbool_rU   r   ri   r   Ú
csr_matvecr$   r%   r&   Úfloat64Úresult_typer   r}   r?   )Úa0Úb0Úa_dtypeÚb_dtypeÚmsgr+   r)   Úcs           r   Útest_upcastrÜ   $  sv  € Ü	”b—e‘eœRŸU™U 2�XÐ&¨¨A¨Ð/´wÔ	?€BÜ	�Š�6˜5�/¬Ô	1€Bç#Ð#ˆß'Ð'ˆGØ�g‘[  7¡+¨QÐ/ˆCä�}Š}˜W¤b×&8Ñ&8×9Ò9Ø—G‘G“I×$Ñ$ WÓ-‘à—G‘G—L‘L“N×)Ñ)¨'Ó2�ä�}Š}˜W¤b×&8Ñ&8×9Ò9Ø—G‘G“I×$Ñ$ WÓ-‘ä—[’[¨×2Ö2ð Ÿ™Ÿ™›×-Ñ-¨gÓ6�A÷ 3ð
 œrŸx™xÔ'¨G´r·x±xÔ,?Ü—H’H˜T¬¯©Ô2�Üœj¬,×*AÑ*AØ  A§H¡H¨a¯i©i¸¿¹ÀÀAôGô —’˜w¬×(:Ñ(:×;Ò;Ü—]’] 7¬B×,>Ñ,>×?Ò?Ü—]’] 7¬B×,>Ñ,>×?Ò?Ü—’˜w¬×(:Ñ(:×;Ò;Ü—H’H˜T¬¯©Ô4�Üœj¬,×*AÑ*AØ  A§H¡H¨a¯i©i¸¿¹ÀÀAôGô —’˜¤R§^¢^°GÓ%EÔFˆAÜ×#Ò# A q¨!¯(©(°A·I±I¸q¿v¹vÀqÈ!ÔLÜ˜AœrŸvšv a§i¡i£k°1Ó5¸s×CÐCô? (ó $÷ 3×2Ð2ús   Å*O	ÏO$c                  óN  € \         P                  ! R4      p . ROp\        V P                  R4      V3R4      p\        V P                  R4      V3R4      p\         P                  ! ^4      p\        VP                  V4      . RO4       \        VP                  V4      . RO4       R# )é   z<f8z>f8N)rÞ   é   )rQ   r   rF   )rß   rß   )rF   rÞ   é   é   )r8   r9   r   rJ   rƒ   r   r}   )r[   r„   r+   r)   r…   s        r   Útest_endiannessrâ   K  sw   € Ü
�Š�‹€AÚ€Gä�A—H‘H˜U“O WÐ-¨vÓ6€AÜ�A—H‘H˜U“O WÐ-¨vÓ6€AÜ
�	Š	�!‹€Aä�A—E‘E˜!“HšlÔ+Ü�A—E‘E˜!“HšlÖ+r   )+Úsysrf   ro   r:   Únumpyr8   Únumpy.testingr   r   r   Úscipy.sparser   r   r   r	   r
   r   Úscipy.sparse._sputilsr   Úscipy._lib._testutilsr   r¹   r   r   r   r   rD   rM   rº   r¼   Úxfail_on_32bitr\   ÚskipifÚplatformÚ
startswithrH   ÚintpÚitemsizer`   ÚskiprÅ   rÜ   râ   r   r   r   Ú<module>rð      s  ðÛ 
Û 	Û 	Û ã ß @Ñ @÷2÷ 2å 2Ý 3ã Ý *ò!ò>ò*ò>7ð ‡�×ÑØ‡�×ÑÐ?Ó@ñó Aó ðð& ‡�×ÑØ	�‰×	 Ñ	  Ó	)×	MÐ	M¨b¯hªh°r·w±wÓ.?×.HÑ.HÈAÑ.MÔNØ'ð ó ÷pð pó	ðpðf ‡�×ÑÐJÐÓKñ*ó Lð*ò"$DôN	,r   