§
    tŠtjcJ  ã                   ó  — 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dS )$é    N)ÚSeries)Ú
BlockIndexÚIntIndexÚmake_sparse_indexc                  ó   — dS )Né   © r	   ó    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/arrays/sparse/test_libsparse.pyÚtest_lengthr      s   € àˆ2r
   )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                   óX  — e Zd Ze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dS )Ú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          |||¦  «        }	|                     |	¦  «        }
t          |
t           ¦  «        sJ ‚t          j        |
j        t          j        |t          j        ¬¦  «        ¦  «         t          j        |
j	        t          j        |t          j        ¬¦  «        ¦  «         | 
                    ¦   «         }|	 
                    ¦   «         }|                     |¦  «        }t          |t          ¦  «        sJ ‚t          j        |j        |
 
                    ¦   «         j        ¦  «         d S )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Ô4ˆÝ˜K¨¨tÑ4Ô4ˆØ×#Ò# FÑ+Ô+ˆÝ˜'¥:Ñ.Ô.Ð.Ð.Ð.Ý
Ô# G¤Mµ2´8¸DÍÌÐ3QÑ3QÔ3QÑRÔRÐRÝ
Ô# GÔ$4µb´h¸tÍ2Ì8Ð6TÑ6TÔ6TÑUÔUÐUà×%Ò%Ñ'Ô'ˆØ×%Ò%Ñ'Ô'ˆØ×$Ò$ WÑ-Ô-ˆÝ˜'¥8Ñ,Ô,Ð,Ð,Ð,Ý
Ô# G¤O°W×5IÒ5IÑ5KÔ5KÔ5SÑTÔTÐTÐTÐTr
   c                 ó$  — t          dt          j        g d¢t          j        ¬¦  «        ¦  «        }t          dt          j        ddgt          j        ¬¦  «        ¦  «        }|                     |¦  «        }t          dt          j        g d¢t          j        ¦  «        ¦  «        }|                     |¦  «        sJ ‚t          dt          j        g t          j        ¬¦  «        ¦  «        }t          dt          j        ddgt          j        ¬¦  «        ¦  «        }|                     |¦  «        }t          dt          j        ddgt          j        ¦  «        ¦  «        }|                     |¦  «        sJ ‚t          dt          j        g t          j        ¬¦  «        ¦  «        }t          dt          j        g t          j        ¬¦  «        ¦  «        }|                     |¦  «        }t          dt          j        g t          j        ¦  «        ¦  «        }|                     |¦  «        sJ ‚t          dt          j        g d¢t          j        ¬¦  «        ¦  «        }t          dt          j        g d¢t          j        ¬¦  «        ¦  «        }|                     |¦  «        }t          dt          j        g d¢t          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  |                     |¦  «         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   ú-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‘   sû  € Ý�Q�œ   µ"´(Ð;Ñ;Ô;Ñ<Ô<ˆÝ�Q�œ ! Q ­r¬xÐ8Ñ8Ô8Ñ9Ô9ˆØ�lŠl˜1‰oŒoˆÝ�q�"œ( < < <µ´Ñ:Ô:Ñ;Ô;ˆØ�zŠz˜#‰ŒÐÐˆå�Q�œ ­2¬8Ð4Ñ4Ô4Ñ5Ô5ˆÝ�Q�œ ! Q ­r¬xÐ8Ñ8Ô8Ñ9Ô9ˆØ�lŠl˜1‰oŒoˆÝ�q�"œ( A q 6­2¬8Ñ4Ô4Ñ5Ô5ˆØ�zŠz˜#‰ŒÐÐˆå�Q�œ ­2¬8Ð4Ñ4Ô4Ñ5Ô5ˆÝ�Q�œ ­2¬8Ð4Ñ4Ô4Ñ5Ô5ˆØ�lŠl˜1‰oŒoˆÝ�q�"œ( 2¥r¤xÑ0Ô0Ñ1Ô1ˆØ�zŠz˜#‰ŒÐÐˆå�Q�œ   ½¼ÐAÑAÔAÑBÔBˆÝ�Q�œ   ½¼ÐAÑAÔAÑBÔBˆØ�lŠl˜1‰oŒoˆÝ�q�"œ( ? ? ?µB´HÑ=Ô=Ñ>Ô>ˆØ�zŠz˜#‰ŒÐÐˆå�Q�œ ! Q ­r¬xÐ8Ñ8Ô8Ñ9Ô9ˆÝ�Q�œ ! Q ­r¬xÐ8Ñ8Ô8Ñ9Ô9ˆà=ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	ð 	Ø�LŠL˜‰OŒOˆOð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Í"NÎN	ÎN	N)Ú__name__Ú
__module__Ú__qualname__rM   ÚmarkÚparametrizerF   rU   r	   r
   r   r(   r(   W   si  € € € € € Ø„[×ÒØ,àˆS�1�#˜�s˜Q˜C !  q cÐ*Ø�ˆW�q˜!�f˜q "˜g¨¨1 v¨{¨{¨{¸I¸I¸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 I I°¨s°R°DÐ9Ø�ˆW�q˜!�f˜q "˜g¨¨1 v¨~¨~¨~¸|¸|¸|ÐLð		
ñô ð*Uð *Uñô ð*UðXð ð ð ð r
   r(   c                   ó„  — e Zd Zej        d„ ¦   «         Zd„ Ze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dS )ÚTestSparseIndexIntersectc                 ó0  — |\  }}}}}}t          |||¦  «        }	t          |||¦  «        }
