+
    0i                     x   ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIt^ RIH	t	 ^ RI
HtHtHt ^ RIHt ^RIHtHt R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR t ]PB                  PE                  R. RvO4      R R l4       t#]PB                  PE                  R]$! . RwO. RwO4      4      R R l4       t%]PB                  PE                  R. RxO4      R R l4       t&R t'R t(R t)R t*R  t+R! t,R" t-R# t.]PB                  PE                  R$. R{O4      R% 4       t/]PB                  PE                  R$. R{O4      R& 4       t0]PB                  PE                  R$. R{O4      R' 4       t1]PB                  PE                  R$. R{O4      R( 4       t2R) t3]PB                  PE                  R|. R}O4      R* 4       t4]PB                  PE                  R$. R{O4      R+ 4       t5]PB                  PE                  R$. R{O4      R, 4       t6]PB                  PE                  R~. RO4      R- 4       t7R. t8R/ t9]PB                  PE                  R$. R{O4      R0 4       t:]PB                  PE                  R$. R{O4      R1 4       t;R2 t<]PB                  PE                  R. RO4      R3 4       t=]PB                  PE                  R$. R{O4      R4 4       t>]PB                  PE                  R$. R{O4      R5 4       t?R6 t@]PB                  PE                  R. RO4      R7 4       tA. ROtB]PB                  PE                  R]B4      R8 4       tC. ROtD]PB                  PE                  R]D4      R9 4       tER: tFR; tGR< tHR= tIR> tJ. ROtK]PB                  PE                  R]K4      R? 4       tLRR^.^ .33RRy^.^ .33RR^ .^.33RR^ ^.^^.33RR. RO. RO33RRRR. RO. RO33.tM]PB                  PE                  R]M4      R@ 4       tNRA tO]PB                  PE                  R. RO4      RB 4       tP]PB                  PE                  R$. RO4      RC 4       tQ]PB                  PE                  R$. RO4      RD 4       tR. ROtS]PB                  PE                  R]S4      RE 4       tT]PB                  PE                  R]S4      RF 4       tU. ROtV]PB                  PE                  R]V4      RG 4       tW. ROtX]PB                  PE                  R]X4      RH 4       tYRI tZRRRRRRR^ ]P                  ! R4      3RR^]P                  ! R4      3RRRRRRRRRR]P                  ! R4      3RRRR]P                  ! R4      3RRR]P                  ! R4      3R.t\]PB                  PE                  R]\4      RJ 4       t]]PB                  PE                  R]\4      RK 4       t^RL t_. ROt`]PB                  PE                  R]`4      RM 4       taRN tb]PB                  PE                  R]`4      RO 4       tcRP td]PB                  PE                  R]`4      RQ 4       teRR tf]PB                  PE                  R]`4      RS 4       tg]PB                  PE                  R]`4      RT 4       thRU tiRV tjRW tkRX tlRY tmRZ tnR[ toR\ tp]P                  ! ^4      P                  R4      ts]! ]s4      ttRR]u! ^^R4      ^ 3^]u! ^^R4      3]u! ^^R4      ]u! ^^^4      3]u! RRR4      ^3^]u! R4      3]v3^^.^ 3^^^.3]P                  ! ^^.4      ]u! ^R4      3]u! ^4      ]P                  ! . RO4      3]P                  ! ^^.4      ]P                  ! ^ ^.4      3.tx]PB                  PE                  . RO]x U u. uF  p ]t]sV 3NK
  	  up 4      ]PB                  P                  R] 4       4       tz]P                  ! ^x4      P                  R4      ts]! ]s4      ttRzR^ ]u! ^^4      ^ 3]u! ^R4      ^]u! ^4      3]u! ^4      ]u! ^^^4      ]u! ^R4      3]u! RRR4      ]u! R4      ]u! ^^^4      3]v^^^.]u! ^4      3]P                  ! ^^.4      ]u! ^R4      ^ 3]P                  ! ^^.4      ]u! ^R4      ^ .3]P                  ! ^^.4      ]u! ^R4      ]P                  ! ^^.4      3^]P                  ! ^^.4      ]P                  ! ^^.4      3]P                  ! ^^.4      ]P                  ! ^^.4      ^3]P                  ! ^^.4      ]P                  ! ^^.4      ^.3.tx]PB                  PE                  . RO]x U u. uF  p ]t]sV 3NK
  	  up 4      ]PB                  P                  R^ 4       4       t{]PB                  PE                  R_R` ]P                  Ra .. RORb7      ]PB                  P                  RcRd7      Re 4       4       t|]P                  ! R4      P                  R4      ts]! ]s4      ttRRRRRf]u! R^R4      ^^]u! RRR4      ^33Rg]u! ^RR4      ]u! RRR4      ^^^33Rh^^^]u! ^RR4      ]u! RRR4      33Ri]u! ^^R4      ]u! RRR4      ^^^33Rj]u! R^R4      . RO. RO.. RO. RO.]u! RRR4      ^ 33Rk]u! R^R4      . RO. RO.. RO. RO.^]u! RRR4      33Rl]u! R^R4      . RO. RO]u! RRR4      ^33Rm^ ]u! ^^^4      ^. RO.^.^.^ ..33Rn]u! R^R4      ]u! ^^^4      ^. RO.^.^.^ ..33Ro. RO.^.^.^ ..^ ]u! ^^^4      ]u! R^R4      33Rp. RO.]u! ^^^4      ]u! R^R4      ^ ^.^.^ ..33Rq]u! R^R4      . RO. RO.. RO. RO.]u! RRR4      ^33Rr]u! ^^^4      ^ ^. RO.^.^.^..33.tx]PB                  PE                  . RO]x UUu. uF
  w  r]t]sW!3NK  	  upp4      ]PB                  P                  Rs 4       4       t}Rt t~Ru tR# u up i u up i u uppi )    N)assert_equalassert_allclose)
block_diag)	coo_arrayrandom_arraySparseEfficiencyWarning)	csr_array)_block_diag_extract_block_diagc                     \        R4      p V P                  R8X  g   Q h\        V P                  4       \        P
                  ! R4      4       \        R4      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! R4      4       \        R4      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! R4      4       R# )   Nr   r      )r   r            r   shaper   toarraynpzeros)empty1dempty2dempty_nds      Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/sparse/tests/test_coo.pytest_shape_constructorr      s    oG==D   "BHHTN3G==F""""BHHV$45%H>>[(((!!#RXXk%:;    c                  H   \        . RO4      p V P                  R8X  g   Q h\        V P                  4       \        P
                  ! . RO4      4       \        . RO. RO.4      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! . RO. RO.4      4       \        P
                  ! ^^.^^ ..^^.^	^...^^.^^..^^.^^...^ ^	.^^..^^.^^....4      p\        V4      pVP                  R8X  g   Q h\        VP                  4       V4       \        P                  P                  ^4       \        P                  P                  ^^^^^^^^^4	      p\        V4      pVP                  R8X  g   Q h\        VP                  4       V4       \        ^\        P                  ..^^..^^...4      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! ^\        P                  ..^^..^^...4      4       R# )	   N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   arrayrandomseedrandnnan)res1dres2darr4dres4darr9dres9dnan_3ds          r   test_dense_constructorr1      s   i E;;$"((9"56 y),-E;;&   "((Iy+A"BC HHAA'1a&1a&)9:AA'1a&1a&)9:AA'1a&1a&)9:< =E eE;;,&&&%( IINN2IIOOAa!Aa!A.EeE;;----%( !RVVAx1a&:;F<<9$$$!288q"&&k]aVH1vh,O#PQr   c            	         \        . RORR7      p V P                  R8X  g   Q h\        V P                  4       \        P
                  ! . RO4      4       \        . RO. RO.RR7      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! . RO. RO.4      4       \        ^..^...RR7      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! ^..^...4      4       \        P                  P                  ^4       \        P                  P                  ^^^^^^^4      p\        VRR7      pVP                  R8X  g   Q h\        VP                  4       V4       R# )	r    r   Nr!   r   r"   r$   r   r    r    )r   r   r    r   r#   r   r   )	r   r   r   r   r   r%   r&   r'   r(   )r*   r+   res3darr7dres7ds        r   !test_dense_constructor_with_shaper8   ;   s%   it,E;;$"((9"56y),F;E;;&   "((Iy+A"BCusenI6E;;)###"((aSEQC5>":;IINN2IIOOAa!Aa*Eu_5E;;/)))%(r   c            	      4   \         P                  ! \        R R7      ;_uu_ 4        \        . ROR	R7       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        . ROR
R7       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        . RO.RR7       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        ^..^...RR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        ^.^.33RR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        ^^.^ ^.^ ^.^^.33RR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        ^.R.334       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        ^.^ .^.R.334       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELS; i  + '       g   i     EL(; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)inconsistent shapesmatchr3   Nz)axis 0 index 2 exceeds matrix dimension 2z)axis 1 index 3 exceeds matrix dimension 3znegative axis 0 index: -1znegative axis 2 index: -1r!   r   r   r    r   r    r    r    )r   )r   r   r   )pytestraises
ValueErrorr    r   r   .test_dense_constructor_with_inconsistent_shaperE   O   s   	z)>	?	?)4( 
@ 
z)>	?	?)6* 
@ 
z)>	?	?9+T* 
@ 
z)>	?	?QC5A3%.	2 
@ 
zH
J 
JA3!-t,
J 
zH
J 
JAa5Aq6Aq6Aq6239E
J 
z)D	E	EA3".! 
F 
z)D	E	EA3!qcB4()* 
F	E/ 
@	?	? 
@	?	? 
@	?	? 
@	?	?
J 
J 
J
J 
J 
F	E 
F	E	Es_   G<!HH$H8II  I3J<H	H!	$H5	8I		I	 I0	3J	J	c                      \        R4      p \        V 4      pVP                  R8X  g   Q h\        VP                  4       \        P
                  ! R4      4       R# )r   Nr   r   )r   ress     r   test_1d_sparse_constructorrH   k   s?    oG
G
C99/r   c                      \        ^	^.^^.334      p V P                  R8X  g   Q h\        V P                  4       \        P
                  ! . RO4      4       R# )	   Nr   )r   rJ      r   r   r   r   r   r%   rG   s    r   test_1d_tuple_constructorrN   r   sF    
aUaUH%
&C99 34r   c                      \        ^	^.^^.33RR7      p V P                  R8X  g   Q h\        V P                  4       \        P
                  ! . RO4      4       R# )rJ   r3   Nr=   )r   rJ   rK   r   rL   rM   s    r   $test_1d_tuple_constructor_with_shaperP   x   sH    
aUaUH%T
2C99 67r   c                     R Rr\         P                  ! V ^,
          .RR7      \         P                  ! V^,
          .RR7      3p\        R.V3W3R7      pVP                  W,          ^34      pVP                  ^ ,          P
                  \         P
                  ! R4      8X  g   Q hVP                  ^ ,          ^ ,          W,          ^,
          8X  g   Q hVP                  W4      pVP                  ^ ,          P
                  \         P
                  ! R4      8X  g   Q hVP                  ^ ,          ^ ,          V^,
          8X  g   Q hR# )i i int32)dtypegffffff
@r3   int64N)r   r%   r   reshapecoordsrS   )MNrV   ABCs         r   test_reshape_overflowr\   }   s    VqhhAwg.!a%0PQFC5&/!0A 	
		15!*A88A; 111188A;q>aeq[((( 	
		!A88A; 111188A;q>QU"""r   c            	      <   \        . RO4      p V P                  R8X  g   Q hV P                  R4      pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! ^.^ .^..4      4       V P                  R4      pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! . RO.4      4       \        P                  ! \        RR7      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  R	4       RRR4       \        . R
O. RO.4      pVP                  R8X  g   Q hVP                  R4      pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! . RO4      4       VP                  R4      pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! ^.^.^ ..^ .^ .^...4      4       \        P                  ! \        RR7      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     ELg; i  + '       g   i     EL=; i  + '       g   i     R# ; i)r    zcannot reshape arrayr;   N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   rU   r   r   r   r%   rA   rB   rC   )arr1dcol_vecrow_vecarr2dflat	to_3d_arrs         r   test_reshaperj      s   i E;;$mmF#G==F""""BHHqcA3_$=>mmF#G==F""""BHHi[$9: 
z)?	@	@e 
A 
z)?	@	@e 
A y),-E;;&   ==D::*<!=> i(I??i'''""$bhh!qcA31#sQC/Q&RS 
z)?	@	@e 
A	@) 
A	@	@ 
A	@	@  
A	@	@s$   2I"0I6J
"I3	6J	
J	c                      \        . RO4      p V P                  R8X  g   Q hV P                  ^8X  g   Q h\        . RO. RO.4      pVP                  R8X  g   Q hVP                  ^8X  g   Q hR# )r    Nr^   r   rb   rc   r$   )r   r   nnzrd   rg   s     r   test_nnzrn      s_    i E;;$99>>y),-E;;&   99>>r   c            	         \        . RO4      P                  p V P                  R8X  g   Q h\        V P	                  4       \
        P                  ! . RO4      4       \        . RO. RO.4      P                  pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! ^^ .^^ .^ ^..4      4       R# )r    Nr^   r   rb   rc   r   )r   Tr   r   r   r   r%   rm   s     r   test_transposerq      s    i ""E;;$"((9"56y),-//E;;&   "((QFQFQF+C"DEr   c                     \        . RO4      P                  RR7      p V P                  R8X  g   Q h\        V P	                  4       \
        P                  ! . RO4      4       \        . R	O. R
O.4      P                  RR7      pVP                  R8X  g   Q h\        VP	                  4       \
        P                  ! . R	O. R
O.4      4       \        P                  ! \        RR7      ;_uu_ 4        \        . RO4      P                  RR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        . R	O. R
O.4      P                  RR7       RRR4       R#   + '       g   i     L`; i  + '       g   i     R# ; i)r    axes"axes don't match matrix dimensionsr;   Nrepeated axis in transposer^   r   r   rb   rc   r   r    r$   r    r    )
r   	transposer   r   r   r   r%   rA   rB   rC   rm   s     r   test_transpose_with_axisr{      s   i ***5E;;$"((9"56y),-77V7DE;;&   "((Iy+A"BC	z)M	N	N)&&F&3 
O 
z)E	F	F9i()333@ 
G	F 
O	N 
G	F	Fs   -E#7"E6#E3	6F	c                  &   \        . RO4      p \        V P                  \        P                  ! . RO4      4       \        V P
                  \        P                  ! V P                  4      4       V P
                  P                  V P                  P                  8X  g   Q hV P
                  P                  P                  RJ g   Q h. ROV n        \        V P                  4      ^8X  g   Q h\        V P                  \        P                  ! . RO4      4       V P
                  P                  V P                  P                  8X  g   Q h\        P                  ! \        RR7      ;_uu_ 4        . ROV n        RRR4       R#   + '       g   i     R# ; i)r    Fzcannot set row attributer;   Nr    r   r    r   r!   )r   r   colr   r%   row
