
    doiR                     $   S SK r S SKrS SKrS SKrS SKJrJr  S SKJ	r	J
r
Jr  SSKJr  \	\
/r\ R                  S 5       r\R"                  R%                  S\5       " S S	5      5       r\R"                  R%                  S\5       " S
 S5      5       rg)    N)assert_allcloseassert_equal)	csr_array	dok_arraySparseEfficiencyWarning   )toarrayc              #      #    Sv   [        U S5      (       a  U R                  (       d  gU R                  R                  5       nSU l        U R	                  5         [        XR                  S5        g7f)zDChecks that sorted indices property is retained through an operationNhas_sorted_indicesFz'Expected sorted indices, found unsorted)hasattrr   indicescopysort_indicesr   )Xr   s     ^/var/www/html/land-ocr/venv/lib/python3.13/site-packages/scipy/sparse/tests/test_indexing1d.pycheck_remains_sortedr      sT      
1*++13G3GiinnG ANN))%NOs   A0A2	spcreatorc                       \ rS rSrS rS rS r\R                  R                  SS \
R                  S // SQS	9S
 5       rSrg)TestGetSet1D   c                 b   [         R                  " / SQ5      nU" U5      nUR                  S   n[        U* U5       Ho  n[	        X5S 4   R                  5       X%S 4   5        [	        US U4   R                  5       US U4   5        [	        US S U4   R                  5       US S U4   5        Mq     g )N      r   r   )nparrayshaperanger   r	   )selfr   DANjs         r   test_None_indexTestGetSet1D.test_None_index   s    HHYaLGGAJr1Ad7++-qDz:47++-qqz:4q=)113QtT1}5EF     c                     U" [         R                  " S5      R                  SS5      5      nUS   R                  S:X  d   eUSSS24   R                  S:X  d   eUS SSS24   R                  S	:X  d   eUS
   R                  S:X  d   eUS   R                  S	:X  d   eUS   R                  S:X  d   eUS   R                  S:X  d   eUS SS S 24   R                  S:X  d   eUSS S S 24   R                  S:X  d   eUSS S 2S 4   R                  S:X  d   eUR
                  S:X  ah  US   R                  S:X  d   eUS SS2S S4   R                  S:X  d   eUSS2SS 2S 4   R                  S:X  d   eUSS 2SS S 4   R                  S:X  d   eg g )N   r   r   )r      r   r   r)   r   )r   r   )Nr   r)   )Nr   r)   N)Nr   )r   r   )r   N)r   r   coo)Nr)   r   NN)r   r   r   )r   r)   r   )r   r   r   )r   r   r   )r   arangereshapendimr   formatr   r   r!   s      r   test_getitem_shapeTestGetSet1D.test_getitem_shape'   s   bii&..q!45w||q   AaCy$&&&q!A#$$...}""d***!"((F222 z6)))z6)))q!}""f,,,D!}""f,,,At}""f,,, 88u+,22i???T1Q3a'(..'999QqS!"d]#))W444QRD$&'--888	 r&   c                    [         R                  " / SQ5      nU" U5      nUR                  S   n[        U* U5       H  n[	        X5   X%   5        M     S H6  n[
        R                  " [        SS9   UR                  U5        S S S 5        M8     US   S:X  d   e[
        R                  " [        SS9   UR                  S5        S S S 5        g ! , (       d  f       M  = f! , (       d  f       g = f)	Nr   r   )r   z index (.*) out of (range|bounds)match)r   r   r   )	r   r   r   r   r   pytestraises
IndexError__getitem__)r   r   r    r!   r"   r#   ijs          r   test_getelementTestGetSet1D.test_getelement=   s    HHYaLGGAJr1Aqt$  Bz1STb! UT 
 w!||]]:-OPMM$ QP UT QPs   2C4C!
C	!
C/scalar_containerc                 D    [        [        R                  " U //5      5      $ N)r   r   r   xs    r   <lambda>TestGetSet1D.<lambda>Q   s    9RXXse_-r&   c                     U $ rA    rB   s    r   rD   rE   Q   s    1r&   )sparsedensescalar)idsc                 H   [         R                  nU" SUS9n[        R                  " 5          [        R                  " SS[
        5        U" U" S5      5      US'   U" U" S5      5      US'   U" U" S5      5      US	'   U" U" S
5      5      US'   U" S5      US'   U" U" S	5      5      US'   U" U" S5      5      US'   S H7  n[        R                  " [        SS9   UR                  US5        S S S 5        M9     S S S 5        g ! , (       d  f       MS  = f! , (       d  f       g = f)Nr(   dtypeignore2Changing the sparsity structure of .* is expensiver   r   r   g      "@      	      )ir*   )   rW   )   zout of (range|bounds)r5        ^@)
r   float64warningscatch_warningsfilterwarningsr   r8   r9   r:   __setitem__)r   r   r?   rO   r!   r<   s         r   test_setelementTestGetSet1D.test_setelementO   s    

e5)$$&##D'
 $E!H-AaD#E!H-AaD#E#J/AaD$U1X.AbE#A&AaD%eAh/AcF$U1X.AbE-]]:5LMMM"e, NM . '&  NM! '&s$   B,DD,D
DD
D!rG   N)__name__
__module____qualname____firstlineno__r$   r1   r=   r8   markparametrizer   r   ra   __static_attributes__rG   r&   r   r   r      sN    G9, $ [[	-rxxE)  
-
-r&   r   c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)TestSlicingAndFancy1Dk   c                     [         R                  " / SQ5      nU" U5      n[        US   R                  5       US   5        S H6  n[        R
                  " [        SS9   UR                  U5        S S S 5        M8     g ! , (       d  f       MJ  = f)Nr   rG   )r   r   r   z"out of (range|bounds)|many indicesr5   )r   r   r   r	   r8   r9   r:   r;   )r   r   r    r!   r<   s        r   test_get_array_index*TestSlicingAndFancy1D.test_get_array_indexp   sf    HHYaLQrU]]_ae, Bz1UVb! WV !VVs   A>>
