Ë
    çÿæið¼  ã                   óx  — d dl Z d dlZd dlZd dlmZmZ d dlZd dlm	Z	 d dl
mZmZmZ d dlmZ ddlmZmZ d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z ejB                  jE                  dg d¢«      de#fd„«       Z$ejB                  jE                  d e%g d¢g d¢«      «      de&e#e#f   fd„«       Z'ejB                  jE                  dg d¢«      de#fd„«       Z(d„ Z)d„ Z*d„ Z+d „ Z,d!„ Z-d"„ Z.d#„ Z/d$„ Z0ejB                  jE                  d%g d&¢«      d'„ «       Z1ejB                  jE                  d%g d&¢«      d(„ «       Z2ejB                  jE                  d%g d&¢«      d)„ «       Z3ejB                  jE                  d%g d&¢«      d*„ «       Z4d+„ Z5ejB                  jE                  d,g d-¢«      d.„ «       Z6ejB                  jE                  d%g d&¢«      d/„ «       Z7ejB                  jE                  d%g d&¢«      d0„ «       Z8ejB                  jE                  d1g d2¢«      d3„ «       Z9d4„ Z:d5„ Z;ejB                  jE                  d%g d&¢«      d6„ «       Z<ejB                  jE                  d%g d&¢«      d7„ «       Z=d8„ Z>ejB                  jE                  d9g d:¢«      d;„ «       Z?ejB                  jE                  d%g d&¢«      d<„ «       Z@ejB                  jE                  d%g d&¢«      d=„ «       ZAd>„ ZBejB                  jE                  d9g d:¢«      d?„ «       ZCg d@¢ZDejB                  jE                  dAeD«      dB„ «       ZEg dC¢ZFejB                  jE                  dDeF«      dE„ «       ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLg dK¢ZMejB                  jE                  d9eM«      dL„ «       ZNdMdNdOgd gffdPdQdRgd gffdSdTd gdgffdUdVd dRgdRdgffdWdXg dY¢g dZ¢ffd[d\d]d]g dY¢g dY¢ffgZOejB                  jE                  d^eO«      d_„ «       ZPd`„ ZQejB                  jE                  dag db¢«      dc„ «       ZRejB                  jE                  d%g dd¢«      de„ «       ZSejB                  jE                  d%g dd¢«      df„ «       ZTg dg¢ZUejB                  jE                  d9eU«      dh„ «       ZVejB                  jE                  d9eU«      di„ «       ZWg dj¢ZXejB                  jE                  dkeX«      dl„ «       ZYg dm¢ZZejB                  jE                  dkeZ«      dn„ «       Z[do„ Z\dpdqdrdsdtdudWd  ejº                  dv«      fdwdPdO ejº                  dx«      fdydzd{d|d}d~dd€d�d‚ ejº                  dƒ«      fd„d…d�d† ejº                  d‡«      fdˆd�dY ejº                  dS«      fd‰gZ^ejB                  jE                  dŠe^«      d‹„ «       Z_ejB                  jE                  dŠe^«      dŒ„ «       Z`d�„ Zag dg¢ZbejB                  jE                  d9eb«      dŽ„ «       Zcd�„ ZdejB                  jE                  d9eb«      d�„ «       Zed‘„ ZfejB                  jE                  d9eb«      d’„ «       Zgd“„ ZhejB                  jE                  d9eb«      d”„ «       ZiejB                  jE                  d9eb«      d•„ «       Zjd–„ Zkd—„ Zld˜„ Zmd™„ Zndš„ Zod›„ Zpdœ„ Zqd�„ Zr ejæ                  dž«      jé                  dŸ«      Zu eeu«      Zvd d¡ ewdOdRd«      d fd ewdOdRd«      f ewdOdRd«       ewdOd¢dR«      f ewddd£«      dfdO ewd«      fexfdOdRgd fddOdgf ejò                  dOdRg«       ewdOd«      f ewd«       ejò                  g d¤¢«      f ejò                  dOdRg«       ejò                  d dg«      fgZzejB                  jE                  g d¥¢ezD � cg c]  } eveu| f‘Œ	 c} «      ejB                  jö                  d¦„ «       «       Z| ejæ                  d§«      jé                  d¨«      Zu eeu«      Zvd©dªd  ewdOdR«      d f ewdRd«      dR ewd«      f ewd«       ewdOd¢d«       ewdOd«      f ewddd£«       ewd«       ewdOd¢d«      fexddOdg ewdR«      f ejò                  dOdRg«       ewdOd«      d f ejò                  dOdRg«       ewdOd«      d gf ejò                  dOdRg«       ewdOd«       ejò                  dd«g«      fd ejò                  dOdRg«       ejò                  dd«g«      f ejò                  dOdRg«       ejò                  dd«g«      dOf ejò                  dOdRg«       ejò                  dd«g«      dgfgZzejB                  jE                  g d¥¢ezD � cg c]  } eveu| f‘Œ	 c} «      ejB                  jö                  d¬„ «       «       Z}ejB                  jE                  d­d®„ ejò                  d¯„ gg d°¢¬±«      ejB                  j÷                  d²¬³«      d´„ «       «       Z~ ejæ                  dµ«      jé                  d¶«      Zu eeu«      Zvd·d¸d¹dºd» ewdd«d«      ddO ewddd«      dOffd¼ ewd«dd«       ewddd«      ddOdOffd½ddOdO ewd«dd«       ewddd«      ffd¾ ewd«d«d«       ewddd«      ddOdOffd¿ ewdd«d«      g dÀ¢g dÁ¢gg dÂ¢g dÃ¢g ewddd«      d ffdÄ ewdd«d«      g dÂ¢g dÁ¢gg dÂ¢g dÃ¢gdO ewddd«      ffdÅ ewdd«d«      g dÂ¢g dÂ¢ ewddd«      dOffdÆd  ewdOd«d«      dOg dÂ¢gdgdOgd ggffdÇ ewddRd«       ewdOd«d«      dOg dÂ¢gdgdOgd ggffdÈg dÂ¢gdgdOgd ggd  ewdOd«d«       ewddRd«      ffdÉg dÂ¢g ewdOd«d«       ewddRd«      d dgdOgd ggffdÊ ewdd«d«      g dÂ¢g dÀ¢gg dÂ¢g dË¢g ewddd«      dOffdÌ ewdOd«d«      d dOg dÀ¢gdgdOgdOggffgZzejB                  jE                  g dÍ¢ezD ��cg c]  \  }}eveu||f‘Œ c}}«      ejB                  jö                  dÎ„ «       «       ZdÏ„ Z€dÐ„ Z�yc c} w c c} w c c}}w )Ñé    N)Úassert_equalÚassert_allclose)Ú
block_diag)Ú	coo_arrayÚrandom_arrayÚSparseEfficiencyWarning)Ú	csr_arrayé   )Ú_block_diagÚ_extract_block_diagc                  óº  — t        d«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  d«      «       t        d«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  d«      «       t        d«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  d«      «       y )N©é   ©r   r
   )r
   r   é   é   é   ©r   Úshaper   ÚtoarrayÚnpÚzeros)Úempty1dÚempty2dÚempty_nds      úp/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/scipy/sparse/tests/test_coo.pyÚtest_shape_constructorr      s¤   € Ü˜‹o€GØ�=‰=˜DÒ Ð Ð Ü�—‘Ó"¤B§H¡H¨T£NÔ3ä˜Ó€GØ�=‰=˜FÒ"Ð"Ð"Ü�—‘Ó"¤B§H¡H¨VÓ$4Ô5ä˜Ó%€HØ�>‰>˜[Ò(Ð(Ð(Ü�×!Ñ!Ó#¤R§X¡X¨kÓ%:Õ;ó    c                  ó*  — t        g d¢«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  g d¢«      «       t        g d¢g d¢g«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  g d¢g d¢g«      «       t	        j
                  ddgddggd	d
gddgggddgddggdd
gdd	gggddgddggddgddgggg«      }t        |«      }|j                  dk(  sJ ‚t        |j                  «       |«       t        j                  j                  d«       t        j                  j                  ddddd	d
ddd«	      }t        |«      }|j                  dk(  sJ ‚t        |j                  «       |«       t        dt        j                  ggddggd
d	ggg«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  dt        j                  ggddggd
d	ggg«      «       y )N©é   r
   r   r   ©r   é   r   ©r
   r   r   r   r!   r   r   r#   é	   r
   r   é   )r   r
   r
   r
   é   )	r
   r   r   r   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_constructorr4      só  € ä’iÓ €EØ�;‰;˜$ÒÐÐÜ�—‘“¤"§(¡(ª9Ó"5Ô6ô ’y¢)Ð,Ó-€EØ�;‰;˜&Ò Ð Ð Ü�—‘“¤"§(¡(ªI²yÐ+AÓ"BÔCô �H‰H˜˜A˜  A Ð'¨1¨a¨&°1°a°&Ð)9Ð:Ø˜A˜  A Ð'¨1¨a¨&°1°a°&Ð)9Ð:Ø˜A˜  A Ð'¨1¨a¨&°1°a°&Ð)9Ð:ð<ó =€Eô �eÓ€EØ�;‰;˜,Ò&Ð&Ð&Ü�—‘“ %Ô(ô ‡I�I‡N�N�2ÔÜ�I‰I�O‰O˜A˜a  ! A a¨¨!¨AÓ.€EÜ�eÓ€EØ�;‰;Ð-Ò-Ð-Ð-Ü�—‘“ %Ô(ô ˜!œRŸV™V˜˜¨¨A¨ x°1°a°&°Ð:Ó;€FØ�<‰<˜9Ò$Ð$Ð$Ü�—‘Ó!¤2§8¡8¨q´"·&±&¨k¨]¸aÀ¸V¸HÈÈ1ÀvÀhÐ,OÓ#PÕQr   c            	      óö  — t        g d¢d¬«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  g d¢«      «       t        g d¢g d¢gd¬«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  g d¢g d¢g«      «       t        dggdgggd¬«      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  dggdggg«      «       t        j                  j                  d	«       t        j                  j                  d
dddddd
«      }t        |d¬«      }|j                  dk(  sJ ‚t        |j                  «       |«       y )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   r   r   r(   r)   r*   r+   )r-   r.   Úres3dÚarr7dÚres7ds        r   Ú!test_dense_constructor_with_shaper;   ;   s%  € Ü’i tÔ,€EØ�;‰;˜$ÒÐÐÜ�—‘“¤"§(¡(ª9Ó"5Ô6ä’y¢)Ð,°FÔ;€EØ�;‰;˜&Ò Ð Ð Ü�—‘“¤"§(¡(ªI²yÐ+AÓ"BÔCä˜˜�u ˜s˜e�n¨IÔ6€EØ�;‰;˜)Ò#Ð#Ð#Ü�—‘“¤"§(¡(¨a¨S¨E°Q°C°5¨>Ó":Ô;ä‡I�I‡N�N�2ÔÜ�I‰I�O‰O˜A˜a  ! A a¨Ó*€EÜ�u _Ô5€EØ�;‰;˜/Ò)Ð)Ð)Ü�—‘“ %Õ(r   c                  ó.  — t        j                  t        d¬«      5  t        g d¢d¬«       d d d «       t        j                  t        d¬«      5  t        g d¢d¬«       d d d «       t        j                  t        d¬«      5  t        g d¢gd¬«       d d d «       t        j                  t        d¬«      5  t        dggd	gggd
¬«       d d d «       t        j                  t        d¬«      5  t        dgdgffd¬«       d d d «       t        j                  t        d¬«      5  t        ddgddgddgddgffd¬«       d d d «       t        j                  t        d¬«      5  t        dgdgff«       d d d «       t        j                  t        d¬«      5  t        dgdgdgdgff«       d d d «       y # 1 sw Y   �Œ‰xY w# 1 sw Y   �ŒcxY w# 1 sw Y   �Œ<xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒèxY w# 1 sw Y   Œ¶xY w# 1 sw Y   ŒŽxY w# 1 sw Y   y xY w)Núinconsistent shapes©Úmatchr    ©r   r6   ©r   r!   r   r   r   ©r!   r!   r!   z)axis 0 index 2 exceeds matrix dimension 2r!   r
   )r
   z)axis 1 index 3 exceeds matrix dimension 3r   )r
   r   r
   znegative axis 0 index: -1éÿÿÿÿznegative axis 2 index: -1)ÚpytestÚraisesÚ
