+
    ,iК                        ^ RI t ^ RIt^ RIHtHtHt ^ RIt^ RIH	t	 ^ RI
HtHt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R t]P@                  PC                  R. RWO4      R R l4       t"]P@                  PC                  R]#! . RXO. RXO4      4      R R l4       t$]P@                  PC                  R. RYO4      R R l4       t%R t&R t'R t(R t)R  t*R! t+R" t,R# t-]P@                  PC                  R$. R[O4      R% 4       t.]P@                  PC                  R$. R[O4      R& 4       t/]P@                  PC                  R$. R[O4      R' 4       t0]P@                  PC                  R$. R[O4      R( 4       t1R) t2]P@                  PC                  R\. R]O4      R* 4       t3]P@                  PC                  R$. R[O4      R+ 4       t4]P@                  PC                  R$. R[O4      R, 4       t5]P@                  PC                  R^. R`O4      R- 4       t6R. t7R/ t8]P@                  PC                  R$. R[O4      R0 4       t9]P@                  PC                  R$. R[O4      R1 4       t:R2 t;]P@                  PC                  Ra. RbO4      R3 4       t<]P@                  PC                  R$. R[O4      R4 4       t=]P@                  PC                  R$. R[O4      R5 4       t>R6 t?]P@                  PC                  Ra. RbO4      R7 4       t@. RdOtA]P@                  PC                  Re]A4      R8 4       tB. RfOtC]P@                  PC                  Rg]C4      R9 4       tDR: tER; tFR< tGR= tHR> tI. RoOtJ]P@                  PC                  Ra]J4      R? 4       tKRhRi^.^ .33RjRZ^.^ .33RcRk^ .^.33RnRl^ ^.^^.33RmRp. RqO. RrO33RsRtRuRu. RqO. RqO33.tL]P@                  PC                  Rv]L4      R@ 4       tMRA tN]P@                  PC                  Rw. RxO4      RB 4       tO]P@                  PC                  R$. RyO4      RC 4       tP]P@                  PC                  R$. RyO4      RD 4       tQ. RzOtR]P@                  PC                  Ra]R4      RE 4       tS]P@                  PC                  Ra]R4      RF 4       tT. R{OtU]P@                  PC                  R|]U4      RG 4       tV. ROtW]P@                  PC                  R|]W4      RH 4       tXRI tYRRRRRRRm^ ]P                  ! R4      3RRj^]P                  ! R4      3RRRRRRRRR}R_]P                  ! R4      3RRR}R~]P                  ! R4      3RR}Rq]P                  ! Rc4      3R.t[]P@                  PC                  R][4      RJ 4       t\]P@                  PC                  R][4      RK 4       t]RL t^. RzOt_]P@                  PC                  Ra]_4      RM 4       t`RN ta]P@                  PC                  Ra]_4      RO 4       tbRP tc]P@                  PC                  Ra]_4      RQ 4       tdRR te]P@                  PC                  Ra]_4      RS 4       tf]P@                  PC                  Ra]_4      RT 4       tgRU thRV tiR# )    N)assert_equalassert_allclosesuppress_warnings)
block_diag)	coo_arrayrandom_arraySparseEfficiencyWarning)_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      =/usr/lib/python3/dist-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_shaper7   8   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_shaperD   L   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_constructorrG   h   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   rI      r   r   r   r   r   r%   rF   s    r   test_1d_tuple_constructorrM   o   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# )rI   r3   Nr<   )r   rI   rJ   r   rK   rL   s    r   $test_1d_tuple_constructor_with_shaperO   u   sH    
aUaUH%T
2C99 67r   c                  :   \        R4      p \        P                  ! \        RR7      ;_uu_ 4        ^V R&   RRR4       \        P                  ! \        RR7      ;_uu_ 4        V R,           RRR4       R#   + '       g   i     LH; i  + '       g   i     R# ; i)r   z3'coo_array' object does not support item assignmentr:   Nz''coo_array' object is not subscriptable)r   r   r   r   )r   NNN)r   r@   rA   	TypeError)coo_2ds    r   test_non_subscriptabilityrU   z   s    vF	yS
U 
Ut
U 
yF
H 
Ht
H 
H	
U 
U
H 
H 
Hs   A6"
B	6B		B	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coordsrX   )MNr[   ABCs         r   test_reshape_overflowra      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   rZ   r   r   r   r%   r@   rA   rB   )arr1dcol_vecrow_vecarr2dflat	to_3d_arrs         r   test_reshapero      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    Nrc   r   rg   rh   r$   )r   r   nnzri   rl   s     r   test_nnzrs      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    Nrc   r   rg   rh   r   )r   Tr   r   r   r   r%   rr   s     r   test_transposerv      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 transposerc   r   r   rg   rh   r   r    r$   r    r    )
r   	transposer   r   r   r   r%   r@   rA   rB   rr   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_likerX   flags	writeablelenr[   r@   rA   rB   rL   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tolilr@   rA   rB   tocootocsrtodokr   r   )rF   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   denrF   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   Nrc   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   Nrc   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   rq   r   r   r   r%   sum_duplicates)ri   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   rq   count_nonzeror   r   r   r%   eliminate_zerosr   r   )ri   s    r   test_eliminate_zerosr   2  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exprF   s       r   test_1d_add_denser   ?  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   H  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   Q  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%   ru   r   r   r   )r   otherr   rF   s       r   test_1d_matmul_multivectorr   Z  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   ru   r   r   list)r   rl   r   rF   r   r   ri   s          r   test_2d_matmul_multivectorr   c  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%   r@   rA   rB   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_arrrF   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   rF   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   )r@   rA   rB   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rngrX   N)	r   r&   default_rngr   r   r   r   rZ   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   rq   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   ru   r   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   rx   N)r   r&   r   r   r   r   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)
rz   r:   rx   Nr{   rc   r}   rg   rh   r~   )r@   rA   rB   r   r   rC   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   rq   r   r   r   r   r%   r   r   r   r[   )arr3dr[   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   rF   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   r9   r:   Nr   r&   r   r   r   r@   rA   rB   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$  ;  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&  H  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(  V  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*  _  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   rF   s	   &&       r   test_nd_matmul_vectorr/  v  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_staterX   Nr,  )	
mat_shape1
mat_shape2r   r	  r
  r  r  r   rF   s	   &&       r   test_nd_matmulr6    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   r2  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   r@   rA   rB   r   )r   r	  r
  sp_zs       r   .test_nd_matmul_sparse_with_inconsistent_arraysr9    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   rF   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   r;  r   r   r   )r<  r=  rF   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   r@   rA   rB   r;  )r  r  s     r   !test_dot_with_inconsistent_shapesrB    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   r@   rA   rS   r;  	tensordot)r  s    r   test_matmul_dot_not_implementedrE    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# r1  )	r   r&   r   r   r   r;  r   r   r   )r  r  r   r  r  r   rF   s   &&     r   test_dot_ndrG    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   r2  rx   N)r   r&   r   r   r   rD  r   r   r   r   r   )r  r  ry   r   r  r  r   rF   s   &&&     r   test_tensordotrI    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   r2  z*sizes of the corresponding axes must matchr:   rx   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   r@   rA   rB   rD  )r   r  r  ry   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# r1  )	r   r&   r   r   r   _broadcast_tobroadcast_tor   r   )actual_shapebroadcast_shaper   r   rF   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   r2  NrR   r   )r   r&   r   r   r   r   prodr   rZ   ranger   r
   r   )