t          |||¦  «        }t          |dz   ||¦  «        }|	                     |
¦  «        }|                     |¦  «        sJ ‚|	                     ¦   «                              |
                     ¦   «         ¦  «        }|                     |                     ¦   «         ¦  «        sJ ‚d}t	          j        t          |¬¦  «        5  |	                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        t          |¬¦  «        5  |	                     ¦   «                              |                     ¦   «         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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³   s  € à-2Ñ*ˆˆd�D˜$  dÝ˜K¨¨tÑ4Ô4ˆÝ˜K¨¨tÑ4Ô4ˆÝ˜k¨4°Ñ6Ô6ˆÝ! +°¡/°4¸Ñ>Ô>ˆà×!Ò! &Ñ)Ô)ˆØ�}Š}˜XÑ&Ô&Ð&Ð&Ð&Ø×$Ò$Ñ&Ô&×0Ò0°×1DÒ1DÑ1FÔ1FÑGÔGˆØ�}Š}˜X×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5à=ˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	+ð 	+Ø×Ò˜\Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+åŒ]�9¨CÐ0Ñ0Ô0ð 	Ið 	IØ×ÒÑ!Ô!×+Ò+¨L×,EÒ,EÑ,GÔ,GÑHÔHÐHð	Ið 	Ið 	Iñ 	Iô 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Ið 	Iøøøð 	Ið 	Ið 	Ið 	Ið 	Ið 	Is$   Ã<DÄD"Ä%D"Å:FÆFÆFc                 ób  — t          dt          j        g t          j        ¬¦  «        ¦  «        }t          dt          j        ddgt          j        ¬¦  «        ¦  «        }|                     |¦  «                             |¦  «        sJ ‚|                     |¦  «                             |¦  «        sJ ‚|                     ¦   «         }|                     ¦   «         }|                     |¦  «                             |¦  «        sJ ‚|                     |¦  «                             |¦  «        sJ ‚d S )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 bµ´Ð9Ñ9Ô9Ñ:Ô:ˆÝ˜!�RœX q¨! fµB´HÐ=Ñ=Ô=Ñ>Ô>ˆØ×Ò Ñ'Ô'×.Ò.¨vÑ6Ô6Ð6Ð6Ð6Ø×Ò Ñ'Ô'×.Ò.¨vÑ6Ô6Ð6Ð6Ð6à×&Ò&Ñ(Ô(ˆØ×&Ò&Ñ(Ô(ˆØ×Ò Ñ'Ô'×.Ò.¨vÑ6Ô6Ð6Ð6Ð6Ø×Ò Ñ'Ô'×.Ò.¨vÑ6Ô6Ð6Ð6Ð6Ð6Ð6r
   Úcaser   r   r   r,   )r   r   r   r   c                 óÖ   — |                      |¦  «                             |¦  «        sJ ‚|                     ¦   «         }|                      |¦  «                             |¦  «        sJ ‚d S r#   )r^   rL   re   )r9   rg   s     r   Útest_intersect_identicalz1TestSparseIndexIntersect.test_intersect_identicalÑ   sg   € ð �~Š~˜dÑ#Ô#×*Ò*¨4Ñ0Ô0Ð0Ð0Ð0Ø×"Ò"Ñ$Ô$ˆØ�~Š~˜dÑ#Ô#×*Ò*¨4Ñ0Ô0Ð0Ð0Ð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ñ ÔðIð$	7ð 	7ð 	7ð „[×ÒØàˆH�Q˜˜œ ! Q ¨r¬xÐ8Ñ8Ô8Ñ9Ô9ØˆH�Q˜˜œ   °"´(Ð;Ñ;Ô;Ñ<Ô<ØˆH�Q˜˜œ ¨2¬8Ð4Ñ4Ô4Ñ5Ô5ØˆH�Q˜˜œ ¨2¬8Ð4Ñ4Ô4Ñ5Ô5ð		
ñô ð1ð 1ñô ð1ð 1ð 1r
   r\   c                   ó6  — e Zd Zd„ Zd„ Zej                             dddg¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Z	e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
dS )Ú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        ¬¦  «        ¦  «         d S ©	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á   ó}  € Ý ¥2¤8¨Q°¨F½"¼(Ð#CÑ#CÔ#CÈ)ÐTÑTÔTˆÝ˜#�xÑ(Ô(Ð(Ð(Ð(ØŒ{˜aÒÐÐÐÝ
Ô# C¤Kµ´¸1¸a¸&ÍÌÐ1QÑ1QÔ1QÑRÔRÐRå ¥2¤8¨Bµb´hÐ#?Ñ#?Ô#?ÀiÐPÑPÔPˆÝ˜#�xÑ(Ô(Ð(Ð(Ð(ØŒ{˜aÒÐÐÐÝ
Ô# C¤Kµ´¸"ÅBÄHÐ1MÑ1MÔ1MÑNÔNÐNåØ�rŒx˜˜˜­B¬HÐ5Ñ5Ô5¸Ið
ñ 
ô 
ˆõ ˜#�xÑ(Ô(Ð(Ð(Ð(ØŒ{˜aÒÐÐÐÝ
Ô# C¤Kµ´¸,¸,¸,ÍbÌhÐ1WÑ1WÔ1WÑXÔXÐXÐXÐXr
   c                 óB  — 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        ¬¦  «        ¦  «         d S ©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¨Q°¨F½"¼(Ð#CÑ#CÔ#CÈ'ÐRÑRÔRˆÝ˜#�zÑ*Ô*Ð*Ð*Ð*ØŒ{˜aÒÐÐÐÝ