ValueErrorr   © r   r   Ú.test_dense_constructor_with_inconsistent_shaperH   O   sµ  € Ü	�‰”zÐ)>Ö	?Ü’) 4Õ(÷ 
@ô 
�‰”zÐ)>Ö	?Ü’) 6Õ*÷ 
@ô 
�‰”zÐ)>Ö	?Ü’9�+ TÕ*÷ 
@ô 
�‰”zÐ)>Ö	?Ü�Q�C�5˜A˜3˜%�.¨	Õ2÷ 
@ô 
�‰”zØHö
Jä�A�3˜!˜˜�- tÕ,÷
Jô 
�‰”zØHö
Jä�A�a�5˜A˜q˜6 A q 6¨A¨q¨6Ð2Ð3¸9ÕE÷
Jô 
�‰”zÐ)DÖ	EÜ�A�3˜"˜˜�.Ô!÷ 
Fô 
�‰”zÐ)DÖ	EÜ�A�3˜!˜˜q˜c B 4Ð(Ð)Ô*÷ 
FÐ	E÷/ 
@Ñ	?ú÷ 
@Ñ	?ú÷ 
@Ñ	?ú÷ 
@Ñ	?ú÷
Jð 
Jú÷
Jð 
Jú÷ 
FÐ	Eú÷ 
FÐ	Eús_   œF3ÁG ÂGÂ6GÃ-G'Ä#G3Å!G?ÆHÆ3F=Ç G
ÇGÇG$Ç'G0Ç3G<Ç?HÈHc                  ó¬   — t        d«      } t        | «      }|j                  dk(  sJ ‚t        |j                  «       t	        j
                  d«      «       y )Nr   r   )r   Úress     r   Útest_1d_sparse_constructorrK   k   s?   € Ü˜‹o€GÜ
�GÓ
€CØ�9‰9˜ÒÐÐÜ�—‘“¤§¡¨£Õ/r   c                  ó¨   — t        ddgddgff«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  g d¢«      «       y )Nr%   r&   r!   r
   r   )r   r%   r&   ©r   r   r   r   r   r(   ©rJ   s    r   Útest_1d_tuple_constructorrO   r   sF   € Ü
�a˜�U˜a ˜U˜HÐ%Ó
&€CØ�9‰9˜ÒÐÐÜ�—‘“¤§¡ªÓ 3Õ4r   c                  ó¬   — t        ddgddgffd¬«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  g d¢«      «       y )Nr%   r&   r!   r
   r@   r6   )r   r%   r&   r   rM   rN   s    r   Ú$test_1d_tuple_constructor_with_shaperQ   x   sH   € Ü
�a˜�U˜a ˜U˜HÐ%¨TÔ
2€CØ�9‰9˜ÒÐÐÜ�—‘“¤§¡ªÓ 6Õ7r   c                  ó   — d\  } }t        j                  | dz
  gd¬«      t        j                  |dz
  gd¬«      f}t        dg|f| |f¬«      }|j                  | |z  df«      }|j                  d   j
                  t        j
                  d«      k(  sJ ‚|j                  d   d   | |z  dz
  k(  sJ ‚|j                  || «      }|j                  d   j
                  t        j
                  d«      k(  sJ ‚|j                  d   d   |dz
  k(  sJ ‚y )	N)iô iü r!   Úint32)Údtypegffffff
@r6   r   Úint64)r   r(   r   ÚreshapeÚcoordsrT   )ÚMÚNrW   ÚAÚBÚCs         r   Útest_reshape_overflowr]   }   s   € à�D€A€qÜ�h‰h˜˜A™�w gÔ.´·±¸!¸a¹%¸ÈÔ0PÐQ€FÜ�C�5˜&�/¨!¨Q¨Ô0€Að 	
�	‰	�1�q‘5˜!�*Ó€AØ�8‰8�A‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1Ø�8‰8�A‰;�q‰>˜a !™e q™[Ò(Ð(Ð(ð 	
�	‰	�!�Q‹€AØ�8‰8�A‰;×Ñ¤§¡¨Ó 1Ò1Ð1Ð1Ø�8‰8�A‰;�q‰>˜Q ™UÒ"Ð"Ñ"r   c            	      ó¸  — t        g d¢«      } | j                  dk(  sJ ‚| j                  d«      }|j                  dk(  sJ ‚t        |j	                  «       t        j                  dgdgdgg«      «       | j                  d«      }|j                  dk(  sJ ‚t        |j	                  «       t        j                  g d¢g«      «       t        j                  t        d¬	«      5  | j                  d
«       d d d «       t        j                  t        d¬	«      5  | j                  d«       d d d «       t        g d¢g d¢g«      }|j                  dk(  sJ ‚|j                  d«      }|j                  dk(  sJ ‚t        |j	                  «       t        j                  g d¢«      «       |j                  d«      }|j                  dk(  sJ ‚t        |j	                  «       t        j                  dgdgdggdgdgdggg«      «       t        j                  t        d¬	«      5  |j                  d«       d d d «       y # 1 sw Y   �ŒExY w# 1 sw Y   �ŒxY w# 1 sw Y   y xY w)N©r!   r   r   r   rA   r!   r   r   ©r!   r   zcannot reshape arrayr>   ©r   r   ©r   r   ©r!   r
   r   ©r   r   r   r$   )r   )r!   r
   r   r   r   r   )r
   r   r!   r
   )
r   r   rV   r   r   r   r(   rD   rE   rF   )Úarr1dÚcol_vecÚrow_vecÚarr2dÚflatÚ	to_3d_arrs         r   Útest_reshaperk   �   sâ  € Ü’iÓ €EØ�;‰;˜$ÒÐÐà�m‰m˜FÓ#€GØ�=‰=˜FÒ"Ð"Ð"Ü�—‘Ó"¤B§H¡H¨q¨c°A°3¸¸¨_Ó$=Ô>à�m‰m˜FÓ#€GØ�=‰=˜FÒ"Ð"Ð"Ü�—‘Ó"¤B§H¡Hªi¨[Ó$9Ô:ô 
�‰”zÐ)?Ö	@Ø�‰�eÔ÷ 
Aô 
�‰”zÐ)?Ö	@Ø�‰�eÔ÷ 
Aô ’y¢)Ð,Ó-€EØ�;‰;˜&Ò Ð Ð à�=‰=˜Ó€DØ�:‰:˜ÒÐÐÜ�—‘“¤§¡Ò*<Ó!=Ô>ð —‘˜iÓ(€IØ�?‰?˜iÒ'Ð'Ð'Ü�×"Ñ"Ó$¤b§h¡h°!°°q°c¸A¸3°À1À#ÈÀsÈQÈCÀÐ/QÓ&RÔSô 
�‰”zÐ)?Ö	@Ø�‰�eÔ÷ 
AÐ	@÷) 
AÑ	@ú÷ 
AÑ	@ú÷  
AÐ	@ús$   Ã!H6ÄIÈIÈ6I ÉIÉIc                  óÈ   — t        g d¢«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚t        g d¢g d¢g«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )Nr_   r   r
   rc   rd   r$   r   )r   r   Únnz©re   rh   s     r   Útest_nnzro   ²   s_   € Ü’iÓ €EØ�;‰;˜$ÒÐÐØ�9‰9˜Š>Ðˆ>ä’y¢)Ð,Ó-€EØ�;‰;˜&Ò Ð Ð Ø�9‰9˜Š>Ð‰>r   c            	      óv  — t        g d¢«      j                  } | j                  dk(  sJ ‚t        | j	                  «       t        j                  g d¢«      «       t        g d¢g d¢g«      j                  }|j                  dk(  sJ ‚t        |j	                  «       t        j                  ddgddgdd	gg«      «       y )
Nr_   r   rc   rd   r   r!   r   r
   r   )r   ÚTr   r   r   r   r(   rn   s     r   Útest_transposerr   ¼   s�   € Ü’iÓ ×"Ñ"€EØ�;‰;˜$ÒÐÐÜ�—‘“¤"§(¡(ª9Ó"5Ô6ä’y¢)Ð,Ó-×/Ñ/€EØ�;‰;˜&Ò Ð Ð Ü�—‘“¤"§(¡(¨Q°¨F°Q¸°F¸QÀ¸FÐ+CÓ"DÕEr   c                  óÄ  — t        g d¢«      j                  d¬«      } | j                  dk(  sJ ‚t        | j	                  «       t        j                  g d¢«      «       t        g d¢g d¢g«      j                  d¬«      }|j                  dk(  sJ ‚t        |j	                  «       t        j                  g d¢g d¢g«      «       t        j                  t        d	¬
«      5  t        g d¢«      j                  d¬«       d d d «       t        j                  t        d¬
«      5  t        g d¢g d¢g«      j                  d¬«       d d d «       y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)Nr_   ©r   ©Úaxesr   rc   rd   ©r   r!   r$   ú"axes don't match matrix dimensionsr>   úrepeated axis in transpose©r!   r!   )
r   Ú	transposer   r   r   r   r(   rD   rE   rF   rn   s     r   Útest_transpose_with_axisr|   Æ   s  € Ü’iÓ ×*Ñ*°Ð*Ó5€EØ�;‰;˜$ÒÐÐÜ�—‘“¤"§(¡(ª9Ó"5Ô6ä’y¢)Ð,Ó-×7Ñ7¸VÐ7ÓD€EØ�;‰;˜&Ò Ð Ð Ü�—‘“¤"§(¡(ªI²yÐ+AÓ"BÔCä	�‰”zÐ)MÖ	NÜ’)Ó×&Ñ&¨FÐ&Ô3÷ 
Oô 
�‰”zÐ)EÖ	FÜ’9šiÐ(Ó)×3Ñ3¸Ð3Ô@÷ 
GÐ	F÷ 
OÐ	Nú÷ 
GÐ	Fús   ÃE
Ä"EÅ
EÅEc                  óì  — t        g d¢«      } t        | j                  t        j                  g d¢«      «       t        | j
                  t        j                  | j                  «      «       | j
                  j                  | j                  j                  k(  sJ ‚| j
                  j                  j                  du sJ ‚g d¢| _        t        | j                  «      dk(  sJ ‚t        | j                  t        j                  g d¢«      «       | j
                  j                  | j                  j                  k(  sJ ‚t        j                  t        d¬«      5  g d¢| _        d d d «       y # 1 sw Y   y xY w)N©r!   éþÿÿÿéýÿÿÿ©r   r!   r
   Fr    r!   zcannot set row attributer>   )r   r   Úcolr   r(   ÚrowÚ
zeros_likerT   ÚflagsÚ	writeableÚlenrW   rD   rE   rF   rN   s    r   Útest_1d_row_and_colrˆ   Ö   sí   € Ü
’KÓ
 €CÜ�—‘œ"Ÿ(™(¢9Ó-Ô.Ü�—‘œ"Ÿ-™-¨¯©Ó0Ô1Ø�7‰7�=‰=˜CŸG™GŸM™MÒ)Ð)Ð)Ø�7‰7�=‰=×"Ñ" eÑ+Ð+Ð+â€C„GÜˆs�z‰z‹?˜aÒÐÐÜ�—‘œ"Ÿ(™(¢9Ó-Ô.Ø�7‰7�=‰=˜CŸG™GŸM™MÒ)Ð)Ð)ä	�‰”zÐ)CÖ	DÚˆŒ÷ 
E×	DÑ	Dús   Å
E*Å*E3c                  óœ  — t        g d¢«      } | j                  | j                  | j                  | j                  fD ]-  }t        j                  t        d¬«      5   |«        d d d «       Œ/ | j                  | j                  | j                  fD ]/  }t         |«       j                  «       | j                  «       «       Œ1 y # 1 sw Y   Œ�xY w)Nr~   zCannot convertr>   )r   ÚtobsrÚtocscÚtodiaÚtolilrD   rE   rF   ÚtocooÚtocsrÚtodokr   r   )rJ   Úfs     r   Útest_1d_toformatsr’   æ   s‹   € Ü
’KÓ
 €CØ�i‰i˜Ÿ™ C§I¡I¨s¯y©yÓ9ˆÜ�]‰]œ:Ð-=Ö>ÙŒC÷ ?Ð>ð :ð �i‰i˜Ÿ™ C§I¡IÓ.ˆÜ‘Q“S—[‘[“] C§K¡K£MÕ2ñ /÷ ?Ð>ús   ÁCÃC	Úarg)r!   r
   r   r#   r&   c                 óú   — t        j                  g d¢«      }t        |«      }|j                  | d¬«       |j                  | «       |j                  |j                  k(  sJ ‚t        |j                  «       |«       y )Nr~   F©Úrefcheck©r   r(   r   Úresizer   r   r   ©r“   ÚdenrJ   s      r   Útest_1d_resizer›   ï   sZ   € ä
�(‰(’;Ó
€CÜ
�C‹.€CØ‡J�Jˆs˜U€JÔ#Ø‡J�Jˆs„OØ�9‰9˜Ÿ	™	Ò!Ð!Ð!Ü�—‘“ Õ$r   ©r!   r
   r   r   c                 óú   — t        j                  g d¢«      }t        |«      }|j                  | d¬«       |j                  | «       |j                  |j                  k(  sJ ‚t        |j                  «       |«       y )Nr_   Fr•   r—   r™   s      r   Útest_1d_to_2d_resizerž   ù   sZ   € ä