r   r   r	  r  
num_slicesreshaped_arrayimatricesr   rF   s
   &         r   test_block_diagrZ  9  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# r1  )	r   r&   r   r   r   r   r
   r   r   )r   r   r	  rF   s   &   r   test_extract_block_diagr\  L  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# r1  )r   r&   r   r   r   addr   r   r  r  r   r<  r=  rF   r   s   &&     r   test_add_no_broadcastingr`  Y  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# r1  )r   r&   r   r   r   subtractr   r   r_  s   &&     r   test_sub_no_broadcastingrc  e  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   r2  axisN)	r   r&   r   r   r   argmaxr   r   argmin)r   rg  r   r<  rF   r   s   &&    r   test_argmax_argminrj  z  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# re  )r   r&   r   r   r   minr   maxnanminnanmax
issubdtyper   numberr   )r   rg  r   r<  res_minexp_minres_maxexp_max
res_nanmin
exp_nanmin
res_nanmax
exp_nanmaxrF   r   s   &&            r   test_min_maxrz    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   rl  rm  )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   r2  )rg  outrf  N)	r   r&   r   r   r   sumr   r   idr   rg  r  r   r<  rF   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   r2  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\        4       pVP	                  \
        4       \        V RV\        R7      p\        VRV\        R7      pV;_uu_ 4        \        WE8H  P                  4       VP                  4       VP                  4       8H  4       \        WE8g  P                  4       VP                  4       VP                  4       8g  4       \        WE8  P                  4       VP                  4       VP                  4       8  4       \        WE8*  P                  4       VP                  4       VP                  4       8*  4       \        WE8  P                  4       VP                  4       VP                  4       8  4       \        WE8  P                  4       VP                  4       VP                  4       8  4       \        WE8H  P                  4       \         P                  ! WE8g  P                  4       4      4       \        WE8  P                  4       \         P                  ! WE8  P                  4       4      4       \        WE8*  P                  4       \         P                  ! WE8  P                  4       4      4       RRR4       R#   + '       g   i     R# ; ir1  )r   r&   r   r   filterr	   r   r   r   r   bitwise_not)r  r  r   supr<  r=  s   &&    r   test_boolean_comparisonsr    s   
))


)C

