+
    LV-j/   ã                   óh  € ^ RI t^ RIHtHtHt ^ RIHtHtH	t	H
t
Ht ^ RIHt ^ RItR tR tR tR t]P&                  P)                  R	]! . RO. RO. RO.4      ^ R3]! . RO. RO. RO.4      ^R3]! . RO. RO. RO.4      R
R3]! . RO. RO. RO.4      ^ R3.4      R 4       tR t]P&                  P/                  R4      ]P&                  P1                  ^4      ]P&                  P)                  R]]	]]
.4      R 4       4       4       tR t]P&                  P)                  R]]	]]
.4      R 4       tR tR# )é    N)Úassert_array_almost_equalÚassert_Úassert_array_equal)Ú
csr_matrixÚ
csc_matrixÚ	csr_arrayÚ	csc_arrayÚhstack)Úsparsec                 ó¢   € W V3,          pW0V3,          p\        WEP                  4       ^ ,          4       \        \        V4      \        J 4       R# )r   N)r   Útoarrayr   Útyper   )ÚiÚslÚXÚXcsrÚnp_sliceÚ	csr_slices   &&&&  Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/sparse/tests/test_csr.pyÚ_check_csr_rowslicer      s?   € Ø�B��x€HØ˜�U•€IÜ˜h×(9Ñ(9Ó(;¸AÕ(>Ô?ÜŒD�‹OœzÐ)Ö*ó    c                  ó^  € ^
p \         P                  P                  ^ 4       \         P                  P                  W 34      p^ WR8„  &   \        V4      p\	        RRR4      \	        RRR4      \	        ^R^4      \	        R^R4      .p\        V 4       F  pV F  p\        WEW4       K  	  K  	  R# )é
   çffffffæ?Néÿÿÿÿéþÿÿÿ)ÚnpÚrandomÚseedr   ÚsliceÚranger   )ÚNr   r   Úslicesr   r   s         r   Útest_csr_rowslicer$      s›   € Ø
€AÜ‡I�I‡N�N�1ÔÜ
�	‰	×Ñ˜!˜Ó €AØ€Aˆ#�g�JÜ�a‹=€Dä�D˜$ Ó%Ü�D˜$ Ó#Ü�A�r˜1‹oÜ�B˜˜2Óð €Fô
 �1ŽXˆÛˆBÜ  qÖ/ó ó r   c                  ó~  € ^
p \         P                  P                  ^ 4       \         P                  P                  W 34      p^ WR8„  &   \        V4      p\	        V 4       FZ  pWV^,           1R3,          pVP                  V4      p\        WEP                  4       4       \        \        V4      \        J 4       K\  	  R# ©r   r   ºNNNN)
r   r   r   r   r!   Úgetrowr   r   r   r   )r"   r   r   r   Úarr_rowÚcsr_rows         r   Útest_csr_getrowr+       s�   € Ø
€AÜ‡I�I‡N�N�1ÔÜ
�	‰	×Ñ˜!˜Ó €AØ€Aˆ#�g�JÜ�a‹=€Dä�1ŽXˆØ�a˜!•e�G˜Q�J•-ˆØ—+‘+˜a“.ˆä! '¯?©?Ó+<Ô=Ü”�W“¤Ð+Ö,ó r   c                  ó~  € ^
p \         P                  P                  ^ 4       \         P                  P                  W 34      p^ WR8„  &   \        V4      p\	        V 4       FZ  pVRW3^,           13,          pVP                  V4      p\        WEP                  4       4       \        \        V4      \        J 4       K\  	  R# r&   )
r   r   r   r   r!   Úgetcolr   r   r   r   )r"   r   r   r   Úarr_colÚcsr_cols         r   Útest_csr_getcolr0   /   s�   € Ø
€AÜ‡I�I‡N�N�1ÔÜ
�	‰	×Ñ˜!˜Ó €AØ€Aˆ#�g�JÜ�a‹=€Dä�1ŽXˆØ�A�q˜Q��w�J•-ˆØ—+‘+˜a“.ˆä! '¯?©?Ó+<Ô=Ü”�W“¤Ð+Ö,ó r   z"matrix_input, axis, expected_shapeÚbothc                 ór  € V P                  4       P                  ^ ,          ^,
          pTpV^,
          pV^ 8X  dJ   WV1R3,          P                  4       P                  pWV1R3,          P                  4       P                  pM¡V^8X  dJ   V RW413,          P                  4       P                  pV RW513,          P                  4       P                  pMQVR8X  dK   WV1W413,          P                  4       P                  pWV1W513,          P                  4       P                  pXV8X  g   Q hVX8X  g   Q hR# )r   r'   r1   N)r   Úshape)Úmatrix_inputÚaxisÚexpected_shapeÚslice_1Úslice_2Úslice_3Úactual_shape_1Úactual_shape_2s   &&&     r   Útest_csr_empty_slicesr<   =   s%  € ð& ×"Ñ"Ó$×*Ñ*¨1Õ-°Õ1€GØ€GØ˜�k€Gàˆq„yØ%¨g o°qÐ&8Õ9×AÑAÓC×IÑIˆØ%¨g o°qÐ&8Õ9×AÑAÓC×IÑI‰Ø	�ŒØ% a¨¨Ð&8Õ9×AÑAÓC×IÑIˆØ% a¨¨Ð&8Õ9×AÑAÓC×IÑI‰Ø	�ŒØ%¨g o°w°Ð&FÕG×OÑOÓQ×WÑWˆØ%¨g o°w°Ð&FÕG×OÑOÓQ×WÑWˆà˜^Ô+Ð+Ð+Ø˜^Ô+Ð+Ò+r   c                  ó\  € \        . RO. RO. RO.4      p . ROp\        P                  ! V4      p. RO. RO. RO.p\        P                  ! V4      p. RO. RO3p\        P                  ! V^ ,          4      \        P                  ! V^,          4      3pW,          P                  4       pW,          P                  4       pW,          p	W,          p