�(‰(’9Ó
€CÜ
�C‹.€Cà‡J�Jˆs˜U€JÔ#Ø‡J�Jˆs„OØ�9‰9˜Ÿ	™	Ò!Ð!Ð!Ü�—‘“ Õ$r   )r!   r   r   r&   c                 ó  — t        j                  g d¢g d¢g«      }t        |«      }|j                  | d¬«       |j                  | «       |j                  |j                  k(  sJ ‚t        |j                  «       |«       y )Nr_   ©r   r   r   Fr•   r—   r™   s      r   Útest_2d_to_1d_resizer¡     s_   € ä
�(‰(’IšyÐ)Ó
*€CÜ
�C‹.€CØ‡J�Jˆs˜U€JÔ#Ø‡J�Jˆs„OØ�9‰9˜Ÿ	™	Ò!Ð!Ð!Ü�—‘“ Õ$r   c            	      óx  — t        g d¢g d¢ff«      } | j                  dk(  sJ ‚t        | j                  «       t	        j
                  ddg«      «       | j                  «        | j                  dk(  sJ ‚t        | j                  «       t	        j
                  ddg«      «       t        g d¢g d¢g d¢g d¢g d¢ff«      }|j                  dk(  sJ ‚t	        j
                  d	d	gd	d	gd	d	ggd	d	gd	d	gd	d	ggd	d	gd	d	gdd	gggd	d	gd	d
gd	d	ggd	d	gd	d	gd	d	ggd	d	gd	d	gd	d	gggg«      }t        |j                  «       |«       |j                  «        |j                  dk(  sJ ‚t        |j                  «       |«       t        g d¢g d¢ff«      }|j                  dk(  sJ ‚|j                  «        |j                  dk(  sJ ‚y )N)r
   r
   r
   ©r!   r   r!   r   r
   r   )r
   r   r   )r   r
   r   ©r!   r
   r!   r   r%   rœ   ©r   r!   r
   r   )r   rm   r   r   r   r(   Úsum_duplicates)re   r/   ÚexpectedÚ