zeros_likerS   flags	writeablelenrV   rA   rB   rC   rM   s    r   test_1d_row_and_colr      s    
K
 C"((9-."--0177==CGGMM)))77==""e+++CGszz?a"((9-.77==CGGMM)))	z)C	D	D 
E	D	D	Ds   +
E??F	c                     \        . RO4      p V P                  V P                  V P                  V P                  3 F7  p\
        P                  ! \        RR7      ;_uu_ 4        V! 4        RRR4       K9  	  V P                  V P                  V P                  3 F0  p\        V! 4       P                  4       V P                  4       4       K2  	  R#   + '       g   i     K  ; i)r    zCannot convertr;   Nr}   )r   tobsrtocsctodiatolilrA   rB   rC   tocootocsrtodokr   r   )rG   fs     r   test_1d_toformatsr      s    
K
 CiiCIIsyy9]]:-=>>C ?> : iiCII.QS[[]CKKM2 / ?>>s   #CC!argc                $    V ^8  d   QhR\         /# r   r   int)formats   "r   __annotate__r      s     % % %r   c                    \         P                  ! . RO4      p\        V4      pVP                  V RR7       VP                  V 4       VP                  VP                  8X  g   Q h\        VP                  4       V4       R# )r    FrefcheckNr}   r   r%   r   resizer   r   r   r   denrG   s   &  r   test_1d_resizer      sZ    
((;
C
C.CJJsUJ#JJsO99		!!!$r   c                F    V ^8  d   QhR\         \        \        3,          /# r   )tupler   )r   s   "r   r   r      s     % %eCHo %r   c                    \         P                  ! . RO4      p\        V4      pVP                  V RR7       VP                  V 4       VP                  VP                  8X  g   Q h\        VP                  4       V4       R# )r    Fr   Nr^   r   r   s   &  r   test_1d_to_2d_resizer      sZ    
((9
C
C.CJJsUJ#JJsO99		!!!$r   c                $    V ^8  d   QhR\         /# r   r   )r   s   "r   r   r     s     % %c %r   c                 
   \         P                  ! . RO. RO.4      p\        V4      pVP                  V RR7       VP                  V 4       VP                  VP                  8X  g   Q h\        VP                  4       V4       R# )r    Fr   Nr^   r   r   r   r   r   s   &  r   test_2d_to_1d_resizer     s_    
((Iy)
*C
C.CJJsUJ#JJsO99		!!!$r   c            	         \        . RO. RO334      p V P                  ^8X  g   Q h\        V P                  4       \        P
                  ! ^^.4      4       V P                  4        V P                  ^8X  g   Q h\        V P                  4       \        P
                  ! ^^.4      4       \        . RO. RO. RO. RO. RO334      pVP                  ^8X  g   Q h\        P
                  ! ^ ^ .^ ^ .^ ^ ..^ ^ .^ ^ .^ ^ ..^ ^ .^ ^ .^^ ...^ ^ .^ ^	.^ ^ ..^ ^ .^ ^ .^ ^ ..^ ^ .^ ^ .^ ^ ....4      p\        VP                  4       V4       VP                  4        VP                  ^8X  g   Q h\        VP                  4       V4       \        . RO. RO334      pVP                  ^8X  g   Q hVP                  4        VP                  ^8X  g   Q hR# )	r   N)r   r   r   r    r   r    )r   r   r   )r   r   r   r    r   r    r    r   r   r   r   r    r   r   )r   rl   r   r   r   r%   sum_duplicates)rd   r,   expected
arr_nodupss       r   test_sum_duplicatesr     s   y9,/0E99>>"((Aq6"23	99>>"((Aq6"23 y9iI"NOPE99>>xxq6Aq6Aq6
"aVaVaV$<1v1vPQSTv>V	Wq6Aq6Aq6
"aVaVaV$<1v1vPQSTv>V	W	YH (+	99>>(+ L</:;J>>Q>>Qr   c                  ^   \        . RO. RO334      p V P                  ^8X  g   Q hV P                  4       ^8X  g   Q h\        V P	                  4       \
        P                  ! ^ ^.4      4       V P                  4        V P                  ^8X  g   Q hV P                  4       ^8X  g   Q h\        V P	                  4       \
        P                  ! ^ ^.4      4       \        V P                  \
        P                  ! ^.4      4       \        V P                  \
        P                  ! ^ .4      4       R# )r   N)r   r   r    r   )
r   rl   count_nonzeror   r   r   r%   eliminate_zerosr   r   )rd   s    r   test_eliminate_zerosr   *  s    y9,/0E99>> A%%%"((Aq6"23	99>> A%%%"((Aq6"23BHHaSM*BHHaSM*r   c                      \         P                  ! . RO4      p \         P                  ! . RO4      pW,           p\        V 4      V,           p\        V4      \        V4      J g   Q h\	        W24       R# r   Nr   r~   r   r   r   )r   r%   r   typer   den_aden_bexprG   s       r   test_1d_add_denser   7  sR    HH^$EHH\"E
-C
E
U
"C9S	!!!r   c                      \         P                  ! . RO4      p \         P                  ! . RO4      pW,           p\        V 4      \        V4      ,           p\        W#P	                  4       4       R# r   )r   r%   r   r   r   r   r   	dense_sum
sparse_sums       r   test_1d_add_sparser   @  sJ    HH^$EHH\"EI5!Ie$44J..01r   c                      \         P                  ! . RO4      p \         P                  ! . RO4      pW,          p\        V 4      V,          p\         P                  ! V4      ^ 8X  g   Q h\	        W24       R# r   )r   r%   r   ndimr   r   s       r   test_1d_matmul_vectorr   I  sR    HH^$EHH\"E
-C
E
U
"C773<1r   c                      \         P                  ! . RO4      p \         P                  ! . RO. RO.4      P                  pW,          p\        V 4      V,          p\	        V4      \	        V4      J g   Q h\        W24       R# )r   Nr   r   r   r   r    r   )r   r%   rp   r   r   r   )r   otherr   rG   s       r   test_1d_matmul_multivectorr   R  s\    
((>
"CHHlL1244E
+C
C.5
 C9S	!!!r   c                  V   \         P                  ! . RO. RO.4      p \        V 4      pW P                  ,          pWP                  ,          p\	        VP                  4       V4       \         P                  ! . RO. RO.4      p \        V 4      pW P                  ,          pWP                  ,          p\	        W24       \         P                  ! . RO. RO.4      p\         P                  ! . RO4      p\        V4      pWTP                  ,          pWdP                  ,          p\	        W24       \         P                  ! . RO4      p\         P                  ! ^.^.^ ..4      pWE,          p\        V4      V,          p\	        W24       \        V4      \        V4      ,          p\	        W24       R# )r   Nr   r   )r   r   r   r   r#   )r    r   r   r   r   )r   r    r   r   r   )r    r   r   )r   r%   r   rp   r   r   list)r   rg   r   rG   r   r   rd   s          r   test_2d_matmul_multivectorr   [  s.   
((L,/
0CcNE
+C
''/C$ ((O_5
6CcNE
+C
%%-C HHo78EHH_%EeE
''/C
''/C HHYEHHqcA3_%E
-C
E
U
"C
E
T%[
(Cr   c                      \         P                  ! . RO4      p \        P                  ! \        RR7      ;_uu_ 4        \        V 4      P                  4        RRR4       R#   + '       g   i     R# ; i)r   z diagonal requires two dimensionsr;   Nr   )r   r%   rA   rB   rC   r   diagonal)r   s    r   test_1d_diagonalr   |  sB    
((>
"C	z)K	L	L#! 
M	L	L	Ls   A!!A2	r   c                     \         P                  P                  ^4       \         P                  P                  ^ ^V R7      p\	        \        V4      P                  4       V4       R# )   )lowhighsizeN)r   r&   r'   randintr   r   todense)r   arrs   & r   test_nd_todenser     sF     IINN2
))



6C3'')3/r   c                     \        V 4      p\        V4      pVP                  V 8X  g   Q h\        VP                  4       \        P
                  ! V 4      4       R # Nr   )r   	empty_arrrG   s   &  r   test_nd_sparse_constructorr     sB     % I
I
C990r   c                     \         P                  P                  ^4       \         P                  P                  ! V !  p\	        V4      pVP
                  V 8X  g   Q h\        VP                  4       V4       R# )r   Nr   r&   r'   r(   r   r   r   r   r   r   rG   s   &  r   test_nd_tuple_constructorr     sQ     IINN2
))//5
!C
C.C99$r   c                     \         P                  P                  ^4       \         P                  P                  ! V !  p\	        WR7      pVP
                  V 8X  g   Q h\        VP                  4       V4       R# )r   r3   Nr   r   s   &  r   $test_nd_tuple_constructor_with_shaper     sR     IINN2
))//5
!C
C
%C99$r   c            	      <   \         P                  ! \        R R7      ;_uu_ 4        \        ^	^.^^.^^ .^^.33RR7       RRR4       \        . . . . . 33RR7      p \	        V P                  4       \        P                  ! R4      4       R#   + '       g   i     LS; i)zexceeds matrix dimensionr;   r3   Nr   r   r   )r   r   r   r   )rA   rB   rC   r   r   r   r   empty)r   s    r   (test_tuple_constructor_for_dim_size_zeror     s    	z)C	D	DAq6QFQFQF34GD 
E 2BB/0	BI""$bhhy&9:	 
E	Ds   BB	c                 N   \         P                  P                  R 4      p\        V RV\        R7      pVP
                  V 8X  g   Q hVP                  4       pVP                  V4      pVP                  V4      pVP
                  V8X  g   Q h\        VP                  4       V4       R# 4e333333?densityrngrS   N)	r   r&   default_rngr   r   r   r   rU   r   )r   	new_shaper   r,   den4dexp_arrres_arrs   &&     r   test_nd_reshaper     s     ))


)CC@E;;%MMOEmmI&GmmI&G==I%%%"G,r   c                     \         P                  P                  R 4      p\        V RV\        R7      pVP
                  \         P                  ! VP                  4       4      8X  g   Q hR# r   )r   r&   r   r   r   rl   r   r   )r   r   r   s   &  r   test_nd_nnzr     sK     ))


)C
ucs#
>C77b&&s{{}5555r   c                 *   \         P                  P                  R 4      p\        V RV\        R7      pVP                  4       P                  pVP                  4       pVP                  V RRR1,          8X  g   Q h\        W4P                  4       4       R# )r   r   r   Nr@   )
r   r&   r   r   r   r   rp   rz   r   r   )r   r   r   r   	trans_arrs   &    r   test_nd_transposer     sm     ))


)C
ucs#
>CkkmooGI??eDbDk)))++-.r   c                 
   \         P                  P                  R 4      p\        V RV\        R7      pVP                  VR7      p\        VP                  4       \         P
                  ! VP                  4       VR7      4       R# )r   r   r   rs   N)r   r&   r   r   r   rz   r   r   )r   	axis_permr   r   r   s   &&   r   test_nd_transpose_with_axisr     s\     ))


)C
ucs#
>C9-I""$bll3;;=y&QRr   c                     \         P                  ! \        R R7      ;_uu_ 4        \        . RO4      P	                  RR7       RRR4       \         P                  ! \        RR7      ;_uu_ 4        \        . RO. RO.4      P	                  R	R7       RRR4       R#   + '       g   i     L`; i  + '       g   i     R# ; i)
ru   r;   rs   Nrv   r^   rx   rb   rc   ry   )rA   rB   rC   r   rz   rD   r   r   %test_transpose_with_inconsistent_axisr     s    	z)M	N	N)&&F&3 
O 
z)E	F	F9i()333@ 
G	F 
O	N 
G	F	Fs   B/"B.B+	.B?	c            
         \        . RO. RO. RO. RO334      p V P                  ^8X  g   Q hV P                  4       ^8X  g   Q h\        V P	                  4       \
        P                  ! . RO. RO.. RO. RO.. RO. RO..4      4       V P                  4        V P                  ^8X  g   Q hV P                  4       ^8X  g   Q h\        V P	                  4       \
        P                  ! . RO. RO.. RO. RO.. RO. RO..4      4       . RO. RO. RO. R	O. R
