§
    fŠtjð¼  ã                   ó|  — 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j!         "                    dg d¢¦  «        de#fd„¦   «         Z$ej!         "                    d e%g d¢g d¢¦  «        ¦  «        de&e#e#f         fd„¦   «         Z'ej!         "                    dg d¢¦  «        de#fd„¦   «         Z(d„ Z)d„ Z*d„ Z+d „ Z,d!„ Z-d"„ Z.d#„ Z/d$„ Z0ej!         "                    d%g d&¢¦  «        d'„ ¦   «         Z1ej!         "                    d%g d&¢¦  «        d(„ ¦   «         Z2ej!         "                    d%g d&¢¦  «        d)„ ¦   «         Z3ej!         "                    d%g d&¢¦  «        d*„ ¦   «         Z4d+„ Z5ej!         "                    d,g d-¢¦  «        d.„ ¦   «         Z6ej!         "                    d%g d&¢¦  «        d/„ ¦   «         Z7ej!         "                    d%g d&¢¦  «        d0„ ¦   «         Z8ej!         "                    d1g d2¢¦  «        d3„ ¦   «         Z9d4„ Z:d5„ Z;ej!         "                    d%g d&¢¦  «        d6„ ¦   «         Z<ej!         "                    d%g d&¢¦  «        d7„ ¦   «         Z=d8„ Z>ej!         "                    d9g d:¢¦  «        d;„ ¦   «         Z?ej!         "                    d%g d&¢¦  «        d<„ ¦   «         Z@ej!         "                    d%g d&¢¦  «        d=„ ¦   «         ZAd>„ ZBej!         "                    d9g d:¢¦  «        d?„ ¦   «         ZCg d@¢ZDej!         "                    dAeD¦  «        dB„ ¦   «         ZEg dC¢ZFej!         "                    dDeF¦  «        dE„ ¦   «         ZGdF„ ZHdG„ ZIdH„ ZJdI„ ZKdJ„ ZLg dK¢ZMej!         "                    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j!         "                    d^eO¦  «        d_„ ¦   «         ZPd`„ ZQej!         "                    dag db¢¦  «        dc„ ¦   «         ZRej!         "                    d%g dd¢¦  «        de„ ¦   «         ZSej!         "                    d%g dd¢¦  «        df„ ¦   «         ZTg dg¢ZUej!         "                    d9eU¦  «        dh„ ¦   «         ZVej!         "                    d9eU¦  «        di„ ¦   «         ZWg dj¢ZXej!         "                    dkeX¦  «        dl„ ¦   «         ZYg dm¢ZZej!         "                    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j!         "                    dŠe^¦  «        d‹„ ¦   «         Z_ej!         "                    dŠe^¦  «        dŒ„ ¦   «         Z`d�„ Zag dg¢Zbej!         "                    d9eb¦  «        dŽ„ ¦   «         Zcd�„ Zdej!         "                    d9eb¦  «        d�„ ¦   «         Zed‘„ Zfej!         "                    d9eb¦  «        d’„ ¦   «         Zgd“„ Zhej!         "                    d9eb¦  «        d”„ ¦   «         Ziej!         "                    d9eb¦  «        d•„ ¦   «         Zjd–„ Zkd—„ Zld˜„ Zmd™„ Zndš„ Zod›„ Zpdœ„ Zqd�„ Zr ejs        dž¦  «         t                    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jy        dOdRg¦  «         ewdOd¦  «        f ewd¦  «         ejy        g d¤¢¦  «        f ejy        dOdRg¦  «         ejy        d dg¦  «        fgZzej!         "                    g d¥¢d¦„ ezD ¦   «         ¦  «        ej!        j{        d§„ ¦   «         ¦   «         Z| ejs        d¨¦  «         t                    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jy        dOdRg¦  «         ewdOd¦  «        d f ejy        dOdRg¦  «         ewdOd¦  «        d gf ejy        dOdRg¦  «         ewdOd¦  «         ejy        dd¬g¦  «        fd ejy        dOdRg¦  «         ejy        dd¬g¦  «        f ejy        dOdRg¦  «         ejy        dd¬g¦  «        dOf ejy        dOdRg¦  «         ejy        dd¬g¦  «        dgfgZzej!         "                    g d¥¢d­„ ezD ¦   «         ¦  «        ej!        j{        d®„ ¦   «         ¦   «         Z}ej!         "                    d¯d°„ ejy        d±„ gg d²¢¬³¦  «        ej!         {                    d´¬µ¦  «        d¶„ ¦   «         ¦   «         Z~ ejs        d·¦  «         t                    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j!         "                    g dÏ¢dÐ„ ezD ¦   «         ¦  «        ej!        j{        dÑ„ ¦   «         ¦   «         ZdÒ„ Z€dÓ„ Z�dS )Ôé    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          |                      ¦   «         t	          j        d¦  «        ¦  «         t          d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        d¦  «        ¦  «         t          d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        d¦  «        ¦  «         d S )N©é   ©r   r
   )r
   r   é   é   é   ©r   Úshaper   ÚtoarrayÚnpÚzeros)Úempty1dÚempty2dÚempty_nds      úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_coo.pyÚtest_shape_constructorr      sÒ   € Ý˜‰oŒo€GØŒ=˜DÒ Ð Ð Ð Ý�—’Ñ"Ô"¥B¤H¨T¡N¤NÑ3Ô3Ð3å˜ÑÔ€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨VÑ$4Ô$4Ñ5Ô5Ð5å˜Ñ%Ô%€HØŒ>˜[Ò(Ð(Ð(Ð(Ý�×!Ò!Ñ#Ô#¥R¤X¨kÑ%:Ô%:Ñ;Ô;Ð;Ð;Ð;ó    c                  ód  — t          g d¢¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «        }|j        dk    sJ ‚t          |                     ¦   «         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          |                     ¦   «         |¦  «         t          j                             d¦  «         t          j                             ddddd	d
ddd¦	  «	        }t          |¦  «        }|j        dk    sJ ‚t          |                     ¦   «         |¦  «         t          dt          j	        ggddggd
d	ggg¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        dt          j	        ggddggd
d	ggg¦  «        ¦  «         d S )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      sU  € å�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6õ �y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCõ Œ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‡N‚N�2ÑÔÐÝŒI�OŠO˜A˜a  ! A a¨¨!¨AÑ.Ô.€EÝ�eÑÔ€EØŒ;Ð-Ò-Ð-Ð-Ð-Ý�—’‘” %Ñ(Ô(Ð(õ ˜!�RœV˜˜¨¨A¨ x°1°a°&°Ð:Ñ;Ô;€FØŒ<˜9Ò$Ð$Ð$Ð$Ý�—’Ñ!Ô!¥2¤8¨qµ"´&¨k¨]¸aÀ¸V¸HÈÈ1ÀvÀhÐ,OÑ#PÔ#PÑQÔQÐQÐQÐQr   c            	      ó2  — t          g d¢d¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         t          g d¢g d¢gd¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        g d¢g d¢g¦  «        ¦  «         t          dggdgggd¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        dggdggg¦  «        ¦  «         t          j                             d	¦  «         t          j                             d
dddddd
¦  «        }t          |d¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         |¦  «         d S )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�i�i tÐ,Ñ,Ô,€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,°FÐ;Ñ;Ô;€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCå˜˜�u ˜s˜e�n¨IÐ6Ñ6Ô6€EØŒ;˜)Ò#Ð#Ð#Ð#Ý�—’‘”¥"¤(¨a¨S¨E°Q°C°5¨>Ñ":Ô":Ñ;Ô;Ð;å„I‡N‚N�2ÑÔÐÝŒI�OŠO˜A˜a  ! A a¨Ñ*Ô*€EÝ�u _Ð5Ñ5Ô5€EØŒ;˜/Ò)Ð)Ð)Ð)Ý�—’‘” %Ñ(Ô(Ð(Ð(Ð(r   c                  óš  — t          j        t          d¬¦  «        5  t          g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢gd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          dggd	gggd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          dgdgffd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgddgddgddgffd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          dgdgff¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          dgdgdgdgff¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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�9�9�+ TÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð 3ð 3Ý�Q�C�5˜A˜3˜%�.¨	Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ 
Œ•zØHð
Jñ 
Jô 
Jð -ð -å�A�3˜!˜˜�- tÐ,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ 
Œ•zØHð
Jñ 
Jô 
Jð Fð Få�A�a�5˜A˜q˜6 A q 6¨A¨q¨6Ð2Ð3¸9ÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ 
Œ•zÐ)DÐ	EÑ	EÔ	Eð "ð "Ý�A�3˜"˜˜�.Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "õ 
Œ•zÐ)DÐ	EÑ	EÔ	Eð +ð +Ý�A�3˜!˜˜q˜c B 4Ð(Ð)Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s�   œ<¼A ÁA Á"BÂBÂ	BÂ(C	Ã	CÃCÃ/DÄDÄDÄ9EÅE Å#E ÆF-Æ-F1Æ4F1ÇG4Ç4G8Ç;G8ÈI É IÉIc                  óÄ   — t          d¦  «        } t          | ¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        d¦  «        ¦  «         d S )Nr   r   )r   Úress     r   Útest_1d_sparse_constructorrK   k   sS   € Ý˜‰oŒo€GÝ
�GÑ
Ô
€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¡¤Ñ/Ô/Ð/Ð/Ð/r   c                  ó¸   — t          ddgddgff¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         d S )Nr%   r&   r!   r
   r   )r   r%   r&   ©r   r   r   r   r   r(   ©rJ   s    r   Útest_1d_tuple_constructorrO   r   s]   € Ý
�a˜�U˜a ˜U˜HÐ%Ñ
&Ô
&€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¨¨Ñ 3Ô 3Ñ4Ô4Ð4Ð4Ð4r   c                  ó¼   — t          ddgddgffd¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         d S )Nr%   r&   r!   r
   r@   r6   )r   r%   r&   r   rM   rN   s    r   Ú$test_1d_tuple_constructor_with_shaperQ   x   sb   € Ý
�a˜�U˜a ˜U˜HÐ%¨TÐ
2Ñ
2Ô
2€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¨¨Ñ 6Ô 6Ñ7Ô7Ð7Ð7Ð7r   c                  ó"  — d\  } }t          j        | dz
  gd¬¦  «        t          j        |dz
  gd¬¦  «        f}t          dg|f| |f¬¦  «        }|                     | |z  df¦  «        }|j        d         j        t          j        d¦  «        k    sJ ‚|j        d         d         | |z  dz
  k    sJ ‚|                     || ¦  «        }|j        d         j        t          j        d¦  «        k    sJ ‚|j        d         d         |dz
  k    sJ ‚d S )	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˜˜A™�w gÐ.Ñ.Ô.µ´¸!¸a¹%¸ÈÐ0PÑ0PÔ0PÐQ€FÝ�C�5˜&�/¨!¨Q¨Ð0Ñ0Ô0€Að 	
