Ë
    âQ(h�<  ã            	       óD  — d Z ddlZddlZddlmZmZ ddlmZm	Z	m
Z
mZmZmZmZ ddlmZmZ ddlmZ ej(                  j+                  «       Zej/                  e«       eeegZej2                  ej4                  ej6                  gZej:                  d„ «       Zej:                  d„ «       Zej@                  jC                  d	ee	e
eg«      d
„ «       Z"ej@                  jC                  d	eeee	e
eg«      d„ «       Z#ej@                  jC                  d	e«       G d„ d«      «       Z$y)z*Test of 1D aspects of sparse array classesé    N)Úassert_equalÚassert_allclose)Ú	bsr_arrayÚ	csc_arrayÚ	dia_arrayÚ	lil_arrayÚ	coo_arrayÚ	csr_arrayÚ	dok_array)Úsupported_dtypesÚmatrix)ÚComplexWarningc                  ó2   — t        j                  g d¢d«      S )N)é   r   é   r   Úd)ÚnpÚarray© ó    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/sparse/tests/test_common1d.pyÚdat1dr      s   € ä�8‰8’L #Ó&Ð&r   c                 óò   — t         D �ci c]  }|| j                  |«      “Œ }}t        D ���ci c]/  }||j                  «       D ��cg c]  \  }}|| ||«      f‘Œ c}}“Œ1 c}}}S c c}w c c}}w c c}}}w ©N)Úmath_dtypesÚastypeÚ
spcreatorsÚitems)r   ÚdtypeÚ
dat_dtypesÚ	spcreatorÚdats        r   Údatsp_math_dtypesr#      s{   € ä:EÖF°�%˜Ÿ™ eÓ,Ñ,ÐF€JÐFô $÷ð àð 	À:×CSÑCSÓCU×V±Z°U¸C�U˜C¡¨3£Ò0ÓVÑVôð ùò GùãVùôs   ‰A'®A2ÁA,ÁA2Á,A2r!   c                 óx   — t        j                  t        d¬«      5   | g d¢«       d d d «       y # 1 sw Y   y xY w)Nzarrays don't support 1D input©Úmatch©r   r   é   r   ©ÚpytestÚraisesÚ
ValueError©r!   s    r   Útest_no_1d_support_in_initr.   (   s.   € ä	�‰”zÐ)HÔ	Iñ  Ù’,Ô÷ ÷  ñ  ús   œ0°9c                 óš   — t        j                  t        d¬«      5   | t        j                  d«      «       d d d «       y # 1 sw Y   y xY w)Nzarrays don't.*support 3Dr%   )r   r(   é   )r*   r+   r,   r   Úonesr-   s    r   Útest_no_nd_support_in_initr2   0   s9   € ô 
�‰”zÐ)CÔ	Dñ &Ù”"—'‘'˜)Ó$Ô%÷&÷ &ñ &ús   œAÁA
c                   ó~  — e 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d„ Zd„ Zd„ Zd„ Zd„ Zej,                  j.                  ed„ «       «       Zej,                  j.                  ed„ «       «       Zej,                  j.                  ed„ «       «       Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d „ Z&y!)"ÚTestCommon1Dz5test common functionality shared by 1D sparse formatsc                 óâ   — t         |d«      j                  «       t        j                  d«      «       t         |d«      j                  d«       t         |d«      j                  «       d«       y )N©r   r   r   )r   Útoarrayr   ÚzerosÚnnzÚcount_nonzero©Úselfr!   s     r   Útest_create_emptyzTestCommon1D.test_create_empty=   sL   € Ü‘Y˜t“_×,Ñ,Ó.´·±¸³Ô<Ü‘Y˜t“_×(Ñ(¨!Ô,Ü‘Y˜t“_×2Ñ2Ó4°aÕ8r   c                 ót   — t        j                  t        d¬«      5   |d«       d d d «       y # 1 sw Y   y xY w)Nzelements cannot be negativer%   )éýÿÿÿr)   r;   s     r   Útest_invalid_shapesz TestCommon1D.test_invalid_shapesB   s.   € Ü�]‰]œ:Ð-JÔKñ 	Ù�eÔ÷	÷ 	ñ 	ús   œ	.®7c                 ó&   — t         ||«      «       y r   )Úrepr©r<   r!   r   s      r   Ú	test_reprzTestCommon1D.test_reprF   s   € Ü‰Y�uÓÕr   c                 ó&   — t         ||«      «       y r   )ÚstrrC   s      r   Útest_strzTestCommon1D.test_strI   s   € Ü‰I�eÓÕr   c                 óx   — t        j                  g d¢d«      }t        |  ||«       j                  «       «       y )N)éÿÿÿÿr   é   r   éûÿÿÿr   r   éüÿÿÿr   r   r   r   r   ©r   r   r   r7   ©r<   r!   ÚAs      r   Útest_negzTestCommon1D.test_negL   s.   € Ü�H‰HÒ=¸sÓCˆÜ�a�R™9 Q›<˜-×0Ñ0Ó2Õ3r   c                 ó:   —  |g d¢«      }|j                   dk(  sJ ‚y )Nr'   r   )ÚndimrN   s      r   Útest_1d_supported_initz#TestCommon1D.test_1d_supported_initP   s   € Ù’lÓ#ˆØ�v‰v˜Š{Ð‰{r   c                 ó®  —  |g d¢«      }|j                  dd«      }g d¢g}t        |j                  «       |«        ||«      }|j                  d«      }t        |j                  «       |d   «       |j                  d«      }|j                  |j                  k(  sJ ‚|j                  j                  d«      }t        |j                  «       |d   «       y )N©r   r   é   r   r   r   r   r?   r   r   r   é   r   é   r   ©rX   )Úreshaper   r7   ÚshapeÚT)r<   r!   ÚxÚyÚdesiredÚy2s         r   Ú$test_reshape_1d_tofrom_row_or_columnz1TestCommon1D.test_reshape_1d_tofrom_row_or_columnT   s­   € áÒ;Ó<ˆØ�I‰I�a˜ÓˆÚ8Ð9ˆÜ�Q—Y‘Y“[ 'Ô*ñ �gÓˆØ�I‰I�b‹MˆÜ�Q—Y‘Y“[ '¨!¡*Ô-Ø�Y‰Y�uÓˆØ�w‰w˜"Ÿ(™(Ò"Ð"Ð"ð �C‰C�K‰K˜‹OˆÜ�Q—Y‘Y“[ '¨!¡*Õ-r   c                 ó*  —  |g d¢«      }|j                  d«      }g d¢g d¢g d¢g d¢g}t        |j                  «       |«       |j                  d«      }||u sJ ‚|j                  d«      }t        |j                  «       |j                  «       «       y )	NrU   )r0   r   )r   r   rV   ©r   r   r   )r   r?   r   )r   r   rW   rY   rX   )rZ   r   r7   )r<   r!   r]   r^   r_   s        r   Útest_reshapezTestCommon1D.test_reshapef   su   € ÙÒ;Ó<ˆØ�I‰I�fÓˆÚšiª²YÐ?ˆÜ�Q—Y‘Y“[ 'Ô*à�I‰I�eÓˆØ�A‰vˆˆvà�I‰I�b‹MˆÜ�Q—Y‘Y“[ !§)¡)£+Õ.r   c                 ór  — t         j                  j                  d«       t        j                  g d¢«      }t         j                  j	                  d«      }t        j                  g «      }t        j
                  d«      }||||g}|D ]ú  } ||«      }t        j                  d¬«      5  t        j                  |j                  «       «      sJ ‚t        |j                  «       |j                  «       «       t        |j                  d ¬«      |j                  d ¬«      «       t        |j                  d¬«      |j                  d¬«      «       t        |j                  d	¬«      |j                  d	¬«      «       d d d «       Œü j                  dt        j
                  d