O3p\        . ROV34      pVP                  ^8X  g   Q hVP                  4       ^ 8X  g   Q hVP                  4        VP                  ^ 8X  g   Q hVP                  4       ^ 8X  g   Q h\        VP                  \
        P                  ! . 4      4       \        VP                  \
        P                  ! . 4      4       \        VP                  . . . . . 34       R# )r    N)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   r   r   )r   rl   r   r   r   r   r%   r   r   r   rV   )arr3drV   arr5ds      r   test_nd_eliminate_zerosr    s   |lL,%OPQE99>> A%%%"((Y	,B%.	$:Y	<R,T #U V	99>> A%%%"((Y	,B%.	$:Y	<R,T #U V L,lSF|V,-E99>> A%%%	99>> A%%%BHHRL)BHHRL)BB34r   c                 8   \         P                  P                  R 4      p\        V RV\        R7      p\        V RV\        R7      pVP                  4       VP                  4       rTWE,           pW%,           p\        V4      \        V4      J g   Q h\        Wv4       R# r   r   r&   r   r   r   r   r   r   r   r   sp_xsp_yden_xden_yr   rG   s   &       r   test_nd_add_denser    w     ))


)Cs3?Ds3?D<<>4<<>5
-C
,C9S	!!!r   c                     \         P                  P                  R 4      p\        V RV\        R7      p\        V RV\        R7      pVP                  4       VP                  4       rTWE,           pW#,           p\        WgP                  4       4       R# r   r   r&   r   r   r   r   r   r   r   r  r  r	  r
  r   r   s   &       r   test_nd_add_sparser    sj     ))


)C#SAD#SAD<<>4<<>5IJ..01r   c                     \         P                  ! ^ .\         P                  ..R.^ ...4      p \         P                  ! ^ .^..^.^...4      pW,           p\        V 4      \        V4      ,           p\	        W#P                  4       4       R# r   Nr   )r   r%   infr   r   r   r   s       r   test_add_sparse_with_infr    x    HHsRVVHoqc{34EHHsQCjA3*-.EI5!Ie$44J..01r   c                 "   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\
        P                  ! \        RR7      ;_uu_ 4        W4,            RRR4       R#   + '       g   i     R# ; ir   r   r   r:   r;   Nr   r&   r   r   r   rA   rB   rC   a_shapeb_shaper   arr_aarr_bs   &&   r   +test_nd_add_sparse_with_inconsistent_shapesr  '  _     ))


)C'CSDE'CSDE	z)>	?	? 
@	?	?	?   *	A==B	c                 8   \         P                  P                  R 4      p\        V RV\        R7      p\        V RV\        R7      pVP                  4       VP                  4       rTWE,
          pW%,
          p\        V4      \        V4      J g   Q h\        Wv4       R# r   r  r  s   &       r   test_nd_sub_denser"  3  r  r   c                     \         P                  P                  R 4      p\        V RV\        R7      p\        V RV\        R7      pVP                  4       VP                  4       rTWE,
          pW#,
          p\        WgP                  4       4       R# r   r  r  s   &       r   test_nd_sub_sparser$  @  sj     ))


)Cs3?Ds3?D<<>4<<>5IJ..01r   c                     \         P                  ! ^ .\         P                  ..R.^ ...4      p \         P                  ! ^ .^..^.^...4      pW,
          p\        V 4      \        V4      ,
          p\	        W#P                  4       4       R# r  )r   r%   r)   r   r   r   r   s       r   test_nd_sub_sparse_with_nanr&  N  r  r   c                 "   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\
        P                  ! \        RR7      ;_uu_ 4        W4,
           RRR4       R#   + '       g   i     R# ; ir  r  r  s   &&   r   +test_nd_sub_sparse_with_inconsistent_shapesr(  W  r  r   c                 >   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      pVP                  4       VP                  4       reWV,          pW6,          p\        W4       V\        V4      ,          p\        W4       R# r   r   r&   r   r   r   r   r   r   )		mat_shape	vec_shaper   r  r  r	  r
  r   rG   s	   &&       r   test_nd_matmul_vectorr-  n  su    
))


)C	3CsCD	3CsCD<<>4<<>5
-C
,C
e
Cr   c                    \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      pVP                  4       VP                  4       reWV,          pW4,          p\        VP                  4       V4       W6,          p\        W4       V\        V4      ,          p\        W4       WT,          p\        W4       R# r   r   r   random_staterS   Nr*  )	
mat_shape1
mat_shape2r   r  r  r	  r
  r   rG   s	   &&       r   test_nd_matmulr4    s    
))


)C
CcMD
CcMD<<>4<<>5
-C
+C$
,C
e
C ,Cr   c                  0   \         P                  P                  R 4      p \        RRV \        R7      p\        RRV \        R7      p\
        P                  ! \        RR7      ;_uu_ 4        W,           RRR4       \
        P                  ! \        RR7      ;_uu_ 4        WP                  4       ,           RRR4       \        R	RV \        R7      p\
        P                  ! \        RR7      ;_uu_ 4        W,           RRR4       \
        P                  ! \        RR7      ;_uu_ 4        WP                  4       ,           RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L{; i  + '       g   i     R# ; i)
r   r   r0  z)matmul: dimension mismatch with signaturer;   Nz&Batch dimensions are not broadcastable)r   r#   r   r   r   )r    r#   r   r   r#   )r    r#   r   r   )	r   r&   r   r   r   rA   rB   rC   r   )r   r  r  sp_zs       r   .test_nd_matmul_sparse_with_inconsistent_arraysr7    s    
))


)CSs#NDSs#ND	z)T	U	U 
V	z)T	U	U 
V 	3SLD	z)Q	R	R 
S	z)Q	R	R 
S	R 
V	U	U	U 
S	R	R	R	Rs0   *	EE5	E1*FE	E.	1F	F	c                  ,   \        . RO4      p \        . RO4      p\        P                  ! V P                  4       VP                  4       4      pV P                  V4      p\	        W24       V P                  VP                  4       4      p\	        W24       R# )r    Nr!   r"   )r   r   dotr   r   )abr   rG   s       r   test_dot_1d_1dr<    sc    'A'A
&&aiik
*C
%%(C
%%		
Cr   c                      \        ^^.^^.^^..4      p ^pV P                  V4      p\        P                  ! V P                  4       V4      p\	        VP                  4       V4       R# )r    N)r   r9  r   r   r   )r:  r;  rG   r   s       r   test_dot_sparse_scalarr>    sW    Aq6Aq6Aq6*+A	A
%%(C
&&a
 C$r   c                      \        ^^..^^...4      p \        . RO4      p\        P                  ! \        RR7      ;_uu_ 4        V P	                  V4       RRR4       R#   + '       g   i     R# ; i)r    znot aligned for n-D dotr;   Nr"   )r   rA   rB   rC   r9  )r  r  s     r   !test_dot_with_inconsistent_shapesr@    sU    Ax1a&*+Ei E	z)B	C	C		% 
D	C	C	Cs   A!!A2	c                     \        ^^.^^..4      p \        P                  ! \        RR7      ;_uu_ 4        V P	                  R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V R,           RRR4       \        P                  ! \        RR7      ;_uu_ 4        RV ,           RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Ln; i  + '       g   i     R# ; i)r    zargument not supported typer;   Nzarg not supported typezunsupported operand type)r   rA   rB   	TypeErrorr9  	tensordot)r  s    r   test_matmul_dot_not_implementedrD    s    1v1v&'E	y(E	F	F		$ 
G	y(@	A	A 
B	y(B	C	C 
D	y(B	C	Cu 
D	C 
G	F	A	A	C	C	C	C	Cs/   C<4D2
D"(
D5<D	D	"D2	5E	c                    \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\         P
                  ! VP                  4       VP                  4       4      pVP                  VP                  4       4      p\        We4       VP                  \        VP                  4       4      4      p\        We4       VP                  V4      p\        VP                  4       V4       R# r/  )	r   r&   r   r   r   r9  r   r   r   )r  r  r   r  r  r   rG   s   &&     r   test_dot_ndrF    s    
))


)C#CsKE#CsKE
&&%--/
2C
))EMMO
$C
))D)
*C
))E
C$r   c                 T   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\         P
                  ! VP                  4       VP                  4       VR7      pVP                  VP                  4       VR7      p\        Wv4       VP                  \        VP                  4       4      VR7      p\        Wv4       VP                  WRR7      p\        V4      \        J d   \        VP                  4       V4       R# \        Wv4       R# )r   r   r0  rs   N)r   r&   r   r   r   rC  r   r   r   r   r   )r  r  rt   r   r  r  r   rG   s   &&&     r   test_tensordotrH    s    
))


)C#CsKE#CsKE
,,u}}d
CC //%--//
5C
//$u}}/d/
;C //%/
+CCyIS[[]C(Sr   c                  B   \         P                  P                  R 4      p \        RRV \        R7      p\        R	RV \        R7      p^.^.3p\
        P                  ! \        RR7      ;_uu_ 4        VP                  W#R7       RRR4       \        R
RV \        R7      p\        RRV \        R7      p. RO^^.3p\
        P                  ! \        RR7      ;_uu_ 4        VP                  W#R7       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   r   r0  z*sizes of the corresponding axes must matchr;   rs   Nz,axes lists/tuples must be of the same lengthr   r   r#   r   r   r   )r#   r   r   r   r   )r   r   r   r   )r   r   r    )	r   r&   r   r   r   rA   rB   rC   rC  )r   r  r  rt   s       r    test_tensordot_with_invalid_argsrL    s    
))


)C#CsKE#CsKEC!:D	z)U	V	V) 
W c3OECcMEaUD	z *& 
' 
')
' 
' 
W	V
' 
' 
's   0C:D:D
	D	c                 
   \         P                  P                  R 4      p\        V RV\        R7      pVP                  V4      p\         P                  ! VP                  4       V4      p\        VP                  4       V4       R# r/  )	r   r&   r   r   r   _broadcast_tobroadcast_tor   r   )actual_shapebroadcast_shaper   r   rG   r   s   &&    r   test_broadcast_torR  #  s^     ))


)C
|Ss#
NC