W,          pW,          pWx8H  P	                  4       '       g   Q hWš8H  P	                  4       '       g   Q hW¼8H  P	                  4       '       g   Q hR# )r   N©r   é   é   )é   é   é   )é   é   é   )FTF)r   r   Úarrayr   Úall)ÚdataÚlist_indices1Úarray_indices1Úlist_indices2Úarray_indices2Úlist_indices3Úarray_indices3Úslice_list1Úslice_array1Úslice_list2Úslice_array2Úslice_list3Úslice_array3s                r   Útest_csr_bool_indexingrV   b   sý   € Ü’y¢)ªYÐ7Ó8€DÚ(€MÜ—X’X˜mÓ,€NÚ)Ò+?ÒAUÐV€MÜ—X’X˜mÓ,€NÚ)Ò+?Ð@€MÜ—h’h˜}¨QÕ/Ó0´"·(²(¸=ÈÕ;KÓ2LÐM€NØÕ%×-Ñ-Ó/€KØÕ'×/Ñ/Ó1€LØÕ%€KØÕ'€LØÕ%€KØÕ'€LØÑ'×,Ñ,×.Ò.Ð.Ð.ØÑ'×,Ñ,×.Ò.Ð.Ð.ØÑ'×,Ñ,×.Ò.Ð.Ò.r   z!Can't create large array for testÚclsc                 óð   € \         P                  ! R 4      pVP                  R4      pV ! R4      pW2V3,          P                  ^ 8X  g   Q hW2VP                  ^R4      3,          P                  ^ 8X  g   Q hR# )é † N)rY   r?   )rY   rY   r   )r   ÚarangeÚreshapeÚnnz)rW   ÚJÚIÚSs   &   r   Ú6test_fancy_indexing_broadcasts_without_making_dense_2dr`   u   sj   € ô
 	�	Š	�'Ó€AØ	�	‰	�,Ó€AÙÐÓ€Aà�ˆT�7�;‰;˜!ÔÐÐØ�—	‘	˜!˜RÓ Ð Õ!×%Ñ%¨Ô*Ð*Ò*r   c                 ó„  € \         P                  ! \         P                  4      P                  p R.p^ .pV ^,
          p^pV^,
          .pV^,
          .p\	        WV334      p\	        WV334      p\        V^,
          V^,
          4      V 8  g   Q hVP
                  P                  VP                  P                  u;8X  d   \         P                  8X  g   Q h Q hVP
                  P                  VP                  P                  u;8X  d   \         P                  8X  g   Q h Q h\        Wx.RR7      p	V	P
                  P                  4       W4,           ^,
          8X  g   Q hW4,           ^,
          V 8”  g   Q hV	P
                  P                  V	P                  P                  u;8X  d   \         P                  8X  g   Q h Q h\	        VP                  4      p
