Ë
    çÿæi%=  ã            	       óö  — d Z ddlZddlZddlZddlmZmZ ddl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 eeegZej,                  ej.                  ej0                  gZej4                  d„ «       Zej4                  d„ «       Zej:                  j=                  d	eeeeg«      d
„ «       Zej:                  j=                  d	eeeeeeg«      d„ «       Z ej:                  j=                  d	e«       G d„ d«      «       Z!y)z*Test of 1D aspects of sparse array classesé    N)Úassert_equalÚassert_allclose)ÚComplexWarning)Ú	bsr_arrayÚ	csc_arrayÚ	dia_arrayÚ	lil_arrayÚ	coo_arrayÚ	csr_arrayÚ	dok_array)Úsupported_dtypesÚmatrixc                  ó2   — t        j                  g d¢d«      S )N)é   r   é   r   Úd)ÚnpÚarray© ó    úu/Volumes/fast/ai/experiments/voice-extract-mac/.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Ó,Ñ,¸+€JÐFõ $õá#ˆIð 	À:×CSÑCSÔCUÔVÑCU±Z°U¸C�U˜C¡¨3£Ò0ÐCUÒ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Ù’,Ô÷ 
J×	IÑ	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   -   s1   € ô 
�‰”zÐ)CÖ	DÙ”"—'‘'˜)Ó$Ô%÷ 
E×	DÑ	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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"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_shapes?   s&   € Ü�]‰]œ:Ð-JÖKÙ�eÔ÷ L×KÑKús   œ	.®7c                 ó&   — t         ||«      «       y r   )Úrepr©r<   r!   r   s      r   Ú	test_reprzTestCommon1D.test_reprC   s   € Ü‰Y�uÓÕr   c                 ó&   — t         ||«      «       y r   )ÚstrrC   s      r   Útest_strzTestCommon1D.test_strF   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_negI   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_initM   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_columnQ   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_reshapec   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_sumo   s2  € Ü
�	‰	�‰�tÔÜ—‘Ò6Ó7ˆÜ—	‘	—‘˜qÓ!ˆÜ—‘˜“ˆÜ—‘˜“ˆØ˜  uÐ-ˆãˆCÙ˜c“NˆEÜ—‘ (Ö+Ü—{‘{ 5§9¡9£;Ô/Ð/Ð/Ü §¡£	¨5¯9©9«;Ô7Ü §¡¨T Ó 2°E·I±IÀ4°IÓ4HÔIÜ §¡¨Q £°·±À°Ó1BÔCÜ §¡¨R Ó 0°%·)±)À°)Ó2DÔE÷ ,Ð+ð ð 	�	‰	�qœbŸh™h r›lˆ	Õ+÷ ,Ñ+ú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(   úaxis out of ranger%   r   rk   ©r   r   úaxis must be an integerç      ø?z"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Ó!ˆÙ˜#“ˆä�]‰]œ:Ð-@ÖAØ�I‰I˜1ˆIÔ÷ Bä�]‰]œ:Ð-@ÖAØ�I‰I˜6ˆIÔ"÷ Bä�]‰]œ9Ð,EÖFØ�I‰I˜3ˆIÔ÷ Gä�]‰]œ:Ð-QÖRØ�I‰I˜1 #ˆIÔ&÷ SÐR÷ BÐAúçAÐAúçFÐFúçRÐRú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Ô÷ 5ä�]‰]œ:¨VÖ4Ø�J‰J˜BˆJÔ÷ 5Ð4÷ 5Ð4úç4Ð4ú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   r~   r%   r   rk   r   r€   r�   zout.*not match shaper   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Ô÷ Bä�]‰]œ:Ð-@ÖAØ�J‰J˜FˆJÔ#÷ Bä�]‰]œ9Ð,EÖFØ�J‰J˜CˆJÔ ÷ Gä�]‰]œ:Ð-CÖDØ�J‰J˜A 3ˆJÔ'÷ EÐD÷ BÐAúçAÐAúçFÐFúçDÐDú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·   s_   € Ü�h‰h’yÓ!ˆÙ˜#“ˆç%ˆEØ—g‘g E�gÓ*ˆGØŸ	™	¨˜	Ó.ˆIä˜G YÔ/Ü˜Ÿ™¨	¯©Õ8ñ &r   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Â   sa   € Ü�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Ô)÷ Lä�]‰]œ:Ð-JÖKØ�J‰Jœ2Ÿ8™8 a S E›?ˆJÔ+÷ LÐK÷ LÐKúçKÐKú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                 óÈ  — t        j                  «       5  t        j                  dt        «       t	        j
                  g d¢«      }t         ||«      j                  «       |«       t	        j
                  g d¢«      }t         ||«      j                  «       |«       t         ||d¬«      j                  «       |j                  d«      «       d d d «       y # 1 sw Y   y xY w©Nri   )r(   r   r0   ©y      ð?      @r   rI   Úint16r“   )	ÚwarningsÚcatch_warningsÚsimplefilterr   r   r   r   r7   r   rN   s      r   Útest_from_arrayzTestCommon1D.test_from_arrayë   s˜   € Ü×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü—‘šÓ#ˆAÜ™ 1›×-Ñ-Ó/°Ô3ä—‘Ò*Ó+ˆAÜ™ 1›×-Ñ-Ó/°Ô3Ü™ 1¨GÔ4×<Ñ<Ó>ÀÇÁÈÓ@QÔR÷ '×&Ñ&úó   •B:CÃC!c                 óÈ  — t        j                  «       5  t        j                  dt        «       g d¢}t	         ||«      j                  «       |«       g d¢}t	         ||«      j                  «       t        j                  |«      «       t	         ||d¬«      j                  «       t        j                  |«      j                  d«      «       d d d «       y # 1 sw Y   y xY wr¡   )	r¤   r¥   r¦   r   r   r7   r   r   r   rN   s      r   Útest_from_listzTestCommon1D.test_from_listõ   sš   € Ü×$Ñ$Õ&Ü×!Ñ! (¬NÔ;ÚˆAÜ™ 1›×-Ñ-Ó/°Ô3â!ˆAÜ™ 1›×-Ñ-Ó/´·±¸!³Ô=ÜÙ˜! 7Ô+×3Ñ3Ó5´r·x±xÀ³{×7IÑ7IÈ'Ó7Rô