O
,C
//#++-
9C$r   c                    \         P                  P                  R 4      p\        V RV\        R7      pVP                  4       p\	        \         P                  ! VP                  RR 4      4      pVP                  V3VP                  RR ,           4      p\        V4       Uu. uF  qeVRR3,          NK  	  pp\        V!  p\        V4      p	\        V	P                  4       V4       R# u upi )r   r   r0  NNNNr~   )r   r&   r   r   r   r   prodr   rU   ranger   r
   r   )
r   r   r  r	  
num_slicesreshaped_arrayimatricesr   rG   s
   &         r   test_block_diagr[  1  s     ))


)CsCHDLLNE RWWU[["-./J]]J=5;;rs3C#CDN16z1BC1BAq!Qw''1BHC
h
C
d
C$ Ds   "C(c                     \         P                  P                  R 4      p\        V RV\        R7      p\        \        V4      V 4      p\        VP                  4       VP                  4       4       R# r/  )	r   r&   r   r   r   r   r
   r   r   )r   r   r  rG   s   &   r   test_extract_block_diagr]  D  sO     ))


)CsCHD
k$/
7C/r   c                 |   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      pW4,           p\         P
                  ! VP                  4       VP                  4       4      p\        VP                  4       V4       W4P                  4       ,           p\        WV4       R# r/  )r   r&   r   r   r   addr   r   r  r  r   r:  r;  rG   r   s   &&     r   test_add_no_broadcastingra  Q  s~    
))


)CWc3GAWc3GA
%C
&&aiik
*C$
iik/Cr   c                 |   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      pW4,
          p\         P
                  ! VP                  4       VP                  4       4      p\        VP                  4       V4       W4P                  4       ,
          p\        WV4       R# r/  )r   r&   r   r   r   subtractr   r   r`  s   &&     r   test_sub_no_broadcastingrd  ^  s~    
))


)CWc3GAWc3GA
%C
++aiik199;
/C$
iik/Cr   c                 v   \         P                  P                  R 4      p\        V RV\        R7      pVP                  VR7      p\         P
                  ! VP                  4       VR7      p\        WE4       VP                  VR7      p\         P                  ! VP                  4       VR7      p\        WE4       R# r   r   r0  axisN)	r   r&   r   r   r   argmaxr   r   argmin)r   rh  r   r:  rG   r   s   &&    r   test_argmax_argminrk  v  s    
))


)CUCcEA
(((
C
))AIIKd
+C
(((
C
))AIIKd
+Cr   c                    \         P                  P                  R 4      p\        V RV\        R7      pVP                  VR7      p\         P
                  ! VP                  4       VR7      pVP                  VR7      p\         P                  ! VP                  4       VR7      pVP                  VR7      p\         P                  ! VP                  4       VR7      p	VP                  VR7      p
\         P                  ! VP                  4       VR7      pWE3Wg3W3W33 F`  w  r\         P                  ! \        V4      \         P                  4      '       d   \        W4       KF  \        VP                  4       V4       Kb  	  R# rf  )r   r&   r   r   r   minr   maxnanminnanmax
issubdtyper   numberr   )r   rh  r   r:  res_minexp_minres_maxexp_max
res_nanmin
exp_nanmin
res_nanmax
exp_nanmaxrG   r   s   &&            r   test_min_maxr{    s   
))


)CUCcEAeeeGffQYY[t,GeeeGffQYY[t,Gt$J199;T2Jt$J199;T2J''); -
/GI==cBII..",Ir   c                      \        . RO..4      \        . RO.4      3 F2  p V P                  4       ^8X  g   Q hV ) P                  4       R8X  d   K2  Q h	  R# )r    Nr   r@   )r   rm  rn  )r:  s    r   test_min_max_fullr}    sK    ,()9l^+DEuuw!||xxzR Fr   c                 H   \         P                  P                  R 4      p\        V RV\        R7      pVP                  WR7      p\         P
                  ! VP                  4       VR7      p\        WV4       Ve)   \        W&4       \        V4      \        V4      8X  g   Q hR# R# r   r   r0  )rh  outrg  N)	r   r&   r   r   r   sumr   r   idr   rh  r  r   r:  rG   r   s   &&&    r   test_sumr    s|    
))


)CUCcEA
%%T%
#C
&&4
(C
S#w"S'!!! r   c                 H   \         P                  P                  R 4      p\        V RV\        R7      pVP                  WR7      p\         P
                  ! VP                  4       VR7      p\        WV4       Ve)   \        V4      \        V4      8X  g   Q h\        W&4       R# R# r  )	r   r&   r   r   r   meanr   r   r  r  s   &&&    r   	test_meanr    s|    
))


)CUCcEA
&&d&
$C
''!))+D
)CC
#w"S'!!!! r   c                     \         P                  P                  R 4      p \        RRV \        R7      p\        V^,          P                  4       \         P                  ! VP                  4       ^4      4       \        V^,          P                  4       \         P                  ! VP                  4       ^4      4       \        \        V4      P                  4       \         P                  ! VP                  4       4      4       \        \        V4      P                  4       \         P                  ! VP                  4       4      4       R# )r   r   r0  N)r   r   r#   r   r   )
r   r&   r   r   r   r   r   powerroundabsr   r:  s     r   test_pow_abs_roundr    s    
))


)C[#CsKAQTNN$bhhqyy{A&>?QTNN$bhhqyy{A&>?E!H$$&(=>CFNN$bffQYY[&9:r   c           	      ~   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       \        W48H  P                  4       VP                  4       VP                  4       8H  4       \        W48g  P                  4       VP                  4       VP                  4       8g  4       \        W48  P                  4       VP                  4       VP                  4       8  4       \        W48*  P                  4       VP                  4       VP                  4       8*  4       \        W48  P                  4       VP                  4       VP                  4       8  4       \        W48  P                  4       VP                  4       VP                  4       8  4       \        W48H  P                  4       \         P                  ! W48g  P                  4       4      4       \        W48  P                  4       \         P                  ! W48  P                  4       4      4       \        W48*  P                  4       \         P                  ! W48  P                  4       4      4       RRR4       R#   + '       g   i     R# ; ir   r   r0  ignoreN)r   r&   r   r   r   warningscatch_warningssimplefilterr   r   r   bitwise_not)r  r  r   r:  r;  s   &&   r   test_boolean_comparisonsr    s   
))


)CWc3GAWc3GA		 	 	"	"h(?@ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ad^^%qyy{AIIK'?@ac]]_aiik!))+&=>ac]]_aiik!))+&=>ad^^%r~~qtnn6F'GHad^^%r~~qsmmo'FGad^^%r~~qsmmo'FG 
#	"	"	"s   #H>J++J<	c                  <   \         P                  P                  R 4      p \        RRV \        R7      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       \        V^ 8H  P                  4       VP                  4       ^ 8H  4       \        V^ 8g  P                  4       VP                  4       ^ 8g  4       \        V^8  P                  4       VP                  4       ^8  4       \        V^8*  P                  4       VP                  4       ^8*  4       \        V^ 8  P                  4       VP                  4       ^ 8  4       \        V^ 8  P                  4       VP                  4       ^ 8  4       RRR4       R#   + '       g   i     R# ; i)r   r   r0  r  N)r#   r   rK   r   )r   r&   r   r   r   r  r  r  r   r   r   r  s     r   $test_boolean_comparisons_with_scalarr    s   
))


)CY#SIA		 	 	"	"h(?@ad^^%qyy{A~6ad^^%qyy{A~6ad^^%qyy{A~6ad^^%qyy{A~6ac]]_aiik!m4ac]]_aiik!m4 
#	"	"	"s   D0F

F	c                 :   \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      pW4,          p\         P
                  ! VP                  4       VP                  4       4      p\        VP                  4       V4       R# r/  r   r&   r   r   r   multiplyr   r   r`  s   &&     r   test_multiplyr    si    
))


)CWc3GAWc3GA
%C
++aiik199;
/C$r   c                      \         P                  P                  R 4      p \        RRV \        R7      pV^,          p\         P
                  ! VP                  4       ^4      p\        VP                  4       V4       R# r   r   r0  N)r   r#   r   r  r   r:  rG   r   s       r   test_multiply_with_scalarr    sU    
))


)CWc3GA
a%C
++aiik1
%C$r   c                    \         P                  P                  R 4      p\        V RV\        R7      p\         P
                  ! ^^\        P                  ! V4      ,           4      P                  V4      pW4,          pVP                  4       V,          p\        VP                  4       V4       W4,          p\        VP                  4       V4       R# r/  )r   r&   r   r   r   arangemathrU  rU   r   r   r`  s   &&     r   test_divider    s    
))


)CWc3GA
		!Q7++,44W=A