«      ¬«       y # 1 sw Y   �Œ.xY w)NiÒ  )	r   r   r(   r   rL   rW   éúÿÿÿrV   é	   rW   )é(   Úignore)Úover©Úaxisr   rI   r   ©rl   Úout)
r   ÚrandomÚseedr   Úrandr8   ÚerrstateÚisscalarÚsumr   )	r<   r!   Údat_1Údat_2Údat_3Údat_4Úarraysr"   Údatsps	            r   Útest_sumzTestCommon1D.test_sumr   sG  € Ü
�	‰	�‰�tÔÜ—‘Ò6Ó7ˆÜ—	‘	—‘˜qÓ!ˆÜ—‘˜“ˆÜ—‘˜“ˆØ˜  uÐ-ˆàò 	FˆCÙ˜c“NˆEÜ—‘ (Ô+ñ FÜ—{‘{ 5§9¡9£;Ô/Ð/Ð/Ü §¡£	¨5¯9©9«;Ô7Ü §¡¨T Ó 2°E·I±IÀ4°IÓ4HÔIÜ §¡¨Q £°·±À°Ó1BÔCÜ §¡¨R Ó 0°%·)±)À°)Ó2DÔE÷Fð Fð	Fð 	�	‰	�qœbŸh™h r›lˆ	Õ+÷Fñ Fús   Â)CF,Æ,F6	c                 ó~  — t        j                  d«      }t        j                  g d¢«      } ||«      }t        j                  t
        d¬«      5  |j                  d¬«       d d d «       t        j                  t        d¬«      5  |j                  d¬«       d d d «       t        j                  t        d	¬«      5  |j                  d
