§
    ƒÛg?  ã                   óž   — d Z ddlZddlZddlmZ ddlmZ dZdZdZ	dZ
dZd	Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )z2
Testing C implementation of the numba typed-list
é    N)ÚTestCase)Ú
_helperlibéÿÿÿÿéþÿÿÿéýÿÿÿéüÿÿÿéûÿÿÿc                   óÐ   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zed
„ ¦   «         Zed„ ¦   «         Zd„ Zd„ Zd„ Zd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S )ÚListzQA wrapper around the C-API to provide a minimal list object for
    testing.
    c                 óX   — || _         || _        |                      ||¦  «        | _        dS )zÎ
        Parameters
        ----------
        tc : TestCase instance
        item_size : int
            byte size for the items
        allocated : int
            number of items to allocate for
        N)ÚtcÚ	item_sizeÚlist_newÚlp)Úselfr   r   Ú	allocateds       úO/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/test_listimpl.pyÚ__init__zList.__init__   s+   € ð ˆŒØ"ˆŒØ—-’- 	¨9Ñ5Ô5ˆŒˆˆó    c                 óD   — | j                              | j        ¦  «         d S ©N)r   Únumba_list_freer   ©r   s    r   Ú__del__zList.__del__(   s    € ØŒ×Ò ¤Ñ(Ô(Ð(Ð(Ð(r   c                 ó*   — |                       ¦   «         S r   )Úlist_lengthr   s    r   Ú__len__zList.__len__+   s   € Ø×ÒÑ!Ô!Ð!r   c                 ó.   — |                       ||¦  «        S r   )Úlist_setitem©r   ÚiÚitems      r   Ú__setitem__zList.__setitem__.   s   € Ø× Ò   DÑ)Ô)Ð)r   c                 ó,   — |                       |¦  «        S r   )Úlist_getitem©r   r!   s     r   Ú__getitem__zList.__getitem__1   s   € Ø× Ò  Ñ#Ô#Ð#r   c                 ó    — t          | ¦  «        S r   )ÚListIterr   s    r   Ú__iter__zList.__iter__4   s   € Ý˜‰~Œ~Ðr   c                 ó0   — |                       |¦  «         d S r   )Úlist_delitemr&   s     r   Ú__delitem__zList.__delitem__7   s   € Ø×Ò˜!ÑÔÐÐÐr   c                 óˆ   — |dk     st          | ¦  «        dk    rt          d¦  «         n|dk    rt          | ¦  «        dz
  }|S )Nr   r   úlist index out of rangeé   )ÚlenÚ
IndexErrorr&   s     r   Úhandle_indexzList.handle_index:   sJ   € ð ˆrŠ6ˆ6•S˜‘Y”Y !’^�^ÝÐ0Ñ1Ô1Ð1Ð1Ø�"ŠWˆWÝ�D‘	”	˜A‘ˆAØˆr   c                 ó*   — |                       ¦   «         S r   )Úlist_allocatedr   s    r   r   zList.allocatedC   s   € à×"Ò"Ñ$Ô$Ð$r   c                 ó*   — |                       ¦   «         S r   )Úlist_is_mutabler   s    r   Ú
is_mutablezList.is_mutableG   s   € à×#Ò#Ñ%Ô%Ð%r   c                 ó,   — |                       d¦  «        S )Nr0   ©Úlist_set_is_mutabler   s    r   Úset_mutablezList.set_mutableK   ó   € Ø×'Ò'¨Ñ*Ô*Ð*r   c                 ó,   — |                       d¦  «        S ©Nr   r:   r   s    r   Úset_immutablezList.set_immutableN   r=   r   c                 ó0   — |                       |¦  «         d S r   )Úlist_append)r   r"   s     r   ÚappendzList.appendQ   s   € Ø×Ò˜ÑÔÐÐÐr   r   c                 ó,   — |                       |¦  «        S r   )Úlist_popr&   s     r   ÚpopzList.popT   s   € Ø�}Š}˜QÑÔÐr   c                 óÈ   — t          j        ¦   «         }| j                             t          j        |¦  «        ||¦  «        }| j                             |t          ¦  «         |S r   )ÚctypesÚc_void_pr   Únumba_list_newÚbyrefÚassertEqualÚLIST_OK)r   r   r   r   Ústatuss        r   r   zList.list_newY   sV   € ÝŒ_ÑÔˆØ”×'Ò'ÝŒL˜ÑÔ˜i¨ñ
ô 
ˆð 	Œ×Ò˜F¥GÑ,Ô,Ð,Øˆ	r   c                 ó@   — | j                              | j        ¦  «        S r   )r   Únumba_list_lengthr   r   s    r   r   zList.list_lengtha   s   € ØŒw×(Ò(¨¬Ñ1Ô1Ð1r   c                 ó@   — | j                              | j        ¦  «        S r   )r   Únumba_list_allocatedr   r   s    r   r5   zList.list_allocatedd   s   € ØŒw×+Ò+¨D¬GÑ4Ô4Ð4r   c                 ó@   — | j                              | j        ¦  «        S r   )r   Únumba_list_is_mutabler   r   s    r   r7   zList.list_is_mutableg   s   € ØŒw×,Ò,¨T¬WÑ5Ô5Ð5r   c                 óB   — | j                              | j        |¦  «        S r   )r   Únumba_list_set_is_mutabler   )r   r8   s     r   r;   zList.list_set_is_mutablej   s   € ØŒw×0Ò0°´¸*ÑEÔEÐEr   c                 óð   — | j                              | j        ||¦  «        }|t          k    rt	          d¦  «        ‚|t
          k    rt          d¦  «        ‚| j                              |t          ¦  «         d S )Nr/   úlist is immutable)	r   Únumba_list_setitemr   ÚLIST_ERR_INDEXr2   ÚLIST_ERR_IMMUTABLEÚ
