
    *iP                     "   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"g)    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)   r0      )r'   r,   clipmode)r/         r'   r'   )r7   wrap)   r6   r6   )r+   r   r'   r   )r,   r.      	   iU  )r   npunravel_indexr   	TypeErrorravel_multi_index
ValueErrorarray)selfarrs     _/var/www/html/ai-backend/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+   r-    dtyperM   r+   abc)r-   r+   )r   rC   rA   rB   rF   r   intrD   )rG   msg1msg2s      rI   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+   r-   u   r;   r   iK	  i  r   )r0   r.   x   $   i
  r?   r,   l   z l   nm )l    l       r2   r3   )
rA   intpint64r   rD   r   rE   rB   iinfomax)rG   rH   	dummy_arrhalf_maxs       rI   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rX   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   rO   )r-   r?   r?   r   r   r-   r2   r3   )r   r+   r   r   r@   r-   )r-   r?   rM   rM   r   )rA   int16uint16int32uint32r^   uint64rF   r   rD   rB   )rG   rP   coordsr   uncoordss        rI   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/6rX   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)r-   r   r&   r   )r'   r+   r.   r>   r=   r8   )r   r   r,   r   )r=   raiser7   rp   )r   r   r   r   )r   rA   rD   r   rE   rG   s    rI   test_clipmodes$TestRavelUnravelIndex.test_clipmodes   s{      FK  }=	? 	R))-0PQ )),F	H 	,,m]	LrX   c                     [         R                  " / SQS5      u  p[        UR                  R                  5        [        UR                  R                  5        g )Nr   r   r+   )r'   r-   )rA   rB   r   flags	writeable)rG   xys      rI   test_writeability'TestRavelUnravelIndex.test_writeability   s:    	62!!"!!"rX   c                     [         R                  " SS5      n[        US5        [        [        S[         R                  S/S5        [        [        S[         R                  S/S5        g )Nr   rN   z0d arrayzout of boundsr   )rA   rB   r   r   rE   rG   rx   s     rI   test_0dTestRavelUnravelIndex.test_0d   sR    Q#QJ
B4D4Dqc2N)9)9A3	DrX   r9   )r7   r=   rp   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   rO   r   r   r   r8   r   )r+   r   )rA   rD   zerosr]   r   r   rE   )rG   r9   ress      rI   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   rO   r   r+   c              3   >   #    U  H  oR                   S :H  v   M     g7f)r   N)r   ).0as     rI   	<genexpr>ATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>   s     0Cq77d?Cs   r   )rA   rB   r   r]   lenallr   rE   )rG   r   s     rI   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   rO   )r'   )rA   rB   rF   ri   rq   s    rI   test_regression_size_1_index2TestRavelUnravelIndex.test_regression_size_1_index   s%     	<.		BDIrX   rN   N)__name__
__module____qualname____firstlineno__rJ   rV   rc   rm   rr   rz   r~   pytestmarkparametrizer   r   r   __static_attributes__rN   rX   rI   r   r      s_    5In"(K0O6
L#D [[V%>?K @K-JrX   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)   )rM   )   r      ggfffff?gqq?)r	   r   r   r   )rG   r   bs      rI   rJ   TestGrid.test_basic   s    "Qs(O"Qs(O5 !5 !!
AbE1%!
AaD1Q4Kb1AbE1Q4(?B7AaD1Q4KB7rX   c                 z    [         R                  " SSSS9u  p[        US5        [        U[        SSS2   S5        g )Nr   rM   T)retstepg9/?y              I@r6   )rA   linspacer   r   r	   )rG   ry   sts      rI   test_linspace_equivalence"TestGrid.test_linspace_equivalence   s6    Ar40B)!!U1R8_b9rX   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   rM   rM   )r   r   r   r   rM   dr   r   )r	   r   r   r   rA   onesr   )rG   cr   s      rI   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"	>rX   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   rA   broadcast_arrayszipr   )rG   	grid_fullgrid_sparsegrid_broadcastfr   s         rI   test_sparseTestGrid.test_sparse   sc    "Qs(BqH,-	BqHb3h./ ,,k:	2DA 3rX   zstart, stop, step, expected)NrM   r   )   rM   )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)rG   startstopstepexpectedgrid
grid_smalls          rI   test_mgrid_size_none_handling&TestGrid.test_mgrid_size_none_handling   sO     U_eo56 5d?+
TYY,Z__hqk2rX   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	   rA   float32r   rP   float64r   )rG   grid64grid32s      rI   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

