
    BwgO                     "   d dl Z d dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZmZ  G d d      Z G d d      Z G d d	      Z G d
 d      Z G d d      Z G d d      Zd Z G d d      Zd Z  G d d      Z!d Z"y)    N)assert_assert_equalassert_array_equalassert_almost_equalassert_array_almost_equalassert_raisesassert_raises_regex)mgridogridndenumeratefill_diagonaldiag_indicesdiag_indices_from	index_expndindexc_r_s_ix_c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	e
j                  j                  dg d	      d
        Zd Zy)TestRavelUnravelIndexc                 t   t        t        j                  dd      d       t        t        j                  dd      d       t        t              5  t        j                  dd       d d d        t        t              5  t        j                  dd       d d d        t        t              5  t        j                  dd	       d d d        t        t              5  t        j                  dd
       d d d        t        t        j
                  dd      d       t        t        j                  dd      d       t        t        j
                  dd      d       t        t        t        j                  dd       t        t        t        j                  dd       t        t        t        j                  dd       t        t        t        j
                  dd       t        t        t        j
                  dd       t        t        t        j
                  dd       t        t        t        j
                  dd       t        t        t        j
                  dd       t        t        j                  dd      g d       t        t        j
                  g dd      d       t        j                  g dg dg      }t        t        j
                  |d      g d       t        t        j
                  |dd      g d       t        t        j
                  |dd       g d!       t        t        j
                  |d"d#       g d$       t        t        j
                  d%d&      d'       t        t        j                  t        j                  g d      d      g dg dg       t        t        j                  t        j                  g d      dd      g dg dg       t        t        j                  d'd&      g d%       y # 1 sw Y   xY w# 1 sw Y   }xY w# 1 sw Y   [xY w# 1 sw Y   9xY w)(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)   r/      )r&   r+   clipmode)r.         r&   r&   )r6   wrap)   r5   r5   )r*   r   r&   r   )r+   r-      	   iU  )r   npunravel_indexr   	TypeErrorravel_multi_index
ValueErrorarray)selfarrs     X/var/www/horilla/myenv/lib/python3.12/site-packages/numpy/lib/tests/test_index_tricks.py
test_basicz TestRavelUnravelIndex.test_basic   s   R%%a0&9 	R%%a,24&,	. 9% 	5QV4	5 9% 	-QV,	- 9% 	0Sh/	0 9% 	1Sx0	1 	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%%oyA9M  I6	I 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	5 	5	- 	-	0 	0	1 	1s0   P P/P P-PP P*-P7c           	         d}d}t        t        |t        j                  g d       t        t        |t        j                  dd       t        t        |t        j                  t        j                  g       d       t        t        j                  t        j                  g t              d      g g g g       t        t        |t        j                  g g fd       t        t        |t        j                  g dgfd       t        t        |t        j                  t        j                  g       t        j                  g       fd       t        t        j                  t        j                  g t              t        j                  g t              fd      g        t        t        j                  t        j                  g g gt              d      g        y )	Nz9indices must be integral: the provided empty sequence waszonly int indices permitted)
   r*   r,    dtyperK   r*   abc)r,   r*   )r	   rB   r@   rA   rE   r   intrC   )rF   msg1msg2s      rH   test_empty_indicesz(TestRavelUnravelIndex.test_empty_indicesF   sT   J+ItR-=-=r:NItR-=-=r:NItR-=-=rxx|&	(R%%bhhr&<jI"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                    t         j                  t         j                  k(  r9ddgddgddgddgdd	gddgd
dgf}t        t        j                  |d      ddg       t        t        t         j                  dd       d
gd
gf}t        j                  t         j                        j                  dz  }t        t        j                  ||df      d
g       t        t        t         j                  ||dz   df       t        t        j                  ||dfd      d
g       t        t        t         j                  ||dz   dfd       y )Nr      r*   r,   u   r:   r   iK	  i  r   )r/   r-   x   $   i
  r>   r+   l   z l   nm )l    l       r1   r2   )