�	Š	�1�q‘5˜!�*ÑÔ€AØŒ8�AŒ;Ô¥¤¨Ñ 1Ô 1Ò1Ð1Ð1Ð1ØŒ8�AŒ;�qŒ>˜a !™e q™[Ò(Ð(Ð(Ð(ð 	
�	Š	�!�Q‰Œ€AØŒ8�AŒ;Ô¥¤¨Ñ 1Ô 1Ò1Ð1Ð1Ð1ØŒ8�AŒ;�qŒ>˜Q ™UÒ"Ð"Ð"Ð"Ð"Ð"r   c            	      ó  — t          g d¢¦  «        } | j        dk    sJ ‚|                      d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        dgdgdgg¦  «        ¦  «         |                      d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢g¦  «        ¦  «         t          j        t          d¬	¦  «        5  |                      d
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  |                      d¦  «         d d d ¦  «         n# 1 swxY w Y   t          g d¢g d¢g¦  «        }|j        dk    sJ ‚|                     d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢¦  «        ¦  «         |                     d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        dgdgdggdgdgdggg¦  «        ¦  «         t          j        t          d¬	¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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   �   s9  € Ý�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐà�mŠm˜FÑ#Ô#€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨q¨c°A°3¸¸¨_Ñ$=Ô$=Ñ>Ô>Ð>à�mŠm˜FÑ#Ô#€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨i¨i¨i¨[Ñ$9Ô$9Ñ:Ô:Ð:õ 
Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ø�Š�eÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ø�Š�eÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð à�=Š=˜ÑÔ€DØŒ:˜ÒÐÐÐÝ�—’‘”¥¤Ð*<Ð*<Ð*<Ñ!=Ô!=Ñ>Ô>Ð>ð —’˜iÑ(Ô(€IØŒ?˜iÒ'Ð'Ð'Ð'Ý�×"Ò"Ñ$Ô$¥b¤h°!°°q°c¸A¸3°À1À#ÈÀsÈQÈCÀÐ/QÑ&RÔ&RÑSÔSÐSõ 
Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ø�Š�eÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   Ã/DÄDÄDÄ7EÅEÅ EÉJ Ê JÊJ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 ‚d S )Nr_   r   r
   rc   rd   r$   r   )r   r   Únnz©re   rh   s     r   Útest_nnzro   ²   su   € Ý�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐØŒ9˜Š>ˆ>ˆ>ˆ>å�y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð ØŒ9˜Š>ˆ>ˆ>ˆ>ˆ>ˆ>r   c            	      ó€  — t          g d¢¦  «        j        } | j        dk    sJ ‚t          |                      ¦   «         t          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «        j        }|j        dk    sJ ‚t          |                     ¦   «         t          j        ddgddgdd	gg¦  «        ¦  «         d S )
Nr_   r   rc   rd   r   r!   r   r
   r   )r   ÚTr   r   r   r   r(   rn   s     r   Útest_transposerr   ¼   sº   € Ý�i�i�iÑ Ô Ô"€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,Ñ-Ô-Ô/€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨Q°¨F°Q¸°F¸QÀ¸FÐ+CÑ"DÔ"DÑEÔEÐEÐEÐEr   c                  ó   — t          g d¢¦  «                             d¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «                             d¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢g d¢g¦  «        ¦  «         t          j        t          d	¬
¦  «        5  t          g d¢¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬
¦  «        5  t          g d¢g d¢g¦  «                             d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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�i�iÑ Ô ×*Ò*°Ð*Ñ5Ô5€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,Ñ-Ô-×7Ò7¸VÐ7ÑDÔD€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCå	Œ•zÐ)MÐ	NÑ	NÔ	Nð 4ð 4Ý�)�)�)ÑÔ×&Ò&¨FÐ&Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ 
Œ•zÐ)EÐ	FÑ	FÔ	Fð Að AÝ�9�9�9˜i˜i˜iÐ(Ñ)Ô)×3Ò3¸Ð3Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As$   Ã4&D&Ä&D*Ä-D*Å*FÆFÆ
F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 ¦  «         d S # 1 swxY w Y   d S )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ˆ   Ö   sd  € Ý
�K�K�KÑ
 Ô
 €CÝ�”�"œ( 9 9 9Ñ-Ô-Ñ.Ô.Ð.Ý�”�"œ-¨¬Ñ0Ô0Ñ1Ô1Ð1ØŒ7Œ=˜CœGœMÒ)Ð)Ð)Ð)ØŒ7Œ=Ô" eÐ+Ð+Ð+Ð+àˆiˆi€C„GÝˆsŒz‰?Œ?˜aÒÐÐÐÝ�”�"œ( 9 9 9Ñ-Ô-Ñ.Ô.Ð.ØŒ7Œ=˜CœGœMÒ)Ð)Ð)Ð)å	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø�)�)ˆŒðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ä
D2Ä2D6Ä9D6c                  ó‚  — t          g d¢¦  «        } | j        | j        | j        | j        fD ]?}t          j        t          d¬¦  «        5   |¦   «          d d d ¦  «         n# 1 swxY w Y   Œ@| j        | j	        | j
        fD ]>}t           |¦   «                              ¦   «         |                      ¦   «         ¦  «         Œ?d S )Nr~   zCannot convertr>   )r   ÚtobsrÚtocscÚtodiaÚtolilrD   rE   rF   ÚtocooÚtocsrÚtodokr   r   )rJ   Úfs     r   Útest_1d_toformatsr’   æ   sù   € Ý
�K�K�KÑ
 Ô
 €CØŒi˜œ C¤I¨s¬yÐ9ð ð ˆÝŒ]�:Ð-=Ð>Ñ>Ô>ð 	ð 	ØˆA‰CŒCˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øàŒi˜œ C¤IÐ.ð 3ð 3ˆÝ�Q�Q‘S”S—[’[‘]”] C§K¢K¡M¤MÑ2Ô2Ð2Ð2ð3ð 3s   Á	A Á A$	Á'A$	Úarg)r!   r
   r   r#   r&   c                 ó  — t          j        g d¢¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr~   F©Úrefcheck©r   r(   r   Úresizer   r   r   ©r“   ÚdenrJ   s      r   Útest_1d_resizer›   ï   sx   € å
Œ(�;�;�;Ñ
Ô
€CÝ
�C‰.Œ.€CØ‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r   ©r!   r
   r   r   c                 ó  — t          j        g d¢¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr_   Fr•   r—   r™   s      r   Útest_1d_to_2d_resizerž   ù   sx   € å
Œ(�9�9�9Ñ
Ô
€CÝ
�C‰.Œ.€Cà‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r   )r!   r   r   r&   c                 ó  — t          j        g d¢g d¢g¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr_   ©r   r   r   Fr•   r—   r™   s      r   Útest_2d_to_1d_resizer¡     s�   € å
Œ(�I�I�I˜y˜y˜yÐ)Ñ
*Ô
*€CÝ
�C‰.Œ.€CØ‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r   c            	      ó´  — t          g d¢g d¢ff¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        ddg¦  «        ¦  «         |                      ¦   «          | j        dk    sJ ‚t          |                      ¦   «         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        dk    sJ ‚t          |                     ¦   «         |¦  «         t          g d¢g d¢ff¦  «        }|j        dk    sJ ‚|                     ¦   «          |j        dk    sJ ‚d S )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�y�y 9 9 9 ,Ð/Ñ0Ô0€EØŒ9˜Š>ˆ>ˆ>ˆ>Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ø	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3õ �y�y�y 9 9 9¨i¨i¨i¸¸¸ÀIÀIÀIÐ"NÐOÑPÔP€EØŒ9˜Š>ˆ>ˆ>ˆ>ÝŒ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˜Š>ˆ>ˆ>ˆ>Ý�—’‘” (Ñ+Ô+Ð+õ ˜L˜L˜L¨<¨<¨<¨/Ð:Ñ;Ô;€JØŒ>˜QÒÐÐÐØ×ÒÑÔÐØŒ>˜QÒÐÐÐÐÐr   c                  ón  — t          g d¢g d¢ff¦  «        } | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         t          j        ddg¦  «        ¦  «         |                      ¦   «          | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         t          j        ddg¦  «        ¦  «         t          | j        t          j        dg¦  «        ¦  «         t          | j	        t          j        dg¦  «        ¦  «         d S )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�y�y 9 9 9 ,Ð/Ñ0Ô0€EØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ø	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ý�”�BœH a S™MœMÑ*Ô*Ð*Ý�”�BœH a S™MœMÑ*Ô*Ð*Ð*Ð*r   c                  óì   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z   }t          | ¦  «        |z   }t          |¦  «        t          |¦  «        u sJ ‚t	          ||¦  «         d S ©N©r   r   r€   r   r¥   )r   r(   r   Útyper   ©Úden_aÚden_bÚexprJ   s       r   Útest_1d_add_denser¶   7  sv   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ
�%‰-€CÝ
�EÑ
Ô
˜UÑ
"€CÝ�‰9Œ9�˜S™	œ	Ð!Ð!Ð!Ð!Ý��cÑÔÐÐÐr   c                  óê   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z   }t          | ¦  «        t          |¦  «        z   }t          ||                     ¦   «         ¦  «         d S r¯   )r   r(   r   r   r   ©r³   r´   Ú	dense_sumÚ
sparse_sums       r   Útest_1d_add_sparser»   @  sm   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ˜‘€Iå˜5Ñ!Ô!¥I¨eÑ$4Ô$4Ñ4€JÝ�˜J×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1r   c                  óà   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z  }t          | ¦  «        |z  }t          j        |¦  «        dk    sJ ‚t	          ||¦  «         d S )Nr°   r¥   r   )r   r(   r   Úndimr   r²   s       r   Útest_1d_matmul_vectorr¾   I  sr   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ
�%‰-€CÝ
�EÑ
Ô
˜UÑ
"€CÝŒ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          ||¦  «         d S )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�l�l�l L L LÐ1Ñ2Ô2Ô4€EØ
�‰+€CÝ
�C‰.Œ.˜5Ñ
 €CÝ�‰9Œ9�˜S™	œ	Ð!Ð!Ð!Ð!Ý��cÑÔÐÐÐr   c                  ó0  — t          j        g d¢g d¢g¦  «        } t          | ¦  «        }| | j        z  }||j        z  }t	          |                     ¦   «         |¦  «         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	          ||¦  «         d S )
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Å   [  s“  € å
Œ(�L�L�L , , ,Ð/Ñ
0Ô
0€CÝ�c‰NŒN€EØ
�”‰+€CØ
�%”'‰/€CÝ�—’‘” Ñ$Ô$Ð$õ Œ(�O�O�O _ _ _Ð5Ñ
6Ô
6€CÝ�c‰NŒN€EØ
�”‰+€CØ
�#”%‰-€CÝ��cÑÔÐõ ŒH�o�o�o   Ð7Ñ8Ô8€EÝŒH�_�_�_Ñ%Ô%€EÝ�eÑÔ€EØ
�%”'‰/€CØ
�%”'‰/€CÝ��cÑÔÐõ ŒH�Y�Y�YÑÔ€EÝŒ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          | ¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr°   z diagonal requires two dimensionsr>   )r   r(   rD   rE   rF   r   Údiagonal)rš   s    r   Útest_1d_diagonalrÈ   |  s§   € Ý
Œ(�>�>�>Ñ
"Ô
"€CÝ	Œ•zÐ)KÐ	LÑ	LÔ	Lð "ð "Ý�#‰Œ×ÒÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ²"A!Á!A%Á(A%r   )rt   ©r   )r   r   ©r   r   r   )r   r   r
   r_   )r   r%   r   r
   r   r#   c                 óæ   — t           j                             d¦  «         t           j                             dd| ¬¦  «        }t	          t          |¦  «                             ¦   «         |¦  «         d S )Nr'   r   r#   )ÚlowÚhighÚsize)r   r)   r*   Úrandintr   r   Útodense)r   Úarrs     r   Útest_nd_todenserÒ   ‚  s\   € õ „I‡N‚N�2ÑÔÐÝ