arr_nodupss       r   Útest_sum_duplicatesr©     sÂ  € ä’y¢9 ,Ð/Ó0€EØ�9‰9˜Š>Ðˆ>Ü�—‘“¤"§(¡(¨A¨q¨6Ó"2Ô3Ø	×ÑÔØ�9‰9˜Š>Ðˆ>Ü�—‘“¤"§(¡(¨A¨q¨6Ó"2Ô3ô ’y¢9ªiºÂIÐ"NÐOÓP€EØ�9‰9˜Š>Ðˆ>Ü�x‰xØˆqˆ6�A�q�6˜A˜q˜6Ð
" a¨ V¨a°¨V°a¸°VÐ$<ÀÀ1¸vÈÈ1ÀvÐPQÐSTÈvÐ>VÐ	WØˆqˆ6�A�q�6˜A˜q˜6Ð
" a¨ V¨a°¨V°a¸°VÐ$<ÀÀ1¸vÈÈ1ÀvÐPQÐSTÈvÐ>VÐ	Wð	Yó€Hô �—‘“ (Ô+Ø	×ÑÔØ�9‰9˜Š>Ðˆ>Ü�—‘“ (Ô+ô šLª<¨/Ð:Ó;€JØ�>‰>˜QÒÐÐØ×ÑÔØ�>‰>˜QÒÐÑr   c                  óD  — t        g d¢g d¢ff«      } | j                  dk(  sJ ‚| j                  «       dk(  sJ ‚t        | j	                  «       t        j                  ddg«      «       | j                  «        | j                  dk(  sJ ‚| j                  «       dk(  sJ ‚t        | j	                  «       t        j                  ddg«      «       t        | j                  t        j                  dg«      «       t        | j                  t        j                  dg«      «       y )N)r   r   r!   r£   r   r!   r   )
r   rm   Úcount_nonzeror   r   r   r(   Úeliminate_zerosr‚   rƒ   )re   s    r   Útest_eliminate_zerosr­   *  s×   € Ü’y¢9 ,Ð/Ó0€EØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ü�—‘“¤"§(¡(¨A¨q¨6Ó"2Ô3Ø	×ÑÔØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ü�—‘“¤"§(¡(¨A¨q¨6Ó"2Ô3Ü�—‘œBŸH™H a S›MÔ*Ü�—‘œBŸH™H a S›MÕ*r   c                  óÎ   — t        j                  g d¢«      } t        j                  g d¢«      }| |z   }t        | «      |z   }t        |«      t        |«      u sJ ‚t	        ||«       y ©N©r   r   r€   r   r¥   )r   r(   r   Útyper   ©Úden_aÚden_bÚexprJ   s       r   Útest_1d_add_denser¶   7  sV   € Ü�H‰H’^Ó$€EÜ�H‰H’\Ó"€EØ
�%‰-€CÜ
�EÓ
˜UÑ
"€CÜ�‹9œ˜S›	Ñ!Ð!Ð!Ü��cÕr   c                  óÌ   — t        j                  g d¢«      } t        j                  g d¢«      }| |z   }t        | «      t        |«      z   }t        ||j	                  «       «       y r¯   )r   r(   r   r   r   ©r³   r´   Ú	dense_sumÚ
sparse_sums       r   Útest_1d_add_sparser»   @  sN   € Ü�H‰H’^Ó$€EÜ�H‰H’\Ó"€EØ˜‘€Iä˜5Ó!¤I¨eÓ$4Ñ4€JÜ�˜J×.Ñ.Ó0Õ1r   c                  óÒ   — t        j                  g d¢«      } t        j                  g d¢«      }| |z  }t        | «      |z  }t        j                  |«      dk(  sJ ‚t	        ||«       y )Nr°   r¥   r   )r   r(   r   Úndimr   r²   s       r   Útest_1d_matmul_vectorr¾   I  sV   € Ü�H‰H’^Ó$€EÜ�H‰H’\Ó"€EØ
�%‰-€CÜ
�EÓ
˜UÑ
"€CÜ�7‰7�3‹<˜1ÒÐÐÜ��cÕr   c                  óê   — t        j                  g d¢«      } t        j                  g d¢g d¢g«      j                  }| |z  }t        | «      |z  }t	        |«      t	        |«      u sJ ‚t        ||«       y )Nr°   r¥   ©r   r
   r!   r   )r   r(   rq   r   r±   r   )rš   Úotherrµ   rJ   s       r   Útest_1d_matmul_multivectorrÂ   R  s`   € Ü
�(‰(’>Ó
"€CÜ�H‰H’l¢LÐ1Ó2×4Ñ4€EØ
�‰+€CÜ
�C‹.˜5Ñ
 €CÜ�‹9œ˜S›	Ñ!Ð!Ð!Ü��cÕr   c                  ó  — t        j                  g d¢g d¢g«      } t        | «      }| | j                  z  }||j                  z  }t	        |j                  «       |«       t        j                  g d¢g d¢g«      } t        | «      }| | j                  z  }|| j                  z  }t	        ||«       t        j                  g d¢g d¢g«      }t        j                  g d¢«      }t        |«      }||j                  z  }||j                  z  }t	        ||«       t        j                  g d¢«      }t        j                  dgdgd	gg«      }||z  }t        |«      |z  }t	        ||«       t        |«      t        |«      z  }t	        ||«       y )
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(   r   rq   r   r   Úlist)rš   rh   rµ   rJ   r³   r´   re   s          r   Útest_2d_matmul_multivectorrÅ   [  sD  € ä
�(‰(’L¢,Ð/Ó
0€CÜ�c‹N€EØ
�—‘‰+€CØ
�%—'‘'‰/€CÜ�—‘“ Ô$ô �(‰(’O¢_Ð5Ó
6€CÜ�c‹N€EØ
�—‘‰+€CØ
�#—%‘%‰-€CÜ��cÔô �H‰H’o¢Ð7Ó8€EÜ�H‰H’_Ó%€EÜ�eÓ€EØ
�%—'‘'‰/€CØ
�%—'‘'‰/€CÜ��cÔô �H‰H’YÓ€EÜ�H‰H�q�c˜A˜3  �_Ó%€EØ
�%‰-€CÜ
�EÓ
˜UÑ
"€CÜ��cÔÜ
�EÓ
œT %›[Ñ
(€CÜ��cÕr   c                  óÄ   — t        j                  g d¢«      } t        j                  t        d¬«      5  t        | «      j                  «        d d d «       y # 1 sw Y   y xY w)Nr°   z diagonal requires two dimensionsr>   )r   r(   rD   rE   rF   r   Údiagonal)rš   s    r   Útest_1d_diagonalrÈ   |  s<   € Ü
�(‰(’>Ó
"€CÜ	�‰”zÐ)KÖ	LÜ�#‹×ÑÔ!÷ 
M×	LÑ	Lús   ³AÁAr   )rt   ©r   )r   r   ©r   r   r   )r   r   r
   r_   )r   r%   r   r
   r   r#   c                 óÌ   — t         j                  j                  d«       t         j                  j                  dd| ¬«      }t	        t        |«      j                  «       |«       y )Nr'   r   r#   )ÚlowÚhighÚsize)r   r)   r*   Úrandintr   r   Útodense)r   Úarrs     r   Útest_nd_todenserÒ   ‚  sF   € ô ‡I�I‡N�N�2ÔÜ
�)‰)×
Ñ
 ¨°Ð
Ó
6€CÜ”˜3“×'Ñ'Ó)¨3Õ/r   c                 ó¬   — t        | «      }t        |«      }|j                  | k(  sJ ‚t        |j                  «       t	        j
                  | «      «       y ©Nr   )r   Ú	empty_arrrJ   s      r   Útest_nd_sparse_constructorrÖ   Š  sB   € ô ˜%Ó €IÜ
�IÓ
€CØ�9‰9˜ÒÐÐÜ�—‘“¤§¡¨£Õ0r   c                 óæ   — t         j                  j                  d«       t        j                  j                  | Ž }t	        |«      }|j
                  | k(  sJ ‚t        |j                  «       |«       y )Nr'   ©r   r)   r*   r+   r   r   r   r   ©r   rÑ   rJ   s      r   Útest_nd_tuple_constructorrÚ   “  sQ   € ô ‡I�I‡N�N�2ÔÜ
�)‰)�/‰/˜5Ð
!€CÜ
�C‹.€CØ�9‰9˜ÒÐÐÜ�—‘“ Õ$r   c                 óê   — t         j                  j                  d«       t        j                  j                  | Ž }t	        || ¬«      }|j
                  | k(  sJ ‚t        |j                  «       |«       y )Nr'   r6   rØ   rÙ   s      r   Ú$test_nd_tuple_constructor_with_shaperÜ   �  sT   € ô ‡I�I‡N�N�2ÔÜ
�)‰)�/‰/˜5Ð
!€CÜ
�C˜uÔ
%€CØ�9‰9˜ÒÐÐÜ�—‘“ Õ$r   c                  ó  — t        j                  t        d¬«      5  t        ddgddgddgddgffd¬	«       d d d «       t        g g g g g ffd
¬	«      } t	        | j                  «       t        j                  d
«      «       y # 1 sw Y   ŒJxY w)Nzexceeds matrix dimensionr>   r%   r&   r!   r
   r   ©r   r   r   r6   )r   r   r
   r   )rD   rE   rF   r   r   r   r   Úempty)rÕ   s    r   Ú(test_tuple_constructor_for_dim_size_zerorà   §  s   € ä	�‰”zÐ)CÖ	DÜ�A�q�6˜Q ˜F Q¨ F¨Q°¨FÐ3Ð4¸GÕD÷ 
Eô ˜2  B¨¨BÐ/Ð0¸	ÔB€IÜ�×"Ñ"Ó$¤b§h¡h¨yÓ&9Õ:÷	 
EÐ	Dús   œB Â B	)r   Ú	new_shape))©r   r%   r   r#   )r   r   é   r   )râ   )é$   é   )râ   )i8  )râ   )r
   r   r
   r
   r   r#   r   c                 óD  — t         j                  j                  d«      }t        | d|t        ¬«      }|j
                  | k(  sJ ‚|j                  «       }|j                  |«      }|j                  |«      }|j
                  |k(  sJ ‚t        |j                  «       |«       y ©NéŸ4eç333333ã?©ÚdensityÚrngrT   )	r   r)   Údefault_rngr   Úintr   r   rV   r   )r   rá   rì   r/   Úden4dÚexp_arrÚres_arrs          r   Útest_nd_reshaperò   °  s„   € ô �)‰)×
Ñ
 Ó
)€Cä˜¨°¼CÔ@€EØ�;‰;˜%ÒÐÐØ�M‰M‹O€Eà�m‰m˜IÓ&€GØ�m‰m˜IÓ&€GØ�=‰=˜IÒ%Ð%Ð%Ü�—‘Ó" GÕ,r   c                 óÌ   — t         j                  j                  d«      }t        | d|t        ¬«      }|j
                  t        j                  |j                  «       «      k(  sJ ‚y rç   )r   r)   rí   r   rî   rm   r«   r   )r   rì   rÑ   s      r   Útest_nd_nnzrô   Â  sK   € ô �)‰)×
Ñ
 Ó
)€Cä
�u c¨s¼#Ô
>€CØ�7‰7”b×&Ñ& s§{¡{£}Ó5Ò5Ð5Ñ5r   c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  «       j                  }|j                  «       }|j                  | d d d…   k(  sJ ‚t        ||j                  «       «       y )Nrè   ré   rê   rC   )
r   r)   rí   r   rî   r   rq   r{   r   r   )r   rì   rÑ   rð   Ú	trans_arrs        r   Útest_nd_transposer÷   Ë  so   € ô �)‰)×
Ñ
 Ó
)€Cä
�u c¨s¼#Ô
>€CØ�k‰k‹m�o‰o€GØ—‘“€IØ�?‰?˜e¡D b D™kÒ)Ð)Ð)Ü�˜)×+Ñ+Ó-Õ.r   )r   Ú	axis_perm))r   rt   )r$   rw   ))r
   r   r   r   r#   r   )r!   r
   r   r#   r   r   c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  |¬«      }t        |j                  «       t        j
                  |j                  «       |¬«      «       y )Nrè   ré   rê   ru   )r   r)   rí   r   rî   r{   r   r   )r   rø   rì   rÑ   rö   s        r   Útest_nd_transpose_with_axisrú   ×  s\   € ô �)‰)×
Ñ
 Ó
)€Cä
�u c¨s¼#Ô
>€CØ—‘ 9�Ó-€IÜ�×"Ñ"Ó$¤b§l¡l°3·;±;³=ÀyÔ&QÕRr   c                  ó@  — t        j                  t        d¬«      5  t        g d¢«      j	                  d¬«       d d d «       t        j                  t        d¬«      5  t        g d¢g d¢g«      j	                  d	¬«       d d d «       y # 1 sw Y   ŒOxY w# 1 sw Y   y xY w)
Nrx   r>   r_   rw   ru   ry   rc   rd   rz   )rD   rE   rF   r   r{   rG   r   r   Ú%test_transpose_with_inconsistent_axisrü   â  sv   € Ü	�‰”zÐ)MÖ	NÜ’)Ó×&Ñ&¨FÐ&Ô3÷ 
Oô 
�‰”zÐ)EÖ	FÜ’9šiÐ(Ó)×3Ñ3¸Ð3Ô@÷ 
GÐ	F÷ 
OÐ	Nú÷ 
GÐ	Fús   œBÁ"BÂBÂBc            
      óÆ  — t        g d¢g d¢g d¢g d¢ff«      } | j                  dk(  sJ ‚| j                  «       dk(  sJ ‚t        | j	                  «       t        j                  g d¢g d¢gg d¢g d¢gg d¢g d	¢gg«      «       | j                  «        | j                  dk(  sJ ‚| j                  «       dk(  sJ ‚t        | j	                  «       t        j                  g d¢g d¢gg d¢g d¢gg d¢g d	¢gg«      «       g d¢g d¢g d¢g d
¢g d¢f}t        g d¢|f«      }|j                  dk(  sJ ‚|j                  «       dk(  sJ ‚|j                  «        |j                  dk(  sJ ‚|j                  «       dk(  sJ ‚t        |j                  t        j                  g «      «       t        |j                  t        j                  g «      «       t        |j                  g g g g g f«       y )N)r!   r   r   r   )r   r!   r!   r
   )r   r!   r   r!   )r!   r!   r
   r   r   r
   )r   r!   r   rÊ   r    )r   r   r
   r   )r!   r   r   r
   )r   r   r   r   r   )r   rm   r«   r   r   r   r(   r¬   r‚   rƒ   rW   )Úarr3drW   Úarr5ds      r   Útest_nd_eliminate_zerosr   ê  s¤  € ä’|¢l²LÂ,Ð%OÐPÓQ€EØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ü�—‘“¤"§(¡(ªYº	Ð,BÚ%.²	Ð$:ºYÊ	Ð<Rð,Tó #Uô Và	×ÑÔØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ü�—‘“¤"§(¡(ªYº	Ð,BÚ%.²	Ð$:ºYÊ	Ð<Rð,Tó #Uô Vò šLª,ºÂlÐS€FÜ’| VÐ,Ó-€EØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ø	×ÑÔØ�9‰9˜Š>Ðˆ>Ø×ÑÓ  AÒ%Ð%Ð%Ü�—‘œBŸH™H R›LÔ)Ü�—‘œBŸH™H R›LÔ)Ü�—‘  B¨¨B°Ð3Õ4r   c                 ó*  — t         j                  j                  d«      }t        | d|t        ¬«      }t        | d|t        ¬«      }|j                  «       |j                  «       }}||z   }||z   }t        |«      t        |«      u sJ ‚t        ||«       y rç   ©r   r)   rí   r   rî   r   r±   r   ©r   rì   Úsp_xÚsp_yÚden_xÚden_yrµ   rJ   s           r   Útest_nd_add_denser    ó   € ô �)‰)×
Ñ
 Ó
)€CÜ˜ s°¼3Ô?€DÜ˜ s°¼3Ô?€DØ—<‘<“> 4§<¡<£>ˆ5€EØ
�%‰-€CØ
�‰,€CÜ�‹9œ˜S›	Ñ!Ð!Ð!Ü��cÕr   c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }t        | d|t        ¬«      }|j                  «       |j                  «       }}||z   }||z   }t        ||j                  «       «       y rç   ©r   r)   rí   r   rî   r   r   ©r   rì   r  r  r  r  r¹   rº   s           r   Útest_nd_add_sparser    sr   € ô �)‰)×
Ñ
 Ó
)€CÜ˜¨°#¼SÔA€DÜ˜¨°#¼SÔA€DØ—<‘<“> 4§<¡<£>ˆ5€Eà˜‘€IØ˜‘€JÜ�˜J×.Ñ.Ó0Õ1r   c                  ó  — t        j                  dgt         j                  ggdgdggg«      } t        j                  dgdggdgdggg«      }| |z   }t        | «      t        |«      z   }t	        ||j                  «       «       y ©Nr   r€   r!   r
   r   )r   r(   Úinfr   r   r   r¸   s       r   Útest_add_sparse_with_infr    ó|   € ä�H‰H˜�sœRŸV™V˜H�o¨¨¨q¨c {Ð3Ó4€EÜ�H‰H˜�s˜Q˜C�j A 3¨¨ *Ð-Ó.€EØ˜‘€IÜ˜5Ó!¤I¨eÓ$4Ñ4€JÜ�˜J×.Ñ.Ó0Õ1r   )Úa_shapeÚb_shape))rÉ   )r'   )©r   r   )r   r#   )©r#   r%   r   r
   )r%   r#   r
   r   c                 óø   — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j                  t        d¬«      5  ||z    d d d «       y # 1 sw Y   y xY w©Nrè   ré   rê   r=   r>   ©r   r)   rí   r   rî   rD   rE   rF   ©r  r  rì   Úarr_aÚarr_bs        r   Ú+test_nd_add_sparse_with_inconsistent_shapesr  '  ó[   € ô �)‰)×
Ñ
 Ó
)€Cä˜'¨C°SÄÔD€EÜ˜'¨C°SÄÔD€EÜ	�‰”zÐ)>Ö	?Ø�Š÷ 
@×	?Ñ	?úó   Á!A0Á0A9c                 ó*  — t         j                  j                  d«      }t        | d|t        ¬«      }t        | d|t        ¬«      }|j                  «       |j                  «       }}||z
  }||z
  }t        |«      t        |«      u sJ ‚t        ||«       y rç   r  r  s           r   Útest_nd_sub_denser!  3  r	  r   c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }t        | d|t        ¬«      }|j                  «       |j                  «       }}||z
  }||z
  }t        ||j                  «       «       y rç   r  r  s           r   Útest_nd_sub_sparser#  @  sr   € ô �)‰)×
Ñ
 Ó
)€Cä˜ s°¼3Ô?€DÜ˜ s°¼3Ô?€DØ—<‘<“> 4§<¡<£>ˆ5€Eà˜‘€IØ˜‘€JÜ�˜J×.Ñ.Ó0Õ1r   c                  ó  — t        j                  dgt         j                  ggdgdggg«      } t        j                  dgdggdgdggg«      }| |z
  }t        | «      t        |«      z
  }t	        ||j                  «       «       y r  )r   r(   r,   r   r   r   r¸   s       r   Útest_nd_sub_sparse_with_nanr%  N  r  r   c                 óø   — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j                  t        d¬«      5  ||z
   d d d «       y # 1 sw Y   y xY wr  r  r  s        r   Ú+test_nd_sub_sparse_with_inconsistent_shapesr'  W  r  r  )	)©r
   r   r   r#   ©r#   ©©r   r   rt   ))r
   r   r   r   r&   )r&   ©)r   r   r
   r   rt   )©r   r#   r   r
   r   ©r   r!   )©r
   r#   r)  ©r/  )r#   r!   )r   rA   )r@   r@   )Ú	mat_shapeÚ	vec_shapec                 ó.  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }|j                  «       |j                  «       }}||z  }||z  }t        ||«       |t        |«      z  }t        ||«       y rç   ©r   r)   rí   r   rî   r   r   rÄ   )	r1  r2  rì   r  r  r  r  rµ   rJ   s	            r   Útest_nd_matmul_vectorr5  n  s   € ä
�)‰)×
Ñ
 Ó
)€Cä˜	¨3°C¼sÔC€DÜ˜	¨3°C¼sÔC€DØ—<‘<“> 4§<¡<£>ˆ5€EØ
�%‰-€CØ
�‰,€CÜ��SÔØ
”�e“Ñ
€CÜ��SÕr   ))r(  )r
   r   r#   r   r*  r,  )©r   r&   r   r   )r6  rA   )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@   r7  r0  )Ú
mat_shape1Ú
mat_shape2c                 óŽ  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }|j                  «       |j                  «       }}||z  }||z  }t        |j                  «       |«       ||z  }t        ||«       |t        |«      z  }t        ||«       ||z  }t        ||«       y ©Nrè   ré   ©rë   Úrandom_staterT   r4  )	r8  r9  rì   r  r  r  r  rµ   rJ   s	            r   Útest_nd_matmulr>  Š  s­   € ä
�)‰)×
Ñ
 Ó
)€Cä˜
¨C¸cÌÔM€DÜ˜
¨C¸cÌÔM€DØ—<‘<“> 4§<¡<£>ˆ5€EØ
�%‰-€Cà
�‰+€CÜ�—‘“ Ô$à
�‰,€CÜ��cÔØ
”�e“Ñ
€CÜ��cÔð �$‰,€CÜ��cÕr   c                  ó”  — t         j                  j                  d«      } t        dd| t        ¬«      }t        dd| t        ¬«      }t        j                  t        d¬«      5  ||z   d d d «       t        j                  t        d¬«      5  ||j                  «       z   d d d «       t        dd| t        ¬«      }t        j                  t        d	¬«      5  ||z   d d d «       t        j                  t        d	¬«      5  ||j                  «       z   d d d «       y # 1 sw Y   Œ´xY w# 1 sw Y   Œ‰xY w# 1 sw Y   ŒYxY w# 1 sw Y   y xY w)
Nrè   )r   r#   r   r   r   ré   r<  )r!   r#   r   r
   r#   z)matmul: dimension mismatch with signaturer>   )r!   r#   r   r
   z&Batch dimensions are not broadcastable)	r   r)   rí   r   rî   rD   rE   rF   r   )rì   r  r  Úsp_zs       r   Ú.test_nd_matmul_sparse_with_inconsistent_arraysrA     së   € Ü
�)‰)×
Ñ
 Ó
)€Cä˜¨S¸sÌ#ÔN€DÜ˜¨S¸sÌ#ÔN€DÜ	�‰”zÐ)TÖ	UØˆtŠ÷ 
Vä	�‰”zÐ)TÖ	UØ�—‘“Ò÷ 
Vô ˜	¨3¸SÌÔL€DÜ	�‰”zÐ)QÖ	RØˆtŠ÷ 
Sä	�‰”zÐ)QÖ	RØ�—‘“Ò÷ 
SÐ	R÷ 
VÐ	Uúç	UÐ	Uú÷ 
SÐ	Rúç	RÐ	Rús0   Á!DÂ
D&ÃD2Ã=D>ÄD#Ä&D/Ä2D;Ä>Ec                  ó,  — t        g d¢«      } t        g d¢«      }t        j                  | j                  «       |j                  «       «      }| j                  |«      }t	        ||«       | j                  |j                  «       «      }t	        ||«       y )Nr    r"   )r   r   Údotr   r   )ÚaÚbrµ   rJ   s       r   Útest_dot_1d_1drF  ±  sg   € Ü’'Ó€AÜ’'Ó€AÜ
�&‰&�—‘“˜aŸi™i›kÓ
*€CØ
�%‰%�‹(€CÜ��cÔØ
�%‰%�—	‘	“Ó
€CÜ��cÕr   c                  óÎ   — t        ddgddgddgg«      } d}| j                  |«      }t        j                  | j                  «       |«      }t	        |j                  «       |«       y )Nr!   r
   r   r   r#   r   )r   rC  r   r   r   )rD  rE  rJ   rµ   s       r   Útest_dot_sparse_scalarrH  »  sW   € Ü�A�q�6˜A˜q˜6 A q 6Ð*Ó+€AØ	€AØ
�%‰%�‹(€CÜ
�&‰&�—‘“˜aÓ
 €CÜ�—‘“ Õ$r   c                  óÆ   — t        ddggddggg«      } t        g d¢«      }t        j                  t        d¬«      5  | j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr!   r
   r   r   r"   znot aligned for n-D dotr>   )r   rD   rE   rF   rC  )r  r  s     r   Ú!test_dot_with_inconsistent_shapesrJ  Ã  sO   € Ü˜˜A˜�x 1 a & Ð*Ó+€EÜ’iÓ €EÜ	�‰”zÐ)BÖ	CØ�	‰	�%Ô÷ 
D×	CÑ	Cús   ¼AÁA c                  óþ  — t        ddgddgg«      } t        j                  t        d¬«      5  | j	                  d «       d d d «       t        j                  t        d¬«      5  | j                  d «       d d d «       t        j                  t        d¬«      5  | d z   d d d «       t        j                  t        d¬«      5  d | z   d d d «       y # 1 sw Y   Œ‘xY w# 1 sw Y   ŒhxY w# 1 sw Y   ŒKxY w# 1 sw Y   y xY w)	Nr!   r
   r   r   zargument not supported typer>   zarg not supported typezunsupported operand type)r   rD   rE   Ú	TypeErrorrC  Ú	tensordot)r  s    r   Útest_matmul_dot_not_implementedrN  Ê  s´   € Ü˜˜1�v  1˜vÐ&Ó'€EÜ	�‰”yÐ(EÖ	FØ�	‰	�$Œ÷ 
Gä	�‰”yÐ(@Ö	AØ�‰˜Ô÷ 
Bä	�‰”yÐ(BÖ	CØ�Š÷ 
Dä	�‰”yÐ(BÖ	CØˆuŠ÷ 
DÐ	C÷ 
GÐ	Fúç	AÐ	Aúç	CÐ	Cúç	CÐ	Cús/   ­CÁ"CÂC'Ã C3ÃCÃC$Ã'C0Ã3C<)
)ra   ra   )©r   r   ©r   r   ))r!   r   r.  )©r   r
   r   r   rÉ   )r)  ©r   r   r#   r
   )rQ  )r   r!   ))r!   r#   rR  )rO  ©r   r
   r   r   )©r
   r&   r   )r   r#   r   r   r
   )©r   r#   r   r   rS  c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j
                  |j                  «       |j                  «       «      }|j                  |j                  «       «      }t        ||«       |j                  t        |j                  «       «      «      }t        ||«       |j                  |«      }t        |j                  «       |«       y r;  )	r   r)   rí   r   rî   rC  r   r   rÄ   )r  r  rì   r  r  rµ   rJ   s          r   Útest_dot_ndrW  Ý  s±   € ä
�)‰)×
Ñ
 Ó
)€Cä˜¨#¸CÄsÔK€EÜ˜¨#¸CÄsÔK€Eä
�&‰&�—‘“ %§-¡-£/Ó
2€Cà
�)‰)�E—M‘M“OÓ
$€CÜ��cÔØ
�)‰)”D˜Ÿ™›Ó)Ó
*€CÜ��cÔà
�)‰)�EÓ
€CÜ�—‘“ Õ$r   rO  rP  r!   rQ  rÉ   r   r)  rR  rU  rS  rT  ©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  rv   c                 óR  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j
                  |j                  «       |j                  «       |¬«      }|j                  |j                  «       |¬«      }t        ||«       |j                  t        |j                  «       «      |¬«      }t        ||«       |j                  ||¬«      }t        |«      t        u rt        |j                  «       |«       y t        ||«       y )Nrè   ré   r<  ru   )r   r)   rí   r   rî   rM  r   r   rÄ   r±   r   )r  r  rv   rì   r  r  rµ   rJ   s           r   Útest_tensordotrZ  ù  sÙ   € ä
�)‰)×
Ñ
 Ó
)€Cä˜¨#¸CÄsÔK€EÜ˜¨#¸CÄsÔK€Eä
�,‰,�u—}‘}“¨¯©«¸dÔ
C€Cð �/‰/˜%Ÿ-™-›/°ˆ/Ó
5€CÜ��cÔØ
�/‰/œ$˜uŸ}™}›Ó/°dˆ/Ó
;€CÜ��cÔð �/‰/˜% dˆ/Ó
+€CÜˆCƒy”IÑÜ�S—[‘[“] CÕ(ä�S˜#Õr   c                  ó  — t         j                  j                  d«      } t        dd| t        ¬«      }t        dd| t        ¬«      }dgdgf}t        j                  t        d¬«      5  |j                  ||¬	«       d d d «       t        d
d| t        ¬«      }t        dd| t        ¬«      }g d¢ddgf}t        j                  t        d¬«      5  |j                  ||¬	«       d d d «       y # 1 sw Y   ŒoxY w# 1 sw Y   y xY w)Nrè   ©r   r   r#   ré   r<  ©r   r   r   r
   z*sizes of the corresponding axes must matchr>   ru   )r#   r   r
   r   r   )r   r   r   r
   )r
   r   r!   r!   r   z,axes lists/tuples must be of the same length)	r   r)   rí   r   rî   rD   rE   rF   rM  )rì   r  r  rv   s       r   Ú test_tensordot_with_invalid_argsr^    sÚ   € Ü
�)‰)×
Ñ
 Ó
)€Cä˜¨#¸CÄsÔK€EÜ˜¨#¸CÄsÔK€EàˆC�!�ˆ:€DÜ	�‰”zÐ)UÖ	VØ�‰˜ DˆÔ)÷ 
Wô ˜¨cÀÌ3ÔO€EÜ˜¨C¸cÌÔM€Eâ�a˜�UÐ€DÜ	�‰”zð *&ö 
'à�‰˜ DˆÔ)÷
'ð 
'÷ 
WÐ	Vú÷
'ð 
'ús   Á'C)ÃC5Ã)C2Ã5C>)Úactual_shapeÚbroadcast_shape)	))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#   )rA   ©r   r   ))r!   r)  )rB   r"   ))r!   r   r!   r#   r   )r&   r
   r   r%   r#   r   c                 ó  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  |«      }t        j                  |j                  «       |«      }t        |j                  «       |«       y r;  )	r   r)   rí   r   rî   Ú_broadcast_toÚbroadcast_tor   r   )r_  r`  rì   rÑ   rJ   rµ   s         r   Útest_broadcast_tore  #  s^   € ô �)‰)×
