
    (ph                     t    S SK JrJrJr  S SKJrJr  S SKJr	  S SKJ
r
JrJr  S SKJrJrJrJr   " S S5      rg)	    )arraykrondiag)assert_assert_equal)_spfuncs)
csr_matrix
csc_matrix
bsr_matrix)csr_scale_rowscsr_scale_columnsbsr_scale_rowsbsr_scale_columnsc                   &    \ rS rSrS rS rS rSrg)TestSparseFunctions
   c           
         [        / SQ/ SQ/ SQ/5      n[        U5      n[        / SQ5      n[        SSUR                  UR                  UR
                  U5        [        UR                  5       [        U5      U-  5        [        U5      n[        / SQ5      n[        SSUR                  UR                  UR
                  U5        [        UR                  5       U[        U5      -  5        [        USS	/SS
//5      n[        USS9n[        / SQ5      n[        SSS	S	UR                  UR                  UR
                  U5        [        UR                  5       [        U5      U-  5        [        USS9n[        / SQ5      n[        SSS	S	UR                  UR                  UR
                  U5        [        UR                  5       U[        U5      -  5        [        U/ SQ/ SQ/5      n[        USS9n[        / SQ5      n[        SSS	SUR                  UR                  UR
                  U5        [        UR                  5       [        U5      U-  5        [        USS9n[        / SQ5      n[        SSS	SUR                  UR                  UR
                  U5        [        UR                  5       U[        U5      -  5        g )N)   r   r         )r      r      r   )r   r         r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   )	blocksize)r   r   r   r   r   r   )
r   r   r   r   r   r   r      	   r   )r   r   r   )r   r   )r   r   r   r   r   r   r   r   r   r                  )r   r	   r   indptrindicesdatar   toarrayr   r   r   r   r   r   )selfDSvEs        R/var/www/html/venv/lib/python3.13/site-packages/scipy/sparse/tests/test_spfuncs.pytest_scale_rows_and_cols,TestSparseFunctions.test_scale_rows_and_cols   s   ?""$ %
 qM'Nq188AIIaffQ7QYY[$q'!),qM+!Aahhqyy:QYY[!DG), QqE1Q%=!q5)- q1Qqxx		!&&;QYY[$q'!),q5)()!Aa!((199QVVA>QYY[!DG),GG$%q5)- q1Qqxx		!&&;QYY[$q'!),q5)78!Aa!((199QVVA>QYY[!DG),    c                    / nUR                  SS/SS//5        UR                  / SQ/ SQ/ SQ/5        UR                  S/S/S//5        U Vs/ s H  n[        U5      PM     nn/ nUR                  S//5        UR                  SS/SS//5        UR                  SS/SS//5        UR                  / SQ/ SQ/ SQ/5        U Vs/ s H  n[        U5      PM     nnU Hc  nU HZ  n[        XE5      n[        R                  " U5      u  px[        XuR                  S   :  5        [        XR                  S   :  5        M\     Me     g s  snf s  snf )Nr   r   r   r   r   r   r   r   r   r   r   )r   r   r   )appendr   r   spfuncsestimate_blocksizer   shape)	r'   matsxblksABXrcs	            r,   test_estimate_blocksize+TestSparseFunctions.test_estimate_blocksize2   s/   aUAa5M"WWW-.aS!aSM""&'$Qa$'aSEaUAa5M"aUAa5M"WWW-."&'$Qa$'AI003WWQZ(WWQZ(	   ( (s   EEc                    S n/ nUR                  S//5        UR                  S//5        UR                  SS//5        UR                  SS//5        UR                  SS/SS//5        UR                  / SQ/ SQ/ SQ/5        UR                  S/S/S//5        U Hr  nU Hi  n[        X45      n[        U5      n[        SS5       H@  n[        SS5       H-  n[	        [
        R                  " XgU45      U" XWU45      5        M/     MB     Mk     Mt     [        / SQ/ SQ/ SQ/SS//5      n[        U5      n[	        [
        R                  " US5      U" US5      5        [	        [
        R                  " US5      U" US5      5        g )	Nc           	      r    Uu  p#U R                  5       u  pE[        [        [        XB-  XS-  5      5      5      $ )N)nonzerolensetzip)r;   bsRCIJs         r,   gold3TestSparseFunctions.test_count_blocks.<locals>.goldH   s0    CA))+CAs3qtAD>*++r/   r   r   r1   r2   r3   r   )r   r   )r4   r   r	   ranger   r5   count_blocksr
   )	r'   rM   r8   r;   r<   r=   YrI   rJ   s	            r,   test_count_blocks%TestSparseFunctions.test_count_blocksG   s[   	,
 aSEaSEaUGaUGaUAa5M"WWW-.aS!aSM"AIqMqA"1QZ$W%9%9!V%Dd1RSfoV ( $   '''*QqE73qMW))!V4d1foFW))!V4d1foFr/    N)__name__
__module____qualname____firstlineno__r-   r@   rR   __static_attributes__rT   r/   r,   r   r   
   s    %-N)*Gr/   r   N)numpyr   r   r   numpy.testingr   r   scipy.sparser   r5   r	   r
   r   scipy.sparse._sparsetoolsr   r   r   r   r   rT   r/   r,   <module>r^      s1    # # / , ; ;J JWG WGr/   