
    ЦiW_                        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JrJr  S SKJrJrJrJrJrJrJr   " S S5      r " S S5      r " S S	5      r " S
 S5      r " S S5      r " S S5      rS r " S S5      rS r  " S S5      r!S r"S r#\ RH                  RK                  SSSSS/S/5      S 5       r&S r'S  r(S! r)S" r*S# r+S$ r,S% r-\ RH                  RK                  S&/ S'Q5      S( 5       r.S) r/S* r0g)+    N)c_diag_indicesdiag_indices_fromfill_diagonal	index_expix_mgridndenumeratendindexogridr_s_)assert_assert_almost_equalassert_array_almost_equalassert_array_equalassert_equalassert_raisesassert_raises_regexc                       \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	/ S
Q5      S 5       rS rS rSrg)TestRavelUnravelIndex   c                    [        [        R                  " SS5      S5        [        [        R                  " SSS9S5        [        [        5         [        R                  " SSS9  S S S 5        [        [        5         [        R                  " SSS9  S S S 5        [        [        5         [        R                  " SSS	9  S S S 5        [        [        5         [        R                  " SSS
9  S S S 5        [        [        R
                  " SS5      S5        [        [        R                  " SS5      S5        [        [        R
                  " SS5      S5        [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R
                  SS5        [        [        [        R
                  SS5        [        [        [        R
                  SS5        [        [        [        R
                  SS5        [        [        [        R
                  SS5        [        [        R                  " SS5      / SQ5        [        [        R
                  " / SQS5      S5        [        R                  " / SQ/ SQ/5      n[        [        R
                  " US5      / SQ5        [        [        R
                  " USSS9/ SQ5        [        [        R
                  " USSS 9/ S!Q5        [        [        R
                  " US"S#S 9/ S$Q5        [        [        R
                  " S%S&5      S'5        [        [        R                  " [        R                  " / SQ5      S5      / SQ/ SQ/5        [        [        R                  " [        R                  " / SQ5      SSS9/ SQ/ SQ/5        [        [        R                  " S'S&5      / S%Q5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNl= f! , (       d  f       GNQ= f)(N   r   r      r   )indicesshape)r   hape)r       )   ^   )ims)dims)r   B   g      ?   )r   )r   r   )r   r)   r   r   )皙?g        .   )r(         r   r   r(   )r-   r.   r.   )r(      r   )   r.   )   )   %   Forder)   r3      )r(   r.   clipmode)r2         r(   r(   )r:   wrap)   r9   r9   )r-   r   r(   r   )r.   r1      	   iU  )r   npunravel_indexr   	TypeErrorravel_multi_index
ValueErrorarray)selfarrs     `/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/numpy/lib/tests/test_index_tricks.py
test_basic TestRavelUnravelIndex.test_basic   s   R%%a0&9 	R%%a,24&,	. 9%QV4 & 9%QV, & 9%Sh/ & 9%Sx0 & 	R))&&91=R%%c84g>R))'8<cBj""2"2B?i!1!13?j""2"2Av>j""6"6Hj""6"6Gj""6"6Hj""6"6Gi!5!5y&IR%%&99EyQ  I68K	M hh	9-.R))#v6E  fC8,	H  f6:L	JR))#v<LM!	#R)),EtLR%%bhh|&<fE+	-RXXl3V3G	"	$ 	R%%dL9<HW &% &% &% &%s0   P=P*P%P7
P
P"%
P47
Qc           
         SnSn[        [        U[        R                  / S5        [        [        U[        R                  SS5        [        [        U[        R                  [        R                  " / 5      S5        [        [        R                  " [        R                  " / [        S9S5      / / / /5        [        [        U[        R                  / / 4S5        [        [        U[        R                  / S/4S5        [        [        U[        R                  [        R                  " / 5      [        R                  " / 5      4S5        [        [        R                  " [        R                  " / [        S9[        R                  " / [        S94S5      / 5        [        [        R                  " [        R                  " / / /[        S9S5      / 5        g )	Nz9indices must be integral: the provided empty sequence waszonly int indices permitted)
   r-   r0    dtyperP   r-   abc)r0   r-   )r   rF   rD   rE   rI   r   intrG   )rJ   msg1msg2s      rL   test_empty_indices(TestRavelUnravelIndex.test_empty_indicesU   sT   J+ItR-=-=r:NItR-=-=r:NItR-=-=rxx|&	(R%%bhhr&=zJ"b\	#ItR-A-AB8#	%ItR-A-AB=#	%ItR-A-AXXb\288B<0&	:R))"C("((2S*ABFLMO	QR))"((B83*G 	"    c                    [         R                  [         R                  :X  a:  SS/SS/SS/SS/SS	/SS/S
S/4n[        [         R                  " US5      SS/5        [        [        [         R                  SS5        S
/S
/4n[         R                  " [         R                  5      R                  S-  n[        [         R                  " X#S45      S
/5        [        [        [         R                  X#S-   S45        [        [         R                  " X#S4SS9S
/5        [        [        [         R                  X#S-   S4SS9  g )Nr   r   r-   r0   u   r>   r   iK	  i  r   )r3   r1   x   $   i
  rB   r.   l   z l   nm )l    l       r5   r6   )
rD   intpint64r   rG   r   rH   rE   iinfomax)rJ   rK   	dummy_arrhalf_maxs       rL   test_big_indices&TestRavelUnravelIndex.test_big_indicesi   s)   77bhhr7QFQHr1g$<!Q!Q1C$$S*FG\*,
 	j""2"2A7MN S1#J	88BGG$((A-  qM:QC	Aj  )lA->	@  qMEs	Lj  )lA->c	Kr[   c           
         [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  4 GH  n[         R                  " / SQ/ SQ/US9nSnSUS   -  US   -   n[        [         R                  " X#5      U5        [        U[         R                  " XC5      5        US   SUS   -  -   n[        [         R                  " X#S	S
9U5        [        U[         R                  " XCS	S
95        [         R                  " / SQ/ SQ/ SQ/US9nSnSSUS   -  US   -   -  US   -   n[        [         R                  " X#5      U5        [        U[         R                  " XC5      5        US   SUS   SUS   -  -   -  -   n[        [         R                  " X#S	S
9U5        [        U[         R                  " XCS	S
95        GM     g )N)r   r   r   r   r-   r(   )r   r.   r   r-   r   r   rR   )r0   rB   rB   r   r   r0   r5   r6   )r   r-   r   r   rC   r0   )r0   rB   rP   rP   r   )rD   int16uint16int32uint32ra   uint64rI   r   rG   rE   )rJ   rS   coordsr   uncoordss        rL   test_dtypes!TestRavelUnravelIndex.test_dtypes   s   hh		288ii2996EXX#%78GFE6!9}vay0H--f<hG!1!1(!BCay1vay=0H$$V#>J!1!1(!MNXX#%79KLF EQ]VAY67&)CH--f<hG!1!1(!BCay1q	Aq	M(A#BBH$$V#>J!1!1(!MN/6r[   c                 ,   [        [        R                  " / SQSSS9[        R                  " / SQS5      5        [        [        R                  " / SQSSS9[        R                  " / SQS5      5        [        [        [        R                  / SQS5        g )N)r0   r   r'   r   )r(   r-   r1   rA   r@   r;   )r   r   r.   r   )r@   raiser:   rs   )r   r   r   r   )r   rD   rG   r   rH   rJ   s    rL   test_clipmodes$TestRavelUnravelIndex.test_clipmodes   s{      FK  }=	? 	R))-0PQ )),F	H 	,,m]	Lr[   c                     [         R                  " / SQS5      u  p[        UR                  R                  5        [        UR                  R                  5        g )Nr   r   r-   )r(   r0   )rD   rE   r   flags	writeable)rJ   xys      rL   test_writeability'TestRavelUnravelIndex.test_writeability   s:    	62!!"!!"r[   c                     [         R                  " SS5      n[        US5        [        [        S[         R                  S/S5        [        [        S[         R                  S/S5        g )Nr   rQ   z0d arrayzout of boundsr   )rD   rE   r   r   rH   rJ   r{   s     rL   test_0dTestRavelUnravelIndex.test_0d   sR    Q#QJ
B4D4Dqc2N)9)9A3	Dr[   r<   )r:   r@   rs   c                 V   [         R                  " [         R                  " S[         R                  S9SUS9nUR                  S:X  d   e[        [        5         [         R                  " [         R                  " S[         R                  S9SUS9  S S S 5        g ! , (       d  f       g = f)N)r-   r   rR   r   r   r   r;   r   )r-   r   )rD   rG   zerosr`   r   r   rH   )rJ   r<   ress      rL   test_empty_array_ravel,TestRavelUnravelIndex.test_empty_array_ravel   st    ""HHV2773YTKyyD   :&  HHV2773YTK '&&s   8B
B(c                 J   [         R                  " [         R                  " S[         R                  S9S5      n[	        U5      S:X  d   e[        S U 5       5      (       d   e[        [        5         [         R                  " S/S5        S S S 5        g ! , (       d  f       g = f)Nr   rR   r   r-   c              3   >   #    U  H  oR                   S :H  v   M     g7f)r   Nr   ).0as     rL   	<genexpr>ATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>   s     0Cq77d?Cs   r   )rD   rE   r   r`   lenallr   rH   )rJ   r   s     rL   test_empty_array_unravel.TestRavelUnravelIndex.test_empty_array_unravel   sp    rxx99E3x1}}0C00000:&aS), '&&s   2B
B"c                 z    [         R                  " [         R                  " / SQ/[         R                  S9S5        g )N)r   r   r   r   rR   )r(   )rD   rE   rI   rl   rt   s    rL   test_regression_size_1_index2TestRavelUnravelIndex.test_regression_size_1_index   s%     	<.		BDIr[   rQ   N)__name__
__module____qualname____firstlineno__rM   rY   rf   rp   ru   r}   r   pytestmarkparametrizer   r   r   __static_attributes__rQ   r[   rL   r   r      s_    5In"(K0O6
L#D [[V%>?K @K-Jr[   r   c                       \ rS rSrS rS rS rS r\R                  R                  SSS/5      S	 5       rS
 rS rS rSrg)TestGrid   c                 z   [         SSS2   n[         SSS2   n[        UR                  S:H  5        [        UR                  S:H  5        [        US   S:H  5        [        US   S5        [        US   S:H  5        [        US   US   -
  SS5        [        US   US   S	-   S5        [        US   US   -
  S
S5        g )Nr'   r                 $@r+   )rP   )   r      ggfffff?gqq?)r	   r   r   r   )rJ   r   bs      rL   rM   TestGrid.test_basic   s    "Qs(O"Qs(O5 !5 !!
AbE1%!
AaD1Q4Kb1AbE1Q4(?B7AaD1Q4KB7r[   c                 z    [         R                  " SSSS9u  p[        US5        [        U[        SSS2   S5        g )Nr   rP   T)retstepg9/?y              I@r9   )rD   linspacer   r   r	   )rJ   r|   sts      rL   test_linspace_equivalence"TestGrid.test_linspace_equivalence   s6    Ar40B)!!U1R8_b9r[   c                    [         SSS2SSS24   n[         SSS2SSS24   n[        UR                  S:H  5        [        UR                  S	:H  5        [        US
   S
S S 24   [        R
                  " SS5      * 5        [        US   S S 2S
4   S[        R
                  " SS5      -  5        [        US
   SS S 24   [        R
                  " SS5      S5        [        US   S S 2S4   S[        R
                  " SS5      -  S5        [        US
SS S 24   US
S
S S 24   -
  S[        R
                  " SS5      -  S5        [        USS S 2S4   USS S 2S
4   -
  S[        R
                  " SS5      -  S5        g )Nr'   r   r   r   r+   g?)r   rP   rP   )r   r   r   r   rP   dr   r   )r	   r   r   r   rD   onesr   )rJ   cr   s      rL   test_ndTestGrid.test_nd   s_   "Qs(BqH$%"Qs(BqH$%;&';&'1Q41:C(8'891Q41:rBGGB,<'<=!!A$r1u+rwwr3/?D!!A$q"u+q2772s3C/CRH!!Aq!G*qAqz"9"%C(8"8"	>!!Aq!G*qAqz"9"%C(8"8"	>r[   c                     [         SSS2SSS24   n[        SSS2SSS24   n[        R                  " U6 n[	        X5       H  u  pE[        XE5        M     g )Nr'   r   r   r   r   )r	   r   rD   broadcast_arrayszipr   )rJ   	grid_fullgrid_sparsegrid_broadcastfr   s         rL   test_sparseTestGrid.test_sparse   sc    "Qs(BqH,-	BqHb3h./ ,,k:	2DA 3r[   zstart, stop, step, expected)NrP   r   )   rP   )ir   N)i     c                     [         XU2XU24   n[         XU2   n[        UR                  US   5        [        UR                  US   5        g )Nr   r   )r	   r   size)rJ   startstopstepexpectedgrid
grid_smalls          rL   test_mgrid_size_none_handling&TestGrid.test_mgrid_size_none_handling   sO     U_eo56 5d?+
TYY,Z__hqk2r[   c                 P   [         SSS24   n[         [        R                  " S5      [        R                  " S5      [        R                  " S5      24   n[        X5        UR                  [        R                  :X  d   eUR                  [        R
                  :X  d   e[         SSS2   n[         [        R                  " S5      [        R                  " S5      [        R                  " S5      2   n[        UR                  [        R
                  :H  5        [        X5        g )Nr+   Q?)r	   rD   float32r   rS   float64r   )rJ   grid64grid32s      rL   test_accepts_npfloating TestGrid.test_accepts_npfloating  s    s4|}&rzz#rzz$'7

3GHJ!&1||rzz)))||rzz))) s4|$rzz#rzz$'7

3GH

*+!&1r[   c                 :   [         SSS24   n[         [        R                  " S5      [        R                  " S5      [        R                  " S5      24   n[        UR                  [        R                  :H  5        [        X5        [         S[        R                  " S5      S2   n[         S[        R                  " S5      S24   n[        UR                  UR                  s=:H  =(       a    [        R                  :H  Os  5        [        X4S   5        [         SSS2   n[         [        R                  " S5      [        R                  " S5      [        R                  " S5      2   n[        UR                  [        R                  :H  5        [        X5        g )Nr+   r   r   r   y        333333@)r	   rD   
longdoubler   rS   r   r   )rJ   r   grid128
grid128c_a
grid128c_bs        rL   test_accepts_longdouble TestGrid.test_accepts_longdouble  s-   s4|}&MM#r}}T22==3EEF
 	./!&21R]]1-d23
1R]]1-d235

  J$4$4EEEF:!}5 s4|$MM#r}}T22==3EE
 	./!&2r[   c           	         [        [        SSS24   [        SS[        R                  " S5      24   5        [        [        SSS2   [        SS[        R                  " S5      2   5        [        SSS2   n[        SSS24   S   n[	        UR
                  UR
                  s=:H  =(       a    [        R                  :H  Os  5        [        X5        [        SS[        R                  " S5      2   n[        SS[        R                  " S5      24   S   n[	        UR
                  UR
                  s=:H  =(       a    [        R                  :H  Os  5        [        X5        g )Nr+   g333333?y              @y        ffffff
@r   )
r   r	   rD   	complex64r   rS   r   r   clongdoubler   )rJ   grid64_agrid64_b	grid128_a	grid128_bs        rL   test_accepts_npcomplexfloating'TestGrid.test_accepts_npcomplexfloating-  s   !#c"*+s3r||B/?'?'@!B	

 	"#c"*uSR\\"-=%=>	

 S&S(+(..>>BJJ>?8.#c".."667	#c".."6679!<		9??CCbmmCD8.r[   rQ   N)r   r   r   r   rM   r   r   r   r   r   r   r   r   r   r   r   rQ   r[   rL   r   r      sV    
8:
> [[:"#=
 
3	
323,/r[   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestConcatenatoriD  c                     [        [        S   [        R                  " / SQ5      5        [        R                  " S5      n[        USSU4   n[        U/ SQ5        g )N)r   r   r-   r(   r0   r.   r0   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rD   rI   r   )rJ   r   r   s      rL   test_1dTestConcatenator.test_1dE  sE    2./:L1MNGGAJq!QzN1BCr[   c                 N    [         SSS24   n[        UR                  S:H  5        g )Ng333333$@r   rP   f8)r   r   rS   rJ   gs     rL   test_mixed_type TestConcatenator.test_mixed_typeK  s#    tQrTzN4 r[   c                     [         S[        R                  " S/5      [        R                  " / SQ5      S4   n[        UR                  S:H  5        g )Ng333333$r   )r   r-   r(   g      $@r   )r   rD   rI   r   rS   r   s     rL   test_more_mixed_type%TestConcatenator.test_more_mixed_typeO  s8    ubhhsmRXXi%8$>?4 r[   c                     [         SSS2   n[        UR                  S:H  5        [         SS[        R                  " S5      2   n[        UR                  S:H  5        g )Nr   r_   y              Y@)d   )r   r   r   rD   r   r   s     rL   test_complex_step"TestConcatenator.test_complex_stepS  sO    qDyM6!" qBLL&&'6!"r[   c                    [         R                  R                  SS5      n[         R                  R                  SS5      n[        SX4   n[	        UR
                  S:H  5        [        US S 2S S24   U5        [        US S 2SS 24   U5        [        X4   n[	        UR
                  S:H  5        [        US S2S S 24   U5        [        USS 2S S 24   U5        g )Nr0   1)r0   rP   )rP   r0   )rD   randomrandr   r   r   r   )rJ   r   r   r   s       rL   test_2dTestConcatenator.test_2d\  s    IINN1a IINN1a sAyM7"#1QU8Q'1QU8Q'qtH7"#1RaRU8Q'1QRU8Q'r[   c                    [        [        S[        R                  " S5      S4   / SQ5        [        [        / SQ[        R                  " S5      4   / SQ5        [        [        [        R                  " S5      / SQ4   / SQ5        g )Nr   r   r   r   r   r   r-   )r   r   r   r-   rx   )r   r   rD   rI   rt   s    rL   r   TestConcatenator.test_0dh  sX    R288A;)*I6R	288A;./>RY./>r[   rQ   N)r   r   r   r   r   r   r   r   r   r   r   rQ   r[   rL   r   r   D  s!    D!!#
(?r[   r   c                       \ rS rSrS rSrg)TestNdenumeratein  c                 |    [         R                  " SS/SS//5      n[        [        [	        U5      5      / SQ5        g )Nr   r   r-   r(   ))r   r   r   ))r   r   r   )r   r-   ))r   r   r(   )rD   rI   r   listr
   rJ   r   s     rL   rM   TestNdenumerate.test_basico  s4    HHq!fq!f%&T+a.)I	Kr[   rQ   N)r   r   r   r   rM   r   rQ   r[   rL   r   r   n  s    Kr[   r   c                        \ rS rSrS rS rSrg)TestIndexExpressioniu  c                     [         R                  " S5      n[        US S U[        S S    5        [        US S U[        S S    5        g )Nr   r'   )rD   aranger   r   r   r  s     rL   test_regression_1%TestIndexExpression.test_regression_1v  sD    IIaLQsVQr#2wZ(QsVQy"~./r[   c           	          [         R                  R                  SSS5      n[        US S 2S S2SS/4   U[        S S 2S S2SS/4      5        [        US S 2S S2SS/4   U[
        S S 2S S2SS/4      5        g )Nr(   r0   r.   r-   r   r   )rD   r   r   r   r   r   r  s     rL   test_simple_1!TestIndexExpression.test_simple_1|  s    IINN1a#Qq"1"q!f}%q1bqb1a&=)A'BCQq"1"q!f}%qArrAq6M):';<r[   rQ   N)r   r   r   r   r	  r  r   rQ   r[   rL   r  r  u  s    0=r[   r  c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestIx_i  c                    [         R                  " [        S5      5      u  n[        UR                  [         R
                  5        [         R                  " / 5      u  n[        UR                  [         R
                  5        [         R                  " [         R                  " / [         R                  S95      u  n[        UR                  [         R                  5        g )Nr   rR   )rD   r   ranger   rS   r`   rI   r   r  s     rL   r	  TestIx_.test_regression_1  s|    VVE!HQWWbgg&VVBZQWWbgg& VVBHHRrzz23QWWbjj)r[   c           
        ^ Sn[         [        R                  4 H  n[        R                  " U Vs/ s H
  o2" U5      PM     sn6 n[	        [        XA5      5       H  u  mu  pS[        UR                  T   U5        [        [        U4S j[	        UR                  5       5       5      5        [        [        R                  " UR                  [        R                  5      5        M     M     g s  snf )N)r(   r0   r-   r   c              3   B   >#    U  H  u  pUT:w  d  M  US :H  v   M     g7f)r   NrQ   )r   jshks      rL   r   /TestIx_.test_shape_and_dtype.<locals>.<genexpr>  s!     N1CqAvGB!G1Cs   )r  rD   r  r   	enumerater   r   r   r   r   
issubdtyperS   integer)rJ   sizesfuncszarraysr   r  s         @rL   test_shape_and_dtypeTestIx_.test_shape_and_dtype  s    BII&DVV72d2h78F'F(:;
7AQWWQZ,N1771CNNOaggrzz:; < '7s   C-
c                     / SQn[         R                  " U5      u  n[        [         R                  " U5      S   U5        g )N)TFTTr   )rD   nonzeror   r   )rJ   bool_aint_as      rL   	test_boolTestIx_.test_bool  s.    *F#RVVF^A&.r[   c                 R    / SQ/ SQ/n[        [        [        R                  U5        g )Nrx   r(   r0   r.   )r   rH   rD   r   )rJ   idx2ds     rL   test_1d_onlyTestIx_.test_1d_only  s    I&j"&&%0r[   c                     Sn[         R                  " U5      n[        X"5      n[        US   R                  US45        [        US   R                  SU45        [        UR                  U45        g )Nr0   r   r   )rD   r  r   r   r   )rJ   length_of_vectorr{   outs       rL   test_repeated_inputTestIx_.test_repeated_input  sb    II&'!iSV\\$4a#89SV\\A'7#89QWW/12r[   rQ   N)
r   r   r   r   r	  r   r&  r+  r0  r   rQ   r[   rL   r  r    s    
*</
13r[   r  c                      [         [        R                  " / SQ/5      SS[        R                  " / SQ/5      4   n [        U / SQ/5        g )Nrx   r   r)  )r   r   r-   r   r   r(   r0   r.   )r   rD   rI   r   )r   s    rL   test_c_r3    s9    
288YK !Q)(==>A-./r[   c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestFillDiagonali  c           	          [         R                  " S[        5      n[        US5        [	        U[         R
                  " / SQ/ SQ/ SQ/5      5        g )N)r-   r-   r0   r0   r   r   r   r0   r   r   r   r0   rD   r   rV   r   r   rI   r  s     rL   rM   TestFillDiagonal.test_basic  s?    HHVS!arxx""$ %	r[   c                     [         R                  " S[        5      n[        US5        [	        U[         R
                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/
5      5        g )NrT   r0   r7  r8  r9  r   r   r   r:  r  s     rL   test_tall_matrix!TestFillDiagonal.test_tall_matrix  sT    HHWc"arxx"""""""""	$ 	%	r[   c                     [         R                  " S[        5      n[        USS5        [	        U[         R
                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/
5      5        g )NrT   r0   Tr7  r8  r9  r=  r:  r  s     rL   test_tall_matrix_wrap&TestFillDiagonal.test_tall_matrix_wrap  sV    HHWc"aD!rxx"""""""""	$ 	%	r[   c           	          [         R                  " S[        5      n[        US5        [	        U[         R
                  " / SQ/ SQ/ SQ/5      5        g )N)r-   rP   r0   )
r0   r   r   r   r   r   r   r   r   r   )
r   r0   r   r   r   r   r   r   r   r   )
r   r   r0   r   r   r   r   r   r   r   r:  r  s     rL   test_wide_matrix!TestFillDiagonal.test_wide_matrix  s@    HHWc"arxx7779 :	r[   c                     [         R                  " S[        5      n[        US5        [         R                  " / SQ5      n[        [         R                  " US:g  5      X"X"45        g )N)r-   r-   r-   r-   r(   r   r   )rD   r   rV   r   rI   r   where)rJ   r   is      rL   test_operate_4d_array&TestFillDiagonal.test_operate_4d_array  sE    HH\3'aHHYRXXa1f%a|4r[   c                     [         R                  " S[        5      n[        [        S5         [        US5        S S S 5        g ! , (       d  f       g = f)Nr-   at least 2-dr0   rD   r   rV   r   rH   r   r  s     rL   test_low_dim_handling&TestFillDiagonal.test_low_dim_handling  s2    HHQ ^<!Q =<<   A
Ac                     [         R                  " S[        5      n[        [        S5         [        US5        S S S 5        g ! , (       d  f       g = f)N)r-   r-   r1   r-   equal lengthr   rM  r  s     rL   test_hetero_shape_handling+TestFillDiagonal.test_hetero_shape_handling  s4     HH\3' ^<!Q =<<rP  rQ   N)r   r   r   r   rM   r>  rA  rD  rI  rN  rS  r   rQ   r[   rL   r5  r5    s%      5  r[   r5  c            
      p   [        S5      n [        R                  " / SQ/ SQ/ SQ/ SQ/5      nSX'   [        U[        R                  " / SQ/ SQ/ S	Q/ S
Q/5      5        [        SS5      n[        R                  " S[
        5      nSX'   [        U[        R                  " SS/SS//SS/SS///5      5        g )Nr(   )r   r   r-   r(   )r0   r.   r1   rB   )rC   rP   r   rA   )r9            r   )r   r   r-   r(   )r0   r   r1   rB   )rC   rP   r   rA   )r9   rV  rW  r   r   r-   )r   r   r   r   r   )r   rD   rI   r   r   rV   )dir   d3s      rL   test_diag_indicesr[    s    	aB
,!"$ 	%A AE	288^#%&( )
 
a	B 	C AAE	288q!f!f!f!f  
r[   c                   &    \ rS rSrS rS rS rSrg)TestDiagIndicesFromi  c                     [         R                  R                  S5      n[        U5      u  p#[        U[         R                  " S5      5        [        U[         R                  " S5      5        g )Nr?   r(   )rD   r   r   r   r  )rJ   r{   rr   s       rL   test_diag_indices_from*TestDiagIndicesFrom.test_diag_indices_from  sF    IIV$ #1biil+1biil+r[   c                     [         R                  " S5      n[        [        S5         [	        U5        S S S 5        g ! , (       d  f       g = f)Nr1   rL  )rD   r   r   rH   r   r   s     rL   test_error_small_input*TestDiagIndicesFrom.test_error_small_input  s-    GGAJ ^<a  =<<s	   <
A
c                     [         R                  " S[        5      n[        [        S5         [        U5        S S S 5        g ! , (       d  f       g = f)N)r-   r-   r   r-   rR  )rD   r   rV   r   rH   r   r   s     rL   test_error_shape_mismatch-TestDiagIndicesFrom.test_error_shape_mismatch"  s0    HH\3' ^<a  =<<s   A
ArQ   N)r   r   r   r   r`  rc  rf  r   rQ   r[   rL   r]  r]    s    ,!
!r[   r]  c                     [        [        SSS5      5      n [        [        R                  " S5      5       VVs/ s H  u  pUPM	     nnn[        X5        [        [        S5      5      n [        X5        [        [        S5      5      n [        U [        [        S5      5      5        [        [        5       5      n [        U S/5        [        [        S5      5      n [        U S/5        [        [        S/6 5      n [        U / 5        g s  snnf )Nr   r   r-   rx   r-   rQ   r   )r  r   r
   rD   r   r   r   )r{   ixer   s       rL   test_ndindexrl  (  s    WQ1A +BHHY,? @A @ur @HAq#WY Aq# 	WT]Aq$wqz*+ 	WYARDWR[ARD 	Wqc]AB' Bs   Dc                      [        [        R                  " SS5      5      / :X  d   e[        [        R                  " SSS5      5      / :X  d   e[        [        R                  " S5      5      / :X  d   eg)zJTest ndindex produces empty iterators for explicit
zero-length dimensions.r   r-   r   N)r  rD   r   rQ   r[   rL   %test_ndindex_zero_dimensions_explicitrn  @  s]     

1a !R'''

1a#$***

1"$$$r[   	bad_shapeg      @2r   r-   )g       @r-   c                     [         R                  " [        5         [        [        R
                  " U 5      5        SSS5        g! , (       d  f       g= f)z1Test that non-integer dimensions raise TypeError.N)r   raisesrF   r  rD   r   )ro  s    rL   #test_ndindex_non_integer_dimensionsrs  H  s/     
y	! 	RZZ	"# 
"	!	!    A
Ac                      [         R                  " SS5      n [        U 5        [        R                  " [
        5         [        U 5        SSS5        g! , (       d  f       g= f)z<Test that StopIteration is raised properly after exhaustion.r   N)rD   r   r  r   rr  StopIterationnext)its    rL   $test_ndindex_stop_iteration_behaviorry  Q  s8    	Aq	BH	}	%R 
&	%	%s   A
A c                      Sn [         R                  " U 6 n[         R                  " U 6 n[        U5        [        U5        [        [        U5      S5        [        [        U5      S5        g)z>Test that each ndindex instance creates independent iterators.r   r-   r  r*   NrD   r   rw  r   )r   iter1iter2s      rL   "test_ndindex_iterator_independencer  [  sM    EJJEJJEKKef%ef%r[   c                     [        [        [        R                  " S5      5      [        [        R                  " S5      5      5        [        [        [        R                  " SS5      5      [        [        R                  " S5      5      5        Sn [        [        [        R                  " U 6 5      [        [        R                  " U 5      5      5        g)zBTest that ndindex(shape) and ndindex(*shape) produce same results.r0   )r0   r   r-   r{  r/   N)r   r  rD   r   r   s    rL   &test_ndindex_tuple_vs_args_consistencyr  h  s     bjjm$d2::d+;&<= bjjA&'bjj.@)AB Ebjj%()4

50A+BCr[   c                      S Hk  n [        [        R                  " U 5      5      n[        R                  " [        R                  " U 5      5       VVs/ s H  u  p#UPM	     nnn[        X5        Mm     gs  snnf )z2Test ndindex produces same indices as ndenumerate.)rx   ri  r   rQ   N)r  rD   r   r
   r   r   )r   ndindex_resultrj  _ndenumerate_indicess        rL   .test_ndindex_against_ndenumerate_compatibilityr  u  sT    .bjj/0/1~~bhhuo/NO/Nebr/NO>? /Os   A3c                  ^    Sn [        [        R                  " U 6 5      n/ SQn[        X5        g)zBTest ndindex produces correct indices for multidimensional arrays.)r   r   r-   )r=  )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   N)r  rD   r   r   )r   resultr   s      rL   )test_ndindex_multidimensional_correctnessr  }  s+    E"**e$%FH "r[   c                  \    Sn [         R                  " U 6 n[        U5      n[        US5        g)zFTest ndindex behaves correctly when initialized with large dimensions.)  r  r  Nr|  )large_shapeiter_objfirst_elements      rL   &test_ndindex_large_dimensions_behaviorr    s(    Kzz;'HNM'r[   c                  
   [         R                  " SS5      n [        [        U 5      / 5        [         R                  " SSS5      n[        R
                  " [        5         [        U5        SSS5        g! , (       d  f       g= f)z*Test detailed behavior of empty iterators.r   r0   r-   r   N)rD   r   r   r  r   rr  rv  rw  )
empty_iterempty_iter2s     rL   $test_ndindex_empty_iterator_behaviorr    sS    Aq!Jj!2&**Q1%K	}	%[ 
&	%	%s   A44
Bnegative_shape_arg))r'   )r   r)   r(   )r0   r   r   c                     [         R                  " [        5         [        U 5        SSS5        g! , (       d  f       g= f)z/Test that negative dimensions raise ValueError.N)r   rr  rH   r   )r  s    rL    test_ndindex_negative_dimensionsr    s%     
z	""# 
#	"	"s   0
>c                      SS K n [        U R                  " 5       5      S/:X  d   e[        U R                  " S5      5      S/:X  d   eg )Nr   rQ   )numpyr  r   )rD   s    rL   test_ndindex_empty_shaper    s=    

"%%%

2B4'''r[   c                      [         R                  " [        5         [        [        R
                  " S5      5        S S S 5        g ! , (       d  f       g = f)Nr'   )r   rr  rH   r  rD   r   rQ   r[   rL    test_ndindex_negative_dim_raisesr    s*    	z	"RZZ^ 
#	"	"rt  )1r   r  rD   numpy.lib._index_tricks_implr   r   r   r   r   r   r	   r
   r   r   r   r   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r  r  r3  r5  r[  r]  rl  rn  r   r   rs  ry  r  r  r  r  r  r  r  r  r  rQ   r[   rL   <module>r     s.         pJ pJdr/ r/j'? '?TK K= ='3 '3T0
D  D N
8! !&0% sC!Q&BC$ D$
&
D@#( $$(r[   