Ñ
 Ó
)€Cä
�|¨S¸sÌ#Ô
N€CØ
×
Ñ
˜OÓ
,€CÜ
�/‰/˜#Ÿ+™+›-¨Ó
9€CÜ�—‘“ Õ$r   ))r   r#   r   r   r&   r  r  )r%   r#   r
   r   r   c                 óÊ  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  «       }t	        t        j                  |j                  d d «      «      }|j                  |f|j                  dd  z   «      }t        |«      D �cg c]  }||d d …d d …f   ‘Œ }}t        |Ž }t        |«      }	t        |	j                  «       |«       y c c}w )Nrè   ré   r<  r   )r   r)   rí   r   rî   r   Úprodr   rV   Úranger   r   r   )
r   rì   r  r  Ú
num_slicesÚreshaped_arrayÚiÚmatricesrµ   rJ   s
             r   Útest_block_diagrm  1  sÃ   € ô �)‰)×
Ñ
 Ó
)€CÜ˜ s¸ÄCÔH€DØ�L‰L‹N€Eô ”R—W‘W˜UŸ[™[¨¨"Ð-Ó.Ó/€JØ—]‘] J =°5·;±;¸r¸sÐ3CÑ#CÓD€NÜ16°zÔ1BÓCÑ1B¨A�˜q¢!¢Q˜wÓ'Ð1B€HÐCÜ
�hÐ
€Cä
�dÓ
€Cä�—‘“ Õ$ùò Ds   ÂC c                 óâ   — t         j                  j                  d«      }t        | d|t        ¬«      }t        t        |«      | «      }t        |j                  «       |j                  «       «       y r;  )	r   r)   rí   r   rî   r   r   r   r   )r   rì   r  rJ   s       r   Útest_extract_block_diagro  D  sO   € ô �)‰)×
Ñ
 Ó
)€CÜ˜ s¸ÄCÔH€DÜ
œk¨$Ó/°Ó
7€Cä�—‘“ §¡£Õ/r   ))ra  ra  )r]  r]  )©r   r   r#   rp  c                 ón  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }||z   }t        j
                  |j                  «       |j                  «       «      }t        |j                  «       |«       ||j                  «       z   }t        ||«       y r;  )r   r)   rí   r   rî   Úaddr   r   ©r  r  rì   rD  rE  rJ   rµ   s          r   Útest_add_no_broadcastingrt  Q  s„   € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ�W c¸Ä3ÔG€Aà
ˆa‰%€CÜ
�&‰&�—‘“˜aŸi™i›kÓ
*€CÜ�—‘“ Ô$Ø
ˆa�i‰i‹k‰/€CÜ��cÕr   c                 ón  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }||z
  }t        j
                  |j                  «       |j                  «       «      }t        |j                  «       |«       ||j                  «       z
  }t        ||«       y r;  )r   r)   rí   r   rî   Úsubtractr   r   rs  s          r   Útest_sub_no_broadcastingrw  ^  s„   € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ�W c¸Ä3ÔG€Aà
ˆa‰%€CÜ
�+‰+�a—i‘i“k 1§9¡9£;Ó
/€CÜ�—‘“ Ô$à
ˆa�i‰i‹k‰/€CÜ��cÕr   )©r   N©r   r   ©rO  r!   ©©r   r   r   ©©r   r#   N©rT  r
   ©rT  r   )©r
   r   r   ))r   r   r   r
   r   ©rQ  N©rQ  r!   ©rQ  r   ©rQ  r
   )rQ  r   ©rX  r   )rX  r€   )r   Úaxisc                 ót  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  |¬«      }t        j
                  |j                  «       |¬«      }t        ||«       |j                  |¬«      }t        j                  |j                  «       |¬«      }t        ||«       y ©Nrè   ré   r<  ©r‡  )	r   r)   rí   r   rî   Úargmaxr   r   Úargmin)r   r‡  rì   rD  rJ   rµ   s         r   Útest_argmax_argminr�  v  s†   € ä
�)‰)×
Ñ
 Ó
)€CÜ�U C°cÄÔE€Aà
�(‰(˜ˆ(Ó
€CÜ
�)‰)�A—I‘I“K dÔ
+€CÜ��cÔà
�(‰(˜ˆ(Ó
€CÜ
�)‰)�A—I‘I“K dÔ
+€CÜ��cÕr   )rx  ry  rz  r{  r}  r  r€  r‚  rƒ  r„  r…  r†  )©r   r#   r&   r!   r   )rO  rt   )rO  rw   )©r   r   r
   r
   )r�  ©r   r
   )rb   r   )©r   r   r&   r#   rw   )r‘  ©r
   r!   )r‘  r�  )r‘  ©r   r   )r‘  ©rC   r
   )r‘  r   )r‘  r�   )r‘  r¥   c                 óô  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  |¬«      }t        j
                  |j                  «       |¬«      }|j                  |¬«      }t        j                  |j                  «       |¬«      }|j                  |¬«      }t        j                  |j                  «       |¬«      }	|j                  |¬«      }