ValueErrorrL   rM   )r   r!   r"   rN   s       r   r   zList.list_setitemm   sp   € Ø”×+Ò+¨D¬G°Q¸Ñ=Ô=ˆØ•^Ò#Ð#ÝÐ6Ñ7Ô7Ð7ØÕ)Ò)Ð)ÝÐ0Ñ1Ô1Ð1àŒG×Ò ­Ñ0Ô0Ð0Ð0Ð0r   c                 ó"  — |                       |¦  «        }t          j        | j        ¦  «        }| j                             | j        ||¦  «        }|t          k    rt          d¦  «        ‚| j         	                    |t          ¦  «         |j        S )Nr/   )r3   rH   Úcreate_string_bufferr   r   Únumba_list_getitemr   rZ   r2   rL   rM   Úraw)r   r!   Úitem_out_bufferrN   s       r   r%   zList.list_getitemv   s}   € Ø×Ò˜aÑ Ô ˆÝ Ô5°d´nÑEÔEˆØ”×+Ò+¨D¬G°Q¸ÑHÔHˆØ•^Ò#Ð#ÝÐ6Ñ7Ô7Ð7àŒG×Ò ­Ñ0Ô0Ð0Ø"Ô&Ð&r   c                 óº   — | j                              | j        |¦  «        }|t          k    rt	          d¦  «        ‚| j                              |t          ¦  «         d S )NrX   )r   Únumba_list_appendr   r[   r\   rL   rM   )r   r"   rN   s      r   rB   zList.list_append€   sT   € Ø”×*Ò*¨4¬7°DÑ9Ô9ˆØÕ'Ò'Ð'ÝÐ0Ñ1Ô1Ð1ØŒ×Ò˜F¥GÑ,Ô,Ð,Ð,Ð,r   c                 ó„   — |                       |¦  «        }|                      |¦  «        }|                      |¦  «         |S r   )r3   r%   r,   r    s      r   rE   zList.list_pop†   sA   € à×Ò˜aÑ Ô ˆØ× Ò  Ñ#Ô#ˆØ×Ò˜!ÑÔÐØˆr   c                 ó  — t          |t          ¦  «        rm| j                             | j        |j        |j        |j        ¦  «        }|t          k    rt          d¦  «        ‚| j         
                    |t          ¦  «         d S |                      |¦  «        }| j                             | j        |¦  «        }|t          k    rt          d¦  «        ‚|t          k    rt          d¦  «        ‚| j         
                    |t          ¦  «         d S )NrX   r/   )Ú