\	        VP                  4      p\        W«.RR7      pVP                  V	P                  8X  g   Q hVP
                  P                  \         P                  8X  g   Q hW,
          ^,
          .p\	        WV334      p\        W~.RR7      pVP
                  P                  \         P                  8X  g   Q hVP
                  P                  4       V ^,
          8X  g   Q hR# )zŸ
Tests if hstack properly promotes to indices and indptr arrays to np.int64
when using np.int32 during concatenation would result in either array
overflowing.
g      ð?Úcsr)ÚformatN)r   ÚiinfoÚint32Úmaxr   ÚindicesÚdtypeÚindptrr
   Úint64r3   )Ú	max_int32rI   ÚrowÚmax_indices_1Úmax_indices_2Úcol_1Úcol_2ÚX_1ÚX_2ÚX_hsÚ	X_1_emptyÚ	X_2_emptyÚ
X_hs_emptyÚcol_3ÚX_3ÚX_hs_32s                   r   Útest_csr_hstack_int64rz   ‚   sB  € ô —’œŸ™Ó"×&Ñ&€Ið ˆ5€DØˆ#€Cà •M€MØ€Mð ˜QÕÐ€EØ˜QÕÐ€Eä
�d %˜LÐ)Ó
*€CÜ
�d %˜LÐ)Ó
*€Cäˆ}˜qÕ  -°!Õ"3Ó4°yÔ@Ð@Ð@Ø�;‰;×Ñ §
¡
× 0Ñ 0Ö<´B·H±HÔ<Ð<Ñ<Ð<Ð<Ø�;‰;×Ñ §
¡
× 0Ñ 0Ö<´B·H±HÔ<Ð<Ñ<Ð<Ð<ô �3�* UÔ+€Dà�<‰<×ÑÓ Õ!>ÀÕ!BÔBÐBÐBØÕ(¨1Õ,¨yÔ8Ð8Ð8Ø�<‰<×Ñ §¡×!2Ñ!2Ö>´b·h±hÔ>Ð>Ñ>Ð>Ð>ô ˜3Ÿ9™9Ó%€IÜ˜3Ÿ9™9Ó%€IÜ˜Ð.°uÔ=€Jà×Ñ˜tŸz™zÔ)Ð)Ð)Ø×Ñ×#Ñ#¤r§x¡xÔ/Ð/Ð/ð Õ&¨Õ*Ð+€EÜ
�d %˜LÐ)Ó
*€CÜ�c�Z¨Ô.€GØ�?‰?× Ñ ¤B§H¡HÔ,Ð,Ð,Ø�?‰?×ÑÓ  I°¥MÔ1Ð1Ò1r   c           	      óÚ  € \         P                  P                  ^ 4      pV ! \        P                  ! ^2^2VRR7      4      pVP	                  4       pVP	                  4       pVP
                  P                  \         P                  4      Vn        VP                  P                  \         P                  4      Vn        W#V3 F§  p\         P                  P                  V^^.R3,          P                  4       V^^.R3,          P                  4       4       \         P                  P                  VR^^.3,          P                  4       VR^^.3,          P                  4       4       K©  	  R# )r   gš™™™™™¹?)Úrandom_stateÚdensityr'   N)r   r   Údefault_rngr   Úcopyri   Úastyperj   rg   Útestingr   r   )rW   ÚrngÚbase_mtxÚindptr_64bitÚindices_64bitÚmtxs   &     r   Ú#test_mixed_index_dtype_int_indexingr‡   ¹   s  € ô �)‰)×
Ñ
 Ó