Ô# C¤I­r¬x¸¸Å2Ä8Ð/LÑ/LÔ/LÑMÔMÐMÝ
Ô# C¤Lµ"´(¸A¸3ÅbÄhÐ2OÑ2OÔ2OÑPÔPÐPå ¥2¤8¨Bµb´hÐ#?Ñ#?Ô#?ÀgÐNÑNÔNˆÝ˜#�zÑ*Ô*Ð*Ð*Ð*ØŒ{˜aÒÐÐÐÝ
Ô# C¤I­r¬x¸Å"Ä(Ð/KÑ/KÔ/KÑLÔLÐLÝ
Ô# C¤Lµ"´(¸2ÅRÄXÐ2NÑ2NÔ2NÑOÔOÐOå ¥2¤8¨L¨L¨LÅÄÐ#IÑ#IÔ#IÐPWÐXÑXÔXˆÝ˜#�zÑ*Ô*Ð*Ð*Ð*ØŒ{˜aÒÐÐÐÝ
Ô# C¤I­r¬x¸¸Å2Ä8Ð/LÑ/LÔ/LÑMÔMÐMÝ
Ô# C¤Lµ"´(¸A¸3ÅbÄhÐ2OÑ2OÔ2OÑPÔPÐPå ¥2¤8¨I¨I¨I½R¼XÐ#FÑ#FÔ#FÈWÐUÑUÔUˆÝ˜#�zÑ*Ô*Ð*Ð*Ð*ØŒ{˜aÒÐÐÐÝ
Ô# C¤I­r¬x¸¸A¸ÅbÄhÐ/OÑ/OÔ/OÑPÔPÐPÝ
Ô# C¤Lµ"´(¸A¸q¸6ÍÌÐ2RÑ2RÔ2RÑSÔSÐSÐSÐSr
   rr   rp   r|   c                 óº  — t          dt          j        ddgt          j        ¬¦  «        |¬¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚t          dt          j        g t          j        ¬¦  «        |¬¦  «        }t          dd	¦  «        D ]}|                     |¦  «        dk    sJ ‚Œt          dt          j        g d