¬«       d d d «       t        j                  t
        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   Œ­xY w# 1 sw Y   ŒƒxY w# 1 sw Y   ŒYxY w# 1 sw Y   y xY w)Nr6   ©r   r   r(   zaxis must be None, -1 or 0r%   r   rk   úTuples are not accepted©r   r   úaxis must be an integerç      ø?ú"output parameter.*wrong.*dimensionr   rm   )r   r8   r   r*   r+   r,   rt   Ú	TypeError©r<   r!   rn   r"   rz   s        r   Útest_sum_invalid_paramsz$TestCommon1D.test_sum_invalid_params†   sõ   € Ü�h‰h�t‹nˆÜ�h‰h’yÓ!ˆÙ˜#“ˆä�]‰]œ:Ð-IÔJñ 	Ø�I‰I˜1ˆIÔ÷	ä�]‰]œ9Ð,EÔFñ 	#Ø�I‰I˜6ˆIÔ"÷	#ä�]‰]œ9Ð,EÔFñ 	 Ø�I‰I˜3ˆIÔ÷	 ä�]‰]œ:Ð-QÔRñ 	'Ø�I‰I˜1 #ˆIÔ&÷	'ð 	'÷	ð 	ú÷	#ð 	#ú÷	 ð 	 ú÷	'ð 	'ús0   ÁDÂDÂ<D'Ã2D3ÄDÄD$Ä'D0Ä3D<c                 ó®   — t        j                  g d¢«      } ||«      }t        j                  |«      }t        j                  |«      }t        ||«       y ©Nr}   )r   r   rt   r   )r<   r!   r"   rz   Údat_sumÚ	datsp_sums         r   Útest_numpy_sumzTestCommon1D.test_numpy_sum”   s=   € Ü�h‰h’yÓ!ˆÙ˜#“ˆä—&‘&˜“+ˆÜ—F‘F˜5“Mˆ	ä˜ Õ+r   c                 óð  — t        j                  g d¢«      } ||«      }t        |j                  «       |j                  «       «       t        j                  |j                  d ¬«      «      sJ ‚t        |j                  d ¬«      |j                  d ¬«      «       t        |j                  d¬«      |j                  d¬«      «       t        |j                  d¬«      |j                  d¬«      «       t        j                  t        d¬«      5  |j                  d¬«       d d d «       t        j                  t        d¬«      5  |j                  d¬«       d d d «       y # 1 sw Y   Œ@xY w# 1 sw Y   y xY w)	Nr}   rk   r   rI   rl   r%   r   éþÿÿÿ)r   r   r   Úmeanrs   r*   r+   r,   )r<   r!   r"   rz   s       r   Ú	test_meanzTestCommon1D.test_mean�   s  € Ü�h‰h’yÓ!ˆÙ˜#“ˆä˜Ÿ™›
 E§J¡J£LÔ1Ü�{‰{˜5Ÿ:™:¨4˜:Ó0Ô1Ð1Ð1Ü˜Ÿ™ d˜Ó+¨U¯Z©Z¸T¨ZÓ-BÔCÜ˜Ÿ™ a˜Ó(¨%¯*©*¸!¨*Ó*<Ô=Ü˜Ÿ™ b˜Ó)¨5¯:©:¸2¨:Ó+>Ô?ä�]‰]œ:¨VÔ4ñ 	Ø�J‰J˜AˆJÔ÷	ä�]‰]œ:¨VÔ4ñ 	 Ø�J‰J˜BˆJÔ÷	 ð 	 ÷	ð 	ú÷	 ð 	 ús   ÄE ÅE,Å E)Å,E5c                 ó²  — t        j                  t        j                  d«      «      }t        j                  g d¢g d¢g d¢g«      } ||«      }t	        j
                  t        d¬«      5  |j                  d¬«       d d d «       t	        j
                  t        d	¬«      5  |j                  d