isinstanceÚslicer   Únumba_list_delete_slicer   ÚstartÚstopÚstepr[   r\   rL   rM   r3   Únumba_list_delitemrZ   r2   )r   r!   rN   s      r   r,   zList.list_delitem�   sú   € å�a�ÑÔð 	1Ø”W×4Ò4°T´WØ56´WØ56´VØ56´Vñ=ô =ˆFð Õ+Ò+Ð+Ý Ð!4Ñ5Ô5Ð5ØŒG×Ò ­Ñ0Ô0Ð0Ð0Ð0ð ×!Ò! !Ñ$Ô$ˆAØ”W×/Ò/°´¸Ñ;Ô;ˆFØ�Ò'Ð'Ý Ð!:Ñ;Ô;Ð;ØÕ-Ò-Ð-Ý Ð!4Ñ5Ô5Ð5ØŒG×Ò ­Ñ0Ô0Ð0Ð0Ð0r   c                 óF   — | j                              || j        ¦  «         d S r   )r   Únumba_list_iterr   )r   Úitptrs     r   Ú	list_iterzList.list_iter¡   s"   € ØŒ×Ò  t¤wÑ/Ô/Ð/Ð/Ð/r   c                 óx  — t          j        d¦  «        }| j                             |t          j        |¦  «        ¦  «        }|t
          k    rt          d¦  «        ‚|t          k    rt          ‚| j         	                    |d¦  «         t           j
        | j        z                       |j        ¦  «        }|j        S )Nr   zlist mutated)rH   rI   r   Únumba_list_iter_nextrK   ÚLIST_ERR_MUTATEDr\   ÚLIST_ERR_ITER_EXHAUSTEDÚStopIterationÚassertGreaterEqualÚc_charr   Úfrom_addressÚvalue)r   ro   ÚbirN   r"   s        r   Úlist_iter_nextzList.list_iter_next¤   s£   € ÝŒ_˜QÑÔˆØ”×-Ò-Ø•6”< Ñ#Ô#ñ
ô 
ˆð Õ%Ò%Ð%Ý˜^Ñ,Ô,Ð,ØÕ.Ò.Ð.ÝÐàŒG×&Ò& v¨qÑ1Ô1Ð1Ý”M D¤NÑ2×@Ò@ÀÄÑJÔJˆDØ”:Ðr   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r#   r'   r*   r-   r3   Úpropertyr   r8   r<   r@   rC   rF   r   r   r5   r7   r;   r   r%   rB   rE   r,   rp   r{   © r   r   r   r      sÄ  € € € € € ðð ð6ð 6ð 6ð )ð )ð )ð"ð "ð "ð*ð *ð *ð$ð $ð $ðð ð ðð ð ðð ð ð ð%ð %ñ „Xð%ð ð&ð &ñ „Xð&ð+ð +ð +ð+ð +ð +ðð ð ð ð  ð  ð  ð
ð ð ð2ð 2ð 2ð5ð 5ð 5ð6ð 6ð 6ðFð Fð Fð1ð 1ð 1ð'ð 'ð 'ð-ð -ð -ðð ð ð1ð 1ð 1ð(0ð 0ð 0ðð ð ð ð r   r   c                   ó(   — e Zd ZdZd„ Zd„ Zd„ ZeZdS )r)   z An iterator for the `List`.
    c                 ó  — || _         | j         j                             ¦   «         }t          j        |z  d¦  «        | _        t          j        | j        t          j        ¦  «        | _        | j          	                    | j        ¦  «         d S r?   )
Úparentr   Únumba_list_iter_sizeofrH   Úc_char_pÚit_state_bufÚcastrI   Úitrp   )r   r„   Úitsizes      r   r   zListIter.__init__¶   sk   € ØˆŒØ””×6Ò6Ñ8Ô8ˆÝ#œ_¨vÑ5°qÑ9Ô9ˆÔÝ”+˜dÔ/µ´ÑAÔAˆŒØŒ×Ò˜dœgÑ&Ô&Ð&Ð&Ð&r   c                 ó   — | S r   r�   r   s    r   r*   zListIter.__iter__½   s   € Øˆr   c                 ó@   — | j                              | j        ¦  «        S r   )r„   r{   r‰   r   s    r   Ú__next__zListIter.__next__À   s   € ØŒ{×)Ò)¨$¬'Ñ2Ô2Ð2r   N)r|   r}   r~   r   r   r*   r�   Únextr�   r   r   r)   r)   ³   sL   € € € € € ðð ð'ð 'ð 'ðð ð ð3ð 3ð 3ð €D€D€Dr   r)   c                   ót   — 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S )ÚTestListImplc                 óÈ  — t           j        }t           j        }dd„} |dt           j        ¦  «        | _         |dt           j        t          j        |¦  «        t           j        t           j        g¦  «        | _         |dd|g¦  «        | _         |dt           j        |g¦  «        | _         |dt           j        |g¦  «        | _	         |d	t           j        |g¦  «        | _
         |d