¢t          j        ¬¦  «        |¬¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚t          dt          j        g d¢t          j        ¬¦  «        |¬¦  «        }|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚|                     d¦  «        dk    sJ ‚d S )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  sÄ  € å ¥2¤8¨Q°¨F½"¼(Ð#CÑ#CÔ#CÈ$ÐOÑOÔOˆØ�zŠz˜"‰~Œ~ Ò#Ð#Ð#Ð#Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"å ¥2¤8¨Bµb´hÐ#?Ñ#?Ô#?ÀdÐKÑKÔKˆå�r˜1‘”ð 	'ð 	'ˆAØ—:’:˜a‘=”= BÒ&Ð&Ð&Ð&Ð&å ¥2¤8¨L¨L¨LÅÄÐ#IÑ#IÔ#IÐPTÐUÑUÔUˆØ�zŠz˜"‰~Œ~ Ò#Ð#Ð#Ð#Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"å ¥2¤8¨I¨I¨I½R¼XÐ#FÑ#FÔ#FÈTÐRÑRÔRˆØ�zŠz˜"‰~Œ~ Ò#Ð#Ð#Ð#Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò!Ð!Ð!Ð!Ø�zŠz˜!‰}Œ} Ò"Ð"Ð"Ð"Ð"Ð"r
   c                 óz  — t          dt          j        ddgt          j        ¬¦  «        |¬¦  «        }|                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         |                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d	¢t          j        ¬¦  «        }t          j        ||¦  «         t          dt          j        g t          j        ¬¦  «        |¬¦  «        }|                     t          j        g d
¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         t          dt          j        g d¢t          j        ¬¦  «        |¬¦  «        }|                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         |                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         t          dt          j        g d¢t          j        ¬¦  «        |¬¦  «        }|                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         |                     t          j        g d¢t          j        ¬¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }t          j        ||¦  «         d S )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+  sÿ  € å ¥2¤8¨Q°¨F½"¼(Ð#CÑ#CÔ#CÈ$ÐOÑOÔOˆà×Ò�rœx¨
¨
¨
½"¼(ÐCÑCÔCÑDÔDˆÝŒh�{�{�{­"¬(Ð3Ñ3Ô3ˆÝ
Ô# C¨Ñ-Ô-Ð-à×Ò�rœx¨¨¨½B¼HÐEÑEÔEÑFÔFˆÝŒh�~�~�~­R¬XÐ6Ñ6Ô6ˆÝ
Ô# C¨Ñ-Ô-Ð-å ¥2¤8¨Bµb´hÐ#?Ñ#?Ô#?ÀdÐKÑKÔKˆØ×Ò�rœx¨¨¨½R¼XÐFÑFÔFÑGÔGˆÝŒhÐ'Ð'Ð'­r¬xÐ8Ñ8Ô8ˆÝ
Ô# C¨Ñ-Ô-Ð-å ¥2¤8¨L¨L¨LÅÄÐ#IÑ#IÔ#IÐPTÐUÑUÔUˆØ×Ò�rœx¨
¨
¨
½"¼(ÐCÑCÔCÑDÔDˆÝŒh�z�z�z­¬Ð2Ñ2Ô2ˆÝ
Ô# C¨Ñ-Ô-Ð-à×Ò�rœx¨¨¨½B¼HÐEÑEÔEÑFÔFˆÝŒh�}�}�}­B¬HÐ5Ñ5Ô5ˆÝ
Ô# C¨Ñ-Ô-Ð-å ¥2¤8¨I¨I¨I½R¼XÐ#FÑ#FÔ#FÈTÐRÑRÔRˆØ×Ò�rœx¨¨¨½B¼HÐEÑEÔEÑFÔFˆÝŒh�}�}�}­B¬HÐ5Ñ5Ô5ˆÝ
Ô# C¨Ñ-Ô-Ð-à×Ò�rœx¨¨¨½B¼HÐEÑEÔEÑFÔFˆÝŒh���­b¬hÐ7Ñ7Ô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¦  «        }|                     |¦  «        |k    sJ ‚|                     ¦   «         }|                     |¦  «        |k    sJ ‚d S )Nr   r   r   r   r   )r   rƒ   r7   )r9   rw   r`   ÚbindexÚiindexs        r   Útest_lookup_basicsz(TestSparseIndexCommon.test_lookup_basicsN  sn   € õ  ˜B  B ¨!¨Q¨Ñ0Ô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ð Yð Yð$Tð Tð Tð2 „[×Ò˜V i°Ð%9Ñ:Ô:ð#ð #ñ ;Ô:ð#ð< „[×Ò˜V i°Ð%9Ñ:Ô:ð .ð  .ñ ;Ô:ð .ðD „[×ÒØà�ˆGØ�ˆFØ�ˆFØ�ˆGØ�ˆGØ�ˆHØ�ˆHØ�ˆGØ�ˆGØ�ˆHð	
ñô ð.ð .ñô ð.ð .ð .r
   rm   c                   óx   — e Zd Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	S )
ÚTestBlockIndexc                 óB  — 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        ¬¦  «        ¦  «         d S r{   r~   rv   s     r   r   z"TestBlockIndex.test_block_internalf  r€   r
   r…   )r   r   éd   ée   c           	      ól  — 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        ¬¦  «        ¦  «         d S )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  sŒ   € å ¥2¤9¨Q°°1½B¼HÐ#EÑ#EÔ#EÈGÐTÑTÔTˆåŒi˜˜1˜a¥r¤xÐ0Ñ0Ô0ˆÝ
Ô# C¤I¨sÑ3Ô3Ð3Ý
Ô# C¤Lµ"´'½#¸c¹(¼(Í"Ì(Ð2SÑ2SÔ2SÑTÔTÐTÐTÐTr
   c                 ó²   — t          dddgddg¦  «        }|                     |¦  «        sJ ‚|                     t          dddgddg¦  «        ¦  «        rJ ‚d S )Nr   r   r   r   r   r   )r   rL   ©r9   Úindexs     r   Útest_equalszTestBlockIndex.test_equals‡  se   € Ý˜2  1˜v¨¨1 vÑ.Ô.ˆà�|Š|˜EÑ"Ô"Ð"Ð"Ð"Ø—<’<¥