Œ)×
Ò
 ¨°Ð
Ñ
6Ô
6€CÝ•˜3‘”×'Ò'Ñ)Ô)¨3Ñ/Ô/Ð/Ð/Ð/r   c                 óÄ   — t          | ¦  «        }t          |¦  «        }|j        | k    sJ ‚t          |                     ¦   «         t	          j        | ¦  «        ¦  «         d S ©Nr   )r   Ú	empty_arrrJ   s      r   Útest_nd_sparse_constructorrÖ   Š  sW   € õ ˜%Ñ Ô €IÝ
�IÑ
Ô
€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¡¤Ñ0Ô0Ð0Ð0Ð0r   c                 óæ   — t           j                             d¦  «         t          j        j        | Ž }t	          |¦  «        }|j        | k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr'   ©r   r)   r*   r+   r   r   r   r   ©r   rÑ   rJ   s      r   Útest_nd_tuple_constructorrÚ   “  sb   € õ „I‡N‚N�2ÑÔÐÝ
Œ)Œ/˜5Ð
!€CÝ
�C‰.Œ.€CØŒ9˜ÒÐÐÐÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r   c                 óê   — t           j                             d¦  «         t          j        j        | Ž }t	          || ¬¦  «        }|j        | k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr'   r6   rØ   rÙ   s      r   Ú$test_nd_tuple_constructor_with_shaperÜ   �  si   € õ „I‡N‚N�2ÑÔÐÝ
Œ)Œ/˜5Ð
!€CÝ
�C˜uÐ
%Ñ
%Ô
%€CØŒ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 ¦  «         n# 1 swxY w Y   t          g g g g g ffd
¬	¦  «        } t	          |                      ¦   «         t          j        d
¦  «        ¦  «         d S )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Ñ	DÔ	Dð Eð EÝ�A�q�6˜Q ˜F Q¨ F¨Q°¨FÐ3Ð4¸GÐDÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eõ ˜2  B¨¨BÐ/Ð0¸	ÐBÑBÔB€IÝ�×"Ò"Ñ$Ô$¥b¤h¨yÑ&9Ô&9Ñ:Ô:Ð:Ð:Ð:s   œAÁAÁA)r   Ú	new_shape))©r   r%   r   r#   )r   r   é   r   )râ   )é$   é   )râ   )i8  )râ   )r
   r   r
   r
   r   r#   r   c                 óh  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|j        | k    sJ ‚|                     ¦   «         }|                     |¦  «        }|                     |¦  «        }|j        |k    sJ ‚t          |                     ¦   «         |¦  «         d S ©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ŒO€Eà�mŠm˜IÑ&Ô&€GØ�mŠm˜IÑ&Ô&€GØŒ=˜IÒ%Ð%Ð%Ð%Ý�—’Ñ"Ô" GÑ,Ô,Ð,Ð,Ð,r   c                 óÖ   — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|j        t          j        |                     ¦   «         ¦  «        k    sJ ‚d S rç   )r   r)   rí   r   rî   rm   r«   r   )r   rì   rÑ   s      r   Útest_nd_nnzrô   Â  s[   € õ Œ)×
Ò
 Ñ
)Ô
)€Cå
�u c¨s½#Ð
>Ñ
>Ô
>€CØŒ7•bÔ& s§{¢{¡}¤}Ñ5Ô5Ò5Ð5Ð5Ð5Ð5Ð5r   c                 ó>  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         j        }|                     ¦   «         }|j        | d d d…         k    sJ ‚t          ||                     ¦   «         ¦  «         d S )Nrè   ré   rê   rC   )
r   r)   rí   r   rî   r   rq   r{   r   r   )r   rì   rÑ   rð   Ú	trans_arrs        r   Útest_nd_transposer÷   Ë  sŠ   € õ Œ)×
Ò
 Ñ
)Ô
)€Cå
�u c¨s½#Ð
>Ñ
>Ô
>€CØ�kŠk‰mŒmŒo€GØ—’‘”€IØŒ?˜e D 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                 ó0  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     |¬¦  «        }t          |                     ¦   «         t          j        |                     ¦   «         |¬¦  «        ¦  «         d S )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°3·;²;±=´=ÀyÐ&QÑ&QÔ&QÑRÔRÐRÐRÐRr   c                  óp  — t          j        t          d¬¦  «        5  t          g d¢¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢g d¢g¦  «                             d	¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nrx   r>   r_   rw   ru   ry   rc   rd   rz   )rD   rE   rF   r   r{   rG   r   r   Ú%test_transpose_with_inconsistent_axisrü   â  sL  € Ý	Œ•zÐ)MÐ	NÑ	NÔ	Nð 4ð 4Ý�)�)�)ÑÔ×&Ò&¨FÐ&Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ 
Œ•zÐ)EÐ	FÑ	FÔ	Fð Að AÝ�9�9�9˜i˜i˜iÐ(Ñ)Ô)×3Ò3¸Ð3Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As#   œ&AÁAÁAÁ4*B+Â+B/Â2B/c            
      ó  — t          g d¢g d¢g d¢g d¢ff¦  «        } | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         t          j        g d¢g d¢gg d¢g d¢gg d¢g d	¢gg¦  «        ¦  «         |                      ¦   «          | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         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 ‚|                     ¦   «         dk    sJ ‚|                     ¦   «          |j        dk    sJ ‚|                     ¦   «         dk    sJ ‚t          |j        t          j        g ¦  «        ¦  «         t          |j	        t          j        g ¦  «        ¦  «         t          |j
        g g g g g f¦  «         d S )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   ê  sX  € å�|�|�| l l l°L°L°LÀ,À,À,Ð%OÐPÑQÔQ€EØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨Y¨Y¨Y¸	¸	¸	Ð,BØ%. Y Y°	°	°	Ð$:¸Y¸Y¸YÈ	È	È	Ð<Rð,Tñ #Uô #Uñ Vô Vð Và	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨Y¨Y¨Y¸	¸	¸	Ð,BØ%. Y Y°	°	°	Ð$:¸Y¸Y¸YÈ	È	È	Ð<Rð,Tñ #Uô #Uñ Vô Vð Vð ˆlˆl˜L˜L˜L¨,¨,¨,¸¸¸ÀlÀlÀlÐS€FÝ�|�|�| VÐ,Ñ-Ô-€EØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ø	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�”�BœH R™LœLÑ)Ô)Ð)Ý�”�BœH R™LœLÑ)Ô)Ð)Ý�”  B¨¨B°Ð3Ñ4Ô4Ð4Ð4Ð4r   c                 óh  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z   }||z   }t          |¦  «        t          |¦  «        u sJ ‚t          ||¦  «         d S 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Œ9�˜S™	œ	Ð!Ð!Ð!Ð!Ý��cÑÔÐÐÐr   c                 óL  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z   }||z   }t          ||                     ¦   «         ¦  «         d S rç   ©r   r)   rí   r   rî   r   r   ©r   rì   r  r  r  r  r¹   rº   s           r   Útest_nd_add_sparser    s’   € õ Œ)×
Ò
 Ñ
)Ô
)€CÝ˜¨°#½SÐAÑAÔA€DÝ˜¨°#½SÐAÑAÔA€DØ—<’<‘>”> 4§<¢<¡>¤>ˆ5€Eà˜‘€IØ˜‘€JÝ�˜J×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð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	          ||                     ¦   «         ¦  «         d S ©Nr   r€   r!   r
   r   )r   r(   Úinfr   r   r   r¸   s       r   Útest_add_sparse_with_infr    ó‘   € åŒH˜�s�RœV˜H�o¨¨¨q¨c {Ð3Ñ4Ô4€EÝŒH˜�s˜Q˜C�j A 3¨¨ *Ð-Ñ.Ô.€EØ˜‘€IÝ˜5Ñ!Ô!¥I¨eÑ$4Ô$4Ñ4€JÝ�˜J×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1r   )Úa_shapeÚb_shape))rÉ   )r'   )©r   r   )r   r#   )©r#   r%   r   r
   )r%   r#   r
   r   c                 ó  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        t          d¬¦  «        5  ||z    d d d ¦  «         d S # 1 swxY w Y   d S ©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ÑDÔD€EÝ˜'¨C°SÅÐDÑDÔD€EÝ	Œ•zÐ)>Ð	?Ñ	?Ô	?ð ð Ø�‰ˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð ó   Á+A>Á>BÂBc                 óh  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z
  }||z
  }t          |¦  «        t          |¦  «        u sJ ‚t          ||¦  «         d S rç   r  r  s           r   Útest_nd_sub_denser!  3  r	  r   c                 óL  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z
  }||z
  }t          ||                     ¦   «         ¦  «         d S rç   r  r  s           r   Útest_nd_sub_sparser#  @  s’   € õ Œ)×
