+
    Z°³jì'  ã                   ó´  € ^ RI t ^ RIt^ RIHtHtHt ^ RI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,                  P5                  R4      ]P,                  P7                  ^4      ]P,                  P/                  R]
]]].4      R 4       4       4       tR t]P,                  P/                  R]
]]].4      R 4       tR t]P,                  P@                  R 4       t!R# )é    N)Úassert_array_almost_equalÚassert_Úassert_array_equal)Úcheck_free_memory)Ú
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   &&&&  Ú\/home/luca/screen-checking/.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_getcolr1   1   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(   r2   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_indexingrW   d   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)rZ   r@   )rZ   rZ   r   )r   ÚarangeÚreshapeÚnnz)rX   ÚJÚIÚSs   &   r   Ú6test_fancy_indexing_broadcasts_without_making_dense_2dra   w   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   Úint64r4   )Ú	max_int32rJ   Ú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_int64r{   „   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   Úcopyrj   Úastyperk   rh   Útestingr   r   )rX   Ú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©r4   N)r@   r   rA   )r   )rA   rB   )rC   )rA   rC   )r@   )rC   r   )r@   rA   r   )rB   r   r@   )rA   r@   r?   )rB   rA   )r   rH   Ú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	c                  ó¾  a	a
€ \        R 4       V	V
3R lp RpRo	Ro
\        P                  ! W3\        P                  R7      p\        ;QJ d"    . R VP                  4        4       F  NK  	  5M! R VP                  4        4       4      pVP                  R	4      pW#3p\        P                  ! V^,           \        P                  R7      p\        P                  ! WR,           \        P                  R7      p\        P                  ! R
\        P                  R7      P                  R4      p\        V4      pV ! RV^4       V ! WF^4       V ! WFV4       V ! WFV4       R# )i   c                 ó:  <€ V f   \        SS3\        P                  R7      pM\        V SS3R7      pVP                  P                  \        P                  8X  g   Q hVP
                  R8  g   Q h\        P                  ! 4       ;_uu_ 4        \        P                  ! RS\        P                  4       W#VR,          V3&   R R R 4       VP                  P                  \        P                  8X  g   Q hVP
                  R8”  g   Q hR #   + '       g   i     LP; i)N©ri   r‹   Úignorel        )r(   N)r	   r   rf   rh   ri   r]   ÚwarningsÚcatch_warningsÚfilterwarningsr   ÚSparseEfficiencyWarningrk   )ÚA_infoÚindexÚrhsÚAÚdÚwarn_msgs   &&& €€r   ÚcheckÚ%test_large_assignments.<locals>.checkï   sÊ   ø€ ØŠ>Ü˜1˜a˜&¬¯©Ô1‰Aä˜&¨¨A¨Ô/ˆAð �y‰y�‰¤"§(¡(Ô*Ð*Ð*Ø�u‰u�uŒ}Ðˆ}ä×$Ò$×&Õ&Ü×#Ò# H¨h¼×8VÑ8VÔWØ'*ˆe�G�n˜eÐ#Ñ$÷ 'ð �y‰y�‰¤"§(¡(Ô*Ð*Ð*Ø�u‰u�uŒ}ÐŠ}÷ '×&ús   Â4D
Ä
D	iµ  i˜·  zChanging the sparsity structurer�   c              3   ó^   "  € T F#  qP                  \        P                  4      x € K%  	  R # 5i)N)r�   r   rf   )Ú.0Úcos   & r   Ú	<genexpr>Ú)test_large_assignments.<locals>.<genexpr>  s    é € ÐHÑ5G¨r—y‘y¤§¡×*Ð*Ó5Gùs   ‚+-é,  Nr   i�_ )r°   r°   )
r   r   ÚonesÚfloat32ÚtupleÚnonzeror\   r[   rf   r	   )r©   r#   Úbig_dataÚ
big_coordsÚbig_infoÚindex_NÚ	index_300Úrhs_300Úrhs_300_sparser§   r¨   s            @@r   Útest_large_assignmentsr¼   ç   s  ù€ ô
 �eÔöð" 	€AØ€AØ0€Hä�wŠw˜�v¤R§Z¡ZÔ0€Hß”ÑH°X×5EÑ5EÔ5GÓH—‘ÑH°X×5EÑ5EÔ5GÓHÓH€JØ×Ñ Ó#€HØÐ%€Hä�iŠi˜˜A�¤R§X¡XÔ.€GÜ—	’	˜! �W¬B¯H©HÔ5€Iä�iŠi˜	¬¯©Ô4×<Ñ<¸ZÓH€GÜ˜wÓ'€Nñ 
ˆ$�˜Ôñ 
ˆ(˜qÔ!ñ 
ˆ(˜wÔ'ñ 
ˆ(˜~Ö.r   )r@   r   r   r   )r   r   r   r   )r   rA   rB   r   )r   rC   )rB   r   )r   r   )r   r@   r   r   r   )r   r   r   r   r   )r   r   rA   rB   r   )r   rD   )"rŸ   Únumpyr   Únumpy.testingr   r   r   Úscipy._lib._testutilsr   Úscipy.sparser   r   r	   r
   r   Úscipyr   r�   r   r%   r,   r1   ÚmarkÚparametrizer=   rW   Úxfail_on_32bitÚtimeoutra   r{   rˆ   rš   Úxslowr¼   © r   r   Ú<module>rÈ      s¥  ðÛ Û ß PÑ PÝ 3ß MÕ MÝ Û ò+ò0ò"-ò-ð ‡�×ÑÐ=Ù’,ÚÚðó ð ˆðñ ’,ÚÚðó ð ˆðñ ’,ÚÚðó ð ˆfðñ ’/ÚÚð!ó "ð ˆððóñ",ó#ð",ò(/ð& ‡�×ÑÐ?Ó@Ø‡�×Ñ�QÓØ‡�×Ñ˜ ¨Y¸
ÀIÐ NÓOñ+ó Pó ó Að+ò52ðn ‡�×Ñ˜ ¨Y¸
ÀIÐ NÓOñ
ó Pð
ò&9ð0 ‡�×Ññ1/ó ò1/r   