+
    LV-jÃ  ã                   óF   € R t RR.t^RIHt ^RIHt ^RIHt R	R ltR t	R# )
z*Functions that operate on sparse matrices
Úcount_blocksÚestimate_blocksize)Úissparse)Ú	csr_array)Úcsr_count_blocksc                ó
  € \        V 4      '       d   V P                  R9   g   \        V 4      p V P                  ^ 8X  d   R# ^ Tu;8  d   R8  g   M \	        R4      hRV,           R,          p\        V P                  4      pV P                  w  rEV^,          ^ 8X  d*   V^,          ^ 8X  d   V^\        V R4      ,          ,          pMRpV^,          ^ 8X  d*   V^,          ^ 8X  d   V^	\        V R4      ,          ,          pMRpWb8”  d+   Wr8”  d%   V^$\        V R	4      ,          ,          pW�8”  d   R	# R# V^,          ^ 8X  d*   V^,          ^ 8X  d   V^\        V R
4      ,          ,          p	MRp	W‘8”  d   R
# Wq8”  d   R# Wa8”  d   R# R# )z‹Attempt to determine the blocksize of a sparse matrix

Returns a blocksize=(r,c) such that
    - A.nnz / A.tobsr( (r,c) ).nnz > efficiency
g      ð?z.efficiency must satisfy 0.0 < efficiency < 1.0g       @g        )ÚcscÚcsr)é   r
   )é   r   )é   r   )é   r   )é   r   )r   Úformatr   ÚnnzÚ
ValueErrorÚfloatÚshaper   )
ÚAÚ
efficiencyÚhigh_efficiencyr   ÚMÚNÚe22Úe33Úe66Úe44s
   &&        Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/sparse/_spfuncs.pyr   r      sX  € ô �Q�KŠK˜AŸH™H¨Ô6Ü�a‹Lˆà‡u�u�„zØˆàˆzÖ˜CÖÜÐIÓJÐJà˜ZÕ'¨3Õ.€OÜ
�—‘‹,€CØ
�'‰'�C€Aàˆ1…u�„z�a˜!•e˜q”jØ�Qœ a¨Ó.Õ.Õ/‰àˆàˆ1…u�„z�a˜!•e˜q”jØ�Qœ a¨Ó.Õ.Õ/‰àˆà
Ô Ô!6Ø�Rœ, q¨Ó/Õ/Õ0ˆØÔØˆLàˆLàˆq�5�AŒ:˜!˜a�% 1œ*Ø˜œl¨1¨UÓ3Õ3Õ4‰CàˆCàÔØˆLØÔØˆLØÔØˆLàˆLó    c                óZ  € Vw  r#V^8  g   V^8  d   \        R4      h\        V 4      '       dj   V P                  R8X  d1   V P                  w  rE\	        WEW#V P
                  V P                  4      # V P                  R8X  d   \        V P                  W234      # \        \        V 4      V4      # )zUFor a given blocksize=(r,c) count the number of occupied
blocks in a sparse matrix A
zr and c must be positiver	   r   )
r   r   r   r   r   ÚindptrÚindicesr   ÚTr   )r   Ú	blocksizeÚrÚcr   r   s   &&    r   r   r   >   s�   € ð �C€AØˆ1„u��A”ÜÐ3Ó4Ð4ä�‡{‚{Ø�8‰8�uÔØ—'‘'‰CˆAÜ# A¨¨A¯H©H°Q·Y±YÓ?Ð?Ø�X‰X˜ÔÜ §¡ Q EÓ*Ð*Üœ	 !› YÓ/Ð/r   N)gffffffæ?)
Ú__doc__Ú__all__Ú_baser   Ú_csrr   Ú_sparsetoolsr   r   r   © r   r   Ú<module>r,      s+   ðñð Ð.Ð
/€å Ý Ý *ô0ôf0r   