Ò
 Ñ
)Ô
)€Cå˜ s°½3Ð?Ñ?Ô?€DÝ˜ s°½3Ð?Ñ?Ô?€DØ—<’<‘>”> 4§<¢<¡>¤>ˆ5€Eà˜‘€IØ˜‘€JÝ�˜J×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð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	          ||                     ¦   «         ¦  «         d S r  )r   r(   r,   r   r   r   r¸   s       r   Útest_nd_sub_sparse_with_nanr%  N  r  r   c                 ó  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        t          d¬¦  «        5  ||z
   d d d ¦  «         d S # 1 swxY w Y   d S 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                 ól  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z  }||z  }t          ||¦  «         |t          |¦  «        z  }t          ||¦  «         d S 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ÑCÔC€DÝ˜	¨3°C½sÐCÑCÔ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                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }|                     ¦   «         |                     ¦   «         }}||z  }||z  }t          |                     ¦   «         |¦  «         ||z  }t          ||¦  «         |t          |¦  «        z  }t          ||¦  «         ||z  }t          ||¦  «         d S ©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ÑMÔM€DÝ˜
¨C¸cÍÐMÑMÔM€DØ—<’<‘>”> 4§<¢<¡>¤>ˆ5€EØ
�%‰-€Cà
�‰+€CÝ�—’‘” Ñ$Ô$Ð$à
�‰,€CÝ��cÑÔÐØ
•�e‘”Ñ
€CÝ��cÑÔÐð �$‰,€CÝ��cÑÔÐÐÐr   c                  óÞ  — t           j                             d¦  «        } t          dd| t          ¬¦  «        }t          dd| t          ¬¦  «        }t          j        t          d¬¦  «        5  ||z   d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  ||                     ¦   «         z   d d d ¦  «         n# 1 swxY w Y   t          dd| t          ¬¦  «        }t          j        t          d	¬¦  «        5  ||z   d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬¦  «        5  ||                     ¦   «         z   d d d ¦  «         d S # 1 swxY w Y   d S )
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     sN  € Ý
Œ)×
Ò
 Ñ
)Ô
)€Cå˜¨S¸sÍ#ÐNÑNÔN€DÝ˜¨S¸sÍ#ÐNÑNÔN€DÝ	Œ•zÐ)TÐ	UÑ	UÔ	Uð ð Øˆt‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)TÐ	UÑ	UÔ	Uð  ð  Ø�—’‘”ÑÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ ˜	¨3¸SÍÐLÑLÔL€DÝ	Œ•zÐ)QÐ	RÑ	RÔ	Rð ð Øˆt‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)QÐ	RÑ	RÔ	Rð  ð  Ø�—’‘”ÑÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ð  ð  sH   Á+A=Á=BÂBÂ#CÃCÃCÄDÄDÄDÄ=E"Å"E&Å)E&c                  ót  — t          g d¢¦  «        } t          g d¢¦  «        }t          j        |                      ¦   «         |                     ¦   «         ¦  «        }|                      |¦  «        }t	          ||¦  «         |                      |                     ¦   «         ¦  «        }t	          ||¦  «         d S )Nr    r"   )r   r   Údotr   r   )ÚaÚbrµ   rJ   s       r   Útest_dot_1d_1drF  ±  s“   € Ý�'�'�'ÑÔ€AÝ�'�'�'ÑÔ€AÝ
Œ&�—’‘”˜aŸiši™kœkÑ
*Ô
*€CØ
�%Š%�‰(Œ(€CÝ��cÑÔÐØ
�%Š%�—	’	‘”Ñ
Ô
€CÝ��cÑÔÐÐÐr   c                  óö   — t          ddgddgddgg¦  «        } d}|                      |¦  «        }t          j        |                      ¦   «         |¦  «        }t	          |                     ¦   «         |¦  «         d S )Nr!   r
   r   r   r#   r   )r   rC  r   r   r   )rD  rE  rJ   rµ   s       r   Útest_dot_sparse_scalarrH  »  sm   € Ý�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  |                      |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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  Ã  s½   € Ý˜˜A˜�x 1 a & Ð*Ñ+Ô+€EÝ�i�i�iÑ Ô €EÝ	Œ•zÐ)BÐ	CÑ	CÔ	Cð ð Ø�	Š	�%ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ÁA'Á'A+Á.A+c                  ó2  — t          ddgddgg¦  «        } t          j        t          d¬¦  «        5  |                      d ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |                      d ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | d z   d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  d | z   d d d ¦  «         d S # 1 swxY w Y   d S )	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Ñ	FÔ	Fð ð Ø�	Š	�$‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•yÐ(@Ð	AÑ	AÔ	Að ð Ø�Š˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•yÐ(BÐ	CÑ	CÔ	Cð ð Ø�‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•yÐ(BÐ	CÑ	CÔ	Cð ð Øˆu‰ˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   ±AÁAÁAÁ9BÂBÂ"BÃCÃCÃCÃ9DÄDÄD)
)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                 óz  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        |                     ¦   «         |                     ¦   «         ¦  «        }|                     |                     ¦   «         ¦  «        }t          ||¦  «         |                     t          |                     ¦   «         ¦  «        ¦  «        }t          ||¦  «         |                     |¦  «        }t          |                     ¦   «         |¦  «         d S 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ÑKÔK€EÝ˜¨#¸CÅsÐKÑKÔK€Eå
Œ&�—’‘” %§-¢-¡/¤/Ñ
2Ô
2€Cà
�)Š)�E—M’M‘O”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                 óÚ  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        |                     ¦   «         |                     ¦   «         |¬¦  «        }|                     |                     ¦   «         |¬¦  «        }t          ||¦  «         |                     t          |                     ¦   «         ¦  «        |¬¦  «        }t          ||¦  «         |                     ||¬¦  «        }t          |¦  «        t          u r$t          |                     ¦   «         |¦  «         d S t          ||¦  «         d S )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ÑKÔK€EÝ˜¨#¸CÅsÐKÑKÔK€Eå
Œ,�u—}’}‘”¨¯ª©¬¸dÐ
CÑ
CÔ
C€Cð �/Š/˜%Ÿ-š-™/œ/°ˆ/Ñ
5Ô
5€CÝ��cÑÔÐØ
�/Š/�$˜uŸ}š}™œÑ/Ô/°dˆ/Ñ
;Ô
;€CÝ��cÑÔÐð �/Š/˜% dˆ/Ñ
+Ô
+€CÝˆC�y„y•IÐÐÝ�S—[’[‘]”] CÑ(Ô(Ð(Ð(Ð(å�S˜#ÑÔÐÐÐr   c                  óJ  — t           j                             d¦  «        } t          dd| t          ¬¦  «        }t          dd| t          ¬¦  «        }dgdgf}t          j        t          d¬¦  «        5  |                     ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          d
d| t          ¬¦  «        }t          dd| t          ¬¦  «        }g d¢ddgf}t          j        t          d¬¦  «        5  |                     ||¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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ÑKÔK€EÝ˜¨#¸CÅsÐKÑKÔK€EàˆC�!�ˆ:€DÝ	Œ•zÐ)UÐ	VÑ	VÔ	Vð *ð *Ø�Š˜ DˆÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *õ ˜¨cÀÍ3ÐOÑOÔO€EÝ˜¨C¸cÍÐMÑMÔM€EàˆGˆG�a˜�UÐ€DÝ	Œ•zð *&ð 
'ñ 
'ô 
'ð *ð *à�Š˜ DˆÑ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð *ð *s$   Á1BÂBÂBÃ3DÄDÄD)Ú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                 ó0  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     |¦  «        }t          j        |                     ¦   «         |¦  «        }t          |                     ¦   «         |¦  «         d S r;  )	r   r)   rí   r   rî   Ú_broadcast_toÚbroadcast_tor   r   )r_  r`  rì   rÑ   rJ   rµ   s         r   Útest_broadcast_tore  #  sy   € õ Œ)×
Ò
 Ñ
)Ô
)€Cå
�|¨S¸sÍ#Ð
NÑ
NÔ
N€CØ
×
Ò
˜OÑ
,Ô
,€CÝ
Œ/˜#Ÿ+š+™-œ-¨Ñ
9Ô
9€CÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r   ))r   r#   r   r   r&   r  r  )r%   r#   r
   r   r   c                 óð  ‡— t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     ¦   «         }t	          t          j        |j        d d…         ¦  «        ¦  «        }|                     |f|j        dd …         z   ¦  «        Šˆfd„t          |¦  «        D ¦   «         }t          |Ž }t          |¦  «        }t          |                     ¦   «         |¦  «         d S )Nrè   ré   r<  r   c                 ó.   •— g | ]}‰|d d …d d …f         ‘ŒS rÔ   rG   )Ú.0ÚiÚreshaped_arrays     €r   ú
<listcomp>z#test_block_diag.<locals>.<listcomp><  s,   ø€ ÐCÐCÐC¨A�˜q ! ! ! Q Q Q˜wÔ'ÐCÐCÐCr   )r   r)   rí   r   rî   r   Úprodr   rV   Úranger   r   r   )	r   rì   r  r  Ú
num_slicesÚmatricesrµ   rJ   rj  s	           @r   Útest_block_diagrp  1  sÚ   ø€ õ Œ)×
Ò
 Ñ
)Ô
)€CÝ˜ s¸ÅCÐHÑHÔH€DØ�LŠL‰NŒN€Eõ •R”W˜Uœ[¨¨"¨Ô-Ñ.Ô.Ñ/Ô/€JØ—]’] J =°5´;¸r¸s¸sÔ3CÑ#CÑDÔD€NØCÐCÐCÐCµ°zÑ1BÔ1BÐCÑCÔC€HÝ
�hÐ
€Cå
�dÑ
Ô
€Cå�—’‘” Ñ$Ô$Ð$Ð$Ð$r   c                 ó  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          t          |¦  «        | ¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         d S r;  )	r   r)   rí   r   rî   r   r   r   r   )r   rì   r  rJ   s       r   Útest_extract_block_diagrr  D  sl   € õ Œ)×
Ò
 Ñ
)Ô
)€CÝ˜ s¸ÅCÐHÑHÔH€DÝ
�k¨$Ñ/Ô/°Ñ
7Ô
7€Cå�—’‘” §¢¡¤Ñ/Ô/Ð/Ð/Ð/r   ))ra  ra  )r]  r]  )©r   r   r#   rs  c                 ó²  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }||z   }t          j        |                     ¦   «         |                     ¦   «         ¦  «        }t          |                     ¦   «         |¦  «         ||                     ¦   «         z   }t          ||¦  «         d S r;  )r   r)   rí   r   rî   Úaddr   r   ©r  r  rì   rD  rE  rJ   rµ   s          r   Útest_add_no_broadcastingrw  Q  s¬   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AÝ�W c¸Å3ÐGÑGÔG€Aà
ˆa‰%€CÝ
Œ&�—’‘”˜aŸiši™kœkÑ
*Ô
*€CÝ�—’‘” Ñ$Ô$Ð$Ø
ˆa�iŠi‰kŒk‰/€CÝ��cÑÔÐÐÐr   c                 ó²  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }||z
  }t          j        |                     ¦   «         |                     ¦   «         ¦  «        }t          |                     ¦   «         |¦  «         ||                     ¦   «         z
  }t          ||¦  «         d S r;  )r   r)   rí   r   rî   Úsubtractr   r   rv  s          r   Útest_sub_no_broadcastingrz  ^  s¬   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AÝ�W c¸Å3ÐGÑGÔG€Aà