¬«       d d d «       t	        j
                  t        d¬«      5  |j                  d¬«       d d d «       t	        j
                  t        d¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   Œ­xY w# 1 sw Y   ŒƒxY w# 1 sw Y   ŒYxY w# 1 sw Y   y xY w)N)r   r   r}   )r   rL   rW   )rf   rV   rg   zaxis out of ranger%   r   rk   r~   r   r€   r�   r‚   r   rm   )	r   Úasarrayr8   r   r*   r+   r,   r�   rƒ   r„   s        r   Útest_mean_invalid_paramsz%TestCommon1D.test_mean_invalid_params¬   s  € Ü�j‰jœŸ™ &Ó)Ó*ˆÜ�h‰hš	¢:ªzÐ:Ó;ˆá˜#“ˆÜ�]‰]œ:Ð-@ÔAñ 	Ø�J‰J˜AˆJÔ÷	ä�]‰]œ9Ð,EÔFñ 	$Ø�J‰J˜FˆJÔ#÷	$ä�]‰]œ9Ð,EÔFñ 	!Ø�J‰J˜CˆJÔ ÷	!ä�]‰]œ:Ð-QÔRñ 	(Ø�J‰J˜A 3ˆJÔ'÷	(ð 	(÷	ð 	ú÷	$ð 	$ú÷	!ð 	!ú÷	(ð 	(ús0   Á*D)Â D5ÃEÄEÄ)D2Ä5D>ÅE
ÅEc                 óø   — t        j                  g d¢«      } ||«      }t        D ]R  }|j                  |¬«      }|j                  |¬«      }t	        ||«       t        |j                  |j                  «       ŒT y ©Nr}   ©r   )r   r   r   rt   r   r   r   )r<   r!   r"   rz   r   rˆ   r‰   s          r   Útest_sum_dtypezTestCommon1D.test_sum_dtypeº   sd   € Ü�h‰h’yÓ!ˆÙ˜#“ˆä%ò 	9ˆEØ—g‘g E�gÓ*ˆGØŸ	™	¨˜	Ó.ˆIä˜G YÔ/Ü˜Ÿ™¨	¯©Õ8ñ	9r   c                 óø   — t        j                  g d¢«      } ||«      }t        D ]R  }|j                  |¬«      }|j                  |¬«      }t	        ||«       t        |j                  |j                  «       ŒT y r“   )r   r   r   r�   r   r   r   )r<   r!   r"   rz   r   Údat_meanÚ
datsp_means          r   Útest_mean_dtypezTestCommon1D.test_mean_dtypeÅ   sf   € Ü�h‰h’yÓ!ˆÙ˜#“ˆä%ò 	;ˆEØ—x‘x e�xÓ,ˆHØŸ™¨%˜Ó0ˆJä˜H jÔ1Ü˜Ÿ™¨×)9Ñ)9Õ:ñ	;r   c                 ó´  — t        j                  g d¢«      } ||«      }t        j                  d«      }t        j                  d«      }|j                  |¬«       |j                  |¬«       t        ||«       |j                  d|¬«       |j                  d|¬«       t        ||«       t	        j
                  t        d¬«      5  |j                  t        j                  dg«      ¬«       d d d «       t	        j
                  t        d¬«      5  |j                  t        j                  dgg«      ¬«       d d d «       y # 1 sw Y   ŒUxY w# 1 sw Y   y xY w)Nr}   r   ©rn   rm   zoutput parameter.*dimensionr%   )r   r   r�   r   r*   r+   r,   )r<   r!   r"   rz   Údat_outÚ	datsp_outs         r   Útest_mean_outzTestCommon1D.test_mean_outÐ   s  € Ü�h‰h’yÓ!ˆÙ˜#“ˆä—(‘(˜1“+ˆÜ—H‘H˜Q“Kˆ	à�‰�WˆÔØ�
