Ë
    ¤eh]K  ã                   óô  — d dl Z d dlZd dlZd dlmc mZ d dlm	c m
Z d dlmZ d dlmZ d dlmZmZmZ ej*                  d„ «       Z ej*                  g d¢g d¢g d¢g d¢g d	¢g d
¢gd dgddgdgdgdgdggd gdgd dgddgd dgddggdgdgd dgddgdgdggd dgddgddgddgg g gd gdgg g g g ggg d¢¬«      d„ «       Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d „ d!«      Z G d"„ d#«      Zy)$é    N)ÚSeries)Ú
BlockIndexÚIntIndexÚmake_sparse_indexc                   ó   — y)Né   © r	   ó    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/arrays/sparse/test_libsparse.pyÚtest_lengthr      s   € àr
   )r   é   é   )é   é   r   )é   é	   é   )r   r   r   )r   r   r   )é   r   é   r   r   r   r   é
   r   é   é   é   r   )Ú
plain_caseÚdelete_blocksÚsplit_blocksÚ
skip_blockÚno_intersectÚ	one_empty)ÚparamsÚidsc                 ó   — | j                   S ©N)Úparam)Úrequests    r   Úcasesr&      s   € ðz �=‰=Ðr
   c                   óR  — e Zd Zej                  j                  ddgdgdgdgdgdggddgddgddgddgg d	¢g d
¢gdgdgdgdgdgdggddgddgdgdgdgdggddgddgdgdgdgdggddgddgddgddgdgdggdgdgg d¢g d¢dgdggddgddgddgddgg d¢g d¢gg«      d„ «       Zd„ Zy)ÚTestSparseIndexUnionz"xloc, xlen, yloc, ylen, eloc, elenr   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   c                 ó€  — t        |||«      }t        |||«      }	|j                  |	«      }
t        |
t         «      sJ ‚t        j                  |
j
                  t        j                  |t        j                  ¬«      «       t        j                  |