ˆa‰%€CÝ
Œ+�a—i’i‘k”k 1§9¢9¡;¤;Ñ
/Ô
/€CÝ�—’‘” Ñ$Ô$Ð$à
ˆa�iŠi‰kŒ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           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     |¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }t          ||¦  «         |                     |¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }t          ||¦  «         d S ©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ÑEÔE€Aà
�(Š(˜ˆ(Ñ
Ô
€CÝ
Œ)�A—I’I‘K”K dÐ
+Ñ
+Ô
+€CÝ��cÑÔÐà
�(Š(˜ˆ(Ñ
Ô
€CÝ
Œ)�A—I’I‘K”K dÐ
+Ñ
+Ô
+€CÝ��cÑÔÐÐÐr   )r{  r|  r}  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                 óJ  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     |¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }|                     |¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }|                     |¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }	| 	                    |¬¦  «        }
t          j	        |                     ¦   «         |¬¦  «        }||f||f||	f|
|ffD ]d\  }}t          j
        t          |¦  «        t           j        ¦  «        rt          ||¦  «         ŒBt          |                     ¦   «         |¦  «         Œed S 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§  �  sq  € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�U C°cÅÐEÑEÔE€Aà�eŠe˜ˆeÑÔ€GÝŒf�Q—Y’Y‘[”[ tÐ,Ñ,Ô,€GØ�eŠe˜ˆeÑÔ€GÝŒf�Q—Y’Y‘[”[ tÐ,Ñ,Ô,€GØ—’˜t�Ñ$Ô$€JÝ”˜1Ÿ9š9™;œ;¨TÐ2Ñ2Ô2€JØ—’˜t�Ñ$Ô$€JÝ”˜1Ÿ9š9™;œ;¨TÐ2Ñ2Ô2€Jà˜wÐ'¨'°7Ð);Ø  *Ð-°
¸JÐ/GðIð -ð -‰ˆˆSåŒ=�˜c™œ¥B¤IÑ.Ô.ð 	-Ý˜˜cÑ"Ô"Ð"Ð"å˜Ÿš™œ¨Ñ,Ô,Ð,Ð,ð-ð -r   c                  óÀ   — t          g d¢gg¦  «        t          g d¢g¦  «        fD ]7} |                      ¦   «         dk    sJ ‚|                       ¦   «         dk    sJ ‚Œ8d S )Nrœ   r!   rC   )r   r™  rš  )rD  s    r   Útest_min_max_fullr©  ¥  sr   € Ý˜,˜,˜,˜Ð(Ñ)Ô)­9°l°l°l°^Ñ+DÔ+DÐEð  ð  ˆØ�uŠu‰wŒw˜!Š|ˆ|ˆ|ˆ|Ø��xŠx‰zŒz˜RÒÐÐÐÐð ð  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                             d¦  «        }t          | d|t          ¬¦  «        }|                     ||¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }t          ||¦  «         |�2t          ||¦  «         t          |¦  «        t          |¦  «        k    sJ ‚d S d S ©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ÑEÔE€Aà
�%Š%�T˜sˆ%Ñ
#Ô
#€CÝ
Œ&�—’‘” 4Ð
(Ñ
(Ô
(€CÝ��cÑÔÐØ
€Ý�S˜#ÑÔÐÝ�#‰wŒw�"˜S™'œ'Ò!Ð!Ð!Ð!ð €à!Ð!r   c                 ó~  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }|                     ||¬¦  «        }t          j        |                     ¦   «         |¬¦  «        }t          ||¦  «         |�4t          |¦  «        t          |¦  «        k    sJ ‚t          ||¦  «         d S d S r¬  )	r   r)   rí   r   rî   Úmeanr   r   r®  r¯  s          r   Ú	test_meanr³  Å  s­   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�U C°cÅÐEÑEÔE€Aà
�&Š&�d ˆ&Ñ
$Ô
$€CÝ
Œ'�!—)’)‘+”+ DÐ
)Ñ
)Ô
)€CÝ�C˜ÑÔÐØ
€Ý�#‰wŒw�"˜S™'œ'Ò!Ð!Ð!Ð!Ý˜˜SÑ!Ô!Ð!Ð!Ð!ð €r   c                  óè  — t           j                             d¦  «        } t          dd| t          ¬¦  «        }t          |dz                       ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         t          |dz                       ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         t          t          |¦  «                             ¦   «         t          j        |                     ¦   «         ¦  «        ¦  «         t          t          |¦  «                             ¦   «         t          j	        |                     ¦   «         ¦  «        ¦  «         d S )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ÑKÔK€AÝ�Q˜‘T—N’NÑ$Ô$¥b¤h¨q¯yªy©{¬{¸AÑ&>Ô&>Ñ?Ô?Ð?Ý�Q˜‘T—N’NÑ$Ô$¥b¤h¨q¯yªy©{¬{¸AÑ&>Ô&>Ñ?Ô?Ð?Ý•E˜!‘H”H×$Ò$Ñ&Ô&­¬°·²±´Ñ(=Ô(=Ñ>Ô>Ð>Ý•C˜‘F”F—N’NÑ$Ô$¥b¤f¨Q¯YªY©[¬[Ñ&9Ô&9Ñ:Ô:Ð:Ð:Ð:r   c                 ó¬  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          ||k     
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k    ¦  «         t          ||k     
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k    ¦  «         t          ||k     
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k    ¦  «         t          ||k     
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k    ¦  «         t          ||k     
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k    ¦  «         t          ||k      
                    ¦   «         | 
                    ¦   «         | 
                    ¦   «         k     ¦  «         t          ||k     
                    ¦   «         t          j        ||k     
                    ¦   «         ¦  «        ¦  «         t          ||k     
                    ¦   «         t          j        ||k      
                    ¦   «         ¦  «        ¦  «         t          ||k     
                    ¦   «         t          j        ||k     
                    ¦   «         ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©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ÑGÔG€AÝ�W c¸Å3ÐGÑGÔG€AÝ	Ô	 Ñ	"Ô	"ð 
Hð 
HÝÔ˜hÕ(?Ñ@Ô@Ð@Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A·I²I±K´KÒ'?Ñ@Ô@Ð@Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A·I²I±K´KÒ'?Ñ@Ô@Ð@Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A·I²I±K´KÒ'?Ñ@Ô@Ð@Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A·I²I±K´KÒ'?Ñ@Ô@Ð@Ý�a˜’c—]’]‘_”_ a§i¢i¡k¤k°!·)²)±+´+Ò&=Ñ>Ô>Ð>Ý�a˜’c—]’]‘_”_ a§i¢i¡k¤k°!·)²)±+´+Ò&=Ñ>Ô>Ð>Ý�a˜’d—^’^Ñ%Ô%¥r¤~°q¸!²t·n²nÑ6FÔ6FÑ'GÔ'GÑHÔHÐHÝ�a˜’d—^’^Ñ%Ô%¥r¤~°q¸²s·m²m±o´oÑ'FÔ'FÑGÔGÐGÝ�a˜’d—^’^Ñ%Ô%¥r¤~°q¸²s·m²m±o´oÑ'FÔ'FÑGÔGÐGð
Hð 
Hð 
Hñ 
Hô 
Hð 
Hð 
Hð 
Hð 
Hð 
Hð 
Hð 
Høøøð 
Hð 
Hð 
Hð 
Hð 
Hð 
Hs   Á#KM	Í	MÍMc                  óÐ  — t           j                             d¦  «        } t          dd| t          ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          |dk     
                    ¦   «         | 
                    ¦   «         dk    ¦  «         t          |dk     
                    ¦   «         | 
                    ¦   «         dk    ¦  «         t          |dk     
                    ¦   «         | 
                    ¦   «         dk    ¦  «         t          |dk     
                    ¦   «         | 
                    ¦   «         dk    ¦  «         t          |dk     
                    ¦   «         | 
                    ¦   «         dk    ¦  «         t          |dk      
                    ¦   «         | 
                    ¦   «         dk     ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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ÑIÔI€AÝ	Ô	 Ñ	"Ô	"ð 5ð 5ÝÔ˜hÕ(?Ñ@Ô@Ð@Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A¢~Ñ6Ô6Ð6Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A¢~Ñ6Ô6Ð6Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A¢~Ñ6Ô6Ð6Ý�a˜’d—^’^Ñ%Ô% q§y¢y¡{¤{°A¢~Ñ6Ô6Ð6Ý�a˜’c—]’]‘_”_ a§i¢i¡k¤k°!¢mÑ4Ô4Ð4Ý�a˜’c—]’]‘_”_ a§i¢i¡k¤k°!¢mÑ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   ÁFGÇGÇ"Gc                 ód  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }||z  }t          j        |                     ¦   «         |                     ¦   «         ¦  «        }t          |                     ¦   «         |¦  «         d S r;  ©r   r)   rí   r   rî   Úmultiplyr   r   rv  s          r   Útest_multiplyrÇ    s‹   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AÝ�W c¸Å3ÐGÑGÔG€AØ