r@   intpint64r   rC   r   rD   rA   iinfomax)rF   rG   	dummy_arrhalf_maxs       rH   test_big_indicesz&TestRavelUnravelIndex.test_big_indicesZ   s.   77bhhr7QFQHr1g$<!Q!Q1C$$S*FG\*,
 	j""2"2A7IJ S!I	88BGG$((A-  XqM:QC	Aj  )hqj!_	>  XqMEs	Lj  )hqj!_C	IrU   c           	         t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  fD ]  }t        j                  g dg dg|      }d}d|d   z  |d   z   }t        t        j                  ||      |       t        |t        j                  ||             |d   d|d   z  z   }t        t        j                  ||d	
      |       t        |t        j                  ||d	
             t        j                  g dg dg dg|      }d}dd|d   z  |d   z   z  |d   z   }t        t        j                  ||      |       t        |t        j                  ||             |d   d|d   d|d   z  z   z  z   }t        t        j                  ||d	
      |       t        |t        j                  ||d	
              y )N)r   r   r   r   r*   r&   )r   r+   r   r*   r   r   rM   )r,   r>   r>   r   r   r,   r1   r2   )r   r*   r   r   r?   r,   )r,   r>   rK   rK   r   )r@   int16uint16int32uint32r\   uint64rE   r   rC   rA   )rF   rN   coordsr   uncoordss        rH   test_dtypesz!TestRavelUnravelIndex.test_dtypesr   s   hh		288ii2996 	OEXX#%78GFE{6!9,H--fe<hG!1!1(E!BCay6!9,H$$VU#>J!1!1(E!MNXX#%79KLF E1VAY;vay01&);H--fe<hG!1!1(E!BCayF1Iaq	k$9!::H$$VU#>J!1!1(E!MN/	OrU   c                 0   t        t        j                  g ddd      t        j                  g dd             t        t        j                  g ddd      t        j                  g dd             t        t        t        j                  g dd       y )N)r,   r   r%   r   )r&   r*   r-   r=   r<   r7   )r   r   r+   r   )r<   raiser6   rl   )r   r   r   r   )r   r@   rC   r   rD   rF   s    rH   test_clipmodesz$TestRavelUnravelIndex.test_clipmodes   s{      FK  }=	? 	R))-0PQ )),F	H 	,,m]	LrU   c                     t        j                  g dd      \  }}t        |j                  j                         t        |j                  j                         y )Nr   r   r*   )r&   r,   )r@   rA   r   flags	writeable)rF   xys      rH   test_writeabilityz'TestRavelUnravelIndex.test_writeability   s<    	621!!"!!"rU   c                     t        j                  dd      }t        |d       t        t        dt         j                  dgd       t        t        dt         j                  dgd       y )Nr   rL   z0d arrayzout of boundsr   )r@   rA   r   r	   rD   rF   rs   s     rH   test_0dzTestRavelUnravelIndex.test_0d   sR    Q#QJ
B4D4Dqc2N)9)9A3	DrU   r8   )r6   r<   rl   c                 Z   t        j                  t        j                  dt         j                        d|      }|j                  dk(  sJ t        t              5  t        j                  t        j                  dt         j                        d|       d d d        y # 1 sw Y   y xY w)N)r*   r   rM   r   r   r   r7   r   )r*   r   )r@   rC   zerosr[   r   r   rD   )rF   r8   ress      rH   test_empty_array_ravelz,TestRavelUnravelIndex.test_empty_array_ravel   s    ""HHV2773YTKyyD ! :& 	K  HHV2773YTK	K 	K 	Ks   <B!!B*c                 4   t        j                  t        j                  dt         j                        d      }t	        |      dk(  sJ t        d |D              sJ t        t              5  t        j                  dgd       d d d        y # 1 sw Y   y xY w)Nr   rM   rz   r*   c              3   :   K   | ]  }|j                   d k(    yw)r{   N)r   ).0as     rH   	<genexpr>zATestRavelUnravelIndex.test_empty_array_unravel.<locals>.<genexpr>   s     0q177d?0s   r   )r@   rA   r|   r[   lenallr   rD   )rF   r}   s     rH   test_empty_array_unravelz.TestRavelUnravelIndex.test_empty_array_unravel   sv    rxx99E3x1}}0C0010:& 	-aS),	- 	- 	-s   -BBN)__name__
__module____qualname__rI   rT   ra   rj   rn   ru   rx   pytestmarkparametrizer~   r   rL   rU   rH   r   r      sY    5In"(I0O6
L#D [[V%>?K @K-rU   r   c                   ~    e Zd Zd Zd Zd Zd Zej                  j                  dddg      d        Z
d	 Zd
 Zd Zy)TestGridc                 z   t         ddd   }t         ddd   }t        |j                  dk(         t        |j                  dk(         t        |d   dk(         t        |d   d       t        |d   dk(         t        |d   |d   z
  dd       t        |d   |d   d	z   d       t        |d   |d   z
  d
d       y )Nr%   r                 $@r(   )rK   )   r      ggfffff?gqq?)r
   r   r   r   )rF   r   bs      rH   rI   zTestGrid.test_basic   s    "Qs(O"Qs(O5 !5 !!
AbE1%!
AaD1IsB/AbE1Q4;3AaD1Iw3rU   c                     t        j                  ddd      \  }}t        |d       t        |t        ddd   d       y )Nr   rK   T)retstepg9/?y              I@r5   )r@   linspacer   r   r
   )rF   rt   sts      rH   test_linspace_equivalencez"TestGrid.test_linspace_equivalence   s8    Ar402B'!!U1R8_b9rU   c                    t         ddddddf   }t         ddddddf   }t        |j                  dk(         t        |j                  d	k(         t        |d
   d