d|t           j        g¦  «        | _         |dt           j        |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           j        t           j        g¦  «        | _         |dt           j        ¦  «        | _         |dd||g¦  «        | _         |dt           j        |t          j        t           j        ¦  «        g¦  «        | _        dS )zEBind to the c_helper library and provide the ctypes wrapper.
        r�   c                 ó\   — t          j        |g|¢R Ž } |t          j        |          ¦  «        S r   )rH   Ú	CFUNCTYPEr   Ú	c_helpers)ÚnameÚrestypeÚargtypesÚprotos       r   Úwrapz TestListImpl.setUp.<locals>.wrapÍ   s2   € ÝÔ$ WÐ8¨xÐ8Ð8Ð8ˆEØ�5�Ô-¨dÔ3Ñ4Ô4Ð4r   Ú	test_listr   Ú	list_freeNr   r5   r7   r;   r   rB   r%   r,   Úlist_delete_sliceÚlist_iter_sizeofrp   r{   )r�   )rH   rI   Úc_intÚnumba_test_listÚPOINTERÚ	c_ssize_trJ   r   rP   rR   rT   rV   r†   rY   rc   r_   rl   rh   Úc_size_tr…   rn   rr   )r   Úlist_tÚiter_tr™   s       r   ÚsetUpzTestListImpl.setUpÇ   sŠ  € õ ”ˆÝ”ˆð	5ð 	5ð 	5ð 	5ð
  $˜tØÝŒLñ 