*+!&1rX   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	   rA   
longdoubler   rP   r   r   )rG   r   grid128
grid128c_a
grid128c_bs        rI   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
 	./!&2rX   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	   rA   	complex64r   rP   r   r   clongdoubler   )rG   grid64_agrid64_b	grid128_a	grid128_bs        rI   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.rX   rN   N)r   r   r   r   rJ   r   r   r   r   r   r   r   r   r   r   r   rN   rX   rI   r   r      sV    
8:
> [[:"#=
 
3	
323,/rX   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'   r-   r,   r-   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   rA   rF   r   )rG   r   r   s      rI   test_1dTestConcatenator.test_1dE  sE    2./:L1MNGGAJq!QzN1BCrX   c                 N    [         SSS24   n[        UR                  S:H  5        g )Ng333333$@r   rM   f8)r   r   rP   rG   gs     rI   test_mixed_type TestConcatenator.test_mixed_typeK  s#    tQrTzN4 rX   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   rA   rF   r   rP   r   s     rI   test_more_mixed_type%TestConcatenator.test_more_mixed_typeO  s8    ubhhsmRXXi%8$>?4 rX   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   rA   r   r   s     rI   test_complex_step"TestConcatenator.test_complex_stepS  sO    qDyM6!" qBLL&&'6!"rX   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 )Nr-   1)r-   rM   )rM   r-   )rA   randomrandr   r   r   r   )rG   r   r   r   s       rI   test_2dTestConcatenator.test_2d\  s    IINN1a IINN1a sAyM7"#1QU8Q'1QU8Q'qtH7"#1RaRU8Q'1QRU8Q'rX   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+   ru   )r   r   rA   rF   rq   s    rI   r~   TestConcatenator.test_0dh  sX    R288A;)*I6R	288A;./>RY./>rX   rN   N)r   r   r   r   r   r   r   r   r   r~   r   rN   rX   rI   r   r   D  s!    D!!#
(?rX   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'   )rA   rF   r   listr
   rG   r   s     rI   rJ   TestNdenumerate.test_basico  s4    HHq!fq!f%&T+a.)I	KrX   rN   N)r   r   r   r   rJ   r   rN   rX   rI   r   r   n  s    KrX   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&   )rA   aranger   r   r   r   s     rI   test_regression_1%TestIndexExpression.test_regression_1v  sD    IIaLQsVQr#2wZ(QsVQy"~./rX   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'   r-   r,   r+   r   r   )rA   r   r   r   r   r   r   s     rI   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):';<rX   rN   N)r   r   r   r   r  r  r   rN   rX   rI   r  r  u  s    0=rX   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   rO   )rA   r   ranger   rP   r]   rF   r   r   s     rI   r  TestIx_.test_regression_1  s|    VVE!HQWWbgg&VVBZQWWbgg& VVBHHRrzz23QWWbjj)rX   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'   r-   r+   r   c              3   B   >#    U  H  u  pUT:w  d  M  US :H  v   M     g7f)r   NrN   )r   jshks      rI   r   /TestIx_.test_shape_and_dtype.<locals>.<genexpr>  s!     N1CqAvGB!G1Cs   )r  rA   r  r   	enumerater   r   r   r   r   
issubdtyperP   integer)rG   sizesfuncszarraysr   r  s         @rI   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   )rA   nonzeror   r   )rG   bool_aint_as      rI   	test_boolTestIx_.test_bool  s.    *F#RVVF^A&.rX   c                 R    / SQ/ SQ/n[        [        [        R                  U5        g )Nru   r'   r-   r,   )r   rE   rA   r   )rG   idx2ds     rI   test_1d_onlyTestIx_.test_1d_only  s    I&j"&&%0rX   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 )Nr-   r   r   )rA   r  r   r   r   )rG   length_of_vectorrx   outs       rI   test_repeated_inputTestIx_.test_repeated_input  sb    II&'!iSV\\$4a#89SV\\A'7#89QWW/12rX   rN   N)
r   r   r   r   r  r  r!  r&  r+  r   rN   rX   rI   r
  r
    s    