d d f   t	        j
                  dd              t        |d   d d d
f   dt	        j
                  dd      z         t        |d
   dd d f   t	        j
                  dd      d       t        |d   d d df   dt	        j
                  dd      z  d       t        |d
dd d f   |d
d
d d f   z
  dt	        j
                  dd      z  d       t        |dd d df   |dd d d
f   z
  dt	        j
                  dd      z  d       y )Nr%   r   r   r   r(   g?)r   rK   rK   )r   r   r   r   rK   dr   r   )r
   r   r   r   r@   onesr   )rF   cr   s      rH   test_ndzTestGrid.test_nd   s_   "Qs(BqH$%"Qs(BqH$%;&';&'1Q41:C(8'891Q41:r"''"c*:':;!!A$r1u+rwwr3/?D!!A$q"u+qS1A/A2F!!Aq!G*qAqz"9"%bggb#&6"6	<!!Aq!G*qAqz"9"%bggb#&6"6	<rU   c                     t         ddddddf   }t        ddddddf   }t        j                  | }t	        ||      D ]  \  }}t        ||        y )Nr%   r   r   r   r   )r
   r   r@   broadcast_arrayszipr   )rF   	grid_fullgrid_sparsegrid_broadcastfr   s         rH   test_sparsezTestGrid.test_sparse   sn    BqHb3h./	BqHb3h./ ,,k:	>2 	DAqA	rU   zstart, stop, step, expected)NrK   r   )   rK   )ir   N)i     c                     t         ||||||f   }t         |||   }t        |j                  |d          t        |j                  |d          y )Nr   r   )r
   r   size)rF   startstopstepexpectedgrid
grid_smalls          rH   test_mgrid_size_none_handlingz&TestGrid.test_mgrid_size_none_handling   sU     U4_eDo56 5d?+
TYY,Z__hqk2rU   c                 D   t         dddf   }t         t        j                  d      t        j                  d      t        j                  d      f   }t        ||       |j                  t        j                  k(  sJ |j                  t        j
                  k(  sJ t         ddd   }t         t        j                  d      t        j                  d      t        j                  d         }t        |j                  t        j
                  k(         t        ||       y )Nr(   Q?)r
   r@   float32r   rN   float64r   )rF   grid64grid32s      rH   test_accepts_npfloatingz TestGrid.test_accepts_npfloating   s    s4|}&rzz#rzz$'7

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

3GH

*+!&&1rU   c                 &   t         dddf   }t         t        j                  d      t        j                  d      t        j                  d      f   }t        |j                  t        j                  k(         t        ||       t         dt        j                  d      d   }t         dt        j                  d      df   }t        |j                  |j                  cxk(  xr t        j                  k(  nc        t        ||d          t         ddd   }t         t        j                  d      t        j                  d      t        j                  d         }t        |j                  t        j                  k(         t        ||       y )Nr(   r   r   r   y        333333@)r
   r@   