"€CÙ”6—=’=  R°cÀ3ÔGÓH€HØ—=‘=“?€LØ—M‘M“O€MØ"Ÿ/™/×0Ñ0´·±Ó:€LÔØ$×,Ñ,×3Ñ3´B·H±HÓ=€MÔà¨Ó6ˆÜ
�
‰
×%Ñ%Ø��1��q��M×!Ñ!Ó#Ø�a˜�V˜Q�YÕ×'Ñ'Ó)ô	
ô 	�
‰
×%Ñ%Ø��A�q�6�	�N×"Ñ"Ó$Ø�Q˜˜A˜�YÕ×'Ñ'Ó)ö	
ó 7r   c                  ó¤  € \         P                  ! . RO4      p \         P                  ! ^.4      p\         P                  ! R4      p\        V 4      P	                  R4      p\        V4      P	                  R4      p\        V4      P	                  R	4      p\        V4      P	                  R
4      p\        V4      P	                  R4      p\        VP                  4       \         P                  ! V R4      4       \        VP                  4       \         P                  ! VR4      4       \        VP                  4       \         P                  ! VR	4      4       \        VP                  4       \         P                  ! VR
4      4       \        VP                  4       \         P                  ! VR4      4       \        P                  ! \        RR7      ;_uu_ 4        \        . RO. RO.4      P	                  RR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        . RO.4      P	                  RR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        . RO4      P	                  RR7       RRR4       R#   + '       g   i     L§; i  + '       g   i     Lo; i  + '       g   i     R# ; i)r?   zcannot be broadcast)Úmatch)r3   N)r?   r   r@   )r   )r@   rA   )rB   )r@   rB   )r?   )rB   r   )r?   r@   r   )rA   r   r?   )r@   r?   r>   )rA   r@   )r   rG   Úzerosr   Ú_broadcast_tor   r   Úbroadcast_toÚpytestÚraisesÚ
ValueErrorr   )ÚaÚbÚeÚres_aÚres_bÚres_cÚres_dÚres_es           r   Útest_broadcast_tor˜   Í   sÐ  € Ü
�Š’Ó€AÜ
�Š�!�‹€AÜ
�Š�‹€AÜ�a‹L×&Ñ& uÓ-€EÜ�a‹L×&Ñ& tÓ,€EÜ�a‹L×&Ñ& uÓ-€EÜ�a‹L×&Ñ& tÓ,€EÜ�a‹L×&Ñ& uÓ-€EÜ�u—}‘}“¬¯ª¸¸5Ó(AÔBÜ�u—}‘}“¬¯ª¸¸4Ó(@ÔAÜ�u—}‘}“¬¯ª¸¸5Ó(AÔBÜ�u—}‘}“¬¯ª¸¸4Ó(@ÔAÜ�u—}‘}“¬¯ª¸¸5Ó(AÔBä	�Š”zÐ)>×	?Ö	?Ü’IšyÐ)Ó*×8Ñ8¸vÐ8ÔF÷ 
@ô 
�Š”zÐ)>×	?Ö	?Ü’I�;Ó×-Ñ-°FÐ-Ô;÷ 
@ô 
�Š”zÐ)>×	?Ö	?Ü’)Ó×*Ñ*°Ð*Ô8÷ 
@Ñ	?÷ 
@×	?ú÷ 
@×	?ú÷ 
@×	?Ð	?ús$   Ç"JÈ%J+É0J>ÊJ(	Ê+J;	Ê>K	)r?   r   r   r   )r   r   r   r   )r   r@   rA   r   )r   rB   )rA   r   )r   r   )r   r?   r   r   r   )r   r   r   r   r   )r   r   r@   rA   r   )r   rC   )Únumpyr   Únumpy.testingr   r   r   Úscipy.sparser   r   r   r	   r
   Úscipyr   r�   r   r$   r+   r0   ÚmarkÚparametrizer<   rV   Úxfail_on_32bitÚtimeoutr`   rz   r‡   r˜   © r   r   Ú<module>r¢      s�  ðÛ ß PÑ Pß MÕ MÝ Û ò+ò0ò"-ò-ð ‡�×ÑÐ=Ù’,ÚÚðó ð ˆðñ ’,ÚÚðó ð ˆðñ ’,ÚÚðó ð ˆfðñ ’/ÚÚð!ó "ð ˆððóñ",ó#ð",ò(/ð& ‡�×ÑÐ?Ó@Ø‡�×Ñ�QÓØ‡�×Ñ˜ ¨Y¸
ÀIÐ NÓOñ+ó Pó ó Að+ò52ðn ‡�×Ñ˜ ¨Y¸
ÀIÐ NÓOñ
ó Pð
ô&9r   