‰
�yˆ
Ô!Ü˜ Ô+à�‰�a˜WˆÔ%Ø�
‰
˜˜yˆ
Ô)Ü˜ Ô+ä�]‰]œ:Ð-JÔKñ 	*Ø�J‰Jœ2Ÿ8™8 Q C›=ˆJÔ)÷	*ä�]‰]œ:Ð-JÔKñ 	,Ø�J‰Jœ2Ÿ8™8 a S E›?ˆJÔ+÷	,ð 	,÷	*ð 	*ú÷	,ð 	,ús   Ã'EÄ(EÅEÅEc                 óî   — t        j                  g d¢«      } ||«      }t        j                  |«      }t        j                  |«      }t        ||«       t	        |j
                  |j
                  «       y r‡   )r   r   r�   r   r   r   )r<   r!   r"   rz   r—   r˜   s         r   Útest_numpy_meanzTestCommon1D.test_numpy_meanä   sQ   € Ü�h‰h’yÓ!ˆÙ˜#“ˆä—7‘7˜3“<ˆÜ—W‘W˜U“^ˆ
ä˜ *Ô-Ü�X—^‘^ Z×%5Ñ%5Õ6r   c                 óB  — t        j                  g d¢«      }t         ||«      j                  «       |«       t        j                  g d¢«      }t         ||«      j                  «       |«       t         ||d¬«      j                  «       |j	                  d«      «       y ©N)r(   r   r0   ©y      ð?      @r   rI   Úint16r”   )r   r   r   r7   r   rN   s      r   Útest_from_arrayzTestCommon1D.test_from_arrayî   sr   € ô �H‰H’YÓˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/ä�H‰HÒ&Ó'ˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/Ü‘Y˜q¨Ô0×8Ñ8Ó:¸A¿H¹HÀWÓ<MÕNr   c                 óB  — g d¢}t         ||«      j                  «       |«       g d¢}t         ||«      j                  «       t        j                  |«      «       t         ||d¬«      j                  «       t        j                  |«      j	                  d«      «       y r¢   )r   r7   r   r   r   rN   s      r   Útest_from_listzTestCommon1D.test_from_listø   st   € ò ˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/âˆÜ‘Y˜q“\×)Ñ)Ó+¬R¯X©X°a«[Ô9ÜÙ�a˜wÔ'×/Ñ/Ó1´2·8±8¸A³;×3EÑ3EÀgÓ3Nõ	
r   c                 óp  — t        j                  g d¢«      }t        |«      }t         ||«      j	                  «       |«        ||«      }t         ||«      j	                  «       |«       t        j                  g d¢«      }t        |«      }t         ||«      j	                  «       |«       t         ||d¬«      j	                  «       |j                  d«      «        ||«      }t         ||«      j	                  «       |«       t         ||d¬«      j	                  «       |j                  d«      «       y )N)r   r   r   r£   r¤   r”   )r   r   r	   r   r7   r   ©r<   r!   ÚDÚSs       r   Útest_from_sparsezTestCommon1D.test_from_sparse  sç   € ô �H‰H’YÓˆÜ�a‹LˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/Ù�a‹LˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/ä�H‰HÒ&Ó'ˆÜ�a‹LˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/Ü‘Y˜q¨Ô0×8Ñ8Ó:¸A¿H¹HÀWÓ<MÔNÙ�a‹LˆÜ‘Y˜q“\×)Ñ)Ó+¨QÔ/Ü‘Y˜q¨Ô0×8Ñ8Ó:¸A¿H¹HÀWÓ<MÕNr   c                 ó¨  —  ||«      }|j                  «       }t        ||«       |j                  j                  |j                  j                  k(  sJ ‚|j                  d¬«      }t        ||«       |j                  j                  sJ ‚|j                  j                  sJ ‚|j                  d¬«      }t        ||«       |j                  j                  sJ ‚|j                  j                  sJ ‚t        j                  |j                  |j                  ¬«      }|j                  |¬«       t        ||«       d|d<   |j                  |¬«       t        ||«       t        j                  g d¢«      }t        j                  ||«      }t        j                  ||j                  «       «      }t        ||«       t        j                  g d¢«      }	t        j                  ||	«      }t        j                  |j                  «       |	«      }t        ||«        ||t        ¬«      }
|j                  t        «      }t        |
j                  «       |«       y )	NÚC)ÚorderÚFr”   r›   ç      ð?.)r±   ç       @ç      @g      @)r7   r   ÚflagsÚc_contiguousÚf_contiguousr   r8   r[   r   r   ÚdotÚboolr   )r<   r!   r   rz   Úchkrn   ÚaÚdense_dot_denseÚcheckÚbÚspboolÚarrbools               r   Útest_toarrayzTestCommon1D.test_toarray  sÉ  € Ù˜%Ó ˆà�m‰m‹oˆÜ�S˜%Ô Ø�y‰y×%Ñ%¨¯©×)?Ñ)?Ò?Ð?Ð?ð �m‰m #ˆmÓ&ˆÜ�S˜%Ô Ø�y‰y×%Ò%Ð%Ð%Ø�y‰y×%Ò%Ð%Ð%ð �m‰m #ˆmÓ&ˆÜ�S˜%Ô Ø�y‰y×%Ò%Ð%Ð%Ø�y‰y×%Ò%Ð%Ð%ô �h‰h�u—{‘{¨%¯+©+Ô6ˆØ�‰˜#ˆÔÜ�S˜%Ô ð ˆˆC‰Ø�‰˜#ˆÔÜ�S˜%Ô ô �H‰HÒ)Ó*ˆÜŸ&™&  EÓ*ˆÜ—‘�q˜%Ÿ-™-›/Ó*ˆÜ�_ eÔ,ä�H‰HÒ)Ó*ˆÜŸ&™& ¨Ó*ˆÜ—‘�u—}‘}“¨Ó*ˆÜ�_ eÔ,ñ ˜5¬Ô-ˆØ—,‘,œtÓ$ˆÜ�V—^‘^Ó% wÕ/r   c                 óâ   — ||   D ]g  \  }}}|j                  «       }d|d<   |}||z   }t        ||j                  «       |z   «       ||dd z   }t        ||j                  «       |d   z   «       Œi y )Nr²   r   r   ©Úcopyr   r7   ©	r<   r!   r#   r   r"   rz   rº   r½   Úcs	            r   Útest_addzTestCommon1D.test_addC  s}   € Ø!2°9Ñ!=ò 
	0ÑˆE�3˜Ø—‘“