longdoubler   rN   r   r   )rF   r   grid128
grid128c_a
grid128c_bs        rH   test_accepts_longdoublez TestGrid.test_accepts_longdouble  s0   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F:z!}5 s4|$MM#r}}T22==3EE
 	./!&'2rU   c           	         t        t        dddf   t        ddt        j                  d      f          t        t        ddd   t        ddt        j                  d                t        ddd   }t        dddf   d   }t	        |j
                  |j
                  cxk(  xr t        j                  k(  nc        t        ||       t        ddt        j                  d         }t        ddt        j                  d      f   d   }t	        |j
                  |j
                  cxk(  xr t        j                  k(  nc        t        ||       y )Nr(   g333333?y              @y        ffffff
@r   )
r   r
   r@   	complex64r   rN   r   r   clongdoubler   )rF   grid64_agrid64_b	grid128_a	grid128_bs        rH   test_accepts_npcomplexfloatingz'TestGrid.test_accepts_npcomplexfloating  s   !#c"*+s3r||B/?'?'@!B	

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

 S&S(+(..>BJJ>?8X.#c".."667	#c".."6679!<		9??CbmmCD8X.rU   N)r   r   r   rI   r   r   r   r   r   r   r   r   r   r   rL   rU   rH   r   r      sV    
4:
< [[:"#=
 
3	
323,/rU   r   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestConcatenatorc                     t        t        d   t        j                  g d             t        j                  d      }t        |dd|f   }t        |g d       y )N)r   r   r*   r&   r,   r+   r,   r   )r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r@   rE   r   )rF   r   r   s      rH   test_1dzTestConcatenator.test_1d1  sE    2./:L1MNGGAJq!QzN1BCrU   c                 N    t         dddf   }t        |j                  dk(         y )Ng333333$@r   rK   f8)r   r   rN   rF   gs     rH   test_mixed_typez TestConcatenator.test_mixed_type7  s#    tQrTzN4 rU   c                     t         dt        j                  dg      t        j                  g d      df   }t        |j                  dk(         y )Ng333333$r   )r   r*   r&   g      $@r   )r   r@   rE   r   rN   r   s     rH   test_more_mixed_typez%TestConcatenator.test_more_mixed_type;  s8    ubhhsmRXXi%8$>?4 rU   c                     t         ddd   }t        |j                  dk(         t         ddt        j                  d         }t        |j                  dk(         y )Nr   rZ   y              Y@)d   )r   r   r   r@   r   r   s     rH   test_complex_stepz"TestConcatenator.test_complex_step?  sO    qDyM6!" qBLL&&'6!"rU   c                    t         j                  j                  dd      }t         j                  j                  dd      }t        d||f   }t	        |j
                  dk(         t        |d d d df   |       t        |d d dd f   |       t        ||f   }t	        |j
                  dk(         t        |d dd d f   |       t        |dd d d f   |       y )Nr,   1)r,   rK   )rK   r,   )r@   randomrandr   r   r   r   )rF   r   r   r   s       rH   test_2dzTestConcatenator.test_2dH  s    IINN1a IINN1a sAqyM7"#1QU8Q'1QU8Q'q!tH7"#1RaRU8Q'1QRU8Q'rU   c                 
   t        t        dt        j                  d      df   g d       t        t        g dt        j                  d      f   g d       t        t        t        j                  d      g df   g d       y )Nr   r   r   r   r   r   r*   )r   r   r   r*   rp   )r   r   r@   rE   rm   s    rH   rx   zTestConcatenator.test_0dT  sX    R288A;)*I6R	288A;./>RY./>rU   N)	r   r   r   r   r   r   r   r   rx   rL   rU   rH   r   r   0  s!    D!!#
