+
    /i                     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W8  d   R	# R# V^,          ^ 8X  d*   V^,          ^ 8X  d   V^\        V R
4      ,          ,          p	MRp	W8  d   R
# Wq8  d   R# Wa8  d   R# R# )zAttempt 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
   &&        S/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/sparse/_spfuncs.pyr   r      sX    QKKAHH6aLuuzzCIJJZ'3.O
,C
''CA1uza!eqjQa../1uza!eqjQa../
!6R,q//0LLq5A:!a%1*l1U334C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     CA1uA344{{88u''CA#AAHHQYY??XXQE**	!Y//r   N)gffffff?)
__doc____all___baser   _csrr   _sparsetoolsr   r   r    r   r   <module>r,      s+    .
/   *0f0r   