ˆAØˆAˆa‰DØˆAØ�A‘ˆAÜ˜˜AŸI™I›K¨!™OÔ,ð �A�a˜�F‘
ˆAÜ˜˜AŸI™I›K¨!¨A©$Ñ.Õ/ñ
	0r   c                 ó’   — ||   D ]?  \  }}}|j                  «       }d|d<   |}||z   }t        |||j                  «       z   «       ŒA y )Nr²   r   rÂ   rÄ   s	            r   Ú	test_raddzTestCommon1D.test_raddP  sS   € Ø!2°9Ñ!=ò 	-ÑˆE�3˜Ø—‘“
ˆAØˆAˆa‰DØˆAØ�A‘ˆAÜ˜˜A §	¡	£™OÕ,ñ	-r   c                 óV  — ||   D �]   \  }}}|t        j                  d«      k(  rŒ!t        ||z
  g d¢«       t        ||z
  g d¢«       t        d|z
  j                  «       | «        |g d¢d¬«      }t        ||z
  ||j                  «       z
  «       t        ||z
  |j                  «       |z
  «       t        |j                  «       |z
  |j                  «       |z
  «       t        ||j                  «       z
  ||j                  «       z
  «       t        |d d |z
  |d d |z
  «       �Œ# y )Nr¸   )r   r   r   r   r   )r   rL   r   r(   r   r”   r   )r   r   r   r7   )r<   r!   r#   r   r"   rz   rO   s          r   Ú	test_rsubzTestCommon1D.test_rsubX  s  € Ø!2°9Ñ!=ó 	9ÑˆE�3˜ØœŸ™ Ó(Ò(àä˜# ™+ªÔ5Ü˜% #™+ªÔ5Ü˜!˜e™)×,Ñ,Ó.°°Ô5áš-¨sÔ3ˆAÜ˜# ™' C¨!¯)©)«+Ñ$5Ô6Ü˜!˜c™' A§I¡I£K°#Ñ$5Ô6Ü˜Ÿ™› uÑ,¨a¯i©i«k¸CÑ.?Ô@Ü˜ §¡£Ñ,¨c°A·I±I³KÑ.?Ô@ô ˜˜R˜a˜ 5™¨#¨b¨q¨'°C©-Ö8ñ!	9r   c                 ó’  — t        j                  g d¢g d¢g d¢g«      }t        j                  g d¢«      } ||«      } ||«      }t        ||z  j                  «       ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  j                  «       ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       t        ||z  j                  «       ||z  «       t        ||z  ||z  «       t        ||z  ||z  «       y )N©r(   r   r³   rc   r}   ©r   r   r   rM   )r<   r!   rO   ÚvÚAspÚvsps         r   Útest_matmul_basiczTestCommon1D.test_matmul_basick  s,  € Ü�H‰H’k¢9ªiÐ8Ó9ˆÜ�H‰H’YÓˆÙ˜‹lˆÙ˜‹lˆô 	�c˜C‘i×(Ñ(Ó*¨A°©EÔ2Ü�Q˜‘W˜a !™eÔ$Ü�S˜1‘W˜a !™eÔ$Ü�c˜C‘i×(Ñ(Ó*¨A°©EÔ2Ü�S˜1‘W˜a !™eÔ$Ü�Q˜‘W˜a !™eÔ$ä�S˜3‘Y  A¡Ô&Ü�Q˜‘W˜a !™eÔ$Ü�S˜1‘W˜a !™eÔ$Ü�c˜C‘i×(Ñ(Ó*¨A°©EÔ2Ü�Q˜‘W˜a !™eÔ$Ü�S˜1‘W˜a !™eÕ$r   c                 óB  — t        j                  g d¢«      } ||«      }t        j                  g d¢g«      j                  }t        ||z  |j	                  «       |z  «       |t        j                  g d¢«      z  j
                  dk(  sJ ‚|t        j                  g d¢«      z  dk(  sJ ‚|t        j                  g d¢«      z  j
                  dk(  sJ ‚|t        j                  dgdgdgg«      z  j
                  dk(  sJ ‚t        |t        g d¢g«      j                  z  t         j                  «      sJ ‚t        j                  ddg«      t        j                  g d	¢«      t        j                  dgdgg«      g}|D ]+  }t        j                  t        d
¬«      5  ||z   d d d «       Œ- t        j                  |j	                  «       g d¢«      }t        |t        j                  g d¢«      z  |«       t        |dgdgdggz  |j                  «       y # 1 sw Y   Œ¡xY w)NrÌ   )r   r(   r   r   é   r   r(   r   )r   ©r   r(   r   r0   zdimension mismatchr%   )r   r   r\   r   r7   r[   Ú
isinstancer   Úndarrayr*   r+   r,   r·   )r<   r!   rO   rÏ   ÚcolÚbad_vecsr]   Ú
dot_results           r   Útest_matveczTestCommon1D.test_matvec€  s¿  € Ü�H‰H’[Ó!ˆÙ˜‹lˆÜ�h‰hš	�{Ó#×%Ñ%ˆä˜˜c™	 3§;¡;£=°3Ñ#6Ô7à”B—H‘HšYÓ'Ñ'×.Ñ.°"Ò4Ð4Ð4Ø”R—X‘XšiÓ(Ñ(¨BÒ.Ð.Ð.Ø”b—h‘hšyÓ)Ñ)×0Ñ0°BÒ6Ð6Ð6Ø”b—h‘h   a S¨1¨#˜Ó/Ñ/×6Ñ6¸$Ò>Ð>Ð>ä˜#¤ª	 {Ó 3× 5Ñ 5Ñ5´r·z±zÔBÐBÐBô —H‘H˜a ˜VÓ$¤b§h¡hª|Ó&<¼b¿h¹hÈÈÈaÈSÀzÓ>RÐSˆØò 	ˆAÜ—‘œzÐ1EÔFñ Ø�a’÷ð ð	ô —V‘V˜CŸK™K›Mª9Ó5ˆ
Ü˜œbŸh™h¢yÓ1Ñ1°:Ô>Ü˜ ˜s Q C¨!¨˜oÑ-¨z¯|©|Õ<÷ð ús   ÆHÈH	c                 óî   —  ||«      }t        g d¢|z  t        j                  g d¢|j                  «       «      «       t        j                  g d¢g«      }t        ||z  ||j                  «       z  «       y )NrÔ   )r   r   r·   r7   r   )r<   r!   r   ÚMÚrows        r   Útest_rmatveczTestCommon1D.test_rmatvec›  sU   € Ù�eÓˆÜš qÑ(¬"¯&©&²¸q¿y¹y»{Ó*KÔLÜ�h‰hš�~Ó&ˆÜ˜˜a™  q§y¡y£{Ñ!2Õ3r   c                 ó  — |t        j                  g «      fD ]l  } ||«      }t        |j                  «       |«       t        |j	                  «       j                  «       |«       t        |j
                  |j
                  «       Œn y r   )r   r   r   r7   Ú	transposer   )r<   r!   r   rO   ÚBs        r   Útest_transposezTestCommon1D.test_transpose¡  sb   € ØœŸ™ "›Ð&ò 	+ˆAÙ˜!“ˆAÜ˜Ÿ™› aÔ(Ü˜Ÿ™›×.Ñ.Ó0°!Ô4Ü˜Ÿ™ !§'¡'Õ*ñ		+r   c                 óp   — ||   D ].  \  }}}||z   }t        |||z   «       ||z   }t        |||z   «       Œ0 y r   )r   )r<   r!   r#   r   r"   rz   Úsum1Úsum2s           r   Útest_add_dense_to_sparsez%TestCommon1D.test_add_dense_to_sparse¨  sK   € Ø!2°9Ñ!=ò 	*ÑˆE�3˜Ø˜‘;ˆDÜ˜˜s S™yÔ)Ø˜3‘;ˆDÜ˜˜s S™yÕ)ñ		*r   c                 óœ   — t        j                  d«      } ||«      }|j                  dvr!t        ||«      D ]  \  }}t	        ||«       Œ y y )NrW   )ÚcooÚdiaÚbsr)r   ÚarangeÚformatÚzipr   )r<   r!   rá   rO   r]   r^   s         r   Útest_iteratorzTestCommon1D.test_iterator¯  sM   € ä�I‰I�a‹LˆÙ�a‹Lˆà�8‰8Ð0Ñ0Ü˜A˜q›	ò #‘��1Ü˜Q Õ"ñ#ð 1r   c                 óú   — t        j                  g d¢«      } ||«      }|j                  d«      �J ‚t        |j	                  «       g d¢«       |j                  d«       t        |j	                  «       g d¢«       y )N)r   r   r   r0   r6   rÍ   )rW   )r   r   r   r   r   )r   r   Úresizer   r7   r©   s       r   Útest_resizezTestCommon1D.test_resize¸  sX   € ä�H‰H’\Ó"ˆÙ�a‹LˆØ�x‰x˜‹~Ð%Ð%Ð%Ü�Q—Y‘Y“[¢)Ô,Ø	�‰�ŒÜ�Q—Y‘Y“[¢/Õ2r   N)'Ú__name__Ú
