
    doi2              	          S r SSKrSSKrSSKJrJrJrJrJ	r	J
r
JrJrJrJr  SSKJrJrJrJrJrJrJrJrJ r!J"r#J$r%J&r'J(r)J*r+J,r,  SSSSS	S
SS
S.r-S r.\R^                  Ra                  SS9 " S S5      5       r1 " S S\15      r2 " S S\15      r3 " S S\15      r4\R^                  Rj                   " S S\15      5       r6\R^                  Rj                   " S S\15      5       r7\R^                  Ra                  SS9 " S S5      5       r8g)z1Test functions involving 64bit or 32bit indexing     N)
	bsr_array	coo_array	csc_array	csr_array	dia_array
bsr_matrix
coo_matrix
csc_matrix
csr_matrix
dia_matrix   )TestBSRTestCOOTestCSCTestCSRTestDIATestDOKTestLILTestBSRMatrixTestCOOMatrixTestCSCMatrixTestCSRMatrixTestDIAMatrixTestDOKMatrixTestLILMatrixwith_64bit_maxval_limitz%expm for 64-bit indices not availablez)linsolve for 64-bit indices not availableztest implemented in base classz%test actually requires 64-bit to workztest verifies int32 indexesztest verifies int64 indexes)	test_expmtest_inv
test_solvetest_scalar_idx_dtypetest_large_dimensions_reshapetest_constructor_smallcoltest_constructor_largecoltest_tocoo_tocsr_tocsc_gh19245c              #     #    U S:X  a  [         [        [        [        [        /nOXU S:X  a  [
        [        /nOEU S:X  a  [        [        [        [        [        /nO#U S:X  a  [        [        /nO[        SU < S35      eU H  n[        [!        U5      5       H  n[#        X#5      nUR%                  S5      (       d  M&  [#        USS	5      (       a  M:  / n[&        R)                  U5      nU(       a,  UR+                  [,        R.                  R1                  US
95        [#        US/ 5      nU H&  nUR2                  S;   d  M  UR+                  U5        M(     [,        R4                  " X#US9v   M     M     g7f)al  Yield all tests for all formats

This is more than testing get_index_dtype. It allows checking whether upcasting
or downcasting the index dtypes affects test results. The approach used here
does not try to figure out which tests might fail due to 32/64-bit issues.
We just run them all.
So, each test method in that uses cases_64bit reruns most of the test suite!
sparraysparray-extraspmatrixspmatrix-extrazparameter sp_api=z is not validtest_slowFreason
pytestmark)skipifskipxfailxslow)marksN)_TestBSR_TestCOO_TestCSC_TestCSR_TestDIA_TestDOK_TestLIL_TestBSRMatrix_TestCOOMatrix_TestCSCMatrix_TestCSRMatrix_TestDIAMatrix_TestDOKMatrix_TestLILMatrix
ValueErrorsorteddirgetattr
startswith
SKIP_TESTSgetappendpytestmarkr0   nameparam)	sp_apiTEST_CLASSESclsmethod_namemethodr3   msgmarkersrK   s	            Y/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/sparse/tests/test_64bit.pycases_64bitrV   *   s5      (HhI	?	"
 !(+	:	&&8	#	#&7-fYm<==!#c(+KS.F&&w//66 nn[1LL!1!1!1!=>!&,;#Dyy$HHT* $ ll35AA , s   B6E3<E3A*E3>5E3zfails in parallelr,   c                       \ rS rSrS rSrg)RunAll64BitW   c                 6    [        S0 UD6S 5       nU" X5        g )Nc                    U " 5       n[        US5      (       a  UR                  5          [        X!5      " 5         [        US5      (       a  UR                  5         g g ! [        US5      (       a  UR                  5         f f = f)Nsetup_methodteardown_method)hasattrr\   rE   r]   )rP   rQ   instances      rU   check,RunAll64Bit._check_resiliency.<locals>.check]   sq    uHx00%%'/.08%677,,. 878%677,,. 8s   A $B )r   )selfrP   rQ   kwr`   s        rU   _check_resiliencyRunAll64Bit._check_resiliencyY   s(     
!	&2	&	/ 
'	/ 	c    rb   N)__name__
__module____qualname____firstlineno__re   __static_attributes__rb   rg   rU   rX   rX   W   s     rg   rX   c                      \ rS rSr\R
                  R                  S\" S5      5      S 5       r\R
                  R                  S\" S5      5      S 5       r	\R
                  R                  S\" S5      5      S 5       r
\R
                  R                  S5      \R
                  R                  S\" S5      5      S 5       5       rS	rg
)Test64BitArrayk   cls,method_namer&   c                 $    U R                  XSS9  g N
   maxval_limitre   rc   rP   rQ   s      rU   test_resiliency_limit_10'Test64BitArray.test_resiliency_limit_10n       sbArg   c                 @    U R                  X[        R                  S9  g Nfixed_dtypere   npint32rw   s      rU   test_resiliency_all_32%Test64BitArray.test_resiliency_all_32r       sRXXFrg   c                 @    U R                  X[        R                  S9  g r|   re   r   int64rw   s      rU   test_resiliency_all_64%Test64BitArray.test_resiliency_all_64v   r   rg      c                 &    U R                  X5        g Nrv   rw   s      rU   test_resiliency_random%Test64BitArray.test_resiliency_randomz   s     	s0rg   rb   Nrh   ri   rj   rk   rJ   rK   parametrizerV   rx   r   r   	fail_slowr   rl   rb   rg   rU   rn   rn   k   s     [[.I0FGB HB [[.I0FGG HG [[.I0FGG HG [[1[[.I0FG1 H 1rg   rn   c                       \ rS rSr\R
                  R                  S5      \R
                  R                  S\" S5      5      S 5       5       r	Sr
g)Test64BitMatrix      rp   r(   c                 $    U R                  XSS9  g NT)assert_32bitrv   rw   s      rU   
test_no_64Test64BitMatrix.test_no_64        	sdCrg   rb   N)rh   ri   rj   rk   rJ   rK   r   r   rV   r   rl   rb   rg   rU   r   r      sE    [[1[[.J0GHD I Drg   r   c                      \ rS rSr\R
                  R                  S\" S5      5      S 5       r\R
                  R                  S\" S5      5      S 5       r	\R
                  R                  S\" S5      5      S 5       r
\R
                  R                  S5      \R
                  R                  S\" S5      5      S 5       5       rS	rg
)Test64BitMatrixSameAsArray   rp   r(   c                 $    U R                  XSS9  g rr   rv   rw   s      rU   rx   3Test64BitMatrixSameAsArray.test_resiliency_limit_10   rz   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   1Test64BitMatrixSameAsArray.test_resiliency_all_32   r   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   1Test64BitMatrixSameAsArray.test_resiliency_all_64   r   rg   r   c                 &    U R                  X5        g r   rv   rw   s      rU   r   1Test64BitMatrixSameAsArray.test_resiliency_random        	s0rg   rb   Nr   rb   rg   rU   r   r      s     [[.J0GHB IB [[.J0GHG IG [[.J0GHG IG [[1[[.J0GH1 I 1rg   r   c                      \ rS rSr\R
                  R                  S\" S5      5      S 5       r\R
                  R                  S\" S5      5      S 5       r	\R
                  R                  S\" S5      5      S 5       r
\R
                  R                  S5      \R
                  R                  S\" S5      5      S 5       5       rS	rg
)Test64BitArrayExtra   rp   r'   c                 $    U R                  XSS9  g rr   rv   rw   s      rU   rx   ,Test64BitArrayExtra.test_resiliency_limit_10   rz   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   *Test64BitArrayExtra.test_resiliency_all_32   r   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   *Test64BitArrayExtra.test_resiliency_all_64   r   rg   r   c                 &    U R                  X5        g r   rv   rw   s      rU   r   *Test64BitArrayExtra.test_resiliency_random   r   rg   rb   Nr   rb   rg   rU   r   r      s     [[.O0LMB NB [[.O0LMG NG [[.O0LMG NG [[1[[.O0LM1 N 1rg   r   c                      \ rS rSr\R
                  R                  S5      \R
                  R                  S\" S5      5      S 5       5       r	\R
                  R                  S\" S5      5      S 5       r
\R
                  R                  S\" S5      5      S 5       r\R
                  R                  S\" S5      5      S 5       r\R
                  R                  S	5      \R
                  R                  S\" S5      5      S
 5       5       rSrg)Test64BitMatrixExtra   r   rp   r)   c                 $    U R                  XSS9  g r   rv   rw   s      rU   r   Test64BitMatrixExtra.test_no_64   r   rg   c                 $    U R                  XSS9  g rr   rv   rw   s      rU   rx   -Test64BitMatrixExtra.test_resiliency_limit_10   rz   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   +Test64BitMatrixExtra.test_resiliency_all_32   r   rg   c                 @    U R                  X[        R                  S9  g r|   r   rw   s      rU   r   +Test64BitMatrixExtra.test_resiliency_all_64   r   rg   r   c                 &    U R                  X5        g r   rv   rw   s      rU   r   +Test64BitMatrixExtra.test_resiliency_random   r   rg   rb   N)rh   ri   rj   rk   rJ   rK   r   r   rV   r   rx   r   r   r   rl   rb   rg   rU   r   r      s    [[1[[.<L0MND O D
 [[.<L0MNB OB [[.<L0MNG OG [[.<L0MNG OG [[1[[.<L0MN1 O 1rg   r   z%Fails in parallel for unknown reasonsc            
       D    \ rS rSr\\\\\\	\
\\\/
rS rS rS rS rSrg)Test64BitTools   c                    [         R                  " U5      nUR                  S;   a9  UR                  R                  U:H  =(       a    UR                  R                  U:H  $ UR                  S:X  a9  UR
                  R                  U:H  =(       a    UR                  R                  U:H  $ UR                  S:X  a  UR                  R                  U:H  $ [        SU< S35      e)N)csccsrbsrcoodiazmatrix z has no integer indices)	r   dtypeformatindicesindptrrowcoloffsetsrB   )rc   mr   s      rU   _compare_index_dtype#Test64BitTools._compare_index_dtype   s    88,,IIOOu,K188>>U3JKXXEEKK5(Dquu{{e/CDXXIIOOu,-wqe+BCDDrg   c                 `   ^  [        SS9U 4S j5       nT R                   H  nU" U5        M     g )Nrs   rt   c                 :  > U " [         R                  R                  SS5      5      nTR                  U[         R                  5      (       d   eU " [         R                  R                  SS5      5      nTR                  U[         R
                  5      (       d   eg )Nrs   r      )r   randomrandr   r   r   )mat_clsr   rc   s     rU   r`   9Test64BitTools.test_decorator_maxval_limit.<locals>.check   so    		r1-.A,,Q9999		r1-.A,,Q9999rg   r   MAT_CLASSESrc   r`   r   s   `  rU   test_decorator_maxval_limit*Test64BitTools.test_decorator_maxval_limit   s5     
!b	1	: 
2	: ''G'N (rg   c                 `   ^  [        SS9U 4S j5       nT R                   H  nU" U5        M     g )NT)r   c                 Z  > SnSn[        S5       H  nU " [        R                  R                  SS5      5      nU=(       d     TR	                  U[        R
                  5      nU=(       d     TR	                  U[        R                  5      nU(       d  M  U(       d  M    g    [        S5      e)NFd   	   z#both 32 and 64 bit indices not seen)ranger   r   r   r   r   r   AssertionError)r   seen_32seen_64kr   rc   s        rU   r`   :Test64BitTools.test_decorator_maxval_random.<locals>.check   s    GG3ZBIINN1a01!KT%>%>q"((%K!KT%>%>q"((%K7ww   %%JKKrg   r   r   s   `  rU   test_decorator_maxval_random+Test64BitTools.test_decorator_maxval_random   s7     
!	-
	L 
.
	L ''G'N (rg   c                 *   [        [        R                  SS9S 5       n[        [        R                  S9S 5       nU" [        [        [
        5        U" [        [        [
        5        U" [        [        [        5        U" [        [        [        5        g )Nr   )r~   downcast_maxvalc                    U " SS/SS/SS//5      n[         R                  " [        UR                  SS9  [         R                  " [        UR                  SS9  U" / S	Q/ S
Q/5      n[         R                  " [        UR                  SS9  [         R                  " [        UR                  SS9  U" / S	Q/ SQ/5      n[         R                  " [        UR                  SS9  SUl        [         R                  " [        UR                  5        g Nr   r         r      )axisr   )r   r   r   )r   r   r   )r   r   r   F)rJ   raisesr   count_nonzerosumhas_canonical_formatsum_duplicatescsc_containercsr_containercoo_containeras       rU   check_limited8Test64BitTools.test_downcast_intp.<locals>.check_limited  s     1v1v1v67AMM.!//BMM.!%%a8y)45AMM.!//BMM.!%%a8y)45AMM.!//B%*A"MM.!*:*:;rg   r}   c                 "   U " SS/SS/SS//5      nUR                  SS9  UR                  SS9  U" / S	Q/ S
Q/5      nUR                  SS9  UR                  SS9  U" / S	Q/ SQ/5      nUR                  SS9  SUl        UR                  5         g r   )r   r   r   r   r   s       rU   check_unlimited:Test64BitTools.test_downcast_intp.<locals>.check_unlimited  s     1v1v1v67AOOO#EEqEMy)45AOOO#EEqEMy)45AOOO#%*A"rg   )	r   r   r   r   r   r   r
   r   r	   )rc   r   r   s      rU   test_downcast_intp!Test64BitTools.test_downcast_intp  sq     
!RXXq	I	< 
J	< 
!RXX	6	 
7	 	iI6	9i8j*j9
J
;rg   rb   N)rh   ri   rj   rk   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r  rl   rb   rg   rU   r   r      s6     	J
J
9iIK
	E&)<rg   r   )9__doc__rJ   numpyr   scipy.sparser   r   r   r   r   r   r	   r
   r   r   	test_baser   r4   r   r5   r   r6   r   r7   r   r8   r   r9   r   r:   r   r;   r   r<   r   r=   r   r>   r   r?   r   r@   r   rA   r   rG   rV   rK   thread_unsaferX   rn   r   r   r2   r   r   r   rb   rg   rU   <module>r	     s*   8        * 9;==%L!>!>&C	
*BZ "56    7 &1[ 1*Dk D1 1, 1+ 1 1. 1; 1 18 "IJ[< [< K[<rg   