t        j                  |j                  «       |¬«      }||f||f||	f|
|ffD ]Y  \  }}t        j                  t        |«      t         j                  «      rt        ||«       Œ@t        |j                  «       |«       Œ[ y r‰  )r   r)   rí   r   rî   Úminr   ÚmaxÚnanminÚnanmaxÚ
issubdtyper±   Únumberr   )r   r‡  rì   rD  Úres_minÚexp_minÚres_maxÚexp_maxÚ
res_nanminÚ
exp_nanminÚ
res_nanmaxÚ
exp_nanmaxrJ   rµ   s                 r   Útest_min_maxr¤  �  s  € ä
�)‰)×
Ñ
 Ó
)€CÜ�U C°cÄÔE€Aà�e‰e˜ˆeÓ€GÜ�f‰f�Q—Y‘Y“[ tÔ,€GØ�e‰e˜ˆeÓ€GÜ�f‰f�Q—Y‘Y“[ tÔ,€GØ—‘˜t�Ó$€JÜ—‘˜1Ÿ9™9›;¨TÔ2€JØ—‘˜t�Ó$€JÜ—‘˜1Ÿ9™9›;¨TÔ2€Jà˜wÐ'¨'°7Ð);Ø  *Ð-°
¸JÐ/GóI‰ˆˆSä�=‰=œ˜c›¤B§I¡IÔ.Ü˜˜cÕ"ä˜Ÿ™›¨Õ,ñIr   c                  óž   — t        g d¢gg«      t        g d¢g«      fD ]-  } | j                  «       dk(  sJ ‚|  j                  «       dk(  rŒ-J ‚ y )Nrœ   r!   rC   )r   r–  r—  )rD  s    r   Útest_min_max_fullr¦  ¥  sK   € Üš,˜Ð(Ó)¬9²l°^Ó+DÓEˆØ�u‰u‹w˜!Š|Ðˆ|Ø��x‰x‹z˜RÓÐÐñ Fr   )r   NN)r   r   N)rO  r!   N)r|  r   N)r~  NN)rT  r
   N)r&   r   )rQ  NN)r   r   r   )rQ  r   N)rX  r   N)rŽ  r   N)rO  rt   N)rO  rw   N)r�  r
   N)r�  r�  N)rb   r   Nr‘  rw   )r&   r#   )r‘  r’  N)r‘  r“  Nr”  )r   r   )r‘  r   N)r‘  r¥   N)r   r‡  Úoutc                 ó@  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  ||¬«      }t        j
                  |j                  «       |¬«      }t        ||«       |�&t        ||«       t        |«      t        |«      k(  sJ ‚y y ©Nrè   ré   r<  )r‡  r§  rŠ  )	r   r)   rí   r   rî   Úsumr   r   Úid©r   r‡  r§  rì   rD  rJ   rµ   s          r   Útest_sumr­  ¸  s‚   € ä
�)‰)×
Ñ
 Ó
)€CÜ�U C°cÄÔE€Aà
�%‰%�T˜sˆ%Ó
#€CÜ
�&‰&�—‘“ 4Ô
(€CÜ��cÔØ
€Ü�S˜#ÔÜ�#‹wœ"˜S›'Ò!Ð!Ñ!ð r   c                 ó@  — t         j                  j                  d«      }t        | d|t        ¬«      }|j                  ||¬«      }t        j
                  |j                  «       |¬«      }t        ||«       |�&t        |«      t        |«      k(  sJ ‚t        ||«       y y r©  )	r   r)   rí   r   rî   Úmeanr   r   r«  r¬  s          r   Ú	test_meanr°  Å  s‚   € ä
�)‰)×
Ñ
 Ó
)€CÜ�U C°cÄÔE€Aà
�&‰&�d ˆ&Ó
$€CÜ
�'‰'�!—)‘)“+ DÔ
)€CÜ�C˜ÔØ
€Ü�#‹wœ"˜S›'Ò!Ð!Ð!Ü˜˜SÕ!ð r   c                  ót  — t         j                  j                  d«      } t        dd| t        ¬«      }t        |dz  j                  «       t        j                  |j                  «       d«      «       t        |dz  j                  «       t        j                  |j                  «       d«      «       t        t        |«      j                  «       t        j                  |j                  «       «      «       t        t        |«      j                  «       t        j                  |j                  «       «      «       y )Nrè   )r   r   r#   r
   r   ré   r<  r   r   )
r   r)   rí   r   rî   r   r   ÚpowerÚroundÚabs©rì   rD  s     r   Útest_pow_abs_roundr¶  Ò  s¼   € Ü
�)‰)×
Ñ
 Ó
)€CÜ�[¨#¸CÄsÔK€AÜ�Q˜‘T—N‘NÓ$¤b§h¡h¨q¯y©y«{¸AÓ&>Ô?Ü�Q˜‘T—N‘NÓ$¤b§h¡h¨q¯y©y«{¸AÓ&>Ô?Ü”E˜!“H×$Ñ$Ó&¬¯©°·±³Ó(=Ô>Ü”C˜“F—N‘NÓ$¤b§f¡f¨Q¯Y©Y«[Ó&9Õ:r   c                 ój  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j                  «       5  t        j                  dt        «       t        ||k(  j                  «       |j                  «       |j                  «       k(  «       t        ||k7  j                  «       |j                  «       |j                  «       k7  «       t        ||k\  j                  «       |j                  «       |j                  «       k\  «       t        ||k  j                  «       |j                  «       |j                  «       k  «       t        ||kD  j                  «       |j                  «       |j                  «       kD  «       t        ||k  j                  «       |j                  «       |j                  «       k  «       t        ||k(  j                  «       t        j                  ||k7  j                  «       «      «       t        ||k\  j                  «       t        j                  ||k  j                  «       «      «       t        ||k  j                  «       t        j                  ||kD  j                  «       «      «       d d d «       y # 1 sw Y   y xY w©Nrè   ré   r<  Úignore)r   r)   rí   r   rî   ÚwarningsÚcatch_warningsÚsimplefilterr   r   r   Úbitwise_not)r  r  rì   rD  rE  s        r   Útest_boolean_comparisonsr¾  ä  sº  € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ�W c¸Ä3ÔG€AÜ	×	 Ñ	 Õ	"Ü×Ñ˜hÔ(?Ô@Ü�a˜‘d—^‘^Ó% q§y¡y£{°A·I±I³KÑ'?Ô@Ü�a˜‘d—^‘^Ó% q§y¡y£{°A·I±I³KÑ'?Ô@Ü�a˜‘d—^‘^Ó% q§y¡y£{°A·I±I³KÑ'?Ô@Ü�a˜‘d—^‘^Ó% q§y¡y£{°A·I±I³KÑ'?Ô@Ü�a˜‘c—]‘]“_ a§i¡i£k°!·)±)³+Ñ&=Ô>Ü�a˜‘c—]‘]“_ a§i¡i£k°!·)±)³+Ñ&=Ô>Ü�a˜‘d—^‘^Ó%¤r§~¡~°q¸!±t·n±nÓ6FÓ'GÔHÜ�a˜‘d—^‘^Ó%¤r§~¡~°q¸±s·m±m³oÓ'FÔGÜ�a˜‘d—^‘^Ó%¤r§~¡~°q¸±s·m±m³oÓ'FÔG÷ 
#×	"Ñ	"ús   ÁIJ)Ê)J2c                  ó  — t         j                  j                  d«      } t        dd| t        ¬«      }t        j                  «       5  t        j                  dt        «       t        |dk(  j                  «       |j                  «       dk(  «       t        |dk7  j                  «       |j                  «       dk7  «       t        |dk\  j                  «       |j                  «       dk\  «       t        |dk  j                  «       |j                  «       dk  «       t        |dkD  j                  «       |j                  «       dkD  «       t        |dk  j                  «       |j                  «       dk  «       d d d «       y # 1 sw Y   y xY w)Nrè   )r#   r   r&   r   ré   r<  r¹  r   r!   )r   r)   rí   r   rî   rº  r»  r¼  r   r   r   rµ  s     r   Ú$test_boolean_comparisons_with_scalarrÀ  ö  s  € Ü
�)‰)×
Ñ
 Ó
)€CÜ�Y¨¸#ÄSÔI€AÜ	×	 Ñ	 Õ	"Ü×Ñ˜hÔ(?Ô@Ü�a˜‘d—^‘^Ó% q§y¡y£{°A¡~Ô6Ü�a˜‘d—^‘^Ó% q§y¡y£{°A¡~Ô6Ü�a˜‘d—^‘^Ó% q§y¡y£{°A¡~Ô6Ü�a˜‘d—^‘^Ó% q§y¡y£{°A¡~Ô6Ü�a˜‘c—]‘]“_ a§i¡i£k°!¡mÔ4Ü�a˜‘c—]‘]“_ a§i¡i£k°!¡mÔ4÷ 
#×	"Ñ	"ús   ÁD/E?Å?Fc                 ó0  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }||z  }t        j
                  |j                  «       |j                  «       «      }t        |j                  «       |«       y r;  ©r   r)   rí   r   rî   Úmultiplyr   r   rs  s          r   Útest_multiplyrÄ    sk   € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ�W c¸Ä3ÔG€AØ
ˆa‰%€CÜ
�+‰+�a—i‘i“k 1§9¡9£;Ó
/€CÜ�—‘“ Õ$r   c                  óî   — t         j                  j                  d«      } t        dd| t        ¬«      }|dz  }t        j
                  |j                  «       d«      }t        |j                  «       |«       y ©Nrè   )r   r#   r   ré   r<  r   rÂ  ©rì   rD  rJ   rµ   s       r   Útest_multiply_with_scalarrÈ    sU   € Ü
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AØ
ˆa‰%€CÜ
�+‰+�a—i‘i“k 1Ó
%€CÜ�—‘“ Õ$r   c                 ó€  — t         j                  j                  d«      }t        | d|t        ¬«      }t        j
                  ddt        j                  |«      z   «      j                  |«      }||z  }|j                  «       |z  }t        |j                  «       |«       ||z  }t        |j                  «       |«       y )Nrè   ré   r<  r!   )r   r)   rí   r   rî   ÚarangeÚmathrg  rV   r   r   rs  s          r   Útest_dividerÌ    s�   € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ
�	‰	�!�QœŸ™ 7Ó+Ñ+Ó,×4Ñ4°WÓ=€AØ
ˆa‰%€CØ
�)‰)‹+˜‰/€CÜ�C—K‘K“M 3Ô'à
ˆa‰%€CÜ�C—K‘K“M 3Õ'r   c                  óÌ   — t         j                  j                  d«      } t        dd| t        ¬«      }|dz  }|j                  «       dz  }t        |j                  «       |«       y rÆ  )r   r)   rí   r   rî   r   r   rÇ  s       r   Útest_divide_with_scalarrÎ  "  sN   € Ü
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AØ
ˆa‰%€CØ
�)‰)‹+˜‰/€CÜ�C—K‘K“M 3Õ'r   c                 óÎ  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j                  «       5  t        j                  dt        «       |j                  |«      }t        j                  |j                  «       |j                  «       «      }t        |j                  «       |«       d d d «       y # 1 sw Y   y xY wr¸  )r   r)   rí   r   rî   rº  r»  r¼  r   Úmaximumr   r   rs  s          r   Útest_maximumrÑ  *  ó˜   € ä
�)‰)×
Ñ
 Ó
)€CÜ�W c¸Ä3ÔG€AÜ�W c¸Ä3ÔG€AÜ	×	 Ñ	 Õ	"Ü×Ñ˜hÔ(?Ô@Ø�i‰i˜‹lˆÜ�j‰j˜Ÿ™› a§i¡i£kÓ2ˆÜ�S—[‘[“] CÔ(÷	 
#×	"Ñ	"úó   ÁA8CÃC$c                 óÎ  — t         j                  j                  d«      }t        | d|t        ¬«      }t        |d|t        ¬«      }t        j                  «       5  t        j                  dt        «       |j                  |«      }t        j                  |j                  «       |j                  «       «      }t        |j                  «       |«       d d d «       y # 1 sw Y   y xY wr¸  )r   r)   rí   r   rî   rº  r»  r¼  r   Úminimumr   r   rs  s          r   Útest_minimumrÖ  6  rÒ  rÓ  c                  óà  — t        g d¢«      } t        ddgddgddgg«      }t        ddgdd	ggd
dgddgggddgddggddgddgggg«      }t        j                  «       5  t        j                  dt        «       t        | j                  d«      j                  «       t        j                  | j                  «       d«      «       t        |j                  d«      j                  «       t        j                  |j                  «       d«      «       t        |j                  d«      j                  «       t        j                  |j                  «       d«      «       d d d «       y # 1 sw Y   y xY w©N)r   r!   r   rã   r   é   r#   iôÿÿÿr   r
   r   r&   r%   r€   r'   r   iúÿÿÿr¹  )	r   rº  r»  r¼  r   r   rÐ  r   r   ©rD  rE  Úcs      r   Útest_maximum_with_scalarrÜ  B  ó%  € Ü’'Ó€AÜ�B˜�7˜R ˜G a¨ XÐ.Ó/€AÜ�a˜�U˜Q˜q˜E�N a¨ U¨R°¨GÐ$4Ð5Ø˜�U˜Q˜q˜E�N a¨ U¨Q¨r¨F OÐ4ð6ó 	7€Aä	×	 Ñ	 Õ	"Ü×Ñ˜hÔ(?Ô@Ü�Q—Y‘Y˜q“\×)Ñ)Ó+¬R¯Z©Z¸¿	¹	»ÀQÓ-GÔHÜ�Q—Y‘Y˜q“\×)Ñ)Ó+¬R¯Z©Z¸¿	¹	»ÀQÓ-GÔHÜ�Q—Y‘Y˜q“\×)Ñ)Ó+¬R¯Z©Z¸¿	¹	»ÀQÓ-GÔH÷	 