j                  t        j                  |t        j                  ¬«      «       |j                  «       }|	j                  «       }|j                  |«      }t        |t        «      sJ ‚t        j                  |j                  |
j                  «       j                  «       y )N©Údtype)r   Ú
make_unionÚ
isinstanceÚtmÚassert_numpy_array_equalÚblocsÚnpÚarrayÚint32ÚblengthsÚto_int_indexr   Úindices)ÚselfÚxlocÚxlenÚylocÚylenÚelocÚelenr   ÚxindexÚyindexÚbresultÚixindexÚiyindexÚiresults                 r   Útest_index_make_unionz*TestSparseIndexUnion.test_index_make_unionX   sè   € ôX ˜K¨¨tÓ4ˆÜ˜K¨¨tÓ4ˆØ×#Ñ# FÓ+ˆÜ˜'¤:Ô.Ð.Ð.Ü
×#Ñ# G§M¡M´2·8±8¸DÌÏÉÔ3QÔRÜ
×#Ñ# G×$4Ñ$4´b·h±h¸tÌ2Ï8É8Ô6TÔUà×%Ñ%Ó'ˆØ×%Ñ%Ó'ˆØ×$Ñ$ WÓ-ˆÜ˜'¤8Ô,Ð,Ð,Ü
×#Ñ# G§O¡O°W×5IÑ5IÓ5K×5SÑ5SÕTr
   c                 óî  — t        dt        j                  g d¢t        j                  ¬«      «      }t        dt        j                  ddgt        j                  ¬«      «      }|j	                  |«      }t        dt        j                  g d¢t        j                  «      «      }|j                  |«      sJ ‚t        dt        j                  g t        j                  ¬«      «      }t        dt        j                  ddgt        j                  ¬«      «      }|j	                  |«      }t        dt        j                  ddgt        j                  «      «      }|j                  |«      sJ ‚t        dt        j                  g t        j                  ¬«      «      }t        dt        j                  g t        j                  ¬«      «      }|j	                  |«      }t        dt        j                  g t        j                  «      «      }|j                  |«      sJ ‚t        dt        j                  g d¢t        j                  ¬«      «      }t        dt        j                  g d¢t        j                  ¬«      «      }|j	                  |«      }t        dt        j                  g d¢t        j                  «      «      }|j                  |«      sJ ‚t        dt        j                  ddgt        j                  ¬«      «      }t        d	t        j                  ddgt        j                  ¬«      «      }d
}t        j                  t        |¬«      5  |j	                  |«       d d d «       y # 1 sw Y   y xY w)Nr   )r   r   r   r,   r   r   )r   r   r   r   ©r   r   r   r   r   r   r   ú-Indices must reference same underlying length©Úmatch)	r   r3   r4   r5   r.   ÚequalsÚpytestÚraisesÚ
ValueError)r9   ÚaÚbÚresÚexpÚmsgs         r   Útest_int_index_make_unionz.TestSparseIndexUnion.test_int_index_make_union‘   s7  € Ü�QœŸ™¢´"·(±(Ô;Ó<ˆÜ�QœŸ™ ! Q ¬r¯x©xÔ8Ó9ˆØ�l‰l˜1‹oˆÜ�qœ"Ÿ(™(¢<´·±Ó:Ó;ˆØ�z‰z˜#ŒÐˆä�QœŸ™ ¬2¯8©8Ô4Ó5ˆÜ�QœŸ™ ! Q ¬r¯x©xÔ8Ó9ˆØ�l‰l˜1‹oˆÜ�qœ"Ÿ(™( A q 6¬2¯8©8Ó4Ó5ˆØ�z‰z˜#ŒÐˆä�QœŸ™ ¬2¯8©8Ô4Ó5ˆÜ�QœŸ™ ¬2¯8©8Ô4Ó5ˆØ�l‰l˜1‹oˆÜ�qœ"Ÿ(™( 2¤r§x¡xÓ0Ó1ˆØ�z‰z˜#ŒÐˆä�QœŸ™¢¼¿¹ÔAÓBˆÜ�QœŸ™¢¼¿¹ÔAÓBˆØ�l‰l˜1‹oˆÜ�qœ"Ÿ(™(¢?´B·H±HÓ=Ó>ˆØ�z‰z˜#ŒÐˆä�QœŸ™ ! Q ¬r¯x©xÔ8Ó9ˆÜ�QœŸ™ ! Q ¬r¯x©xÔ8Ó9ˆà=ˆÜ�]‰]œ:¨SÔ1ñ 	Ø�L‰L˜ŒO÷	÷ 	ñ 	ús   ÍM+Í+M4N)Ú__name__Ú
__module__Ú__qualname__rM   ÚmarkÚparametrizerF   rU   r	   r
   r   r(   r(   W   s'  „ Ø‡[�[×ÑØ,àˆS�1�#˜�s˜Q˜C !  q cÐ*Ø�ˆW�q˜!�f˜q "˜g¨¨1 vª{ºIÐFØˆS�1�#˜�s˜Q˜C !  q cÐ*Ø�ˆW�q˜!�f˜q˜c A 3¨¨¨b¨TÐ2Ø�ˆV�a˜�V˜a˜S 1 #¨ s¨R¨DÐ1Ø�ˆW�q˜!�f˜q "˜g¨¨1 v°¨s°R°DÐ9ØˆS�2�$š
¢I°¨s°R°DÐ9Ø�ˆW�q˜!�f˜q "˜g¨¨1 vª~º|ÐLð		
óñ*Uóð*UóXr
   r(   c                   ó¢  — e Zd Zej                  d„ «       Zd„ Zej                  j                  d e
d ej                  ddgej                  ¬«      «       e
d ej                  g d¢ej                  ¬«      «       e
d	 ej                  g ej                  ¬«      «       e
d ej                  g ej                  ¬«      «      g«      d
„ «       Zy)ÚTestSparseIndexIntersectc                 ó¨  — |\  }}}}}}t        |||«      }	t        |||«      }
t        |||«      }t        |dz   ||«      }|	j                  |
«      }|j                  |«      sJ ‚|	j                  «       j                  |
j                  «       «      }|j                  |j                  «       «      sJ ‚d}t	        j
                  t        |¬«      5  |	j                  |«       d d d «       t	        j
                  t        |¬«      5  |	j                  «       j                  |j                  «       «       d d d «       y # 1 sw Y   Œ[xY w# 1 sw Y   y xY w)Nr   rI   rJ   )r   Ú	intersectrL   r7   rM   rN   Ú	Exception)r9   r&   r   r:   r;   r<   r=   r>   r?   r@   rA   ÚexpectedÚlonger_indexÚresultrT   s                  r   Útest_intersectz'TestSparseIndexIntersect.test_intersect³   s2  € à-2Ñ*ˆˆd�D˜$  dÜ˜K¨¨tÓ4ˆÜ˜K¨¨tÓ4ˆÜ˜k¨4°Ó6ˆÜ! +°¡/°4¸Ó>ˆà×!Ñ! &Ó)ˆØ�}‰}˜XÔ&Ð&Ð&Ø×$Ñ$Ó&×0Ñ0°×1DÑ1DÓ1FÓGˆØ�}‰}˜X×2Ñ2Ó4Ô5Ð5Ð5à=ˆÜ�]‰]œ9¨CÔ0ñ 	+Ø×Ñ˜\Ô*÷	+ä�]‰]œ9¨CÔ0ñ 	IØ×ÑÓ!×+Ñ+¨L×,EÑ,EÓ,GÔH÷	Ið 	I÷	+ð 	+ú÷	Ið 	Iús   ÃD<Ä.EÄ<EÅEc                 ó  — t        dt        j                  g t        j                  ¬«      «      }t        dt        j                  ddgt        j                  ¬«      «      }|j	                  |«      j                  |«      sJ ‚|j	                  |«      j                  |«      sJ ‚|j                  «       }|j                  «       }|j	                  |«      j                  |«      sJ ‚|j	                  |«      j                  |«      sJ ‚y )Nr   r,   r   r   )r   r3   r4   r5   r^   rL   Úto_block_index)r9   r@   rA   s      r   Útest_intersect_emptyz-TestSparseIndexIntersect.test_intersect_emptyÆ   sÔ   € Ü˜!œRŸX™X b´·±Ô9Ó:ˆÜ˜!œRŸX™X q¨! f´B·H±HÔ=Ó>ˆØ×Ñ Ó'×.Ñ.¨vÔ6Ð6Ð6Ø×Ñ Ó'×.Ñ.¨vÔ6Ð6Ð6à×&Ñ&Ó(ˆØ×&Ñ&Ó(ˆØ×Ñ Ó'×.Ñ.¨vÔ6Ð6Ð6Ø×Ñ Ó'×.Ñ.¨vÔ6Ð6Ñ6r
   Úcaser   r   r   r,   )r   r   r   r   c                 ó¬   — |j                  |«      j                  |«      sJ ‚|j                  «       }|j                  |«      j                  |«      sJ ‚y r#   )r^   rL   re   )r9   rg   s     r   Útest_intersect_identicalz1TestSparseIndexIntersect.test_intersect_identicalÑ   sL   € ð �~‰~˜dÓ#×*Ñ*¨4Ô0Ð0Ð0Ø×"Ñ"Ó$ˆØ�~‰~˜dÓ#×*Ñ*¨4Ô0Ð0Ñ0r
   N)rV   rW   rX   ÚtdÚskip_if_windowsrc   rf   rM   rY   rZ   r   r3   r4   r5   ri   r	   r
   r   r\   r\   ²   s¾   „ Ø×ÑñIó ðIò$	7ð ‡[�[×ÑØñ �Q˜˜Ÿ™ ! Q ¨r¯x©xÔ8Ó9Ù�Q˜˜Ÿ™¢°"·(±(Ô;Ó<Ù�Q˜˜Ÿ™ ¨2¯8©8Ô4Ó5Ù�Q˜˜Ÿ™ ¨2¯8©8Ô4Ó5ð	
ó
ñ1ó
ñ1r
   r\   c                   ó(  — e Zd Zd„ Zd„ Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Z	ej                  j                  dd	d
gdd	gddgdd
gdd
gdd
gdd
gddgddgdd
gg
«      d„ «       Z
y)ÚTestSparseIndexCommonc                 óž  — t        dt        j                  ddgt        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  ddgt        j                  ¬«      «       t        dt        j                  g t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g t        j                  ¬«      «       t        dt        j                  g d¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       y ©	Nr   r   r   r,   Úinteger©Úkindr   ©r   r   r   r   ©
r   r3   r4   r5   r/   r   Únpointsr0   r1   r8   ©r9   Úidxs     r   Útest_int_internalz'TestSparseIndexCommon.test_int_internalã   ó5  € Ü ¤2§8¡8¨Q°¨F¼"¿(¹(Ô#CÈ)ÔTˆÜ˜#œxÔ(Ð(Ð(Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§K¡K´·±¸1¸a¸&ÌÏÉÔ1QÔRä ¤2§8¡8¨B´b·h±hÔ#?ÀiÔPˆÜ˜#œxÔ(Ð(Ð(Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§K¡K´·±¸"ÄBÇHÁHÔ1MÔNäØŒr�x‰xš¬B¯H©HÔ5¸Iô
ˆô ˜#œxÔ(Ð(Ð(Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§K¡K´·±º,ÌbÏhÉhÔ1WÕXr
   c                 óð  — t        dt        j                  ddgt        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        dt        j                  g t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g t        j                  ¬«      «       t        j                  |j                  t        j                  g t        j                  ¬«      «       t        dt        j                  g d¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        dt        j                  g d	¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  ddgt        j                  ¬«      «       t        j                  |j                  t        j                  d
dgt        j                  ¬«      «       y ©Nr   r   r   r,   Úblockrq   r   rs   ©r   r   r   r   ©r   r3   r4   r5   r/   r   ru   r0   r1   r2   r6   rv   s     r   Útest_block_internalz)TestSparseIndexCommon.test_block_internalõ   ó+  € Ü ¤2§8¡8¨Q°¨F¼"¿(¹(Ô#CÈ'ÔRˆÜ˜#œzÔ*Ð*Ð*Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§I¡I¬r¯x©x¸¸Ä2Ç8Á8Ô/LÔMÜ
×#Ñ# C§L¡L´"·(±(¸A¸3ÄbÇhÁhÔ2OÔPä ¤2§8¡8¨B´b·h±hÔ#?ÀgÔNˆÜ˜#œzÔ*Ð*Ð*Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§I¡I¬r¯x©x¸Ä"Ç(Á(Ô/KÔLÜ
×#Ñ# C§L¡L´"·(±(¸2ÄRÇXÁXÔ2NÔOä ¤2§8¡8ªLÄÇÁÔ#IÐPWÔXˆÜ˜#œzÔ*Ð*Ð*Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§I¡I¬r¯x©x¸¸Ä2Ç8Á8Ô/LÔMÜ
×#Ñ# C§L¡L´"·(±(¸A¸3ÄbÇhÁhÔ2OÔPä ¤2§8¡8ªI¼R¿X¹XÔ#FÈWÔUˆÜ˜#œzÔ*Ð*Ð*Ø�{‰{˜aÒÐÐÜ
×#Ñ# C§I¡I¬r¯x©x¸¸A¸ÄbÇhÁhÔ/OÔPÜ
×#Ñ# C§L¡L´"·(±(¸A¸q¸6ÌÏÉÔ2RÕSr
   rr   rp   r|   c                 óþ  — t        dt        j                  ddgt        j                  ¬«      |¬«      }|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚t        dt        j                  g t        j                  ¬«      |¬«      }t        dd	«      D ]  }|j	                  |«      dk(  rŒJ ‚ t        dt        j                  g d
¢t        j                  ¬«      |¬«      }|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚t        dt        j                  g d¢t        j                  ¬«      |¬«      }|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚|j	                  d«      dk(  sJ ‚y )Nr   r   r   r,   rq   éÿÿÿÿr   r   r   rs   r}   )r   r3   r4   r5   ÚlookupÚrange)r9   rr   rw   Úis       r   Útest_lookupz!TestSparseIndexCommon.test_lookup  s4  € ä ¤2§8¡8¨Q°¨F¼"¿(¹(Ô#CÈ$ÔOˆØ�z‰z˜"‹~ Ò#Ð#Ð#Ø�z‰z˜!‹} Ò"Ð"Ð"Ø�z‰z˜!‹} Ò"Ð"Ð"Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò"Ð"Ð"ä ¤2§8¡8¨B´b·h±hÔ#?ÀdÔKˆä�r˜1“ò 	'ˆAØ—:‘:˜a“= BÓ&Ð&Ð&ð	'ô   ¤2§8¡8ªLÄÇÁÔ#IÐPTÔUˆØ�z‰z˜"‹~ Ò#Ð#Ð#Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò"Ð"Ð"ä ¤2§8¡8ªI¼R¿X¹XÔ#FÈTÔRˆØ�z‰z˜"‹~ Ò#Ð#Ð#Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò"Ð"Ð"Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò!Ð!Ð!Ø�z‰z˜!‹} Ò"Ð"Ñ"r
   c                 óâ  — t        dt        j                  ddgt        j                  ¬«      |¬«      }|j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       |j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d	¢t        j                  ¬«      }t        j                  ||«       t        dt        j                  g t        j                  ¬«      |¬«      }|j	                  t        j                  g d
¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       t        dt        j                  g d¢t        j                  ¬«      |¬«      }|j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       |j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       t        dt        j                  g d¢t        j                  ¬«      |¬«      }|j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       |j	                  t        j                  g d¢t        j                  ¬«      «      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       y )Nr   r   r   r,   rq   )r‚   r   r   )r‚   r‚   r   )r   r   r   r   )r‚   r   r‚   r   )r‚   r   r   r   )r‚   r‚   r‚   r‚   rs   )r‚   r   r   r   r}   )r   r   r   r   )r   r‚   r   r   )r   r   r   r   )r‚   r‚   r   r‚   )r   r3   r4   r5   Úlookup_arrayr0   r1   )r9   rr   rw   rR   rS   s        r   Útest_lookup_arrayz'TestSparseIndexCommon.test_lookup_array-  sQ  € ä ¤2§8¡8¨Q°¨F¼"¿(¹(Ô#CÈ$ÔOˆà×ÑœrŸx™xª
¼"¿(¹(ÔCÓDˆÜ�h‰h’{¬"¯(©(Ô3ˆÜ
×#Ñ# C¨Ô-à×ÑœrŸx™xª¼B¿H¹HÔEÓFˆÜ�h‰h’~¬R¯X©XÔ6ˆÜ
×#Ñ# C¨Ô-ä ¤2§8¡8¨B´b·h±hÔ#?ÀdÔKˆØ×ÑœrŸx™xª¼R¿X¹XÔFÓGˆÜ�h‰hÒ'¬r¯x©xÔ8ˆÜ
×#Ñ# C¨Ô-ä ¤2§8¡8ªLÄÇÁÔ#IÐPTÔUˆØ×ÑœrŸx™xª
¼"¿(¹(ÔCÓDˆÜ�h‰h’z¬¯©Ô2ˆÜ
×#Ñ# C¨Ô-à×ÑœrŸx™xª¼B¿H¹HÔEÓFˆÜ�h‰h’}¬B¯H©HÔ5ˆÜ
×#Ñ# C¨Ô-ä ¤2§8¡8ªI¼R¿X¹XÔ#FÈTÔRˆØ×ÑœrŸx™xª¼B¿H¹HÔEÓFˆÜ�h‰h’}¬B¯H©HÔ5ˆÜ
×#Ñ# C¨Ô-à×ÑœrŸx™xª¼B¿H¹HÔEÓFˆÜ�h‰h’¬b¯h©hÔ7ˆÜ
×#Ñ# C¨Õ-r
   zidx, expectedr   r‚   r   r   r   r)   r   r   é   r   r   r   é   c                 óž   — t        dddgddg«      }|j                  |«      |k(  sJ ‚|j                  «       }|j                  |«      |k(  sJ ‚y )Nr   r   r   r   r   )r   rƒ   r7   )r9   rw   r`   ÚbindexÚiindexs        r   Útest_lookup_basicsz(TestSparseIndexCommon.test_lookup_basicsP  sV   € ô  ˜B  B ¨!¨Q¨Ó0ˆØ�}‰}˜SÓ! XÒ-Ð-Ð-à×$Ñ$Ó&ˆØ�}‰}˜SÓ! XÒ-Ð-Ñ-r
   N)rV   rW   rX   rx   r   rM   rY   rZ   r†   r‰   r�   r	   r
   r   rm   rm   â   sÔ   „ òYò$Tð2 ‡[�[×Ñ˜V i°Ð%9Ó:ñ#ó ;ð#ð< ‡[�[×Ñ˜V i°Ð%9Ó:ñ .ó ;ð .ðD ‡[�[×ÑØà�ˆGØ�ˆFØ�ˆFØ�ˆGØ�ˆGØ�ˆHØ�ˆHØ�ˆGØ�ˆGØ�ˆHð	
óñ.óñ.r
   rm   c                   ór   — e Zd Zd„ Zej
                  j                  dg d¢«      d„ «       Zd„ Zd„ Z	d„ Z
d„ Zy	)
ÚTestBlockIndexc                 óð  — t        dt        j                  ddgt        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        dt        j                  g t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g t        j                  ¬«      «       t        j                  |j                  t        j                  g t        j                  ¬«      «       t        dt        j                  g d¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        j                  |j                  t        j                  dgt        j                  ¬«      «       t        dt        j                  g d	¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  ddgt        j                  ¬«      «       t        j                  |j                  t        j                  d
dgt        j                  ¬«      «       y r{   r~   rv   s     r   r   z"TestBlockIndex.test_block_internalh  r€   r
   r…   )r   r   éd   ée   c           	      ó�  — t        |t        j                  d|dt        j                  ¬«      d¬«      }t        j                  d|dt        j                  ¬«      }t	        j
                  |j                  |«       t	        j
                  |j                  t        j                  t        |«      t        j                  ¬«      «       y )Nr   r   r,   r|   rq   )
r   r3   Úaranger5   r0   r1   r2   r6   ÚonesÚlen)r9   r…   rw   rS   s       r   Útest_make_block_boundaryz'TestBlockIndex.test_make_block_boundary�  sv   € ä ¤2§9¡9¨Q°°1¼B¿H¹HÔ#EÈGÔTˆä�i‰i˜˜1˜a¤r§x¡xÔ0ˆÜ
×#Ñ# C§I¡I¨sÔ3Ü
×#Ñ# C§L¡L´"·'±'¼#¸c»(Ì"Ï(É(Ô2SÕTr
   c                 ó�   — t        dddgddg«      }|j                  |«      sJ ‚|j                  t        dddgddg«      «      rJ ‚y )Nr   r   r   r   r   r   )r   rL   ©r9   Úindexs     r   Útest_equalszTestBlockIndex.test_equals‰  sP   € Ü˜2  1˜v¨¨1 vÓ.ˆà�|‰|˜EÔ"Ð"Ð"Ø—<‘<¤
¨2°°1¨v¸¸1°vÓ >Ô?Ð?Ð?Ð?r
   c                 óH  — g }g }t        d||«       t        d||«       d}t        j                  t        |¬«      5  t        ddgdg«       d d d «       d}t        j                  t        |¬«      5  t        dddgdd	g«       d d d «       y # 1 sw Y   ŒAxY w# 1 sw Y   y xY w)
Nr   r   zBlock 0 extends beyond endrJ   r   r   zBlock 0 overlapsr   r   )r   rM   rN   rO   )r9   ÚlocsÚlengthsrT   s       r   Útest_check_integrityz#TestBlockIndex.test_check_integrity�  s£   € ØˆØˆô 	�1�d˜GÔ$ô 	�1�d˜GÔ$à*ˆÜ�]‰]œ:¨SÔ1ñ 	&Ü�r˜A˜3  Ô%÷	&ð !ˆÜ�]‰]œ:¨SÔ1ñ 	+Ü�r˜A˜q˜6 A q 6Ô*÷	+ð 	+÷		&ð 	&ú÷	+ð 	+ús   ¼BÁ1BÂBÂB!c                 óÜ   — ddg}ddg}g d¢}t        d||«      }|j                  «       }t        j                  |j                  t        j                  |t
        j                  ¬«      «       y )Nr   r   r   r   )
r   r   r   r   r   rŠ   r   r*   r   r   r   r,   )r   r7   r0   r1   r8   r3   r4   r5   )r9   rŸ   r    Úexp_indsr|   Údenses         r   Útest_to_int_indexz TestBlockIndex.test_to_int_index¡  sX   € Ø�2ˆwˆØ�a�&ˆÚ7ˆä˜2˜t WÓ-ˆØ×"Ñ"Ó$ˆä
×#Ñ# E§M¡M´2·8±8¸HÌBÏHÉHÔ3UÕVr
   c                 óN   — t        dddgddg«      }|j                  «       |u sJ ‚y )Nr   r   r   r   )r   re   r›   s     r   Útest_to_block_indexz"TestBlockIndex.test_to_block_index«  s/   € Ü˜2  1˜v¨¨1 vÓ.ˆØ×#Ñ#Ó%¨Ñ.Ð.Ñ.r
   N)rV   rW   rX   r   rM   rY   rZ   r™   r�   r¡   r¥   r§   r	   r
   r   r‘   r‘   g  sF   „ òTð2 ‡[�[×Ñ˜SÒ"3Ó4ñUó 5ðUò@ò+ò$Wó/r
   r‘   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestIntIndexc                 óŽ  — d}t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       d}t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       d}t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       d	}t        j                  t        |¬«      5  t        dg d
¢¬«       d d d «       t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       d}t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       t        j                  t        |¬«      5  t        dg d¢¬«       d d d «       y # 1 sw Y   �ŒExY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒôxY w# 1 sw Y   ŒËxY w# 1 sw Y   Œ¤xY w# 1 sw Y   Œ{xY w# 1 sw Y   y xY w)NzToo many indicesrJ   r   )r   r   r   )Úlengthr8   zNo index can be less than zeror   )r   éþÿÿÿr   z(All indices must be less than the length)r   r   r   )r   r   r   z#Indices must be strictly increasing)r   r   r   )r   r   r   )rM   rN   rO   r   )r9   rT   s     r   r¡   z!TestIntIndex.test_check_integrity±  sg  € à ˆä�]‰]œ:¨SÔ1ñ 	2Ü˜A¢yÕ1÷	2ð /ˆä�]‰]œ:¨SÔ1ñ 	3Ü˜A¢zÕ2÷	3ð /ˆä�]‰]œ:¨SÔ1ñ 	3Ü˜A¢zÕ2÷	3ð 9ˆä�]‰]œ:¨SÔ1ñ 	2Ü˜A¢yÕ1÷	2ô �]‰]œ:¨SÔ1ñ 	2Ü˜A¢yÕ1÷	2ð 4ˆä�]‰]œ:¨SÔ1ñ 	2Ü˜A¢yÕ1÷	2ô �]‰]œ:¨SÔ1ñ 	2Ü˜A¢yÕ1÷	2ð 	2÷=	2ñ 	2ú÷	3ñ 	3ú÷	3ð 	3ú÷	2ð 	2ú÷	2ð 	2ú÷	2ð 	2ú÷	2ð 	2úsS   žE1ÁE>ÂFÂ=FÃ0F#Ä%F/ÅF;Å1E;Å>FÆFÆF Æ#F,Æ/F8Æ;Gc                 óž  — t        dt        j                  ddgt        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  ddgt        j                  ¬«      «       t        dt        j                  g t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g t        j                  ¬«      «       t        dt        j                  g d¢t        j                  ¬«      d¬«      }t	        |t
        «      sJ ‚|j                  dk(  sJ ‚t        j                  |j                  t        j                  g d¢t        j                  ¬«      «       y ro   rt   rv   s     r   rx   zTestIntIndex.test_int_internalÖ  ry   r
   c                 ó„   — t        dg d¢«      }|j                  |«      sJ ‚|j                  t        dg d¢«      «      rJ ‚y )Nr   rH   rs   )r   rL   r›   s     r   r�   zTestIntIndex.test_equalsè  s<   € Ü˜š_Ó-ˆØ�|‰|˜EÔ"Ð"Ð"Ø—<‘<¤¨ª\Ó :Ô;Ð;Ð;Ð;r
   c                 ó2  — |\  }}}}}}t        |||«      }t        |||«      }	|j                  «       j                  «       }
|	j                  «       j                  «       }t        |
t         «      sJ ‚|
j	                  |«      sJ ‚|j	                  |	«      sJ ‚y r#   )r   r7   re   r/   rL   )r9   r&   r   r:   r;   r<   r=   Ú_r@   rA   ÚxbindexÚybindexs               r   r§   z TestIntIndex.test_to_block_indexí  s”   € Ø',Ñ$ˆˆd�D˜$  1Ü˜K¨¨tÓ4ˆÜ˜K¨¨tÓ4ˆð ×%Ñ%Ó'×6Ñ6Ó8ˆØ×%Ñ%Ó'×6Ñ6Ó8ˆÜ˜'¤:Ô.Ð.Ð.Ø�~‰~˜fÔ%Ð%Ð%Ø�~‰~˜fÔ%Ð%Ñ%r
   c                 óH   — t        dg d¢«      }|j                  «       |u sJ ‚y )Nr   )r   r   r   r   r   )r   r7   r›   s     r   r¥   zTestIntIndex.test_to_int_indexù  s%   € Ü˜š_Ó-ˆØ×!Ñ!Ó# uÑ,Ð,Ñ,r
   N)rV   rW   rX   r¡   rx   r�   r§   r¥   r	   r
   r   r©   r©   °  s   „ ò#2òJYò$<ò

&ó-r
   r©   c                   óT   — e Zd Zej                  j                  dg d¢«      d„ «       Zy)ÚTestSparseOperatorsÚopname)ÚaddÚsubÚmulÚtruedivÚfloordivc                 ó  — |\  }}}}}}t        t        d|› d�«      }	t        t        |«      }
t        |||«      }t        |||«      }|j	                  «       }|j	                  «       }t        j                  |j                  «      dz  dz   }t        j                  |j                  «      dz  dz   }d}d} |	||||||«      \  }}} |	||||||«      \  }}}|j	                  «       j                  |«      sJ ‚t        j                  ||«       ||k(  sJ ‚t        ||j                  «      }|j                  t        j                  |«      «      j                  |«      }t        ||j                  «      }|j                  t        j                  |«      «      j                  |«      } |
||«      }|j                  |j                  «      }t        j                  ||j                  «       t        j                  ||j                  «       y )NÚsparse_Ú_float64g      $@r   g      Y@r   r   )ÚgetattrÚsplibÚoperatorr   r7   r3   r–   ru   rL   r0   r1   r   r8   ÚreindexÚfillnaÚvalues)r9   r¶   r&   r   r:   r;   r<   r=   r°   Ú	sparse_opÚ	python_opr@   rA   ÚxdindexÚydindexÚxÚyÚxfillÚyfillÚresult_block_valsÚrb_indexÚbfillÚresult_int_valsÚri_indexÚifillÚxseriesÚyseriesÚseries_results                               r   Útest_opzTestSparseOperators.test_opÿ  sß  € à',Ñ$ˆˆd�D˜$  1ÜœE W¨V¨H°HÐ#=Ó>ˆ	ÜœH fÓ-ˆ	ä˜K¨¨tÓ4ˆÜ˜K¨¨tÓ4ˆà×%Ñ%Ó'ˆØ×%Ñ%Ó'ˆä�I‰I�f—n‘nÓ%¨Ñ,¨qÑ0ˆÜ�I‰I�f—n‘nÓ%¨Ñ-°Ñ1ˆàˆØˆá-6Øˆv�u˜a ¨ó.
Ñ*Ð˜8 Uñ ,5Øˆw˜˜q '¨5ó,
Ñ(ˆ˜ 5ð ×$Ñ$Ó&×-Ñ-¨hÔ7Ð7Ð7Ü
×#Ñ#Ð$5°ÔGØ˜Š~Ðˆ~ô ˜˜GŸO™OÓ,ˆØ—/‘/¤"§)¡)¨KÓ"8Ó9×@Ñ@ÀÓGˆä˜˜GŸO™OÓ,ˆØ—/‘/¤"§)¡)¨KÓ"8Ó9×@Ñ@ÀÓGˆá! '¨7Ó3ˆØ%×-Ñ-¨h×.>Ñ.>Ó?ˆä
×#Ñ#Ð$5°}×7KÑ7KÔLÜ
×#Ñ# O°]×5IÑ5IÕJr
   N)rV   rW   rX   rM   rY   rZ   rÖ   r	   r
   r   rµ   rµ   þ  s)   „ Ø‡[�[×Ñ˜XÒ'SÓTñ'Kó Uñ'Kr
   rµ   )rÁ   Únumpyr3   rM   Úpandas._libs.sparseÚ_libsÚsparserÀ   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsrj   Úpandasr   Úpandas._testingÚ_testingr0   Úpandas.core.arrays.sparser   r   r   Úfixturer   r&   r(   r\   rm   r‘   r©   rµ   r	   r
   r   ú<module>rã      sš  ðÛ ã Û ç #Ð #ß )Ð )å Ý ÷ñ ð ‡�ñó ðð €‡�ò ÚÚÚÚÚð	
ð �ˆFØ�ˆFØˆCØˆCØˆCØˆCð	
ð ˆCØˆDØ�ˆFØ�ˆFØ�ˆFØ�ˆFð	
ð ˆDØˆCØ�ˆGØ�ˆFØˆDØˆCð	
ð �ˆGØ�ˆFØ�ˆGØ�ˆFØØð	
ð ˆCØˆCØØØØð	
ðS1òd	ôg;ñxóy;ðx÷Xñ X÷v-1ñ -1÷`B.ñ B.÷JF/ñ F/÷RK-ñ K-÷\)Kò )Kr
   