ô  
ˆÔð #˜dØÝŒLÝŒ^˜FÑ#Ô#¥VÔ%5µvÔ7GÐHñ
ô 
ˆÔð  $˜tØØØˆHñ 
ô  
ˆÔð "& ØÝŒLØˆHñ"
ô "
ˆÔð %) DØÝŒLØˆHñ%
ô %
ˆÔ!ð &* TØÝŒLØˆHñ&
ô &
ˆÔ"ð *.¨Ø!ØØ•V”\Ð"ñ*
ô *
ˆÔ&ð #' $ØÝŒLØ•VÔ%¥v¤Ð7ñ#
ô #
ˆÔð "& ØÝŒLØ•V”_Ð%ñ"
ô "
ˆÔð #' $ØÝŒLØ•VÔ%¥v¤Ð7ñ#
ô #
ˆÔð #' $ØÝŒLØ•VÔ%Ð&ñ#
ô #
ˆÔð (, tØÝŒLØ•VÔ%¥vÔ'7½Ô9IÐJñ(
ô (
ˆÔ$ð '+ dØÝŒOñ'
ô '
ˆÔ#ð
  $˜tØØàØðñ 
ô  
ˆÔð %) DØÝŒLàÝ”�vœÑ/Ô/ðñ%
ô %
ˆÔ!Ð!Ð!r   c                 óZ   — |                       ¦   «         }|                      |d¦  «         d S r?   )rŸ   rL   )r   Úrets     r   Útest_simple_c_testzTestListImpl.test_simple_c_test4  s/   € à×"Ò"Ñ$Ô$ˆØ×Ò˜˜aÑ Ô Ð Ð Ð r   c                 ón   — t          | dd¦  «        }|                      t          |¦  «        d¦  «         d S ©Né   r   )r   rL   r1   ©r   Úls     r   Útest_lengthzTestListImpl.test_length9  s5   € Ý��q˜!ÑÔˆØ×Ò�˜Q™œ Ñ#Ô#Ð#Ð#Ð#r   c                 óÈ   — t          d¦  «        D ]Q}t          | d|¦  «        }|                      t          |¦  «        d¦  «         |                      |j        |¦  «         ŒRd S )Né   r«   r   )Úranger   rL   r1   r   )r   r!   r­   s      r   Útest_allocationzTestListImpl.test_allocation=  si   € Ý�r‘”ð 	-ð 	-ˆAÝ�T˜1˜aÑ Ô ˆAØ×Ò�S ™VœV QÑ'Ô'Ð'Ø×Ò˜Qœ[¨!Ñ,Ô,Ð,Ð,ð	-ð 	-r   c                 óÔ   — t          | dd¦  «        }|                     d¦  «         |                      t          |¦  «        d¦  «         |d         }|                      |d¦  «         d S )Nr«   r0   ó   abcdefghr   ©r   rC   rL   r1   ©r   r­   Úrs      r   Útest_append_get_stringz#TestListImpl.test_append_get_stringC  sf   € Ý��q˜!ÑÔˆØ	�Š�ÑÔÐØ×Ò�˜Q™œ Ñ#Ô#Ð#ØˆaŒDˆØ×Ò˜˜KÑ(Ô(Ð(Ð(Ð(r   c                 ó,  — t          | dd¦  «        }|                     t          j        dd¦  «        ¦  «         |                      t          |¦  «        d¦  «         t          j        d|d         ¦  «        d         }|                      |d¦  «         d S )Nr«   r0   Úqr   )r   rC   ÚstructÚpackrL   r1   Úunpackr¶   s      r   Útest_append_get_intz TestListImpl.test_append_get_intJ  sƒ   € Ý��q˜!ÑÔˆØ	�Š•”˜S !Ñ$Ô$Ñ%Ô%Ð%Ø×Ò�˜Q™œ Ñ#Ô#Ð#ÝŒM˜#˜q œtÑ$Ô$ QÔ'ˆØ×Ò˜˜AÑÔÐÐÐr   c                 óD  — t          | dd¦  «        }|                     d¦  «         |                      t          |¦  «        d¦  «         |                     d¦  «         |                      t          |¦  «        d¦  «         |d         }|                      |d¦  «         d S )Nr«   r0   r´   s   hijklmnoé   rµ   r¶   s      r   Útest_append_get_string_reallocz+TestListImpl.test_append_get_string_reallocQ  s”   € Ý��q˜!ÑÔˆØ	�Š�ÑÔÐØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø	�Š�ÑÔÐØ×Ò�˜Q™œ Ñ#Ô#Ð#ØˆaŒDˆØ×Ò˜˜KÑ(Ô(Ð(Ð(Ð(r   c                 ó  — t          | dd¦  «        }|                      t          ¦  «        5  |d          d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5  d|d<   d d d ¦  «         d S # 1 swxY w Y   d S )Nr«   r   r´   )r   ÚassertRaisesr2   r¬   s     r   Ú!test_set_item_getitem_index_errorz.TestListImpl.test_set_item_getitem_index_errorZ  s  € Ý��q˜!ÑÔˆØ×Ò�zÑ*Ô*ð 	ð 	ØˆaŒDˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à×Ò�zÑ*Ô*ð 	ð 	ØˆAˆa‰Dð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s#   ¬	AÁAÁAÁ&A9Á9A=Â A=c                 óÈ   — t          | dd¦  «        }g d¢}|D ]}|                     |¦  «         Œg }|D ]}|                     |¦  «         Œ|                      ||¦  «         d S )Nr0   r   ©ó   aó   bó   có   dó   eó   fó   gó   h)r   rC   rL   )r   r­   Úvaluesr!   ÚreceivedÚjs         r   Ú	test_iterzTestListImpl.test_itera  sƒ   € Ý��q˜!ÑÔˆØAÐAÐAˆØð 	ð 	ˆAØ�HŠH�Q‰KŒKˆKˆKØˆØð 	ð 	ˆAØ�OŠO˜AÑÔÐÐØ×Ò˜ Ñ*Ô*Ð*Ð*Ð*r   c                 ó  — t          | dd¦  «        }g d¢}|D ]}|                     |¦  «         Œ|                      t          |¦  «        d¦  «         |                     ¦   «         }|                      d|¦  «         |                      t          |¦  «        d¦  «         d„ |D ¦   «         }|                      ||d d…         ¦  «         |                     d¦  «        }|                      d	|¦  «         |                      t          |¦  «        d
¦  «         |                     d¦  «        }|                      d|¦  «         |                      t          |¦  «        d¦  «         g d¢}d„ |D ¦   «         }|                      ||¦  «         d S )Nr0   r   rÆ   r«   rÎ   é   c                 ó   — g | ]}|‘ŒS r�   r�   ©Ú.0rÑ   s     r   ú
<listcomp>z)TestListImpl.test_pop.<locals>.<listcomp>u  ó   € �>�>�>˜!�A�>�>�>r   r   rÇ   é   rÀ   rÊ   é   ©rÈ   rÉ   rË   rÌ   rÍ   c                 ó   — g | ]}|‘ŒS r�   r�   rÖ   s     r   rØ   z)TestListImpl.test_pop.<locals>.<listcomp>�  rÙ   r   ©r   rC   rL   r1   rF   ©r   r­   rÏ   r!   rÐ   Úexpecteds         r   Útest_popzTestListImpl.test_popk  s~  € Ý��q˜!ÑÔˆØAÐAÐAˆØð 	ð 	ˆAØ�HŠH�Q‰KŒKˆKˆKØ×Ò�˜Q™œ Ñ#Ô#Ð#à—5’5‘7”7ˆØ×Ò˜˜xÑ(Ô(Ð(Ø×Ò�˜Q™œ Ñ#Ô#Ð#Ø!�>˜q�>‘>”>ˆØ×Ò˜ 6¨#¨2¨#¤;Ñ/Ô/Ð/à—5’5˜‘8”8ˆØ×Ò˜˜xÑ(Ô(Ð(Ø×Ò�˜Q™œ Ñ#Ô#Ð#à—5’5˜‘8”8ˆØ×Ò˜˜xÑ(Ô(Ð(Ø×Ò�˜Q™œ Ñ#Ô#Ð#à1Ð1Ð1ˆØ!�>˜q�>‘>”>ˆØ×Ò˜ 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó¶   — t          | dd¦  «        }|                      t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S rª   )r   rÃ   r2   rF   r¬   s     r   Útest_pop_index_errorz!TestListImpl.test_pop_index_error„  s˜   € Ý��q˜!ÑÔˆØ×Ò�zÑ*Ô*ð 	ð 	Ø�EŠE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ¬AÁAÁAc                 ó  — t          | dd¦  «        }g d¢}|D ]}|                     |¦  «         Œ|                      t          |¦  «        d¦  «         |                     ¦   «         }|                      d|¦  «         |                      t          |¦  «        d¦  «         d„ |D ¦   «         }|                      ||d d…         ¦  «         |                     d¦  «        }|                      d	|¦  «         |                      t          |¦  «        d
¦  «         |                     d¦  «        }|                      d|¦  «         |                      t          |¦  «        d¦  «         g d¢}d„ |D ¦   «         }|                      ||¦  «         d S )Né   r   )ó   aaaaó   bbbbó   ccccó   ddddó   eeeeó   ffffó   ggggs   hhhhhr«   s   hhhhrÔ   c                 ó   — g | ]}|‘ŒS r�   r�   rÖ   s     r   rØ   z.TestListImpl.test_pop_byte.<locals>.<listcomp>”  rÙ   r   r   ræ   rÚ   rÀ   ré   rÛ   )rç   rè   rê   rë   rì   c                 ó   — g | ]}|‘ŒS r�   r�   rÖ   s     r   rØ   z.TestListImpl.test_pop_byte.<locals>.<listcomp>   rÙ   r   rÞ   rß   s         r   Útest_pop_bytezTestListImpl.test_pop_byte‰  s„  € Ý��q˜!ÑÔˆð7ð 7ð 7ˆàð 	ð 	ˆAØ�HŠH�Q‰KŒKˆKˆKØ×Ò�˜Q™œ Ñ#Ô#Ð#à—5’5‘7”7ˆØ×Ò˜ (Ñ+Ô+Ð+Ø×Ò�˜Q™œ Ñ#Ô#Ð#Ø!�>˜q�>‘>”>ˆØ×Ò˜ 6¨#¨2¨#¤;Ñ/Ô/Ð/à—5’5˜‘8”8ˆØ×Ò˜ (Ñ+Ô+Ð+Ø×Ò�˜Q™œ Ñ#Ô#Ð#à—5’5˜‘8”8ˆØ×Ò˜ (Ñ+Ô+Ð+Ø×Ò�˜Q™œ Ñ#Ô#Ð#à@Ð@Ð@ˆØ!�>˜q�>‘>”>ˆØ×Ò˜ 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó„  — t          | dd¦  «        }g d¢}|D ]}|                     |¦  «         Œ|                      t          |¦  «        d¦  «         |d= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        |dd …         ¦  «         |d= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        |dd…         ¦  «         |d= |                      t          |¦  «        d	¦  «         |                      t	          |¦  «        g d
¢¦  «         d S )Nr0   r   rÆ   r«   rÔ   r   rÚ   rÀ   rÛ   rÜ   ©r   rC   rL   r1   Úlist©r   r­   rÏ   r!   s       r   Útest_delitemzTestListImpl.test_delitem£  s6  € Ý��q˜!ÑÔˆØAÐAÐAˆØð 	ð 	ˆAØ�HŠH�Q‰KŒKˆKˆKØ×Ò�˜Q™œ Ñ#Ô#Ð#ð ˆaˆDØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œ &¨¨¨¤*Ñ-Ô-Ð-àˆbˆEØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œ &¨¨2¨¤,Ñ/Ô/Ð/àˆaˆDØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œÐ"@Ð"@Ð"@ÑAÔAÐAÐAÐAr   c                 ó$  — t          | dd¦  «        }g d¢}|D ]}|                     |¦  «         Œ|                      t          |¦  «        d¦  «         |ddd…= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        |ddd…         ¦  «         |ddd…= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        g d¢¦  «         |ddd…= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        d	d
g¦  «         |ddd…= |                      t          |¦  «        d¦  «         |                      t	          |¦  «        g ¦  «         d S )Nr0   r   rÆ   r«   rÀ   rå   é   )rÊ   rÌ   rÎ   rÊ   rÌ   rñ   ró   s       r   Útest_delete_slicezTestListImpl.test_delete_slice·  s‘  € Ý��q˜!ÑÔˆØAÐAÐAˆØð 	ð 	ˆAØ�HŠH�Q‰KŒKˆKˆKØ×Ò�˜Q™œ Ñ#Ô#Ð#ð ˆa��!ˆeˆHØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œ &¨¨1¨Q¨¤-Ñ0Ô0Ð0ð ˆa��!ˆeˆHØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œÐ"4Ð"4Ð"4Ñ5Ô5Ð5ð ˆa��!ˆeˆHØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œ 4¨ ,Ñ/Ô/Ð/ð ˆa��!ˆeˆHØ×Ò�˜Q™œ Ñ#Ô#Ð#Ø×Ò�˜a™œ "Ñ%Ô%Ð%Ð%Ð%r   c                 óL  ‡‡— t          | ‰d¦  «        }ˆˆfd„}t          ‰¦  «        D ] }|                      ||¦  «        ¦  «         Œ!|                      t	          |¦  «        ‰¦  «         t          ‰¦  «        D ]'}|                      ||          ||¦  «        ¦  «         Œ(d S )Nr   c                 óv   •— d                      ‰| z
  dz
  ‰¦  «                             d¦  «        }|d ‰…         S )Nz{:0{}}r0   zlatin-1)ÚformatÚencode)ÚvÚtmpr   Únmaxs     €€r   Ú	make_itemz,TestListImpl.check_sizing.<locals>.make_item×  s:   ø€ Ø—/’/ $¨¡(¨Q¡,°	Ñ:Ô:×AÒAÀ)ÑLÔLˆCØ�z˜	�z”?Ð"r   )r   r±   rC   rL   r1   )r   r   rþ   r­   rÿ   r!   s    ``   r   Úcheck_sizingzTestListImpl.check_sizingÓ  sÇ   øø€ å��y !Ñ$Ô$ˆð	#ð 	#ð 	#ð 	#ð 	#ð 	#õ �t‘”ð 	#ð 	#ˆAØ�HŠH�Y�Y˜q‘\”\Ñ"Ô"Ð"Ð"à×Ò�˜Q™œ Ñ&Ô&Ð&å�t‘”ð 	1ð 	1ˆAØ×Ò˜Q˜qœT 9 9¨Q¡<¤<Ñ0Ô0Ð0Ð0ð	1ð 	1r   c                 ó`   — t          dd¦  «        D ]}|                      |d|z  ¬¦  «         Œd S )Nr0   r°   rÀ   )r   rþ   )r±   r   r&   s     r   Útest_sizingzTestListImpl.test_sizingã  sC   € å�q˜"‘”ð 	6ð 	6ˆAØ×Ò¨°°1±ÐÑ5Ô5Ð5Ð5ð	6ð 	6r   c                 óÂ  — t          | dd¦  «        }t          j        dd¦  «        }|                     |¦  «         |                      |j        ¦  «         |                      t          |¦  «        d¦  «         t          j        d|d         ¦  «        d         }|                      |d¦  «         | 	                    ¦   «          |  
                    |j        ¦  «         |                      t          ¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 }||d<   d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 }|d= d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5 }|ddd…= d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                     ¦   «          |                      |j        ¦  «         |                      t          |¦  «        d¦  «         t          j        d|d         ¦  «        d         }|                      |d¦  «         d S )Nr«   r0   rº   r   rX   )r   r»   r¼   rC   Ú