%C
))+/CCKKM3'
%CCKKM3'r   c                      \         P                  P                  R 4      p \        RRV \        R7      pV^,          pVP                  4       ^,          p\        VP                  4       V4       R# r  )r   r&   r   r   r   r   r   r  s       r   test_divide_with_scalarr  "  sN    
))


)CWc3GA
a%C
))+/CCKKM3'r   c                    \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       VP                  V4      p\         P                  ! VP                  4       VP                  4       4      p\        VP                  4       V4       RRR4       R#   + '       g   i     R# ; ir  )r   r&   r   r   r   r  r  r  r   maximumr   r   r`  s   &&     r   test_maximumr  *      
))


)CWc3GAWc3GA		 	 	"	"h(?@iiljjaiik2S[[]C(	 
#	"	"	"   #A:C''C8	c                    \         P                  P                  R 4      p\        V RV\        R7      p\        VRV\        R7      p\
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       VP                  V4      p\         P                  ! VP                  4       VP                  4       4      p\        VP                  4       V4       RRR4       R#   + '       g   i     R# ; ir  )r   r&   r   r   r   r  r  r  r   minimumr   r   r`  s   &&     r   test_minimumr  6  r  r  c            	         \        . RO4      p \        ^^ .^^.^ R..4      p\        ^^ .^^..^^	.R^...^^.^^ ..^ ^.^ R....4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V P                  ^4      P                  4       \        P                  ! V P                  4       ^4      4       \        VP                  ^	4      P                  4       \        P                  ! VP                  4       ^	4      4       \        VP                  ^4      P                  4       \        P                  ! VP                  4       ^4      4       RRR4       R#   + '       g   i     R# ; ir   r  N)r   r    r   ir   i)	r   r  r  r  r   r   r  r   r   r:  r;  cs      r   test_maximum_with_scalarr  B  +   'AB7RGaX./AaUQqENaURG$45UQqENaUQrFO46 	7A		 	 	"	"h(?@QYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GH	 
#	"	"	"   (D E22F	c            	         \        . RO4      p \        ^^ .^^.^ R..4      p\        ^^ .^^..^^	.R^...^^.^^ ..^ ^.^ R....4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        V P                  ^4      P                  4       \        P                  ! V P                  4       ^4      4       \        VP                  ^	4      P                  4       \        P                  ! VP                  4       ^	4      4       \        VP                  ^4      P                  4       \        P                  ! VP                  4       ^4      4       RRR4       R#   + '       g   i     R# ; ir  )	r   r  r  r  r   r   r  r   r   r  s      r   test_minimum_with_scalarr  N  r  r  c                     \        \        P                  ! ^	4      4      p V ^ ,          ^ 8X  g   Q hV ^,          ^8X  g   Q h\        V R,          P	                  4       V P	                  4       R,          4       \        V R,          P	                  4       V P	                  4       R,          4       \        V R,          P	                  4       V P	                  4       R,          4       \        V R,          P	                  4       V P	                  4       R,          4       \        V . RO,          P	                  4       V P	                  4       . RO,          4       \        V . RO,          P	                  4       V P	                  4       . RO,          4       R# )rJ   r    r   NNr   Nr    NNr    r#   r   Nr    r   r   r   r   r    )r   r   r  r   r   rZ   s    r   test_1d_coo_getr  Z  s    "))A,AQ4199Q41993!199;s#342!))+b/22!))+b/25!!#QYY[%789%%'Y)?@9%%'Y)?@r   c                     \        \        P                  ! ^4      P                  R4      4      p V R,          ^ 8X  g   Q hV R,          ^8X  g   Q h\	        V R,          P                  4       V P                  4       R,          4       \	        V R,          P                  4       V P                  4       R,          4       \	        V R,          P                  4       V P                  4       R,          4       \	        V ^^.^ 3,          P                  4       V P                  4       ^^.^ 3,          4       \	        V R^^.3,          P                  4       V P                  4       R^^.3,          4       \	        V \        P                  ! ^^.4      ^ 3,          P                  4       V P                  4       ^^.^ 3,          4       \	        V R\        P                  ! ^^.4      3,          P                  4       V P                  4       R^^.3,          4       \	        V R	,          P                  4       V P                  4       R	,          4       \	        V R
,          P                  4       V P                  4       R
,          4       R# )r   r   NNNr   r#   r   r   r   r   )r  r   )r   r  )Nr   N:r    r#   r   )rT  r   )r   rT  )r   r   r  rU   r   r   r%   r  s    r   test_2d_coo_getr  i  s   "))E"**623AT7a<<T7b==6""$aiik&&9:6""$aiik&&9:9%%'Y)?@Aq619%%'aUAX)>?21v:&&(!))+b1Q%i*@A288QF#Q&'//1199;!uax3HI2rxxA''(002AIIKQqE	4JK4"AIIK$564"AIIK$56r   c                     \        \        P                  ! ^x4      P                  R4      4      p V R,          ^ 8X  g   Q hV R,          ^w8X  g   Q h\	        V R,          P                  4       V P                  4       R,          4       \	        V R,          P                  4       V P                  4       R,          4       \	        V R	,          P                  4       V P                  4       R	,          4       \	        V ^^.^ ^ 3,          P                  4       V P                  4       ^^.^ ^ 3,          4       \	        V RR^^.3,          P                  4       V P                  4       RR^^.3,          4       \	        V R
,          P                  4       V P                  4       R
,          4       \	        V R,          P                  4       V P                  4       R,          4       R# )r   r  r  Nr"   r   rJ  )r   r  r   )r   r  r   )r  r  r  )r   rT  r   )rT  rT  r   )r   r   r  rU   r   r   )rY   s    r   test_3d_coo_getr  |  sZ   "))I&..y9:AW:??W:9%%'Y)?@9%%'Y)?@=!))+QYY[-GHAq61a<((*AIIKA1,EF2sQF?#++-qyy{2sQF?/KL7##%qyy{7';<7##%qyy{7';<r   c                     \        \        P                  ! ^x4      P                  R4      4      p V P	                  4       p\        V R,          P	                  4       VR,          4       \        V R,          P	                  4       VR,          4       \        V R,          P	                  4       VR,          4       \        V R,          P	                  4       VR,          4       R# )r   Nr"   )Nr#   Nr   NNr    )Nr  r  Nr    )Nr  r  r    N)Nr  .N)r   r   r  rU   r   r   )rY   Ds     r   test_newaxis_getr    s    "))I&..y9:A			A9%%'96)*224a8N6OP()113Q7L5MN&'//115H3IJr   c                  >   \         P                  ! ^x4      P                  R4      p \        V 4      p^;VR&   V R&   \	        VP                  4       V 4       ^;VR&   V R&   \	        VP                  4       V 4       ^;VR&   V R&   \	        VP                  4       V 4       R# )r   Nr"   )Nr  r    )r  r    N)r  Nr    )r   r  rU   r   r   r   r  rY   s     r   test_newaxis_setr    s    
		)$$Y/A!A&''AkNQ{^a &''AkNQ{^a &''AkNQ{^a r   c                     \         P                  ! ^	4      p \        V 4      pR;V^ &   V ^ &   \        VP	                  4       V 4       R;V^&   V ^&   \        VP	                  4       V 4       RR.;VR&   V R&   \        VP	                  4       V 4       . R	O;VR&   V R&   \        VP	                  4       V 4       V R,          ) ;VR&   V R&   \        VP	                  4       V 4       V R,          ) ;VR&   V R&   \        VP	                  4       V 4       V . R
O,          ) ;V. R
O&   V . R
O&   \        VP	                  4       V 4       V . RO,          ) ;V. RO&   V . RO&   \        VP	                  4       V 4       R# )rJ   r  r  r  r  Nr@   r~   r   )iiir  r!   r  )r   r  r   r   r   r  s     r   test_1d_coo_setr    sD   
		!A!AAaD1Q4a AaD1Q4a 2hAcFQsVa   AbEAbEa rUFAbEAbEa U8)#AeHqxa #$Y<-/AiL1Y<a #$Y<-/AiL1Y<a r   c                 X    W,          ) ;W&   W&   \        V P                  4       V4       R # r   r   r   rY   r  idxs   &&&r   test_2d_coo_setr    s&     vgAFQVa r   c                 J    R;W&   W&   \        V P                  4       V4       R# )c   Nr  r  s   &&&r   test_3d_coo_setr    s"     AFQVa r   scalar_containerc                 D    \        \        P                  ! V ..4      4      # r   )r	   r   r%   xs   &r   <lambda>r    s    yA3%)r   c                     V # r   rD   r  s   &r   r  r    s    qr   )idszfails in parallel)reasonc                 z    V ! R4      \         R&   R\        R&   \        \         P                  4       \        4       R# )r  Nr  r   )rY   r  r   r   )r  s   &r   test_3d_coo_singletonr    s+     $C(AiLAiLa r   z