__module__Ú__qualname__Ú__doc__r=   r@   rD   rG   rP   rS   ra   rd   r{   r…   rŠ   rŽ   r‘   r•   r™   rž   r    r*   ÚmarkÚthread_unsafeÚsup_complexr¥   r§   r¬   rÀ   rÆ   rÈ   rÊ   rÑ   rÚ   rÞ   râ   ræ   rî   rñ   r   r   r   r4   r4   9   s  „ á?ò9ò
òòò4òò.ò$
/ò,ò('ò,ò ò(ò	9ò	;ò,ò(7ð ‡[�[×ÑØñOó ó ðOð ‡[�[×ÑØñ
ó ó ð
ð ‡[�[×ÑØñOó ó ðOò,0ò\0ò-ò9ò&%ò*=ò64ò+ò*ò#ó3r   r4   )%rõ   r*   Únumpyr   Únumpy.testingr   r   Úscipy.sparser   r   r   r   r	   r
   r   Úscipy.sparse._sputilsr   r   Úscipy._lib._utilr   ÚtestingÚsuppress_warningsrø   Úfilterr   Úint64Úfloat64Ú
complex128r   Úfixturer   r#   rö   Úparametrizer.   r2   r4   r   r   r   ú<module>r     s1  ðÙ 0ã ã ß 7÷÷ ñ ÷ ;Ý +ð �j‰j×*Ñ*Ó,€Ø × Ñ �>Ô "ð ˜ IÐ.€
Ø�x‰x˜Ÿ™ R§]¡]Ð3€ð ‡�ñ'ó ð'ð ‡�ñó ðð ‡�×Ñ˜ y°)¸YÈ	Ð&RÓSñ ó Tð ð ‡�×ÑØ�)˜Y¨	°9¸iÈÐSóñ&óð&ð ‡�×Ñ˜ jÓ1÷E3ð E3ó 2ñE3r   