ˆa‰%€CÝ
Œ+�a—i’i‘k”k 1§9¢9¡;¤;Ñ
/Ô
/€CÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r   c                  ó  — t           j                             d¦  «        } t          dd| t          ¬¦  «        }|dz  }t          j        |                     ¦   «         d¦  «        }t          |                     ¦   «         |¦  «         d S ©Nrè   )r   r#   r   ré   r<  r   rÅ  ©rì   rD  rJ   rµ   s       r   Útest_multiply_with_scalarrË    sm   € Ý
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AØ
ˆa‰%€CÝ
Œ+�a—i’i‘k”k 1Ñ
%Ô
%€CÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r   c                 ó¸  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          j        ddt          j        |¦  «        z   ¦  «                             |¦  «        }||z  }| 	                    ¦   «         |z  }t          | 	                    ¦   «         |¦  «         ||z  }t          | 	                    ¦   «         |¦  «         d S )Nrè   ré   r<  r!   )r   r)   rí   r   rî   ÚarangeÚmathrl  rV   r   r   rv  s          r   Útest_dividerÏ    s´   € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AÝ
Œ	�!�Q�œ 7Ñ+Ô+Ñ+Ñ,Ô,×4Ò4°WÑ=Ô=€AØ
ˆa‰%€CØ
�)Š)‰+Œ+˜‰/€CÝ�C—K’K‘M”M 3Ñ'Ô'Ð'à
ˆa‰%€CÝ�C—K’K‘M”M 3Ñ'Ô'Ð'Ð'Ð'r   c                  óð   — t           j                             d¦  «        } t          dd| t          ¬¦  «        }|dz  }|                     ¦   «         dz  }t          |                     ¦   «         |¦  «         d S rÉ  )r   r)   rí   r   rî   r   r   rÊ  s       r   Útest_divide_with_scalarrÑ  "  se   € Ý
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AØ
ˆa‰%€CØ
�)Š)‰+Œ+˜‰/€CÝ�C—K’K‘M”M 3Ñ'Ô'Ð'Ð'Ð'r   c                 ó  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         | 	                    |¦  «        }t          j	        | 
                    ¦   «         | 
                    ¦   «         ¦  «        }t          | 
                    ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r»  )r   r)   rí   r   rî   r½  r¾  r¿  r   Úmaximumr   r   rv  s          r   Útest_maximumrÔ  *  ó  € å
Œ)×
Ò
 Ñ
)Ô
)€CÝ�W c¸Å3ÐGÑGÔG€AÝ�W c¸Å3ÐGÑGÔG€AÝ	Ô	 Ñ	"Ô	"ð )ð )ÝÔ˜hÕ(?Ñ@Ô@Ð@Ø�iŠi˜‰lŒlˆÝŒj˜Ÿš™œ a§i¢i¡k¤kÑ2Ô2ˆÝ�S—[’[‘]”] CÑ(Ô(Ð(ð	)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )ó   Á#BC;Ã;C?ÄC?c                 ó  — t           j                             d¦  «        }t          | d|t          ¬¦  «        }t          |d|t          ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         | 	                    |¦  «        }t          j	        | 
                    ¦   «         | 
                    ¦   «         ¦  «        }t          | 
                    ¦   «         |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r»  )r   r)   rí   r   rî   r½  r¾  r¿  r   Úminimumr   r   rv  s          r   Útest_minimumrÙ  6  rÕ  rÖ  c                  óZ  — 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          |                      d¦  «                             ¦   «         t          j        |                      ¦   «         d¦  «        ¦  «         t          |                     d¦  «                             ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         t          |                     d¦  «                             ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©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ô 	7€Aå	Ô	 Ñ	"Ô	"ð Ið IÝÔ˜hÕ(?Ñ@Ô@Ð@Ý�Q—Y’Y˜q‘\”\×)Ò)Ñ+Ô+­R¬Z¸¿	º	¹¼ÀQÑ-GÔ-GÑHÔHÐHÝ�Q—Y’Y˜q‘\”\×)Ò)Ñ+Ô+­R¬Z¸¿	º	¹¼ÀQÑ-GÔ-GÑHÔHÐHÝ�Q—Y’Y˜q‘\”\×)Ò)Ñ+Ô+­R¬Z¸¿	º	¹¼ÀQÑ-GÔ-GÑHÔHÐHð	Ið Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Ió   Á*D)F Æ F$Æ'F$c                  óZ  — 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          |                      d¦  «                             ¦   «         t          j        |                      ¦   «         d¦  «        ¦  «         t          |                     d¦  «                             ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         t          |                     d¦  «                             ¦   «         t          j        |                     ¦   «         d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S 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…                              ¦   «         |                      ¦   «         dd…         ¦  «         t          | d d…                              ¦   «         |                      ¦   «         d d…         ¦  «         t          | dd …                              ¦   «         |                      ¦   «         dd …         ¦  «         t          | ddd…                              ¦   «         |                      ¦   «         ddd…         ¦  «         t          | g d¢                              ¦   «         |                      ¦   «         g d¢         ¦  «         t          | g d	¢                              ¦   «         |                      ¦   «         g d	¢         ¦  «         d S )
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  su  € Ý•"”)˜A‘,”,ÑÔ€AàˆQŒ4�1Š9ˆ9ˆ9ˆ9ØˆQŒ4�1Š9ˆ9ˆ9ˆ9å��1�Q�3”—’Ñ!Ô! 1§9¢9¡;¤;¨q°¨sÔ#3Ñ4Ô4Ð4Ý��2�A�2”—’‘” !§)¢)¡+¤+¨b¨q¨b¤/Ñ2Ô2Ð2Ý��1�2�2”—’‘” !§)¢)¡+¤+¨a¨b¨b¤/Ñ2Ô2Ð2Ý��1�Q�q�5”×!Ò!Ñ#Ô# Q§Y¢Y¡[¤[°°1°Q°Ô%7Ñ8Ô8Ð8å��9�9�9”×%Ò%Ñ'Ô'¨¯ª©¬°Y°Y°YÔ)?Ñ@Ô@Ð@Ý��9�9�9”×%Ò%Ñ'Ô'¨¯ª©¬°Y°Y°YÔ)?Ñ@Ô@Ð@Ð@Ð@r   c                  ó  — t          t          j        d¦  «                             d¦  «        ¦  «        } | d         dk    sJ ‚| d         dk    sJ ‚t	          | dd…df                              ¦   «         |                      ¦   «         dd…df         ¦  «         t	          | d	dd…f                              ¦   «         |                      ¦   «         d	dd…f         ¦  «         t	          | d d	…dd
d…f                              ¦   «         |                      ¦   «         d d	…dd
d…f         ¦  «         t	          | ddgdf                              ¦   «         |                      ¦   «         ddgdf         ¦  «         t	          | d	d …ddgf                              ¦   «         |                      ¦   «         d	d …ddgf         ¦  «         t	          | t          j        ddg¦  «        df                              ¦   «         |                      ¦   «         ddgdf         ¦  «         t	          | d	d …t          j        ddg¦  «        f                              ¦   «         |                      ¦   «         d	d …ddgf         ¦  «         t	          | d d …df                              ¦   «         |                      ¦   «         d d …df         ¦  «         t	          | dd d …f                              ¦   «         |                      ¦   «         dd d …f         ¦  «         d S )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Ô2Ñ3Ô3€AàˆTŒ7�aŠ<ˆ<ˆ<ˆ<ØˆTŒ7�bŠ=ˆ=ˆ=ˆ=å��1�Q�3˜�6”×"Ò"Ñ$Ô$ a§i¢i¡k¤k°!°A°#°q°&Ô&9Ñ:Ô:Ð:Ý��1�a˜�c�6”×"Ò"Ñ$Ô$ a§i¢i¡k¤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�2˜˜1�v�:”×&Ò&Ñ(Ô(¨!¯)ª)©+¬+°a°b°b¸1¸Q¸%°iÔ*@ÑAÔAÐAÝ�•2”8˜Q ˜FÑ#Ô# QÐ&Ô'×/Ò/Ñ1Ô1°1·9²9±;´;ÀÀ!¸uÀa¸xÔ3HÑIÔIÐIÝ��1�2�2•r”x  A Ñ'Ô'Ð'Ô(×0Ò0Ñ2Ô2°A·I²I±K´KÀÀÀÀQÀqÀEÀ	Ô4JÑKÔKÐKå��1�1�1�a�4”—’Ñ"Ô" A§I¢I¡K¤K°°°°1°Ô$5Ñ6Ô6Ð6Ý��1�a�a�a�4”—’Ñ"Ô" A§I¢I¡K¤K°°1°1°1°Ô$5Ñ6Ô6Ð6Ð6Ð6r   c                  óÞ  — t          t          j        d¦  «                             d¦  «        ¦  «        } | d         dk    sJ ‚| d         dk    sJ ‚t	          | ddd…df                              ¦   «         |                      ¦   «         ddd…df         ¦  «         t	          | ddd…df                              ¦   «         |                      ¦   «         ddd…df         ¦  «         t	          | d d…dd	d
…d
d …f                              ¦   «         |                      ¦   «         d d…dd	d
…d
d …f         ¦  «         t	          | ddgddf                              ¦   «         |                      ¦   «         ddgddf         ¦  «         t	          | d d
…dd…ddgf                              ¦   «         |                      ¦   «         d d
…dd…ddgf         ¦  «         t	          | dd d …df                              ¦   «         |                      ¦   «         dd d …df         ¦  «         t	          | d d …d d …df                              ¦   «         |                      ¦   «         d d …d d …df         ¦  «         d S )Néx   r"   rÊ   r   r\  éw   r!   r   r#   r
   )r   r   rÍ  rV   r   r   )rZ   s    r   Útest_3d_coo_getrñ  |  sH  € Ý•"”)˜IÑ&Ô&×.Ò.¨yÑ9Ô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˜b�=Ô!×)Ò)Ñ+Ô+¨Q¯YªY©[¬[¸¸!¸¸Q¸qÀ¸UÀAÀBÀB¸Ô-GÑHÔHÐHå��A�q�6˜1˜a�<”×(Ò(Ñ*Ô*¨A¯IªI©K¬K¸¸A¸ÀÀ1¸Ô,EÑFÔFÐFÝ��2�A�2�q˜�s˜Q ˜F�?Ô#×+Ò+Ñ-Ô-¨q¯yªy©{¬{¸2¸A¸2¸qÀ¸sÀQÈÀF¸?Ô/KÑLÔLÐLå��1�a�a�a˜�7”×#Ò#Ñ%Ô% q§y¢y¡{¤{°1°a°a°a¸°7Ô';Ñ<Ô<Ð<Ý��1�1�1�a�a�a˜�7”×#Ò#Ñ%Ô% q§y¢y¡{¤{°1°1°1°a°a°a¸°7Ô';Ñ<Ô<Ð<Ð<Ð<r   c            	      ó‚  — t          t          j        d¦  «                             d¦  «        ¦  «        } |                      ¦   «         }t          | d d…dd …df                              ¦   «         |d d…dd …df         ¦  «         t          | d d d…dd…d df                              ¦   «         |d d d…dd…d df         ¦  «         t          | d d d…dd …dd f                              ¦   «         |d d d…dd …dd f         ¦  «         t          | d d d…dd f                              ¦   «         |d d d…dd f         ¦  «         d S )Nrï  r"   r#   r   r!   .)r   r   rÍ  rV   r   r   ©rZ   ÚDs     r   Útest_newaxis_getrõ  Œ  sR  € Ý•"”)˜IÑ&Ô&×.Ò.¨yÑ9Ô9Ñ:Ô:€AØ	�	Š	‰Œ€AÝ��2�A�2�q�r�r˜1�9”×%Ò%Ñ'Ô'¨¨2¨A¨2¨q¨r¨r°1¨9¬Ñ6Ô6Ð6Ý��4˜˜!˜˜Q˜q˜S $¨Ð)Ô*×2Ò2Ñ4Ô4°a¸¸b¸q¸bÀ!ÀAÀ#ÀtÈQÐ8NÔ6OÑPÔPÐPÝ��4˜˜!˜˜Q˜R˜R  DÐ(Ô)×1Ò1Ñ3Ô3°Q°t¸R¸a¸RÀÀÀÀQÈÐ7LÔ5MÑNÔNÐNÝ��4˜˜!˜˜S $Ð&Ô'×/Ò/Ñ1Ô1°1°T¸2¸A¸2¸sÀDÐ5HÔ3IÑJÔJÐJÐJÐJr   c                  ó¶  — t          j        d¦  «                             d¦  «        } t          | ¦  «        }dx|d dd …df<   | d dd …df<   t	          |                     ¦   «         | ¦  «         dx|dd …dd f<   | dd …dd f<   t	          |                     ¦   «         | ¦  «         dx|dd …d df<   | dd …d df<   t	          |                     ¦   «         | ¦  «         d S )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ˆB�€k�N�Q�t˜Q˜R˜R �{‘^Ý�—’‘”˜aÑ Ô Ð Ø&'Ð'€A€a€b€bˆ!ˆT€k�N�Q�q�r�r˜1˜d�{‘^Ý�—’‘”˜aÑ Ô Ð Ø&'Ð'€A€a€b€bˆ$�€k�N�Q�q�r�r˜4 �{‘^Ý�—’‘”˜aÑ Ô Ð Ð Ð r   c                  ó’  — t          j        d¦  «        } t          | ¦  «        }dx|d<   | d<   t          |                     ¦   «         | ¦  «         dx|d<   | d<   t          |                     ¦   «         | ¦  «         ddgx|dd…<   | dd…<   t          |                     ¦   «         | ¦  «         g d	¢x|d d…<   | d d…<   t          |                     ¦   «         | ¦  «         | dd …          x|dd …<   | dd …<   t          |                     ¦   «         | ¦  «         | dd