CJJ&'Wc3GAWc3GA	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 \        4       pVP	                  \
        4       \        RRV \        R7      pV;_uu_ 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   r2  N)r#   r   rJ   r   )
r   r&   r   r   r  r	   r   r   r   r   )r   r  r<  s      r   $test_boolean_comparisons_with_scalarr    s   
))


)C

CJJ&'Y#SIA	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   DE;;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# r1  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   r2  N)r   r#   r   r  r   r<  rF   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# r1  )r   r&   r   r   r   arangemathrT  rZ   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\        4       pVP	                  \
        4       \        V RV\        R7      p\        VRV\        R7      pV;_uu_ 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r1  )r   r&   r   r   r  r	   r   r   maximumr   r   r  r  r   r  r<  r=  rF   r   s   &&      r   test_maximumr  0      
))


)C

CJJ&'Wc3GAWc3GA	iiljjaiik2S[[]C( 
   /ACC)	c                    \         P                  P                  R 4      p\        4       pVP	                  \
        4       \        V RV\        R7      p\        VRV\        R7      pV;_uu_ 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r1  )r   r&   r   r   r  r	   r   r   minimumr   r   r  s   &&      r   test_minimumr  <  r  r  c            	         \        4       p V P                  \        4       \        . RO4      p\        ^^ .^^.^ R..4      p\        ^^ .^^..^^	.R^...^^.^^ ..^ ^.^ R....4      pV ;_uu_ 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   N)r   r    r   ir   i)r   r  r	   r   r   r  r   r   r  r<  r=  cs       r   test_maximum_with_scalarr  I  "   

CJJ&''AB7RGaX./AaUQqENaURG$45UQqENaUQrFO46 	7A	QYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GHQYYq\))+RZZ		Q-GH 
   4C%E##E4	c            	         \        4       p V P                  \        4       \        . RO4      p\        ^^ .^^.^ R..4      p\        ^^ .^^..^^	.R^...^^.^^ ..^ ^.^ R....4      pV ;_uu_ 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  s       r   test_minimum_with_scalarr  U  r  r  )r    r   r   r#   rJ   r   )r    r   r   rJ   r   )r|   r  )r   r   r  )r   r   r   rc   )r   rI   r   r   r   r#   )r   r   ))r   rI   r   r#   )r   r      r   )r  )$      )r  )i8  )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#   rI   r   r   )rI   r#   r   r   r#   )	)r   r   r   r#   r  rQ   r|   ))r   r   r   r   rJ   )rJ   )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   rJ   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  )r4  r5  r   r   r   r   r   r   r   r   r   r   r#   r   r   r   r   r   r   rJ   r   r   r#   r   r   )
)re   re   )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   rJ   r   r   )r   r   r   ))r   r#   r   r   r   )r   r   r   r   rJ   r   ))r   r#   r   )r   r   r   r    )r   r   r   )r  r  ry   )rP  rQ  )	))r    r   r#   r   )r   r   r#   r   ))r   r    r#   r   )r   r   r   r#   r   ))r    r    r   rJ   rI   )r   r#   r   r   rJ   rI   )rd   )r   r#   r   ))r   rJ   r    )r   rJ   r#   )r=   r   r   ))r    r  )r>   r"   ))r    r   r    r#   r   )rJ   r   r   rI   r#   r   ))r   r#   r   r   rJ   r  r  )rI   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   rg  r   r   rJ   r#   r?   r   )r  r  r  r  r  r  r  r  r  r  r  r  )r   r#   rJ   r    r   )r  r|   )r  r}   )r   r   r   r   )r  r   r   )rf   r   )r  r}   )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)rJ   r   )r  NN)r   r   r   )r  r   N)r  r   N)r  r   N)r  r|   N)r  r}   N)r  r   N)r  r  N)rf   r   N)rJ   r#   )r  r  N)r  r  N)r   r   )r  r   N)r  r   N)r   rg  r  )jr  numpyr   numpy.testingr   r   r   r@   scipy.linalgr   scipy.sparser   r   r	   _coor
   r   r   r1   r7   rD   rG   rM   rO   rU   ra   ro   rs   rv   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_shapesr6  r9  r>  r@  rB  rE  
dot_shapesrG  tensordot_shapes_and_axesrI  rL  rR  rZ  r\  add_sub_shapesr`  rc  argmax_argmin_shapes_axisrj  max_min_shapes_axisrz  r|  r   sum_mean_paramsr  r  r  bitwise_op_and_compare_shapesr  r  r  r  r  r  r  r  r  r  rC   r   r   <module>r     s     J J  # 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r   