
    Cpjf3              
          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
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 indexesz!test produces deprecation warning)		test_expmtest_inv
test_solvetest_scalar_idx_dtypetest_large_dimensions_reshapetest_constructor_smallcoltest_constructor_largecoltest_sparse_format_conversions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markr1   nameparam)	sp_apiTEST_CLASSESclsmethod_namemethodr4   msgmarkersrL   s	            Y/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/scipy/sparse/tests/test_64bit.pycases_64bitrW   +   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)RunAll64BitX   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]   rF   r^   )rQ   rR   instances      rV   check,RunAll64Bit._check_resiliency.<locals>.check^   sq    uHx00%%'/.08%677,,. 878%677,,. 8s   A $B )r   )selfrQ   rR   kwra   s        rV   _check_resiliencyRunAll64Bit._check_resiliencyZ   s(     
!	&2	&	/ 
'	/ 	c    rc   N)__name__
__module____qualname____firstlineno__rf   __static_attributes__rc   rh   rV   rY   rY   X   s     rh   rY   c            	          \ rS rSr\R
                  R                  S\" \" S5      5      5      S 5       r	\R
                  R                  S\" \" S5      5      5      S 5       r
\R
                  R                  S\" \" S5      5      5      S 5       r\R
                  R                  S5      \R
                  R                  S\" \" S5      5      5      S 5       5       rS	rg
)Test64BitArrayl   cls,method_namer'   c                 $    U R                  XSS9  g N
   maxval_limitrf   rd   rQ   rR   s      rV   test_resiliency_limit_10'Test64BitArray.test_resiliency_limit_10o       sbArh   c                 @    U R                  X[        R                  S9  g Nfixed_dtyperf   npint32rx   s      rV   test_resiliency_all_32%Test64BitArray.test_resiliency_all_32s       sRXXFrh   c                 @    U R                  X[        R                  S9  g r}   rf   r   int64rx   s      rV   test_resiliency_all_64%Test64BitArray.test_resiliency_all_64w   r   rh      c                 &    U R                  X5        g Nrw   rx   s      rV   test_resiliency_random%Test64BitArray.test_resiliency_random{   s     	s0rh   rc   Nri   rj   rk   rl   rK   rL   parametrizelistrW   ry   r   r   	fail_slowr   rm   rc   rh   rV   ro   ro   l   s     [[.[5K0LMB NB [[.[5K0LMG NG [[.[5K0LMG NG [[1[[.[5K0LM1 N 1rh   ro   c            	           \ rS rSr\R
                  R                  S5      \R
                  R                  S\" \	" S5      5      5      S 5       5       r