split-intszcontiguous-ints-lastzcontiguous-ints-firstzempty-slicezsplit-2d-arrays-and-intszcontiguous-2d-arrays-and-intszsplit-1d-arrays-and-intsz,split-ints-broadcast-arrays-slice-step-not-1zcontiguous-broadcast-arrayszcontiguous-arrays-firstz!split-arrays-some-first-some-lastz$duplicate-array-entries-split-arraysz3duplicate-array-entries-contiguous-broadcast-arraysc                 V    R;W&   W&   \        V P                  4       VRV R2R7       R# )r  z

Test of: 
)err_msgNr  r  rY   r  ixmsgs   &&&&r   test_5d_coo_setr  3  s-     AEAEa;se2)>?r   c                     \         P                  ! R4      P                  R4      p \        V 4      p\	        WR8  ,          P                  4       W R8  ,          4       \	        WR8  ,          P                  4       W R8  ,          4       \	        WR8  ,          P                  4       W R8  ,          4       \	        WR8  ,          P                  4       W R8  ,          4       \	        WR8  ,          P                  4       W R8  ,          4       \	        WR8  ,          P                  4       W R8  ,          4       VR,          ^28  pVR,          ^28  pV\        ^^R4      ^.\        R^^4      V3pVP                  4       \        ^^^4      ^.\        ^ ^^4      VP                  4       3pW,          p\	        W,          P                  4       V4       \	        W,          P                  4       V4       \        ^^R4      W3\        R^^4      ^.3p\        ^^R4      VP                  4       VP                  4       \        R^^4      ^.3pW,          p\	        W,          P                  4       V4       R# )	r     i  N  r   r   r   r   r   r@   rT  r   r   r   r   )r   rT  r   r   r   )r   r  rU   r   r   r   slice)r  rY   bi0bi1r  idxnpresults          r   test_bool_getr  :  s   
		#$,,_=A!As7##%qSz2t8$$&d(4r6""$aBi0s7##%qSz2t8$$&d(4r6""$aBi0