¨2°°1¨v¸¸1°vÑ >Ô >Ñ?Ô?Ð?Ð?Ð?Ð?Ð?r
   c                 óx  — g }g }t          d||¦  «         t          d||¦  «         d}t          j        t          |¬¦  «        5  t          ddgdg¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          dddgdd	g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
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�  sS  € ØˆØˆõ 	�1�d˜GÑ$Ô$Ð$õ 	�1�d˜GÑ$Ô$Ð$à*ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	&ð 	&Ý�r˜A˜3  Ñ%Ô%Ð%ð	&ð 	&ð 	&ñ 	&ô 	&ð 	&ð 	&ð 	&ð 	&ð 	&ð 	&øøøð 	&ð 	&ð 	&ð 	&ð !ˆÝŒ]�:¨SÐ1Ñ1Ô1ð 	+ð 	+Ý�r˜A˜q˜6 A q 6Ñ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð 	+ð 	+s$   ÁA$Á$A(Á+A(ÂB/Â/B3Â6B3c                 óØ   — ddg}ddg}g d¢}t          d||¦  «        }|                     ¦   «         }t          j        |j        t          j        |t
          j        ¬¦  «        ¦  «         d S )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Ÿ  sm   € Ø�2ˆwˆØ�a�&ˆØ7Ð7Ð7ˆå˜2˜t WÑ-Ô-ˆØ×"Ò"Ñ$Ô$ˆå