Srg)Test64BitMatrix      rq   r)   c                 $    U R                  XSS9  g NT)assert_32bitrw   rx   s      rV   
test_no_64Test64BitMatrix.test_no_64        	sdCrh   rc   N)ri   rj   rk   rl   rK   rL   r   r   r   rW   r   rm   rc   rh   rV   r   r      sJ    [[1[[.[5L0MND O Drh   r   c            	          \ rS rSr\R
                  R                  S\" \" S5      5      5      S 5       r	\R
                  R                  S\" \" S5      5      5      S 5       r
\R
                  R                  S\" \" S5      5      5      S 5       r\R
                  R                  S5      \R
                  R                  S\" \" S5      5      5      S 5       5       rS	rg
)Test64BitMatrixSameAsArray   rq   r)   c                 $    U R                  XSS9  g rs   rw   rx   s      rV   ry   3Test64BitMatrixSameAsArray.test_resiliency_limit_10   r{   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   1Test64BitMatrixSameAsArray.test_resiliency_all_32   r   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   1Test64BitMatrixSameAsArray.test_resiliency_all_64   r   rh   r   c                 &    U R                  X5        g r   rw   rx   s      rV   r   1Test64BitMatrixSameAsArray.test_resiliency_random        	s0rh   rc   Nr   rc   rh   rV   r   r      s     [[.[5L0MNB OB [[.[5L0MNG OG [[.[5L0MNG OG [[1[[.[5L0MN1 O 1rh   r   c            	          \ rS rSr\R
                  R                  S\" \" S5      5      5      S 5       r	\R
                  R                  S\" \" S5      5      5      S 5       r
\R
                  R                  S\" \" S5      5      5      S 5       r\R
                  R                  S5      \R
                  R                  S\" \" S5      5      5      S 5       5       rS	rg
)Test64BitArrayExtra   rq   r(   c                 $    U R                  XSS9  g rs   rw   rx   s      rV   ry   ,Test64BitArrayExtra.test_resiliency_limit_10   r{   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   *Test64BitArrayExtra.test_resiliency_all_32   r   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   *Test64BitArrayExtra.test_resiliency_all_64   r   rh   r   c                 &    U R                  X5        g r   rw   rx   s      rV   r   *Test64BitArrayExtra.test_resiliency_random   r   rh   rc   Nr   rc   rh   rV   r   r      s     [[.[5Q0RSB TB [[.[5Q0RSG TG [[.[5Q0RSG TG [[1[[.[5Q0RS1 T 1rh   r   c            	       X   \ rS rSr\R
                  R                  S5      \R
                  R                  S\" \	" S5      5      5      S 5       5       r
\R
                  R                  S\" \	" S5      5      5      S 5       r\R
                  R                  S\" \	" S5      5      5      S 5       r\R
                  R                  S\" \	" S5      5      5      S 5       r\R
                  R                  S	5      \R
                  R                  S\" \	" S5      5      5      S
 5       5       rSrg)Test64BitMatrixExtra   r   rq   r*   c                 $    U R                  XSS9  g r   rw   rx   s      rV   r   Test64BitMatrixExtra.test_no_64   r   rh   c                 $    U R                  XSS9  g rs   rw   rx   s      rV   ry   -Test64BitMatrixExtra.test_resiliency_limit_10   r{   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   +Test64BitMatrixExtra.test_resiliency_all_32   r   rh   c                 @    U R                  X[        R                  S9  g r}   r   rx   s      rV   r   +Test64BitMatrixExtra.test_resiliency_all_64   r   rh   r   c                 &    U R                  X5        g r   rw   rx   s      rV   r   +Test64BitMatrixExtra.test_resiliency_random   r   rh   rc   N)ri   rj   rk   rl   rK   rL   r   r   r   rW   r   ry   r   r   r   rm   rc   rh   rV   r   r      s2    [[1[[.[AQ5R0STD U D
 [[.[AQ5R0STB UB [[.[AQ5R0STG UG [[.[AQ5R0STG UG [[1[[.[AQ5R0ST1 U 1rh   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offsetsrC   )rd   mr   s      rV   _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Drh   c                 `   ^  [        SS9U 4S j5       nT R                   H  nU" U5        M     g )Nrt   ru   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 )Nrt   r      )r   randomrandr   r   r   )mat_clsr   rd   s     rV   ra   9Test64BitTools.test_decorator_maxval_limit.<locals>.check   so    		r1-.A,,Q9999		r1-.A,,Q9999rh   r   MAT_CLASSESrd   ra   r   s   `  rV   test_decorator_maxval_limit*Test64BitTools.test_decorator_maxval_limit   s5     
!b	1	: 
2	: ''G'N (rh   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   rd   s        rV   ra   :Test64BitTools.test_decorator_maxval_random.<locals>.check   s    GG3ZBIINN1a01!KT%>%>q"((%K!KT%>%>q"((%K7ww   %%JKKrh   r   r   s   `  rV   test_decorator_maxval_random+Test64BitTools.test_decorator_maxval_random   s7     
!	-
	L 
.
	L ''G'N (rh   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)rK   raisesr   count_nonzerosumhas_canonical_formatsum_duplicatescsc_containercsr_containercoo_containeras       rV   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.!*:*:;rh   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       rV   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"rh   )	r   r   r   r   r   r   r
   r   r	   )rd   r   r  s      rV   test_downcast_intp!Test64BitTools.test_downcast_intp  sq     
!RXXq	I	< 
J	< 
!RXX	6	 
7	 	iI6	9i8j*j9
J
;rh   rc   N)ri   rj   rk   rl   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r  rm   rc   rh   rV   r   r      s6     	J
J
9iIK
	E&)<rh   r   )9__doc__rK   numpyr   scipy.sparser   r   r   r   r   r   r	   r
   r   r   	test_baser   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   rB   r   rH   rW   rL   thread_unsaferY   ro   r   r   r3   r   r   r   rc   rh   rV   <module>r     s-   8        * 9;==%L!>!>&I&C

*BZ "56    7 &1[ 1*Dk D1 1, 1+ 1 1. 1; 1 18 "IJ[< [< K[<rh   