÷ '×&Ñ&úr¨   c                 óö  — t        j                  «       5  t        j                  dt        «       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«      «       d d d «       y # 1 sw Y   y xY w)Nri   )r   r   r   r¢   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  € Ü×$Ñ$Õ&Ü×!Ñ! (¬NÔ;Ü—‘šÓ#ˆAÜ˜!“ˆAÜ™ 1›×-Ñ-Ó/°Ô3Ù˜!“ˆAÜ™ 1›×-Ñ-Ó/°Ô3ä—‘Ò*Ó+ˆAÜ˜!“ˆAÜ™ 1›×-Ñ-Ó/°Ô3Ü™ 1¨GÔ4×<Ñ<Ó>ÀÇÁÈÓ@QÔRÙ˜!“ˆAÜ™ 1›×-Ñ-Ó/°Ô3Ü™ 1¨GÔ4×<Ñ<Ó>ÀÇÁÈÓ@QÔR÷ '×&Ñ&ús   •EE/Å/E8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_add@  sx   € Ø!2°9Ô!=ÑˆE�3˜Ø—‘“
ˆAØˆAˆa‰DØˆAØ�A‘ˆAÜ˜˜AŸI™I›K¨!™OÔ,ð �A�a˜�F‘
ˆAÜ˜˜AŸI™I›K¨!¨A©$Ñ.Õ/ñ ">r   c                 ó’   — ||   D ]?  \  }}}|j                  «       }d|d<   |}||z   }t        |||j                  «       z   «       ŒA y )Nrµ   r   rÅ   rÇ   s	            r   Ú	test_raddzTestCommon1D.test_raddM  sN   € Ø!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_rsubU  sÿ   € Ø!2°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ñ! ">r   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_basich  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’÷ GÐFð ô —V‘V˜CŸK™K›Mª9Ó5ˆ
Ü˜œbŸh™h¢yÓ1Ñ1°:Ô>Ü˜ ˜s Q C¨!¨˜oÑ-¨z¯|©|Õ<÷ GÐFú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ž  s]   € ØœŸ™ "›Ó&ˆ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¥  sF   € Ø!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¬  sH   € ä�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§   rª   r¯   rÃ   rÉ   rË   rÍ   rÔ   rÝ   rá   rå   ré   rñ   rô   r   r   r   r4   r4   6   s£   „ á?ò9ò
òòò4òò.ò$
/ò,ò('ò,ò ò(ò	9ò	;ò,ò(7òSò

òSò",0ò\0ò-ò9ò&%ò*=ò64ò+ò*ò#ó3r   r4   )"rø   r¤   r*   Únumpyr   Únumpy.testingr   r   Únumpy.exceptionsr   Úscipy.sparser   r   r   r	   r
   r   r   Úscipy.sparse._sputilsr   r   r   Úint64Úfloat64Ú
complex128r   Úfixturer   r#   ÚmarkÚparametrizer.   r2   r4   r   r   r   Ú<module>r     s  ðÙ 0Û ã ã ß 7Ý +÷÷ ñ ÷ ;ð ˜ IÐ.€
Ø�x‰x˜Ÿ™ R§]¡]Ð3€ð ‡�ñ'ó ð'ð ‡�ñó ðð ‡�×Ñ˜ y°)¸YÈ	Ð&RÓSñ ó Tð ð ‡�×ÑØ�)˜Y¨	°9¸iÈÐSóñ&óð&ð ‡�×Ñ˜ jÓ1÷E3ð E3ó 2ñE3r   