#×	"Ñ	"úó   ÁC<E$Å$E-c                  óà  — t        g d¢«      } t        ddgddgddgg«      }t        ddgdd	ggd
dgddgggddgddggddgddgggg«      }t        j                  «       5  t        j                  dt        «       t        | j                  d«      j                  «       t        j                  | j                  «       d«      «       t        |j                  d«      j                  «       t        j                  |j                  «       d«      «       t        |j                  d«      j                  «       t        j                  |j                  «       d«      «       d d d «       y # 1 sw Y   y xY wrØ  )	r   rº  r»  r¼  r   r   rÕ  r   r   rÚ  s      r   Útest_minimum_with_scalarrà  N  rÝ  rÞ  c                  ó¬  — t        t        j                  d«      «      } | d   dk(  sJ ‚| d   dk(  sJ ‚t        | dd j	                  «       | j	                  «       dd «       t        | d d j	                  «       | j	                  «       d d «       t        | dd  j	                  «       | j	                  «       dd  «       t        | ddd…   j	                  «       | j	                  «       ddd…   «       t        | g d¢   j	                  «       | j	                  «       g d¢   «       t        | g d	¢   j	                  «       | j	                  «       g d	¢   «       y )
Nr%   r   r   r!   r   r#   r
   ©r!   r   r   ©r   r   r!   )r   r   rÊ  r   r   ©r[   s    r   Útest_1d_coo_getrå  Z  s  € Ü”"—)‘)˜A“,Ó€AàˆQ‰4�1Š9Ðˆ9ØˆQ‰4�1Š9Ðˆ9ä��1�Q�—‘Ó! 1§9¡9£;¨q°Ð#3Ô4Ü��2�A�—‘“ !§)¡)£+¨b¨q /Ô2Ü��1�2�—‘“ !§)¡)£+¨a¨b /Ô2Ü��1�Q�q�5‘×!Ñ!Ó# Q§Y¡Y£[°°1°Q°Ñ%7Ô8ä�’9‘×%Ñ%Ó'¨¯©«²YÑ)?Ô@Ü�’9‘×%Ñ%Ó'¨¯©«²YÑ)?Õ@r   c                  óº  — t        t        j                  d«      j                  d«      «      } | d   dk(  sJ ‚| d   dk(  sJ ‚t	        | dd…df   j                  «       | j                  «       dd…df   «       t	        | d	dd…f   j                  «       | j                  «       d	dd…f   «       t	        | d d	…dd
d…f   j                  «       | j                  «       d d	…dd
d…f   «       t	        | ddgdf   j                  «       | j                  «       ddgdf   «       t	        | d	d …ddgf   j                  «       | j                  «       d	d …ddgf   «       t	        | t        j                  ddg«      df   j                  «       | j                  «       ddgdf   «       t	        | d	d …t        j                  ddg«      f   j                  «       | j                  «       d	d …ddgf   «       t	        | d d …df   j                  «       | j                  «       d d …df   «       t	        | dd d …f   j                  «       | j                  «       dd d …f   «       y )Né   ©r   r#   r+  r   ra  é   r!   r   r
   r#   )r   r   rÊ  rV   r   r   r(   rä  s    r   Útest_2d_coo_getrê  i  s  € Ü”"—)‘)˜EÓ"×*Ñ*¨6Ó2Ó3€AàˆT‰7�aŠ<Ðˆ<ØˆT‰7�bŠ=Ðˆ=ä��1�Q�3˜�6‘×"Ñ"Ó$ a§i¡i£k°!°A°#°q°&Ñ&9Ô:Ü��1�a˜�c�6‘×"Ñ"Ó$ a§i¡i£k°!°Q°q°S°&Ñ&9Ô:Ü��2�A�2�q˜˜1�u�9‘×%Ñ%Ó'¨¯©«°R°a°R¸¸1¸Q¸°YÑ)?Ô@ä��A�q�6˜1�9‘×%Ñ%Ó'¨¯©«°a¸°U¸A°XÑ)>Ô?Ü��1‘2˜˜1�v�:‘×&Ñ&Ó(¨!¯)©)«+°a±b¸1¸Q¸%°iÑ*@ÔAÜ�”2—8‘8˜Q ˜FÓ# QÐ&Ñ'×/Ñ/Ó1°1·9±9³;ÀÀ!¸uÀa¸xÑ3HÔIÜ��1‘2”r—x‘x  A Ó'Ð'Ñ(×0Ñ0Ó2°A·I±I³KÀÁÀQÀqÀEÀ	Ñ4JÔKä�’1�a�4‘—‘Ó" A§I¡I£K²°1°Ñ$5Ô6Ü��1’a�4‘—‘Ó" A§I¡I£K°²1°Ñ$5Õ6r   c                  óÂ  — t        t        j                  d«      j                  d«      «      } | d   dk(  sJ ‚| d   dk(  sJ ‚t	        | ddd…df   j                  «       | j                  «       ddd…df   «       t	        | ddd…df   j                  «       | j                  «       ddd…df   «       t	        | d d…dd	d
…d
d …f   j                  «       | j                  «       d d…dd	d
…d
d …f   «       t	        | ddgddf   j                  «       | j                  «       ddgddf   «       t	        | d d
…dd…ddgf   j                  «       | j                  «       d d
…dd…ddgf   «       t	        | dd d …df   j                  «       | j                  «       dd d …df   «       t	        | d d …d d …df   j                  «       | j                  «       d d …d d …df   «       y )Néx   r"   rÊ   r   r\  éw   r!   r   r#   r
   )r   r   rÊ  rV   r   r   )rZ   s    r   Útest_3d_coo_getrî  |  sÎ  € Ü”"—)‘)˜IÓ&×.Ñ.¨yÓ9Ó:€AØˆW‰:˜Š?Ðˆ?ØˆW‰:˜ÒÐÐä��1�a˜�c˜1�9‘×%Ñ%Ó'¨¯©«°Q¸¸!¸¸Q°YÑ)?Ô@Ü��1�a˜�c˜1�9‘×%Ñ%Ó'¨¯©«°Q¸¸!¸¸Q°YÑ)?Ô@Ü��2�A�2�q˜˜1�u˜a™b�=Ñ!×)Ñ)Ó+¨Q¯Y©Y«[¸¸!¸¸Q¸qÀ¸UÀAÁB¸Ñ-GÔHä��A�q�6˜1˜a�<‘×(Ñ(Ó*¨A¯I©I«K¸¸A¸ÀÀ1¸Ñ,EÔFÜ��2�A�2�q˜�s˜Q ˜F�?Ñ#×+Ñ+Ó-¨q¯y©y«{¸2¸A¸2¸qÀ¸sÀQÈÀF¸?Ñ/KÔLä��1’a˜�7‘×#Ñ#Ó% q§y¡y£{°1²a¸°7Ñ';Ô<Ü�’1’a˜�7‘×#Ñ#Ó% q§y¡y£{²1²a¸°7Ñ';Õ<r   c            	      óú  — t        t        j                  d«      j                  d«      «      } | j	                  «       }t        | d d…dd …df   j	                  «       |d d…dd …df   «       t        | d d d…dd…d df   j	                  «       |d d d…dd…d df   «       t        | d d d…dd …dd f   j	                  «       |d d d…dd …dd f   «       t        | d d d…dd f   j	                  «       |d d d…dd f   «       y )Nrì  r"   r#   r   r!   .)r   r   rÊ  rV   r   r   )rZ   ÚDs     r   Útest_newaxis_getrñ  Œ  s  € Ü”"—)‘)˜IÓ&×.Ñ.¨yÓ9Ó:€AØ	�	‰	‹€AÜ��2�A�2�q‘r˜1�9‘×%Ñ%Ó'¨¨2¨A¨2¨q©r°1¨9©Ô6Ü��4˜˜!˜˜Q˜q˜S $¨Ð)Ñ*×2Ñ2Ó4°a¸¸b¸q¸bÀ!ÀAÀ#ÀtÈQÐ8NÑ6OÔPÜ��4˜˜!˜˜Q™R  DÐ(Ñ)×1Ñ1Ó3°Q°t¸R¸a¸RÀÁÀQÈÐ7LÑ5MÔNÜ��4˜˜!˜˜S $Ð&Ñ'×/Ñ/Ó1°1°T¸2¸A¸2¸sÀDÐ5HÑ3IÕJr   c                  óv  — t        j                  d«      j                  d«      } t        | «      }dx|d dd …df<   | d dd …df<   t	        |j                  «       | «       dx|dd …dd f<   | dd …dd f<   t	        |j                  «       | «       dx|dd …d df<   | dd …d df<   t	        |j                  «       | «       y )Nrì  r"   r#   r   r!   r   )r   rÊ  rV   r   r   r   ©rð  rZ   s     r   Útest_newaxis_setrô  •  sº   € Ü
�	‰	�)Ó×$Ñ$ YÓ/€AÜ�!‹€Aà&'Ð'€A€dˆA‰B�€k�N�Q�t˜Q™R �{‘^Ü�—‘“˜aÔ Ø&'Ð'€A€a�bˆ!ˆT€k�N�Q�q‘r˜1˜d�{‘^Ü�—‘“˜aÔ Ø&'Ð'€A€a�bˆ$�€k�N�Q�q‘r˜4 �{‘^Ü�—‘“˜aÕ r   c                  óÖ  — t        j                  d«      } t        | «      }dx|d<   | d<   t        |j	                  «       | «       dx|d<   | d<   t        |j	                  «       | «       ddgx|dd | dd t        |j	                  «       | «       g d	¢x|d d | d d t        |j	                  «       | «       | dd   x|dd  | dd  t        |j	                  «       | «       | dd
d…    x|dd
d…<   | dd
d…<   t        |j	                  «       | «       | g d¢    x|g d¢<   | g d¢<   t        |j	                  «       | «       | g d¢    x|g d¢<   | g d¢<   t        |j	                  «       | «       y )Nr%   rC   r   r   r   r€   r!   r   )iùÿÿÿiøÿÿÿi÷ÿÿÿr#   r
   râ  r    rã  )r   rÊ  r   r   r   ró  s     r   Útest_1d_coo_setrö  ¡  sd  € Ü
�	‰	�!‹€AÜ�!‹€AàÐ€A€a�Dˆ1ˆQ‰4Ü�—‘“˜aÔ ØÐ€A€a�Dˆ1ˆQ‰4Ü�—‘“˜aÔ à˜2�hÐ€A€aˆ€FˆQˆq�ˆVÜ�—‘“˜aÔ Ú Ð €A€b€q€EˆAˆbˆqˆEÜ�—‘“˜aÔ Ø�q�r�U�FÐ€A€a€b€EˆAˆaˆbˆEÜ�—‘“˜aÔ Ø˜Q˜q ˜U™8˜)Ð#€A€aˆˆ!€e�Hˆq��1�Q�‰xÜ�—‘“˜aÔ à#$¢Y¡< -Ð/€A‚i�L�1’Y‘<Ü�—‘“˜aÔ Ø#$¢Y¡< -Ð/€A‚i�L�1’Y‘<Ü�—‘“˜aÕ r   rç  rè  r`   )rC   r€   r#   rC   r    ©rZ   rð  Úidxc                 óT   — ||    x||<   | |<   t        | j                  «       |«       y rÔ   ©r   r   r÷  s      r   Útest_2d_coo_setrû  Ð  s,   € ð ˜‘v�gÐ€A€c�FˆQˆs‰VÜ�—‘“˜aÕ r   rì  r"   rÊ   )r   éüÿÿÿr#   r   c                 óL   — dx||<   | |<   t        | j                  «       |«       y )Né�ÿÿÿrú  r÷  s      r   Útest_3d_coo_setrÿ  ï  s&   € ð Ð€A€c�FˆQˆs‰VÜ�—‘“˜aÕ r   Úscalar_containerc                 óB   — t        t        j                  | gg«      «      S rÔ   )r	   r   r(   ©Úxs    r   Ú<lambda>r  ø  s   € ŒyœŸ™ A 3 %›Ô)r   c                 ó   — | S rÔ   rG   r  s    r   r  r  ø  s   € ¹qr   )ÚsparseÚdenseÚscalar)Úidszfails in parallel)Úreasonc                 óx   —  | d«      t         d<   dt        d<   t        t         j                  «       t        «       y )Nrþ  rÊ   )rZ   rð  r   r   )r   s    r   Útest_3d_coo_singletonr  ö  s+   € ñ $ CÓ(„A€i�LØ„A€i�LÜ”—‘“œaÕ r   éÀ  ©r   r   r   r   r   )zall-intsr¤   )zellipsis-first).r   )zellipsis-last)r!   .)zellipsis-middle)r!   .r   z
split-intszcontiguous-ints-lastzcontiguous-ints-firstzempty-slicezsplit-2d-arrays-and-intsr7   )r
   r!   r
   )r
   r!   r   rÞ   z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-arrays)r   r   r   z3duplicate-array-entries-contiguous-broadcast-arrays©rZ   rð  ÚixÚmsgc                 óX   — dx||<   | |<   t        | j                  «       |d|› d�¬«       y )Nrþ  z