B	c                    [         R                  nU" SUS9n[        R                  " 5          [        R                  " SS[
        5        U" S5      U[         R                  " S5      '   U" S5      U[         R                  " S5      '   [        UR                  5       / SQ5        S	 H7  n[        R                  " [        S
S9   UR                  US5        S S S 5        M9     SS/ SQ[         R                  " / SQ5      4 H9  nSn[        R                  " [        US9   UR                  SU5        S S S 5        M;     S S S 5        g ! , (       d  f       M  = f! , (       d  f       Mg  = f! , (       d  f       g = f)NrM   rN   rP   rQ   g      @   g       @)r   r   r   r   r   r   r)   r   r   r   r   r   )rY   )rX   zindex .* out of (range|bounds)r5   r[   rG   rn   )r   r)   r   &Trying to assign a sequence to an itemr   )r   r\   r]   r^   r_   r   r   r   r	   r8   r9   r:   r`   
ValueError)r   r   rO   r!   r<   vmsgs          r   test_set_array_index*TestSlicingAndFancy1D.test_set_array_indexy   s   

e5)$$&##D'
 #3ZAbhhqkN"3ZAbhhqkN&JK%]]:5UVMM"e, WV & &)RXXi-@A>]]:S9MM!Q' :9 B '& WV
 :9! '&s=   BE)EAE)E0E)
EE)
E&!E))
E7c                 f   [        U" S[        R                  S9SS R                  [        R                  5        [        U" S[        R                  S9SSS2   R                  [        R                  5        [        U" S[        R
                  S9S S  R                  [        R
                  5        g )N
   rN   r   rV   )rs   r   r)   )r   r   int16rO   int32int64)r   r   s     r   test_dtype_preservation-TestSlicingAndFancy1D.test_dtype_preservation   sv    YuBHH5a:@@"((KYt2884QqU;AA288LYt2884Q7==rxxHr&   c                    [         R                  " S5      nU" U5      n[        US S  US S  R                  5       5        [        USS USS R                  5       5        [         R                  " / SQ5      nU" U5      n[        USS USS R                  5       5        [         R                  " / SQ5      nU" U5      n[        USS USS R                  5       5        [        USS  USS  R                  5       5        [        US S  US S  R                  5       5        [        U[        S 5         U[        S 5         R                  5       5        g )	Ng      I@r)   rV   )	r   r   rs   r   r   r   r   r   r   r   r   )r   r   r   r   r   rT   )r   r,   r   r	   r   slice)r   r   Br!   Cr    EFs           r   test_get_1d_slice'TestSlicingAndFancy1D.test_get_1d_slice   s   IIcNaLQqT1Q4<<>*QqVQqV^^-.HH01aLQqVQqV^^-. HH_%aLQqVQqV^^-.QrsVQrsV^^-.QqT1Q4<<>*QuT{^QuT{^%;%;%=>r&   c                 L   [         R                  " S5      nU" U5      n[        US   US   5        [        US   US   5        [        U[         R                  " S5         US   5        [        US S  R	                  5       US S  5        [        USS R	                  5       USS 5        [        USSS2   R	                  5       USSS2   5        [        [         R                  " S5      [         R                  " S5      S 5      n[        X4   R	                  5       USS 5        [         R                  nUS S US	S USS  USS S2   US
S USS USSS2   USS S2   US SS2   SS	US S  US	S SSS[         R                  " S5      [         R                  " S5      /n[        U5       Hz  u  pxX8   n	X(   n
U
R                  S:X  a  [        X[        U5      5        M4  U	R                  S:X  a  U
R                  S:X  a  MV  [        U	R	                  5       U
[        U5      5        M|     g )N2   r)   rT   rV   r(   r   r   r         rR   r   rG   )r   r,   r   r   r	   r   int8s_	enumerater   reprsize)r   r   r   r!   sr   slicesr#   arC   ys              r   test_slicing_idx_slice,TestSlicingAndFancy1D.test_slicing_idx_slice   s   IIbMaL 	QqT1Q4 QrUAbE"Qrxx|_ae, 	QqT\\^QqT*QqW__&!B0QqAvY&&(!AbF)4 "''!*bggaj$/QT\\^QqV, UURa&"Qq'2ab62add8R)R!WQqV*bBiEQrEQ1r!AwB((2,	- f%DAAAww"}Q47+66Q;166Q; aa9 &r&   c                     [         R                  " S5      nU" U5      n[        US   R                  5       US   5        [        US   R                  5       US   5        g )Nr   .).)r   r,   r   r	   r   r   r   r!   s       r   test_ellipsis_1d_slicing.TestSlicingAndFancy1D.test_ellipsis_1d_slicing   sJ    IIbMaLQsV^^%qv.QtW__&$0r&   c                 V   U" S5      n[         R                  " S5      n[        R                  " 5          [        R                  " SS[
        5        X#4 H  nSUSS& SUSS& SUSS	& SUS	S & SUS	S S
2'   M!     S S S 5        [        UR                  5       U5        g ! , (       d  f       N)= f)NrV   rP   rQ   r   r   r   r)   rU   r   r   )r   zerosr]   r^   r_   r   r   r	   )r   r   r!   r   r   s        r   test_slice_scalar_assign.TestSlicingAndFancy1D.test_slice_scalar_assign   s    dOHHTN$$&##D'
 V!A!A!A!"!%R%  ' 	QYY[!$ '&s   AB
B(c                 z   Sn[        S5      [        S SS5      [        SS5      4 H  nU" U5      n[        R                  " 5          [        R                  " SS[        5        S	XC'   S S S 5        [
        R                  " U5      nS	XS'   S
U< 3n[        UR                  5       XVS9  M     g ! , (       d  f       NK= f)Nr{   r   r|   r   rV   rT   rP   rQ   r   zidx=)err_msg)	r   r]   r^   r_   r   r   r   r   r	   )r   r   r   idxr!   r   rw   s          r   test_slice_assign_2)TestSlicingAndFancy1D.test_slice_assign_2   s    !HeD"a0%2,?C% A((*''H+
  + AAF.CAIIK8 @**s   !B,,
B:	c                 @   U" S5      n[         R                  " 5          [         R                  " SS[        5        SUS'   SUS'   SUS'   SUS'   US-  nUS S  US S & [	        US S  R                  5       US S  R                  5       5        US-  nUS S US S & [	        [        R                  " S5      US   -   UR                  5       5        US-  nUSS  US S	& [	        USS  R                  5       US S	 R                  5       5        S S S 5        g ! , (       d  f       g = f)
Nr   rP   rQ   r)   r   r   r   r|   r   )r]   r^   r_   r   r   r	   r   r   r   s       r   test_self_self_assignment/TestSlicingAndFancy1D.test_self_self_assignment   s
   dO$$&##D'
 AaDAaDAaDAaDBAQ4AaD118BARa5AaD$!A$.		<BAqrUAcrF12!CR&..*:;+ '&&s   C(D
Dc                    U" S5      n[         R                  " / SQ5      nSS/n[        R                  " 5          [        R                  " SS[
        5        SUS'   S	US'   X"-   US S & [        UR                  5       U5        [        U5      US S& [        UR                  5       S S U5        S S S 5        g ! , (       d  f       g = f)
Nr7   )r|   r   rZ   r   r)   r   rP   rQ   rV   r   rS   )	r   r   r]   r^   r_   r   r   r	   r   )r   r   r   expectedblocks        r   test_slice_assignment+TestSlicingAndFancy1D.test_slice_assignment  s    dO88N+A$$&##D'
 AaDAaD5AaDh/e$AbqERa%0 '&&s   A3B66
Cc                    U" S5      n[         R                  " S[        5      n[         R                  nUS S USS USS  USS S2   USSS2   USS S	2   US SS2   S
SUS S  USS SS	S[         R                  " S5      [         R
                  " S5      /n[        R                  " 5          [        R                  " SS[        5        [        U5       H1  u  pgXbU'   XcU'   [        UR                  5       U[        U5      5        M3     [        SSS5      USSS2'   [        SSS5      USSS2'   [        UR                  5       U5        S S S 5        [        [        S5      5      n[         R"                  " [$        SS9   UR'                  S
U5        S S S 5        [         R"                  " [$        SS9   UR'                  [)        S 5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N]= f! , (       d  f       g = f)Nr   rV   r)   r   r   rR   r   r   rT   r   r   r   rP   rQ   r|   d   rt   r5   zcould not be broadcast together)r   r   floatr   r   r   r]   r^   r_   r   r   r   r	   r   r   listr8   r9   ru   r`   r   )	r   r   r!   r   r   r   r#   r   toobigs	            r   test_set_slice$TestSlicingAndFancy1D.test_set_slice&  s   dOHHQUURa&"Qq'2ab62add8QqV*bBiEQrEQ1r!AwB((2,-
 $$&##D'
 "&)!!QYY[!T!W5 *
 aAAa1fIaAAa1fIa( '  eCj!]]:-UVMM!V$ W]]:-NOMM%+v. PO' '&" WVOOs%   *BG<G&0G7
G#&
G47
Hc                     U" [         R                  " S5      5      nU" S5      nX2S S& [        UR                  5       / SQ5        g )Nr   r)   r)   )r   r   r   )r   onesr   r	   )r   r   r!   r   s       r   test_assign_empty'TestSlicingAndFancy1D.test_assign_emptyE  s6    bggaj!dO"1QYY[),r&   c                     U" S[         R                  S9n[        USS/   R                  [         R                  5        [        U/    R                  [         R                  5        g )Nr   rN   F)r   r}   r   rO   r0   s      r   #test_dtype_preservation_empty_index9TestSlicingAndFancy1D.test_dtype_preservation_empty_indexN  sE    d"((+Qu~&,,bhh7QrU[["((+r&   c                 x   U" [         R                  " S5      5      n[        R                  " [        [
        [        4SS9   UR                  S5        S S S 5        [        R                  " [        [
        [        4SS9   UR                  S5        S S S 5        g ! , (       d  f       NM= f! , (       d  f       g = f)NrV   ,Index dimension must be 1 or 2|only integersr5   foo&tuple index out of range|only integers)r)   r   )r   r   r8   r9   r:   ru   	TypeErrorr;   r0   s      r   test_bad_index$TestSlicingAndFancy1D.test_bad_indexS  s    bhhqk"]]Y/@
 MM% 	

 ]]Y/:
 MM*%	
 

 


 
s   B?B+
B(+
B9c           
         [         R                  " S5      R                  S5      nU" U5      n[        USS/   R	                  5       USS/   5        [        USSS/4   R	                  5       USSS/4   5        [        USSS/4   R	                  5       USSS/4   5        [        U[         R
                  " S5      SS/4   R	                  5       USSS/4   5        [        US[         R
                  " SS/5      4   R	                  5       USSS/4   5        [        U[         R
                  " S5      [         R
                  " SS/5      4   R	                  5       USSS/4   5        [        US S 2/ SQ4   R	                  5       US S 2/ SQ4   5        [        USS	2S
/4   R	                  5       USS	2S
/4   5        [        USS	2SS/4   R	                  5       USS	2SS/4   5        [        USS	2[         R
                  " SS/5      4   R	                  5       USS	2SS/4   5        [        USS/S4   R	                  5       USS/S4   5        [        USS/S4   R	                  5       USS/S4   5        [        U[         R
                  " SS/5      S4   R	                  5       USS/S4   5        [        USS/[         R
                  " S5      4   R	                  5       USS/S4   5        [        U[         R
                  " SS/5      [         R
                  " S5      4   R	                  5       USS/S4   5        [        USS/S S 24   R	                  5       USS/S S 24   5        [        USS/SS24   R	                  5       USS/SS24   5        [        U[         R
                  " SS/5      SS24   R	                  5       USS/SS24   5        [        [	        USS/SS	/4   5      USS/SS	/4   5        [        [	        USS/SS/4   5      USS/SS/4   5        [        [	        U[         R
                  " SS/5      SS/4   5      USS/SS/4   5        [        [	        USS/[         R
                  " SS/5      4   5      USS/SS/4   5        [        [	        U[         R
                  " SS/5      [         R
                  " SS/5      4   5      USS/SS/4   5        [        US/S//SS	/4   R	                  5       US/S//SS	/4   5        [        US/S/S//SS/4   R	                  5       US/S/S//SS/4   5        [        U[         R
                  " S/S/S//5      SS/4   R	                  5       US/S/S//SS/4   5        [        US/S/S//[         R
                  " SS/5      4   R	                  5       US/S/S//SS/4   5        [        U[         R
                  " S/S/S//5      [         R
                  " SS/5      4   R	                  5       US/S/S//SS/4   5        [        USS/   R	                  5       USS/   5        [        USS/   R	                  5       USS/   5        [        U[         R
                  " SS/5         R	                  5       USS/   5        [        USS/S S 24   S S 2SS	/4   R	                  5       USS/S S 24   S S 2SS	/4   5        [        USS/S S 24   S S 2SS/4   R	                  5       USS/S S 24   S S 2SS/4   5        [        U[         R
                  " SS/5      S S 24   S S 2[         R
                  " SS/5      4   R	                  5       USS/S S 24   S S 2SS/4   5        [        US S 2SS/4   SS	/S S 24   R	                  5       US S 2SS/4   SS	/S S 24   5        [        US S 2SS/4   SS/S S 24   R	                  5       US S 2SS/4   SS/S S 24   5        [        US S 2[         R
                  " SS/5      4   [         R
                  " SS/5      S S 24   R	                  5       US S 2SS/4   SS/S S 24   5        g )Nr   )rV   r|   r   r   r   r)   r   )r)   rR   r   r   r   rU   r4   rR   r   rT   )r   r,   r-   r   r	   r   r   s       r   test_fancy_indexing_2darray1TestSlicingAndFancy1D.test_fancy_indexing_2darray`  s   IIbM!!'*aL 	Q1vY&&(!QF)4 	Qq1a&y\))+Qq1a&y\:QrAr7{^++-qaW~>Qrxx|aW,-55722w;HQr288QG,,-55722w;HQrxx|RXXq"g%667??A1R!R[>R 	Qq-'(002Aa6F4GHQqsQCx[((*AacA3hK8QqsRH}%--/1Q3R=1ABQqsBHHb"X../7791QqS2r(];KL 	Q1vqy\))+Q1vqy\:Q2w{^++-q!R"~>QrxxB(",-557Ar7B;HQ2w,-557Ar7B;HQrxxB("((2,67??A1aWb[>R 	Q1vqy\))+Q1vqy\:Q2w"}%--/Ar7AbD=1ABQrxxB(!B$./7791aWad];KL 	WQ1v1v~./Aq6Aq6>1BCWQBx!R012Ar2hB6G4HIAbhhBx(1b'123QBx!R7H5I	
 	Ar2h!R 1123QBx!R7H5I	
 	AbhhBx("((Ar7*;;<=q"bAr7AR?S	

 	QaSzAq6)*224a!qc
QF8J6KLtbTB4 1b')*224tbTB4 1b')*	
 	bhhrdRD)*QG34<<>tbTB4 1b')*	
 	tbTB4 "((Ar7"334<<>tbTB4 1b')*	
 	bhhrdRD)*BHHaW,==>FFHtbTB4 1b')*	
 	Q1vY&&(!QF)4QBx[((*Ar2hK8QrxxR)*224aRkB 	q!faiLQF#++-q!Q|A1vI/F	
 	r2hkN1q"g:&..0!RHaK.QG2L	
 	bhhBx !#$Q!R(9%9:BBDr2hkN1q"g:&	
 	a!QiL!Q#++-qQF|QFAI/F	
 	a"bkNAr7A:&..0!ABxK.!R!2L	
 	a2r(##$RXXq"g%6%9:BBDa"bkNAr7A:&	
r&   c                    [         R                  " S5      nU" U5      n[        US/   R                  5       US/   5        [        USS/   R                  5       USS/   5        [        USS/   R                  5       USS/   5        [        U[         R                  " S5         US   5        [        U[         R                  " SS/5         R                  5       USS/   5        [        U[         R                  " S5         U[         R                  " S5         5        [         R                  " S/S//5      n[        X4   R                  5       X$   5        [         R                  " S/S/S	//5      n[        X4   R                  5       X$   5        [        USS/   R                  5       USS/   5        [        USS/   R                  5       USS/   5        [        U[         R                  " SS/5         R                  5       USS/   5        [        U/ S
Q   SS/   R                  5       U/ S
Q   SS/   5        [        U/ SQ   SS/   R                  5       U/ SQ   SS/   5        g )Nr   r   r   r)   r   r   rV   r   rT   )r   rV   r)   rR   )r   r   r)   rR   r4   )r   r,   r   r	   r   )r   r   r   r!   inds        r   test_fancy_indexing)TestSlicingAndFancy1D.test_fancy_indexing  s   IIbMaL 	QsV^^%q!v. 	Q1vY&&(!QF)4Q2wZ'')1aW:6Qrxx|_ae,QrxxQ()113QAwZ@Qrxx{^Qrxx{^4 hhaSz"QV^^%qv.hhrdRD)*QV^^%qv. 	Q1vY&&(!QF)4QBx[((*Ar2hK8QrxxR)*224aRkB 	Q|_aV,446|_aV,	.Q~&2w/779~&2w/	1r&   c                    [         R                  R                  S5        [         R                  " S5      nU" U5      n[         R                  " [         R                  R                  SSSS9[        S9n[        [        X4   5      X$   5        [        [        X2S:     5      X"S:     5        [         R                  " S[        S9n[         R                  " S[        S9nS	US
'   [         R                  " S[        S9nS	US'   Sn[        R                  " [        US9   UR                  U5        S S S 5        [        R                  " [        US9   UR                  U5        S S S 5        [        R                  " [        US9   UR                  U5        S S S 5        g ! , (       d  f       Nu= f! , (       d  f       NS= f! , (       d  f       g = f)N  r   r   r)   r   rN   rU   3   Tr   z3bool index .* has shape|boolean index did not matchr5   )r   randomseedr,   r   randintboolr   r	   r   r8   r9   r:   r;   )	r   r   r   r!   IZ1Z2Z3rw   s	            r   test_fancy_indexing_boolean1TestSlicingAndFancy1D.test_fancy_indexing_boolean  s9   
		tIIbMaLHHRYY&&q!"&5TBWQT]AD)WQ1uX&a%1XXb%XXb%2XXb%1C]]:S1MM" 2]]:S1MM" 2]]:S1MM" 21	 211111s$   FF.F?
F+.
F<?
Gc                    [         R                  R                  S5        [         R                  " S5      nU" U5      n[         R                  " [         R                  R                  SSSS9[        S9n[        U5      n[        [        X5   5      X$   5        [        [        X3S:     5      X"S:     5        [         R                  " [         R                  R                  SSSS9[        S9n[        U5      n[        R                  " [        S	S
9   UR                  U5        S S S 5        [        R                  " [        SS
9   UR                  US45        S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nr   r   r   r)   r   rN   rU   <   z%bool index .* has shape|only integersr5   r   r   )r   r   r   r,   r   r   r   r   r   r	   r8   r9   r:   r;   )r   r   r   r!   r   XspYYsps           r   "test_fancy_indexing_sparse_boolean8TestSlicingAndFancy1D.test_fancy_indexing_sparse_boolean  s   
		tIIbMaLHHRYY&&q!"&5TBlWQV_ad+WQ1uX&a%1HHRYY&&q!"&5TBl]]:-TUMM# V]]:-UVMM3(# WV VUVVs   E!E2!
E/2
F c                     U" [         R                  " SS/5      5      n[        R                  " [        SS9   UR                  S[         R                  " SS/5      5        S S S 5        g ! , (       d  f       g = f)Nr   r   rt   r5   r)   )r   r   r8   r9   ru   r`   )r   r   mats      r   test_fancy_indexing_seq_assign4TestSlicingAndFancy1D.test_fancy_indexing_seq_assign
  sP    !Q()]]:-UVOOArxxA/0 WVVs   )A**
A8c                    [         R                  " S5      nSUSS& SUS'   U" U5      n[         R                  " S/S-  5      n[        [	        X4   5      X$   5        [         R                  " / [
        S9n[        [	        X4   5      X$   5        [         R                  " / SQ[
        S9n[        [	        X5   5      X%   5        g )	Nr   r   r   rU      FrN   )r   r   r)   r   r   r   r,   r   r   r	   int)r   r   r   r!   KJs         r   test_fancy_indexing_empty/TestSlicingAndFancy1D.test_fancy_indexing_empty  s    IIbM!A"aLHHeWr\"WQT]AD)HHRs#WQT]AD)HH_C0WQT]AD)r&   c                     U" [         R                  " S5      5      nSn[        R                  " [        [
        [        4US9   UR                  SS5        S S S 5        g ! , (       d  f       g = f)NrV   r   r5   r   r)   )r   r   r8   r9   r:   ru   r   r`   )r   r   r!   rw   s       r   test_bad_index_assign+TestSlicingAndFancy1D.test_bad_index_assign  sI    bhhqk"<]]J
I>cJMM%# KJJs   A
A-c                    Sn/ SQ[        S SS5      [        R                  " S5      [        SS5      [        SS5      4 H  nU" U5      n[        R                  " U5      n[        R
                  " 5          [        R                  " S	S
[        5        SXS'   [        U5         SXC'   S S S 5        S S S 5        [        UR                  5       U5        M     g ! , (       d  f       N5= f! , (       d  f       N>= f)Nr   )r)   r   r   r|   r   r   rV   rT   r)   rP   rQ   r   )r   r   r,   r   r]   r^   r_   r   r   r   r	   )r   r   Mr#   r!   r   s         r   test_fancy_indexing_set-TestSlicingAndFancy1D.test_fancy_indexing_set%  s     U4Q/11b\5A;0A!AA((*''H+
 )!,AD - + AIIK+0 -, +*s$   5,C&!C&C&
C#C&&
C4	c                    U" S5      nU" S5      n/ SQnSn[         R                  " U5      n[        R                  " 5          [        R                  " SS[
        5        [        U5         X4   X$'   Sn[        R                  " [        US9   UR                  U5        S S S 5        X6   X&'   S S S 5        [        US S R                  5       UR                  5       5        UR                  S:X  d   eU" S5      n[        U5         S	S
/USS& S S S 5        [        UR                  5       / SQ5        U" S5      n[         R                  " S5      n[        U5         X#4 H  n/ SQU/ SQ'   M     S S S 5        [        UR                  5       U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       Nf= f! , (       d  f       g = f)Nr7   ro   )r   r   r)   rP   rQ   z3Too many indices for array|tuple index out of ranger5   r   r|   r   r   )r   r|   r   r   r   )r   rV   rs   )r   r   r]   r^   r_   r   r   r8   r9   r:   r;   r   r	   r   r   )	r   r   r!   r   i0i1i2rw   r   s	            r   test_sequence_assignment.TestSlicingAndFancy1D.test_sequence_assignment8  sy   dOdOXXb\$$&##D'
 &a(K]]:S9MM"% : ) 2A!))+677d?"? $A%a(b!A )n5 $AA%a(A#,AiL   ) a(7 '& :9 )( )( )(1 '&sn   (G*"F*FF*,AGF<AGG-"G
F'"F**
F9	4G<
G
	G
G	G
G,c                 6   [         R                  " S5      nSUS'   SUSS/'   U" U5      n[         R                  " S/S-  5      nSX4'   [        UR	                  5       U5        [         R                  " / [
        S9nSX4'   [        UR	                  5       U5        g )	Nr   r   r)   r   rs   F*   rN   r   )r   r   r   r!   r   s        r   test_fancy_assign_empty-TestSlicingAndFancy1D.test_fancy_assign_empty]  s    IIbM!1a&	aLHHeWr\"QYY[!$HHRs#QYY[!$r&   rG   N)rc   rd   re   rf   rp   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ri   rG   r&   r   rk   rk   k   s    
"(2I
?$#:J1%"9"<41&/>-,
&[
z1>2$*1
* $,&#)J%r&   rk   )
contextlibr]   r8   numpyr   numpy.testingr   r   scipy.sparser   r   r   test_arithmetic1dr	   formats_for_index1dcontextmanagerr   rg   rh   r   rk   rG   r&   r   <module>r     s        7 F F & !),  P P &9:L- L- ;L-^ &9:}% }% ;}%r&   