(?rU   r   c                       e Zd Zd Zy)TestNdenumeratec                 z    t        j                  ddgddgg      }t        t        t	        |            g d       y )Nr   r   r*   r&   )))r   r   r   ))r   r   r   )r   r*   ))r   r   r&   )r@   rE   r   listr   rF   r   s     rH   rI   zTestNdenumerate.test_basic[  s4    HHq!fq!f%&T+a.)I	KrU   N)r   r   r   rI   rL   rU   rH   r   r   Z  s    KrU   r   c                       e Zd Zd Zd Zy)TestIndexExpressionc                     t        j                  d      }t        |d d |t        d d           t        |d d |t        d d           y )Nr   r%   )r@   aranger   r   r   r   s     rH   test_regression_1z%TestIndexExpression.test_regression_1b  sD    IIaLQsVQr#2wZ(QsVQy"~./rU   c           	          t         j                  j                  ddd      }t        |d d d dddgf   |t        d d d dddgf             t        |d d d dddgf   |t
        d d d dddgf             y )Nr&   r,   r+   r*   r   r   )r@   r   r   r   r   r   r   s     rH   test_simple_1z!TestIndexExpression.test_simple_1h  s    IINN1a#Qq"1"q!f}%q1bqb1a&=)A'BCQq"1"q!f}%qArrAq6M):';<rU   N)r   r   r   r   r   rL   rU   rH   r   r   a  s    0=rU   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestIx_c                    t        j                  t        d            \  }t        |j                  t         j
                         t        j                  g       \  }t        |j                  t         j
                         t        j                  t        j                  g t         j                              \  }t        |j                  t         j                         y )Nr   rM   )r@   r   ranger   rN   r[   rE   r   r   s     rH   r   zTestIx_.test_regression_1p  s|    VVE!HQWWbgg&VVBZQWWbgg& VVBHHRrzz23QWWbjj)rU   c           
         d}t         t        j                  fD ]  }t        j                  |D cg c]
  } ||       c} }t	        t        ||            D ]  \  \  }}t        |j                     |       t        t        fdt	        |j                        D                     t        t        j                  |j                  t        j                                 y c c}w )N)r&   r,   r*   r   c              3   :   K   | ]  \  }}|k7  s|d k(    yw)r   NrL   )r   jshks      rH   r   z/TestIx_.test_shape_and_dtype.<locals>.<genexpr>  s     N2qAvB!GNs   
)r   r@   r   r   	enumerater   r   r   r   r   
issubdtyperN   integer)rF   sizesfuncszarraysr   r   s         @rH   test_shape_and_dtypezTestIx_.test_shape_and_dtype|  s    BII& 	<DVV72d2h78F'FE(:; <
7ArQWWQZ,N1771CNNOaggrzz:;<	<7s   C&
c                 ~    g d}t        j                  |      \  }t        t        j                  |      d   |       y )N)TFTTr   )r@   nonzeror   r   )rF   bool_aint_as      rH   	test_boolzTestIx_.test_bool  s.    *F#RVVF^A&.rU   c                 R    g dg dg}t        t        t        j                  |       y )Nrp   r&   r,   r+   )r   rD   r@   r   )rF   idx2ds     rH   test_1d_onlyzTestIx_.test_1d_only  s    I&j"&&%0rU   c                     d}t        j                  |      }t        ||      }t        |d   j                  |df       t        |d   j                  d|f       t        |j                  |f       y )Nr,   r   r   )r@   r   r   r   r   )rF   length_of_vectorrs   outs       rH   test_repeated_inputzTestIx_.test_repeated_input  sd    II&'!QiSV\\$4a#89SV\\A'7#89QWW/12rU   N)r   r   r   r   r   r   r  r  rL   rU   rH   r   r   o  s    
*</
13rU   r   c                      t         t        j                  g dg      ddt        j                  g dg      f   } t        | g dg       y )Nrp   r   r   )r   r   r*   r   r   r&   r,   r+   )r   r@   rE   r   )r   s    rH   test_c_r    s9    
288YK !Q)(==>A-./rU   c                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestFillDiagonalc           	          t        j                  dt              }t        |d       t	        |t        j
                  g dg dg dg             y )N)r*   r*   r,   r,   r   r   r   r,   r   r   r   r,   r@   r|   rQ   r   r   rE   r   s     rH   rI   zTestFillDiagonal.test_basic  s?    HHVS!arxx""$ %	rU   c                     t        j                  dt              }t        |d       t	        |t        j
                  g dg dg dg dg dg dg dg dg dg dg
             y )NrO   r,   r  r  r  r   r   r   r  r   s     rH   test_tall_matrixz!TestFillDiagonal.test_tall_matrix  sT    HHWc"arxx"""""""""	$ 	%	rU   c                     t        j                  dt              }t        |dd       t	        |t        j
                  g dg dg dg dg dg dg dg dg dg dg
             y )NrO   r,   Tr  r  r  r  r  r   s     rH   test_tall_matrix_wrapz&TestFillDiagonal.test_tall_matrix_wrap  sV    HHWc"aD!rxx"""""""""	$ 	%	rU   c           	          t        j                  dt              }t        |d       t	        |t        j
                  g dg dg dg             y )N)r*   rK   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   r  r   s     rH   test_wide_matrixz!TestFillDiagonal.test_wide_matrix  s@    HHWc"arxx7779 :	rU   c                     t        j                  dt              }t        |d       t        j                  g d      }t        t        j                  |dk7        ||||f       y )N)r*   r*   r*   r*   r&   r   r   )r@   r|   rQ   r   rE   r   where)rF   r   is      rH   test_operate_4d_arrayz&TestFillDiagonal.test_operate_4d_array  sI    HH\3'aHHYRXXa1f%1a|4rU   c                     t        j                  dt              }t        t        d      5  t        |d       d d d        y # 1 sw Y   y xY w)Nr*   at least 2-dr,   r@   r|   rQ   r	   rD   r   r   s     rH   test_low_dim_handlingz&TestFillDiagonal.test_low_dim_handling  s;    HHQ ^< 	 !Q	  	  	    AA