M
R
C
M
R
CaD!A3dAq(93
?C[[]E!QNQCq!QOEXF!6*!!#V,AtcdAq(9A3
?C1as{{}eD!Q>ORSQTUEXF!6*r   c                  N   \         P                  ! R4      P                  R4      p \        V 4      pVP	                  4       V P	                  4       r2R;W3R8  &   W"R8  &   \        VP                  4       V4       VP	                  4       V P	                  4       r2R;W3R8  &   W"R8  &   \        VP                  4       V4       VP	                  4       V P	                  4       r2VR,          ^28  pV\        ^^R4      ^.\        R^^4      V3pVP                  4       \        ^^^4      ^.\        ^ ^^4      VP                  4       3pR;W6&   W%&   \        VP                  4       V4       VP	                  4       V P	                  4       r2R	;W6&   W&&   \        VP                  4       V4       R# )
r   r  Nr  r  iir  ii)r   r  rU   r   copyr   r   r  )D_origA_origrY   r  bool0r  r  s          r   test_bool_setr  U  s[   YY()11/BFvF;;=&++-q!!A#gJs7a ;;=&++-q!!A#gJs7a ;;=&++-qmr!E%1d#aS%a*;U
CC]]_eAq!nqc5Aq>5==?SEAHqva ;;=&++-qAHqxa r   )r    r   r   r#   rK   r   )r    r   r   rK   r   r   )rw   r  )r   r   r   )r   r   r   r^   )r   rJ   r   r   r   r#   )r   r   ))r   rJ   r   r#   )r   r      r   )r  )$      )r  )i8  )r  )r   r   r   r   r   r#   r   )r   r   rx   ))r   rw   )r$   rx   ))r   r   r   r   r#   r   )r    r   r   r#   r   r   )r  r  ))r  )r   )r   r   )r   r#   )r#   rJ   r   r   )rJ   r#   r   r   r#   )	)r   r   r   r#   r  r  rw   ))r   r   r   r   rK   )rK   )r   r   r   r   rw   )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   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   r   r   )r=   r  r  )r2  r3  r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   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   r#   r   rK   r   r   )r   r   r   ))r   r#   r   r   r   )r   r   r   r   rK   r   ))r   r#   r   )r   r   r   r    )r   r   r   )r  r  rt   )rP  rQ  r_   r"   )	))r    r   r#   r   )r   r   r#   r   ))r   r    r#   r   )r   r   r   r#   r   ))r    r    r   rK   rJ   )r   r#   r   r   rK   rJ   )r_   )r   r#   r   ))r   rK   r    )r   rK   r#   )r>   r  ))r    r  )r?   r"   ))r    r   r    r#   r   )rK   r   r   rJ   r#   r   ))r   r#   r   r   rK   r  r  )rJ   r#   r   r   r   ))r  r  )rK  rK  )r   r   r#   r  )r   Nr   r   r  r    r   r   r   r   r#   Nr  r   r  r   )r   r   r   ))r   r   r   r   r   r  Nr  r    r  r   r  r   )r  r~   r  r   )r  r   )r   rh  r   r   rK   r#   r@   r@   r   )r  r  r  r  r  r  r   r"  r#  r$  r%  r&  )r   r#   rK   r    r   )r  rw   )r  rx   )r   r   r   r   )r*  r   r   )ra   r   )r'  rx   )r'  r   r    )r'  r!  )r'  r   r~   )r'  r(  )r'  r   )r'  r   )r'  r   )r   NN)r   r   N)r  r    N)r  r   N)r  NN)r  r   N)rK   r   )r  NN)r   r   r   )r  r   N)r  r   N)r)  r   N)r  rw   N)r  rx   N)r*  r   N)r*  r+  N)ra   r   N)rK   r#   )r'  r,  N)r'  r-  N)r   r   )r'  r   N)r'  r   N)r   rh  r  r  )r@   r   r!   r  )r   r#   )sparsedensescalarr  r  )zall-intsr   )zellipsis-first).r   )zellipsis-last)r    .)zellipsis-middle)r    .r   r4   )r   r    r   )r   r    r   r   )r   r   r   r  )r  r  numpyr   numpy.testingr   r   rA   scipy.linalgr   scipy.sparser   r   r   scipy.sparse._csrr	   _coor
   r   r   r1   r8   rE   rH   rN   rP   r\   rj   rn   rq   r{   r   r   markparametrizer   zipr   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(  mat_vec_shapesr-  mat_mat_shapesr4  r7  r<  r>  r@  rD  
dot_shapesrF  tensordot_shapes_and_axesrH  rL  rR  r[  r]  add_sub_shapesra  rd  argmax_argmin_shapes_axisrk  max_min_shapes_axisr{  r}  r   sum_mean_paramsr  r  r  bitwise_op_and_compare_shapesr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rU   r  rY   r  Ellipsisr%   keysthread_unsafer  r  r  r  r  r  )r  r  r  s   000r   <module>rG     s      7  # I I ' 3<R@)(+8058
# "JFA  3 0% 1% L, ?@% A% -% .%8
+2B"  #; <0<0  #; <1<1  #; <%<%  #; <%<%; / 2Q R-	R-  #; <6<6  #; </</ / 2S TSTSA54  #; <<  #; <2<22 / 2K LL  #; <<  #; <	2<	22 / 2K LL
 3^D
 E
 5~F G* "%	
 /<% =%$ EQC!:sQCj!	9sQCj!	QFQF+,kIy12!g	9-.	  79RS T,*& <MN
%N
% ' %> ?%?%" ' %> ?0?0 /@	 A	 /@
 A
  *,EF
 G

  *,?@- A-*  &(;!RXXe_5iBHHW,=>0-/C.0@rxx')A	6288E?CY$@  1?C	" D	" 1?C	" D	";!  /1NOH PH"
5 /1NO% P%% /1NO	( P	(( /1NO) P) /1NO) P)	I	IA7&= K	!!0 IIeV$aL 
1aaD
1aaA'
4rAdKVQKAKXXq!fuQ~&
1Xrxx	"#XXq!frxxA'(#( *D,IDSaC[D,IJ!  K!
 IIi  +aL aQ
1d^Qa!
1XuQ1~uQ~.
4rE$Kq!Q8AaXXq!fuQ~q)XXq!fuQ~s+XXq!fuQ~rxxA'78!Q"((Aq6*+XXq!frxxA'+XXq!frxxA'!-%* *D,IDSaC[D,IJ!  K!
 )288[A%  
 "56! 7! II ((9aL  $E$4(!QdD$0GKLeAtT2E$d4KQPQSTUVq!Qat(<eD$PT>UVWU1a&dD$(?AqIJ	tQ		95	97M	tT4	 !	% %	tQ		95	97M	
E$d#	%  	tQ	y)U4t5LaP 4	
E!QNA	{aS1#sO< #	tQ	uQ1~q9+aS1#O 
sQC!oq%1a.%a:NO )
eAq!neD!T&:AaS1#O ,	tQ		95	97M	tT4	 !	% ;	q!QA	{aS1#sO<Q+Z 0RV2WRVwsAq"?RV2WX@  Y@
+6!K -J> -JH 3Xs    n,
n1
-n6