Ô# E¤Mµ2´8¸HÍBÌHÐ3UÑ3UÔ3UÑVÔVÐVÐVÐVr
   c                 ó`   — t          dddgddg¦  «        }|                     ¦   «         |u sJ ‚d S )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‘   e  s    € € € € € ðTð Tð Tð2 „[×Ò˜SÐ"3Ð"3Ð"3Ñ4Ô4ðUð Uñ 5Ô4ðUð@ð @ð @ð+ð +ð +ð$Wð Wð Wð/ð /ð /ð /ð /r
   r‘   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestIntIndexc                 óð  — d}t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t          j        t          |¬¦  «        5  t          dg d
¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          dg d¢¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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¯  s½  € à ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ý˜A y y yÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð /ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý˜A z z zÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð /ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	3ð 	3Ý˜A z z zÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 9ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ý˜A y y yÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2õ Œ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ý˜A y y yÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 4ˆåŒ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ý˜A y y yÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2õ Œ]�:¨SÐ1Ñ1Ô1ð 	2ð 	2Ý˜A y y yÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s{   ž>¾AÁAÁ&BÂB
ÂB
Â.CÃCÃCÃ6DÄDÄDÄ<EÅE Å#E ÆF$Æ$F(Æ+F(Ç
G+Ç+G/Ç2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        ¬¦  «        ¦  «         d S ro   rt   rv   s     r   rx   zTestIntIndex.test_int_internalÔ  ry   r
   c                 ó¦   — t          dg d¢¦  «        }|                     |¦  «        sJ ‚|                     t          dg d¢¦  «        ¦  «        rJ ‚d S )Nr   rH   rs   )r   rL   r›   s     r   r�   zTestIntIndex.test_equalsæ  sY   € Ý˜˜_˜_˜_Ñ-Ô-ˆØ�|Š|˜EÑ"Ô"Ð"Ð"Ð"Ø—<’<¥¨¨\¨\¨\Ñ :Ô :Ñ;Ô;Ð;Ð;Ð;Ð;Ð;r
   c                 ó~  — |\  }}}}}}t          |||¦  «        }t          |||¦  «        }	|                     ¦   «                              ¦   «         }
|	                     ¦   «                              ¦   «         }t          |
t           ¦  «        sJ ‚|
                     |¦  «        sJ ‚|                     |	¦  «        sJ ‚d S 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Ô4ˆÝ˜K¨¨tÑ4Ô4ˆð ×%Ò%Ñ'Ô'×6Ò6Ñ8Ô8ˆØ×%Ò%Ñ'Ô'×6Ò6Ñ8Ô8ˆÝ˜'¥:Ñ.Ô.Ð.Ð.Ð.Ø�~Š~˜fÑ%Ô%Ð%Ð%Ð%Ø�~Š~˜fÑ%Ô%Ð%Ð%Ð%Ð%Ð%r
   c                 óZ   — t          dg d¢¦  «        }|                     ¦   «         |u sJ ‚d S )Nr   )r   r   r   r   r   )r   r7   r›   s     r   r¥   zTestIntIndex.test_to_int_index÷  s8   € Ý˜˜_˜_˜_Ñ-Ô-ˆØ×!Ò!Ñ#Ô# uÐ,Ð,Ð,Ð,Ð,Ð,r
   N)rV   rW   rX   r¡   rx   r�   r§   r¥   r	   r
   r   r©   r©   ®  sc   € € € € € ð#2ð #2ð #2ðJYð Yð Yð$<ð <ð <ð

&ð 
&ð 
&ð-ð -ð -ð -ð -r
   r©   c                   óZ   — e Zd Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestSparseOperatorsÚopname)ÚaddÚsubÚmulÚtruedivÚfloordivc                 óX  — |\  }}}}}}t          t          d|› d�¦  «        }	t          t          |¦  «        }
t          |||¦  «        }t          |||¦  «        }|                     ¦   «         }|                     ¦   «         }t          j        |j        ¦  «        dz  dz   }t          j        |j        ¦  «        dz  dz   }d}d} |	||||||¦  «        \  }}} |	||||||¦  «        \  }}}|                     ¦   «                              |¦  «        sJ ‚t          j
        ||¦  «         ||k    sJ ‚t          ||j        ¦  «        }|                     t          j        |¦  «        ¦  «                             |¦  «        }t          ||j        ¦  «        }|                     t          j        |¦  «        ¦  «                             |¦  «        } |
||¦  «        }|                     |j        ¦  «        }t          j
        ||j        ¦  «         t          j
        ||j        ¦  «         d S )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Ð#=¨VÐ#=Ð#=Ð#=Ñ>Ô>ˆ	Ý�H fÑ-Ô-ˆ	å˜K¨¨tÑ4Ô4ˆÝ˜K¨¨tÑ4Ô4ˆà×%Ò%Ñ'Ô'ˆØ×%Ò%Ñ'Ô'ˆåŒI�f”nÑ%Ô%¨Ñ,¨qÑ0ˆÝŒI�f”nÑ%Ô%¨Ñ-°Ñ1ˆàˆØˆà-6¨YØˆv�u˜a ¨ñ.
ô .
Ñ*Ð˜8 Uð ,5¨9Øˆw˜˜q '¨5ñ,
ô ,
Ñ(ˆ˜ 5ð ×$Ò$Ñ&Ô&×-Ò-¨hÑ7Ô7Ð7Ð7Ð7Ý
Ô#Ð$5°ÑGÔGÐGØ˜Š~ˆ~ˆ~ˆ~õ ˜˜GœOÑ,Ô,ˆØ—/’/¥"¤)¨KÑ"8Ô"8Ñ9Ô9×@Ò@ÀÑGÔGˆå˜˜GœOÑ,Ô,ˆØ—/’/¥"¤)¨KÑ"8Ô"8Ñ9Ô9×@Ò@ÀÑGÔGˆà!˜	 '¨7Ñ3Ô3ˆØ%×-Ò-¨hÔ.>Ñ?Ô?ˆå
Ô#Ð$5°}Ô7KÑLÔLÐLÝ
Ô# O°]Ô5IÑJÔJÐJÐJÐJr
   N)rV   rW   rX   rM   rY   rZ   rÖ   r	   r
   r   rµ   rµ   ü  sM   € € € € € Ø„[×Ò˜XÐ'SÐ'SÐ'SÑTÔTð'Kð 'Kñ UÔTð'Kð 'Kð '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ã      s6  ðØ €€€à Ð Ð Ð Ø €€€à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð „ðð ñ „ðð €„ð ˆJˆJØˆIˆIØˆJˆJØˆIˆIØˆJˆJØˆIˆIð	
ð �ˆ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ð Xð Xð Xñ Xô Xð Xðv+1ð +1ð +1ð +1ð +1ñ +1ô +1ð +1ð\B.ð B.ð B.ð B.ð B.ñ B.ô B.ð B.ðJF/ð F/ð F/ð F/ð F/ñ F/ô F/ð F/ðRK-ð K-ð K-ð K-ð K-ñ K-ô K-ð K-ð\)Kð )Kð )Kð )Kð )Kñ )Kô )Kð )Kð )Kð )Kr
   