assertTruer8   rL   r1   r½   r@   ÚassertFalserÃ   r\   ÚassertInÚstrÚ	exceptionrF   r<   )r   r­   Úoner·   Úraisess        r   Útest_mutabilityzTestListImpl.test_mutabilityè  s  € å��q˜!ÑÔˆÝŒk˜#˜qÑ!Ô!ˆØ	�Š�‰ŒˆØ�Š˜œÑ%Ô%Ð%Ø×Ò�˜Q™œ Ñ#Ô#Ð#ÝŒM˜#˜q œtÑ$Ô$ QÔ'ˆØ×Ò˜˜AÑÔÐð 	
�ŠÑÔÐØ×Ò˜œÑ&Ô&Ð&à×Ò�zÑ*Ô*ð 	¨fØ�HŠH�S‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAà×Ò�zÑ*Ô*ð 	¨fØˆAˆa‰Dð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAà×Ò�zÑ*Ô*ð 	¨fØ�EŠE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAà×Ò�zÑ*Ô*ð 	¨fØ�!�ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAà×Ò�zÑ*Ô*ð 	¨fØ�!�A�a�%�ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠÐ)­3¨vÔ/?Ñ+@Ô+@ÑAÔAÐAØ	�Š‰Œˆð 	�Š˜œÑ%Ô%Ð%Ø×Ò�˜Q™œ Ñ#Ô#Ð#ÝŒM˜#˜q œtÑ$Ô$ QÔ'ˆØ×Ò˜˜AÑÔÐÐÐsZ   Ã8DÄDÄ!DÅ'E9Å9E=Æ E=ÇG'Ç'G+Ç.G+È4IÉIÉIÊJ$Ê$J(Ê+J(N)r|   r}   r~   r¥   r¨   r®   r²   r¸   r¾   rÁ   rÄ   rÒ   rá   rã   rï   rô   r÷   r   r  r  r�   r   r   r�   r�   Æ   s  € € € € € ðk
ð k
ð k
ðZ!ð !ð !ð
$ð $ð $ð-ð -ð -ð)ð )ð )ðð ð ð)ð )ð )ðð ð ð+ð +ð +ð-ð -ð -ð2ð ð ð
-ð -ð -ð4Bð Bð Bð(&ð &ð &ð81ð 1ð 1ð 6ð 6ð 6ð
'ð 'ð 'ð 'ð 'r   r�   )r   rH   r»   Únumba.tests.supportr   Únumbar   rM   rZ   ÚLIST_ERR_NO_MEMORYrs   rt   r[   Úobjectr   r)   r�   r�   r   r   ú<module>r     s  ððð ð €€€Ø €€€à (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð ð €Ø€ØÐ ØÐ ØÐ ØÐ ð\ð \ð \ð \ð \ˆ6ñ \ô \ð \ð~ð ð ð ð ˆvñ ô ð ð&Ið Ið Ið Ið I�8ñ Iô Ið Ið Ið Ir   