*</
13rX   r
  c                      [         [        R                  " / SQ/5      SS[        R                  " / SQ/5      4   n [        U / SQ/5        g )Nru   r   r$  )r   r   r+   r   r   r'   r-   r,   )r   rA   rF   r   )r   s    rI   test_c_r.    s9    
288YK !Q)(==>A-./rX   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+   r-   r-   r   r   r   r-   r   r   r   r-   rA   r   rS   r   r   rF   r   s     rI   rJ   TestFillDiagonal.test_basic  s?    HHVS!arxx""$ %	rX   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 )NrQ   r-   r2  r3  r4  r   r   r   r5  r   s     rI   test_tall_matrix!TestFillDiagonal.test_tall_matrix  sT    HHWc"arxx"""""""""	$ 	%	rX   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 )NrQ   r-   Tr2  r3  r4  r8  r5  r   s     rI   test_tall_matrix_wrap&TestFillDiagonal.test_tall_matrix_wrap  sV    HHWc"aD!rxx"""""""""	$ 	%	rX   c           	          [         R                  " S[        5      n[        US5        [	        U[         R
                  " / SQ/ SQ/ SQ/5      5        g )N)r+   rM   r-   )
r-   r   r   r   r   r   r   r   r   r   )
r   r-   r   r   r   r   r   r   r   r   )
r   r   r-   r   r   r   r   r   r   r   r5  r   s     rI   test_wide_matrix!TestFillDiagonal.test_wide_matrix  s@    HHWc"arxx7779 :	rX   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   )rA   r   rS   r   rF   r   where)rG   r   is      rI   test_operate_4d_array&TestFillDiagonal.test_operate_4d_array  sE    HH\3'aHHYRXXa1f%a|4rX   c                     [         R                  " S[        5      n[        [        S5         [        US5        S S S 5        g ! , (       d  f       g = f)Nr+   at least 2-dr-   rA   r   rS   r   rE   r   r   s     rI   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+   r.   r+   equal lengthr   rH  r   s     rI   test_hetero_shape_handling+TestFillDiagonal.test_hetero_shape_handling  s4     HH\3' ^<!Q =<<rK  rN   N)r   r   r   r   rJ   r9  r<  r?  rD  rI  rN  r   rN   rX   rI   r0  r0    s%      5  rX   r0  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'   )r-   r,   r.   r?   )r@   rM   r   r>   )r6            r   )r   r   r+   r'   )r-   r   r.   r?   )r@   rM   r   r>   )r6   rQ  rR  r   r   r+   )r   r   r   r   r   )r   rA   rF   r   r   rS   )dir   d3s      rI   test_diag_indicesrV    s    	aB
,!"$ 	%A AE	288^#%&( )
 
a	B 	C AAE	288q!f!f!f!f  
rX   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'   )rA   r   r   r   r  )rG   rx   rr   s       rI   test_diag_indices_from*TestDiagIndicesFrom.test_diag_indices_from  sF    IIV$ #1biil+1biil+rX   c                     [         R                  " S5      n[        [        S5         [	        U5        S S S 5        g ! , (       d  f       g = f)Nr.   rG  )rA   r   r   rE   r   r}   s     rI   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+   rM  )rA   r   rS   r   rE   r   r}   s     rI   test_error_shape_mismatch-TestDiagIndicesFrom.test_error_shape_mismatch"  s0    HH\3' ^<a  =<<s   A
ArN   N)r   r   r   r   r[  r^  ra  r   rN   rX   rI   rX  rX    s    ,!
!rX   rX  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+   ru   )r+   rN   r   )r   r   r
   rA   r   r   r   )rx   ixer   s       rI   test_ndindexrf  (  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)#r   numpyrA   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
  r.  r0  rV  rX  rf  rN   rX   rI   <module>rj     s          pJ pJdr/ r/j'? '?TK K= ='3 '3T0
D  D N
8! !&rX   