d…          x|dd
d…<   | dd
d…<   t          |                     ¦   «         | ¦  «         | g d¢          x|g d¢<   | g d¢<   t          |                     ¦   «         | ¦  «         | g d¢          x|g d¢<   | g d¢<   t          |                     ¦   «         | ¦  «         d S )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ú  ¡  sÖ  € Ý
Œ	�!‰Œ€AÝ�!‰Œ€AàÐ€A€a�Dˆ1ˆQ‰4Ý�—’‘”˜aÑ Ô Ð ØÐ€A€a�Dˆ1ˆQ‰4Ý�—’‘”˜aÑ Ô Ð à˜2�hÐ€A€aˆ€c�FˆQˆq�ˆs‰VÝ�—’‘”˜aÑ Ô Ð Ø �L�LÐ €A€b€q€b�EˆAˆbˆqˆb‰EÝ�—’‘”˜aÑ Ô Ð Ø�q�r�r”U�FÐ€A€a€b€b�EˆAˆaˆbˆb‰EÝ�—’‘”˜aÑ Ô Ð Ø˜Q˜q ˜Uœ8˜)Ð#€A€aˆˆ!€e�Hˆq��1�Q�‰xÝ�—’‘”˜aÑ Ô Ð à#$ Y Y Y¤< -Ð/€A€i€i€i�L�1�Y�Y�Y‘<Ý�—’‘”˜aÑ Ô Ð Ø#$ Y Y Y¤< -Ð/€A€i€i€i�L�1�Y�Y�Y‘<Ý�—’‘”˜aÑ Ô Ð Ð Ð r   rê  rë  r`   )rC   r€   r#   rC   r    ©rZ   rô  Úidxc                 ó,   — g | ]}t           t          |f‘ŒS rG   ró  ©rh  rü  s     r   rk  rk  Ð  ó   € Ð,IÐ,IÐ,I¸S­aµ°C¨[Ð,IÐ,IÐ,Ir   c                 ól   — ||          x||<   | |<   t          |                      ¦   «         |¦  «         d S 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                 ó,   — g | ]}t           t          |f‘ŒS rG   ró  rþ  s     r   rk  rk  ï  rÿ  r   c                 ó^   — dx||<   | |<   t          |                      ¦   «         |¦  «         d S )Né�ÿÿÿr  rû  s      r   Útest_3d_coo_setr  ï  s4   € ð Ð€A€c�FˆQˆs‰VÝ�—’‘”˜aÑ Ô Ð Ð Ð r   Úscalar_containerc                 óH   — 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   € ¸q€ r   )ÚsparseÚdenseÚscalar)Úidszfails in parallel)Úreasonc                 ó˜   —  | d¦  «        t           d<   dt          d<   t          t                                ¦   «         t          ¦  «         d S )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                 ó4   — g | ]\  }}t           t          ||f‘ŒS rG   ró  )rh  r  r  s      r   rk  rk  3  s$   € Ð2WÐ2WÐ2WÁwÀsÈBµAµq¸"¸c°?Ð2WÐ2WÐ2Wr   c                 ój   — dx||<   | |<   t          |                      ¦   «         |d|› d�¬¦  «         d S )Nr  z