c                     t        j                  dt              }t        t        d      5  t        |d       d d d        y # 1 sw Y   y xY w)N)r*   r*   r-   r*   equal lengthr   r  r   s     rH   test_hetero_shape_handlingz+TestFillDiagonal.test_hetero_shape_handling  s=     HHY$ ^< 	 !Q	  	  	 r  N)
r   r   r   rI   r  r  r  r  r  r!  rL   rU   rH   r	  r	    s%      5  rU   r	  c            
      l   t        d      } t        j                  g dg dg dg dg      }d|| <   t        |t        j                  g dg dg d	g d
g             t        dd      }t        j                  dt
              }d||<   t        |t        j                  ddgddggddgddggg             y )Nr&   )r   r   r*   r&   )r,   r+   r-   r>   )r?   rK   r   r=   )r5            r   )r   r   r*   r&   )r,   r   r-   r>   )r?   rK   r   r=   )r5   r#  r$  r   r   r*   )r   r   r   r   r   )r   r@   rE   r   r|   rQ   )dir   d3s      rH   test_diag_indicesr(    s    	aB
,!"$ 	%A AbE	288^#%&( )
 
a	B 	C AAbE	288q!f!f!f!f  
rU   c                       e Zd Zd Zd Zd Zy)TestDiagIndicesFromc                     t         j                  j                  d      }t        |      \  }}t        |t        j                  d             t        |t        j                  d             y )Nr;   r&   )r@   r   r   r   r   )rF   rs   rr   s       rH   test_diag_indices_fromz*TestDiagIndicesFrom.test_diag_indices_from  sH    IIV$ #11biil+1biil+rU   c                     t        j                  d      }t        t        d      5  t	        |       d d d        y # 1 sw Y   y xY w)Nr-   r  )r@   r   r	   rD   r   rw   s     rH   test_error_small_inputz*TestDiagIndicesFrom.test_error_small_input	  s6    GGAJ ^< 	!a 	! 	! 	!s	   ;Ac                     t        j                  dt              }t        t        d      5  t        |       d d d        y # 1 sw Y   y xY w)N)r*   r*   r   r*   r   )r@   r|   rQ   r	   rD   r   rw   s     rH   test_error_shape_mismatchz-TestDiagIndicesFrom.test_error_shape_mismatch  s9    HH\3' ^< 	!a 	! 	! 	!s   A  A	N)r   r   r   r-  r/  r1  rL   rU   rH   r*  r*    s    ,!
!rU   r*  c                     t        t        ddd            } t        t        j                  d            D cg c]  \  }}|	 }}}t        | |       t        t        d            } t        | |       t        t        d            } t        | t        t        d                   t        t                     } t        | dg       t        t        d            } t        | dg       t        t        dg       } t        | g        y c c}}w )Nr   r   r*   rp   )r*   rL   r   )r   r   r   r@   r|   r   r   )rs   ixer   s       rH   test_ndindexr5    s    WQ1A +BHHY,? @Aur1AHAq(#WY Aq(# 	WT]Aq$wqz*+ 	WYARDWR[ARD 	Wqc]AB' Bs   D)#r   numpyr@   numpy.testingr   r   r   r   r   r   r	   numpy.lib._index_tricks_implr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r(  r*  r5  rL   rU   rH   <module>r9     s          k- k-Zr/ r/j'? '?TK K= ='3 '3T0
D  D N
8! !&rU   