Test of: Ú
)Úerr_msgrú  r  s       r   Útest_5d_coo_setr  3  s1   € ð Ð€A€b�EˆAˆb‰EÜ�—‘“˜a¨;°s°e¸2Ð)>Ö?r   c                  óˆ  — t        j                  d«      j                  d«      } t        | «      }t	        || dkD     j                  «       | | dkD     «       t	        || dkD     j                  «       | | dkD     «       t	        || dkD     j                  «       | | dkD     «       t	        ||dkD     j                  «       | | dkD     «       t	        ||dkD     j                  «       | | dkD     «       t	        ||dk     j                  «       | | dk     «       |d d …ddddf   dkD  }|dd d …dddf   dkD  }|t        dd	d «      d
gt        d dd«      |f}|j                  «       t        dd	d
«      d
gt        ddd«      |j                  «       f}| |   }t	        ||   j                  «       |«       t	        ||   j                  «       |«       t        dd	d «      ||t        d dd«      d
gf}t        dd	d «      |j                  «       |j                  «       t        d dd«      d
gf}| |   }t	        ||   j                  «       |«       y )Nr  r  éô  iˆ  rC   r   é2   r
   r   r!   )r   rÊ  rV   r   r   r   Úslice)rð  rZ   Úbi0Úbi1rø  ÚidxnpÚresults          r   Útest_bool_getr  :  s$  € Ü
�	‰	Ð#Ó$×,Ñ,¨_Ó=€AÜ�!‹€Aä��1�s‘7‘×#Ñ#Ó% q¨¨S©¡zÔ2Ü��1�t‘8‘×$Ñ$Ó&¨¨!¨d©(©Ô4Ü��1�r‘6‘×"Ñ"Ó$ a¨¨B©¡iÔ0ä��1�s‘7‘×#Ñ#Ó% q¨¨S©¡zÔ2Ü��1�t‘8‘×$Ñ$Ó&¨¨!¨d©(©Ô4Ü��1�r‘6‘×"Ñ"Ó$ a¨¨B©¡iÔ0à
ŠAˆq�!�Q˜ˆMÑ
˜RÑ
€CØ
ˆAŠq�!�Q˜ˆMÑ
˜RÑ
€Cà”�a˜˜DÓ! A 3¬¨d°A°qÓ(9¸3Ð
?€CØ�[‰[‹]œE ! Q¨›N¨Q¨C´°q¸!¸Q³ÀÇÁÃÐO€EØˆu‰X€FÜ��3‘—‘Ó! 6Ô*Ü��5‘×!Ñ!Ó# VÔ,ä��A�tÓ˜c 3¬¨d°A°qÓ(9¸A¸3Ð
?€CÜ�1�a˜Ó §¡£¨s¯{©{«}¼eÀDÈ!ÈQÓ>OÐRSÐQTÐU€EØˆu‰X€FÜ��3‘—‘Ó! 6Õ*r   c                  óh  — t        j                  d«      j                  d«      } t        | «      }|j	                  «       | j	                  «       }}dx||dkD  <   ||dkD  <   t        |j                  «       |«       |j	                  «       | j	                  «       }}dx||dkD  <   ||dkD  <   t        |j                  «       |«       |j	                  «       | j	                  «       }}|d d …ddddf   dkD  }|t        dd	d «      d
gt        d dd«      |f}|j                  «       t        dd	d
«      d
gt        ddd«      |j                  «       f}dx||<   ||<   t        |j                  «       |«       |j	                  «       | j	                  «       }}dx||<   ||<   t        |j                  «       |«       y )Nr  r  ißÿÿÿr  i³ÿÿÿr   r  r
   r   r!   iÉÿÿÿi¨ÿÿÿ)r   rÊ  rV   r   Úcopyr   r   r  )ÚD_origÚA_origrZ   rð  Úbool0rø  r  s          r   Útest_bool_setr$  U  s}  € Ü�Y‰YÐ(Ó)×1Ñ1°/ÓB€FÜ�vÓ€Fà�;‰;‹=˜&Ÿ+™+›-€q€AØ!Ð!€A€aˆ#�g�J��1�s‘7‘Ü�—‘“˜aÔ à�;‰;‹=˜&Ÿ+™+›-€q€AØ!Ð!€A€aˆ#�g�J��1�s‘7‘Ü�—‘“˜aÔ à�;‰;‹=˜&Ÿ+™+›-€q€AØŠa��A�q˜!ˆmÑ˜rÑ!€EØ”%˜˜1˜dÓ# a S¬%°°a¸Ó*;¸UÐ
C€CØ�]‰]‹_œe A q¨!›n¨q¨c´5¸¸A¸q³>À5Ç=Á=Ã?ÐS€EàÐ€A€e�Hˆq�‰vÜ�—‘“˜aÔ à�;‰;‹=˜&Ÿ+™+›-€q€AØÐ€A€e�Hˆq�‰xÜ�—‘“˜aÕ r   )‚rË  rº  Únumpyr   Únumpy.testingr   r   rD   Úscipy.linalgr   Úscipy.sparser   r   r   Úscipy.sparse._csrr	   Ú_coor   r   r   r4   r;   rH   rK   rO   rQ   r]   rk   ro   rr   r|   rˆ   r’   ÚmarkÚparametrizerî   r›   ÚzipÚtuplerž   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_shapesr5  Úmat_mat_shapesr>  rA  rF  rH  rJ  rN  Ú
dot_shapesrW  Útensordot_shapes_and_axesrZ  r^  re  rm  ro  Úadd_sub_shapesrt  rw  Úargmax_argmin_shapes_axisr�  Ú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Ê  rV   rð  rZ   r  ÚEllipsisr(   ÚkeysÚthread_unsaferû  rÿ  r  r  r  r$  )rø  r  r  s   000r   Ú<module>r;     sÍ  ðÛ Û ã ß 7Û Ý #ß IÑ IÝ 'ß 3ò<òRò@)ò(+ò80ò5ò8ò
#ò "òJòFòAò ò 3ð ‡�×Ñ˜¢Ó0ð%˜ò %ó 1ð%ð ‡�×Ñ˜¡¢L²,Ó ?Ó@ð%˜e C¨ H™oò %ó Að%ð ‡�×Ñ˜¢Ó-ð%˜cò %ó .ð%òò8
+òò2òòòòB"ð ‡�×Ñ˜ò #;ó <ñ0ó<ð0ð ‡�×Ñ˜ò #;ó <ñ1ó<ð1ð ‡�×Ñ˜ò #;ó <ñ%ó<ð%ð ‡�×Ñ˜ò #;ó <ñ%ó<ð%ò;ð ‡�×ÑÐ/ò 2Qó Rñ-ó	Rð-ð ‡�×Ñ˜ò #;ó <ñ6ó<ð6ð ‡�×Ñ˜ò #;ó <ñ/ó<ð/ð ‡�×ÑÐ/ò 2Só TñSóTðSòAò5ð4 ‡�×Ñ˜ò #;ó <ñó<ðð ‡�×Ñ˜ò #;ó <ñ2ó<ð2ò2ð ‡�×ÑÐ/ò 2Kó LñóLðð ‡�×Ñ˜ò #;ó <ñó<ðð ‡�×Ñ˜ò #;ó <ñ	2ó<ð	2ò2ð ‡�×ÑÐ/ò 2Kó LñóLðò
€ð ‡�×ÑÐ3°^ÓDñ
ó Eð
ò€ð ‡�×ÑÐ5°~ÓFñó Gðò* ò"ò%òò	ò€
ð ‡�×ÑÐ/°Ó<ñ%ó =ð%ð$ ˆE�Q�C˜!˜�:ÐØ�˜�s˜Q˜C�jÐ!Ø	ˆ9˜�s˜Q˜C�jÐ!Ø�	˜Q ˜F Q¨ FÐ+Ð,ØˆkšI¢yÐ1Ð2Ø!ØØˆgš	¢9Ð-Ð.ð	Ð ð ‡�×ÑÐ7Ð9RÓSñó Tðò,*ð& ‡�×ÑÐ<òMóNñ
%óNð
%ð ‡�×Ñ˜'ò %>ó ?ñ%ó?ð%ð" ‡�×Ñ˜'ò %>ó ?ñ0ó?ð0ò€ð ‡�×ÑÐ/°Ó@ñ	ó Að	ð ‡�×ÑÐ/°Ó@ñ
ó Að
òÐ ð ‡�×ÑÐ*Ð,EÓFñ
ó Gð
ò
Ð ð ‡�×ÑÐ*Ð,?Ó@ñ-ó Að-ò* ð ˜ØÐ&Ð(;Ø˜ ! X R§X¡X¨e£_Ð5Ø˜i¨¨H¨B¯H©H°WÓ,=Ð>ØÐ0ØÐ-Ð/CØÐ.Ð0@Ø��x�r—x‘x “Ð'Ð)AØ 	¨6°8°2·8±8¸E³?Ð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 €B‡I�IˆeÓ×Ñ˜VÓ$€ÙˆaƒL€ð Øá
ˆ1ˆa�Ó˜ÐØ‰ˆa��DÓÐÙ
ˆ1ˆa�Ó™˜a  A›Ð'Ù
ˆ4��rÓ˜AÐØ‰ˆd‹ÐØ€Kàˆ€VˆQ€KØˆˆAˆ€KØ€R‡X�Xˆq�!ˆfÓ‘u˜Q “~Ð&Ù
ˆ1ƒXˆxˆr�x‰xš	Ó"Ð#à€R‡X�Xˆq�!ˆfÓ�x�r—x‘x  A Ó'Ð(ð#€ð( ‡�×ÑÒ*ÁDÓ,IÁD¸S¨a°°Cª[ÀDÑ,IÓJØ‡�×Ññ!ó ó Kð!ð
 €B‡I�IˆiÓ× Ñ  Ó+€ÙˆaƒL€ð Øà‰ˆa�‹�QÐÙ
ˆ1ˆdƒ^�Q™˜a›Ð!Ù
ˆ1ƒX‰u�Q˜˜1‹~™u Q¨›~Ð.Ù
ˆ4��rÓ™E $›K©¨q°!°Q«Ð8ØàˆˆAˆ‘�a“ÐØ€R‡X�Xˆq�!ˆfÓ‘u˜Q “~ qÐ)Ø€R‡X�Xˆq�!ˆfÓ‘u˜Q “~¨ sÐ+à€R‡X�Xˆq�!ˆfÓ‘u˜Q “~ x r§x¡x°°A°Ó'7Ð8Øˆˆ�‰�!�Q�Ó˜(˜"Ÿ(™( A q 6Ó*Ð+Ø€R‡X�Xˆq�!ˆfÓ�x�r—x‘x  A Ó'¨Ð+Ø€R‡X�Xˆq�!ˆfÓ�x�r—x‘x  A Ó'¨!¨Ð-ð%€ð* ‡�×ÑÒ*ÁDÓ,IÁD¸S¨a°°Cª[ÀDÑ,IÓJØ‡�×Ññ!ó ó Kð!ð
 ‡�×ÑØÙ)¨2¯8©8±[ÐAÚ%ð ó ð
 ‡�×ÑÐ"5ÐÓ6ñ!ó 7óð!ð €B‡I�IÐÓ ×(Ñ(¨Ó9€ÙˆaƒL€ð Ø ØØ$à‘E˜$  4Ó(¨!¨Q±°d¸DÀ$Ó0GÈÐKÐLØ™e A t¨TÓ2±E¸$ÀÀdÓ4KÈQÐPQÐSTÐUÐVØ˜q ! Q©¨a°°tÓ(<¹eÀDÈ$ÐPTÓ>UÐVÐWØ‘U˜1˜a Ó&©¨d°D¸$Ó(?ÀÀAÀqÐIÐJàÙ	ˆt�Q˜Ó	¢	ª9Ð5º	Â9Ð7MÙ	ˆt�T˜4Ó	  !ð	%ðð %Ù	ˆt�Q˜Ó	¢	ª9Ð5º	Â9Ð7MØ	
‰E�$˜˜dÓ#ð	%ðð  Ù	ˆt�Q˜Ó	šyª)±U¸4ÀÀtÓ5LÈaÐPðð 4Ø	
‰E�!�Q˜‹N˜A¢	˜{¨a¨S°1°#¸°s¨OÐ<ðð #Ù	ˆt�Q˜Ó	™u Q¨¨1›~¨q²9°+ÀÀÀaÀSÈ1È#¸ÐOðð Ú
ˆ˜�s˜Q˜C ! �o q©%°°1°a«.¹%ÀÀaÈÓ:NÐOðð )Ú
ˆ‘e˜A˜q !“n¡e¨D°!°TÓ&:¸AÀÀÀaÀSÈ1È#¸ÐOðð ,Ù	ˆt�Q˜Ó	¢	ª9Ð5º	Â9Ð7MÙ	ˆt�T˜4Ó	  !ð	%ðð ;Ù	ˆq�!�Q‹˜˜A¢	˜{¨a¨S°1°#¸°s¨OÐ<ððQ+€ðZ ‡�×ÑÒ0ÑRVÔ2WÑRVÁwÀsÈB°A°q¸"¸c²?ÐRVÒ2WÓXØ‡�×Ññ@ó ó Yð@ò
+ó6!ùòK -Jùò> -JùóH 3Xs   Ý%n,
än1
í.n6