Test of: ú
)Úerr_msgr  r  s       r   Útest_5d_coo_setr  3  sE   € ð Ð€A€b�EˆAˆb‰EÝ�—’‘”˜aÐ)>°sÐ)>Ð)>Ð)>Ð?Ñ?Ô?Ð?Ð?Ð?r   c                  ó  — t          j        d¦  «                             d¦  «        } t          | ¦  «        }t	          || dk                                  ¦   «         | | dk             ¦  «         t	          || dk                                  ¦   «         | | dk             ¦  «         t	          || dk                                  ¦   «         | | dk             ¦  «         t	          ||dk                                  ¦   «         | | dk             ¦  «         t	          ||dk                                  ¦   «         | | dk             ¦  «         t	          ||dk                                   ¦   «         | | dk              ¦  «         |d d …ddddf         dk    }|dd d …dddf         dk    }|t          dd	d ¦  «        d
gt          d dd¦  «        |f}|                     ¦   «         t          dd	d
¦  «        d
gt          ddd¦  «        |                     ¦   «         f}| |         }t	          ||                              ¦   «         |¦  «         t	          ||                              ¦   «         |¦  «         t          dd	d ¦  «        ||t          d dd¦  «        d
gf}t          dd	d ¦  «        |                     ¦   «         |                     ¦   «         t          d dd¦  «        d
gf}| |         }t	          ||                              ¦   «         |¦  «         d S )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Ô2Ð2Ý��1�t’8”×$Ò$Ñ&Ô&¨¨!¨dª(¬Ñ4Ô4Ð4Ý��1�r’6”×"Ò"Ñ$Ô$ a¨¨Bª¤iÑ0Ô0Ð0å��1�s’7”×#Ò#Ñ%Ô% q¨¨Sª¤zÑ2Ô2Ð2Ý��1�t’8”×$Ò$Ñ&Ô&¨¨!¨dª(¬Ñ4Ô4Ð4Ý��1�r’6”×"Ò"Ñ$Ô$ a¨¨Bª¤iÑ0Ô0Ð0à
ˆAˆAˆAˆq�!�Q˜ˆMÔ
˜RÒ
€CØ
ˆAˆqˆqˆq�!�Q˜ˆMÔ
˜RÒ
€Cà•�a˜˜DÑ!Ô! A 3­¨d°A°qÑ(9Ô(9¸3Ð
?€CØ�[Š[‰]Œ]�E ! Q¨™NœN¨Q¨Cµ°q¸!¸Q±´ÀÇÂÁÄÐO€EØˆuŒX€FÝ��3”—’Ñ!Ô! 6Ñ*Ô*Ð*Ý��5”×!Ò!Ñ#Ô# VÑ,Ô,Ð,å��A�tÑÔ˜c 3­¨d°A°qÑ(9Ô(9¸A¸3Ð
?€CÝ�1�a˜ÑÔ §¢¡¤¨s¯{ª{©}¬}½eÀDÈ!ÈQÑ>OÔ>OÐRSÐQTÐU€EØˆuŒX€FÝ��3”—’Ñ!Ô! 6Ñ*Ô*Ð*Ð*Ð*r   c                  ó8  — t          j        d¦  «                             d¦  «        } t          | ¦  «        }|                     ¦   «         |                      ¦   «         }}dx||dk    <   ||dk    <   t          |                     ¦   «         |¦  «         |                     ¦   «         |                      ¦   «         }}dx||dk    <   ||dk    <   t          |                     ¦   «         |¦  «         |                     ¦   «         |                      ¦   «         }}|d d …ddddf         dk    }|t          dd	d ¦  «        d
gt          d dd¦  «        |f}|                     ¦   «         t          dd	d
¦  «        d
gt          ddd¦  «        |                     ¦   «         f}dx||<   ||<   t          |                     ¦   «         |¦  «         |                     ¦   «         |                      ¦   «         }}dx||<   ||<   t          |                     ¦   «         |¦  «         d S )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Ð(Ñ)Ô)×1Ò1°/ÑBÔ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ˆa��A�q˜!ˆmÔ˜rÒ!€EØ•%˜˜1˜dÑ#Ô# a S­%°°a¸Ñ*;Ô*;¸UÐ
C€CØ�]Š]‰_Œ_�e A q¨!™nœ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  rp  rr  Úadd_sub_shapesrw  rz  Ú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-  rG   r   r   ú<module>rD     sR  ðØ €€€Ø €€€à Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3ð<ð <ð <ðRð Rð Rð@)ð )ð )ð(+ð +ð +ð80ð 0ð 0ð5ð 5ð 5ð8ð 8ð 8ð
#ð #ð #ð "ð "ð "ðJð ð ðFð Fð FðAð Að Að ð ð ð 3ð 3ð 3ð „×Ò˜   Ñ0Ô0ð%˜ð %ð %ð %ñ 1Ô0ð%ð „×Ò˜   L L L°,°,°,Ñ ?Ô ?Ñ@Ô@ð%˜e C¨ Hœoð %ð %ð %ñ AÔ@ð%ð „×Ò˜   Ñ-Ô-ð%˜cð %ð %ð %ñ .Ô-ð%ðð ð ð8
+ð 
+ð 
+ðð ð ð2ð 2ð 2ðð ð ðð ð ðð ð ðB"ð "ð "ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð0ð 0ñ<ô <ð0ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð1ð 1ñ<ô <ð1ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð%ð %ñ<ô <ð%ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð%ð %ñ<ô <ð%ð;ð ;ð ;ð „×ÒÐ/ð 2Qð 2Qð 2Qñ Rô Rð-ð -ñ	Rô Rð-ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð6ð 6ñ<ô <ð6ð „×Ò˜ð #;ð #;ð #;ñ <ô <ð/ð /ñ<ô <ð/ð „×ÒÐ/ð 2Sð 2Sð 2Sñ Tô TðSð SñTô TðSðAð Að Að5ð 5ð 5ð4 „×Ò˜ð #;ð #;ð #;ñ <ô <ðð ñ<ô <ðð „×Ò˜ð #;ð #;ð #;ñ <ô <ð2ð 2ñ<ô <ð2ð2ð 2ð 2ð „×ÒÐ/ð 2Kð 2Kð 2Kñ Lô Lðð ñLô Lðð „×Ò˜ð #;ð #;ð #;ñ <ô <ðð ñ<ô <ðð „×Ò˜ð #;ð #;ð #;ñ <ô <ð	2ð 	2ñ<ô <ð	2ð2ð 2ð 2ð „×ÒÐ/ð 2Kð 2Kð 2Kñ Lô Lðð ñLô Lðð
ð 
ð 
€ð „×ÒÐ3°^ÑDÔDð
ð 
ñ EÔDð
ðð ð €ð „×ÒÐ5°~ÑFÔFðð ñ GÔFðð* ð  ð  ð"ð ð ð%ð %ð %ðð ð ð	ð 	ð 	ðð ð €
ð „×ÒÐ/°Ñ<Ô<ð%ð %ñ =Ô<ð%ð$ ˆE�Q�C˜!˜�:ÐØ�˜�s˜Q˜C�jÐ!Ø	ˆ9˜�s˜Q˜C�jÐ!Ø�	˜Q ˜F Q¨ FÐ+Ð,Øˆk˜I˜I˜I y y yÐ1Ð2Ø!ØØˆg˜	˜	˜	 9 9 9Ð-Ð.ð	Ð ð „×ÒÐ7Ð9RÑSÔSðð ñ TÔSðð,*ð *ð *ð& „×ÒÐ<ðMð Mð MñNô Nð
%ð %ñNô Nð
%ð „×Ò˜'ð %>ð %>ð %>ñ ?ô ?ð%ð %ñ?ô ?ð%ð" „×Ò˜'ð %>ð %>ð %>ñ ?ô ?ð0ð 0ñ?ô ?ð0ðð ð €ð „×ÒÐ/°Ñ@Ô@ð	ð 	ñ AÔ@ð	ð „×ÒÐ/°Ñ@Ô@ð
ð 
ñ AÔ@ð
ðð ð Ð ð „×ÒÐ*Ð,EÑFÔFð
ð 
ñ GÔFð
ð
ð 
ð 
Ð ð „×ÒÐ*Ð,?Ñ@Ô@ð-ð -ñ AÔ@ð-ð* ð  ð  ð ˜ØÐ&Ð(;Ø˜ ! X R¤X¨e¡_¤_Ð5Ø˜i¨¨H¨B¬H°WÑ,=Ô,=Ð>ØÐ0ØÐ-Ð/CØÐ.Ð0@Ø��x�r”x ‘”Ð'Ð)AØ 	¨6°8°2´8¸E±?´?ÐCØ˜Y¨°°´¸$±´Ð@Ø ð€ð „×ÒÐ1°?ÑCÔCð	"ð 	"ñ DÔCð	"ð „×ÒÐ1°?ÑCÔCð	"ð 	"ñ DÔCð	"ð;ð ;ð ;ð!ð !ð !Ð ð „×ÒÐ/Ð1NÑOÔOðHð Hñ PÔOðHð"
5ð 
5ð 
5ð „×ÒÐ/Ð1NÑOÔOð%ð %ñ PÔOð%ð%ð %ð %ð „×ÒÐ/Ð1NÑOÔOð	(ð 	(ñ PÔOð	(ð(ð (ð (ð „×ÒÐ/Ð1NÑOÔOð)ð )ñ PÔOð)ð „×ÒÐ/Ð1NÑOÔOð)ð )ñ PÔOð)ð	Ið 	Ið 	Ið	Ið 	Ið 	IðAð Að Að7ð 7ð 7ð&=ð =ð =ð Kð Kð Kð	!ð 	!ð 	!ð!ð !ð !ð0 €B„IˆeÑÔ×Ò˜VÑ$Ô$€Ø€Iˆa�L„L€ð Øà
€Uˆ1ˆa�ÑÔ˜ÐØˆˆˆa��DÑÔÐØ
€Uˆ1ˆa�ÑÔ˜˜˜a  A™œÐ'Ø
€Uˆ4��rÑÔ˜AÐØˆˆˆd‰ŒÐØ€Kàˆ€VˆQ€KØˆˆAˆ€KØ€R„Xˆq�!ˆfÑÔ�u�u˜Q ‘~”~Ð&Ø
€Uˆ1�X„XˆxˆrŒx˜	˜	˜	Ñ"Ô"Ð#à€R„Xˆq�!ˆfÑÔ�x�r”x  A Ñ'Ô'Ð(ð#€ð( „×ÒÐ*Ð*Ð*Ð,IÐ,IÀDÐ,IÑ,IÔ,IÑJÔJØ„Ôð!ð !ñ Ôñ KÔJð!ð
 €B„IˆiÑÔ× Ò  Ñ+Ô+€Ø€Iˆa�L„L€ð Øàˆˆˆa�‰Œ�QÐØ
€Uˆ1ˆd�^„^�Q˜˜˜a™œÐ!Ø
€Uˆ1�X„Xˆuˆu�Q˜˜1‰~Œ~˜u˜u Q¨™~œ~Ð.Ø
€Uˆ4��rÑÔ˜E˜E $™KœK¨¨¨q°!°Q©¬Ð8ØàˆˆAˆ���a‘”ÐØ€R„Xˆq�!ˆfÑÔ�u�u˜Q ‘~”~ qÐ)Ø€R„Xˆq�!ˆfÑÔ�u�u˜Q ‘~”~¨ sÐ+à€R„Xˆq�!ˆfÑÔ�u�u˜Q ‘~”~ x r¤x°°A°Ñ'7Ô'7Ð8ØˆˆŒ�!�Q�ÑÔ˜(˜"œ( A q 6Ñ*Ô*Ð+Ø€R„Xˆq�!ˆfÑÔ�x�r”x  A Ñ'Ô'¨Ð+Ø€R„Xˆq�!ˆfÑÔ�x�r”x  A Ñ'Ô'¨!¨Ð-ð%€ð* „×ÒÐ*Ð*Ð*Ð,IÐ,IÀDÐ,IÑ,IÔ,IÑJÔJØ„Ôð!ð !ñ Ôñ KÔJð!ð
 „×ÒØØ)Ð)¨2¬8°[°[ÐAØ%Ð%Ð%ð ñ ô ð
 „×ÒÐ"5ÐÑ6Ô6ð!ð !ñ 7Ô6ñô ð!ð €B„IÐÑ Ô ×(Ò(¨Ñ9Ô9€Ø€Iˆa�L„L€ð Ø ØØ$à�E�E˜$  4Ñ(Ô(¨!¨Q°°°d¸DÀ$Ñ0GÔ0GÈÐKÐLØ˜e˜e A t¨TÑ2Ô2°E°E¸$ÀÀdÑ4KÔ4KÈQÐPQÐSTÐUÐVØ˜q ! Q¨¨¨a°°tÑ(<Ô(<¸e¸eÀDÈ$ÐPTÑ>UÔ>UÐVÐWØ�U�U˜1˜a Ñ&Ô&¨¨¨d°D¸$Ñ(?Ô(?ÀÀAÀqÐIÐJàØ	ˆˆt�Q˜Ñ	Ô	 	 	 	¨9¨9¨9Ð5¸	¸	¸	À9À9À9Ð7MØ	ˆˆt�T˜4Ñ	 Ô	  !ð	%ðð %Ø	ˆˆt�Q˜Ñ	Ô	 	 	 	¨9¨9¨9Ð5¸	¸	¸	À9À9À9Ð7MØ	
ˆEˆE�$˜˜dÑ#Ô#ð	%ðð  Ø	ˆˆt�Q˜Ñ	Ô	˜y˜y˜y¨)¨)¨)°U°U¸4ÀÀtÑ5LÔ5LÈaÐPðð 4Ø	
ˆEˆE�!�Q˜‰NŒN˜A 	 	 	˜{¨a¨S°1°#¸°s¨OÐ<ðð #Ø	ˆˆt�Q˜Ñ	Ô	˜u˜u Q¨¨1™~œ~¨q°9°9°9°+ÀÀÀaÀSÈ1È#¸ÐOðð Ø
ˆ)ˆ)ˆ˜�s˜Q˜C ! �o q¨%¨%°°1°a©.¬.¸%¸%ÀÀaÈÑ:NÔ:NÐOðð )Ø
ˆ)ˆ)ˆ�e�e˜A˜q !‘n”n e e¨D°!°TÑ&:Ô&:¸AÀÀÀaÀSÈ1È#¸ÐOðð ,Ø	ˆˆt�Q˜Ñ	Ô	 	 	 	¨9¨9¨9Ð5¸	¸	¸	À9À9À9Ð7MØ	ˆˆt�T˜4Ñ	 Ô	  !ð	%ðð ;Ø	ˆˆq�!�Q‰Œ˜˜A 	 	 	˜{¨a¨S°1°#¸°s¨OÐ<ððQ+€ðZ „×ÒÐ0Ð0Ð0Ð2WÐ2WÐRVÐ2WÑ2WÔ2WÑXÔXØ„Ôð@ð @ñ Ôñ YÔXð@ð
+ð +ð +ð6!ð !ð !ð !ð !r   