Ë
    èÿæi²  ã                   ó¢   — d dl Zd dlmZmZ d dlmZ d dlZd dlm	Z	 d„ Z
d„ Z G d„ de	«      Z G d	„ d
e	«      Zedk(  r ej                  «        yy)é    N)ÚnjitÚjit)ÚTypingError©ÚTestCasec                  ó   — dddœS )Né   é   )r   é   © r   ó    úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_dicts.pyÚ	build_mapr      s   € Ø�Q‰<Ðr   c                  ó   — t         } d| | diS )Nr   r	   r   )Úxs    r   Úbuild_map_from_local_varsr      s   € ä€AØˆq�!�Qˆ<Ðr   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚDictTestCasec                 ó`   —  t        d¬«      |«      }| j                   |«        |«       «       y )NT)Úforceobj)r   ÚassertPreciseEqual)ÚselfÚpyfuncÚcfuncs      r   ÚcheckzDictTestCase.check   s'   € Ø"”˜TÔ" 6Ó*ˆØ×Ñ¡£©%«'Õ2r   c                 ó.   — | j                  t        «       y ©N)r   r   ©r   s    r   Útest_build_mapzDictTestCase.test_build_map   s   € Ø�
‰
”9Õr   c                 ó.   — | j                  t        «       y r   )r   r   r   s    r   Útest_build_map_from_local_varsz+DictTestCase.test_build_map_from_local_vars   s   € Ø�
‰
Ô,Õ-r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r!   r   r   r   r   r      s   „ ò3òó.r   r   c                   ód   — 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y)ÚTestCompiledDictzSTesting `dict()` and `{}` usage that are redirected to
    `numba.typed.Dict`.
    c                 óR   — t         d„ «       } |«       }| j                  |ddi«       y )Nc                  ó$   — t        «       } d| d<   | S ©Nr   r	   ©Údict©Úds    r   Úfooz+TestCompiledDict.test_use_dict.<locals>.foo$   s   € ä“ˆAØˆAˆa‰DØˆHr   r	   r   ©r   ÚassertEqual©r   r.   r-   s      r   Útest_use_dictzTestCompiledDict.test_use_dict"   ó1   € ä	ñ	ó 
ð	ñ
 ‹EˆØ×Ñ˜˜Q ˜FÕ#r   c           
      óf  — t         d„ «       }t         d„ «       }g d¢g d¢ft        j                  d«      t        j                  d«      fg d¢dfg d¢dff}|D ]3  \  }} |||«      }| j                  |t	        t        ||«      «      «       Œ5 | j                   |«       |j                  «       «       y )Nc                 ó0   — t        t        | |«      «      }|S r   )r+   Úzip)ÚaÚbr-   s      r   Údict_iterable_1zETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_1/   s   € ä”S˜˜A“Y“ˆAØˆHr   c                  ó   — t        g d¢«      S )N))Úsapei+  )Úguidoi  )Újacki  r*   r   r   r   Údict_iterable_2zETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_24   s   € ô ÒIÓJÐJr   )r	   r   r
   )é   é   é   r?   Úabc)r	   r   r
   r?   )r   ÚnpÚaranger0   r+   r6   Úpy_func)r   r9   r>   Úinpsr7   r8   r-   s          r   Útest_use_dict_iterable_argsz,TestCompiledDict.test_use_dict_iterable_args-   s·   € ä	ñ	ó 
ð	ô 
ñ	Kó 
ð	Kò
 š	Ð"Ü�Y‰Y�q‹\œ2Ÿ9™9 Q›<Ð(Ú˜ÐÚ˜5Ð!ð	
ˆó ‰DˆAˆqÙ  1Ó%ˆAØ×Ñ˜Q¤¤S¨¨A£Y£Õ0ð ð 	×Ñ™Ó*¨O×,CÑ,CÓ,EÕFr   c                 óh   — t         d„ «       }t        ddi«      } |«       }| j                  ||«       y )Nc                  ó   — t        d«      S )N)©r	   r   rJ   r*   r   r   r   Úctorz7TestCompiledDict.test_ctor_iterable_tuple.<locals>.ctorF   s   € äÐ(Ó)Ð)r   r	   r   )r   r+   r0   )r   rK   ÚexpectedÚgots       r   Útest_ctor_iterable_tuplez)TestCompiledDict.test_ctor_iterable_tupleE   s:   € Ü	ñ	*ó 
ð	*ô ˜˜A˜“<ˆÙ‹fˆØ×Ñ˜ 3Õ'r   c                 óz  — ddl m} t        d„ «       }t        d„ «       }t        d„ «       }t        d„ «       }d}d}d	}|t        |f|t        |f|t        |f|t        |fg}	|	D ]L  \  }
}}| j	                  |«      5 } |
«        d d d «       | j                  |t        j                  «      «       ŒN y # 1 sw Y   Œ1xY w)
Nr   )Ú_message_dict_supportc                  ó6   — t        «       } d| d<   t        | «      S r)   r*   r,   s    r   Úctor1z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor1R   s   € ä“ˆAØˆAˆa‰DÜ˜“7ˆNr   c                  ó   — t        d«      S )N)rJ   )r
   r7   r*   r   r   r   Úctor2z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor2X   s   € äÐ*Ó+Ð+r   c                  ó   — t        d«      S )N))r7   r8   Úc)r-   ÚeÚfr*   r   r   r   Úctor3z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor3\   s   € äÐ:Ó;Ð;r   c                  ó$   — t        i dfi dff«      S ©Nr	   r   r*   r   r   r   Úctor4z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor4`   s   € ä˜"˜a˜ 2 q 'Ð*Ó+Ð+r   z(Non-iterable args used in dict(iterable)z0dictionary update sequence element has length 3;zUnhashable type)Únumba.core.typing.dictdeclrP   r   r   ÚassertRaisesÚassertInÚstrÚ	exception)r   rP   rR   rT   rY   r\   Ú_non_iter_argsÚ_dict_upd_item_lenÚ_unhashable_typeÚinputsÚfuncÚexcÚmsgÚraisess                 r   Útest_unsupported_dict_usagez,TestCompiledDict.test_unsupported_dict_usageN   sé   € åDä	ñ	ó 
ð	ô
 
ñ	,ó 
ð	,ô 
ñ	<ó 
ð	<ô 
ñ	,ó 
ð	,ð DˆØOÐØ,Ðð ”KÐ!6Ð7Ø”K Ð0Ø”KÐ!3Ð4Ø”KÐ!1Ð2ð	
ˆó %‰NˆD�#�sØ×"Ñ" 3Ô'¨6Ù”÷ (ð �M‰M˜#œs 6×#3Ñ#3Ó4Õ5ñ	 %ß'Ð'ús   Á9B1Â1B:	c                 óR   — t         d„ «       } |«       }| j                  |ddi«       y )Nc                  ó   — i } d| d<   | S r)   r   r,   s    r   r.   z2TestCompiledDict.test_use_curlybraces.<locals>.foow   s   € àˆAØˆAˆa‰DØˆHr   r	   r   r/   r1   s      r   Útest_use_curlybracesz%TestCompiledDict.test_use_curlybracesu   r3   r   c                 óR   — t         d„ «       } |«       }| j                  |ddi«       y )Nc                  ó
   — ddiS r[   r   r   r   r   r.   z=TestCompiledDict.test_use_curlybraces_with_init1.<locals>.foo‚   s   € à�q�6ˆMr   r	   r   r/   r1   s      r   Útest_use_curlybraces_with_init1z0TestCompiledDict.test_use_curlybraces_with_init1€   s1   € ä	ñ	ó 
ð	ñ ‹EˆØ×Ñ˜˜Q ˜FÕ#r   c                 óV   — t         d„ «       } |«       }| j                  |ddddœ«       y )Nc                  ó   — ddddœS )Nçš™™™™™@çš™™™™™@çffffff@©r	   r
   r@   r   r   r   r   r.   z@TestCompiledDict.test_use_curlybraces_with_initmany.<locals>.foo‹   s   € à˜s sÑ+Ð+r   rs   rt   ru   rv   r/   r1   s      r   Ú"test_use_curlybraces_with_initmanyz3TestCompiledDict.test_use_curlybraces_with_initmany‰   s4   € ä	ñ	,ó 
ð	,ñ ‹EˆØ×Ñ˜ ¨°Ñ4Õ5r   c                 óf   — t         d„ «       }| j                   |«       |j                  «       «       y )Nc                  ó   — ddddœS )Nrs   r?   rA   rv   r   r   r   r   r.   zATestCompiledDict.test_curlybraces_init_with_coercion.<locals>.foo”   s   € à˜q QÑ'Ð'r   ©r   r0   rE   ©r   r.   s     r   Ú#test_curlybraces_init_with_coercionz4TestCompiledDict.test_curlybraces_init_with_coercion’   s.   € ä	ñ	(ó 
ð	(ð 	×Ñ™› §¡£Õ.r   c                 óx   — t         d„ «       }d\  }}| j                   |||«      |j                  ||«      «       y )Nc                 ó   — | d|| |z   iS ©Nr	   r   )r   Úys     r   r.   z?TestCompiledDict.test_use_curlybraces_with_manyvar.<locals>.fooœ   s   € à�q˜!˜Q ™UÐ#Ð#r   )é
   é   rz   )r   r.   r   r€   s       r   Ú!test_use_curlybraces_with_manyvarz2TestCompiledDict.test_use_curlybraces_with_manyvarš   s@   € ä	ñ	$ó 
ð	$ð ‰ˆˆ1Ø×Ñ™˜Q › C§K¡K°°1Ó$5Õ6r   c                 óf   — t         d„ «       }| j                   |«       |j                  «       «       y )Nc                  ó6   — t        «       } ddi| d<   ddi| d<   | S )Nr	   r
   r?   r   r*   ©Úks    r   r.   z=TestCompiledDict.test_mixed_curlybraces_and_dict.<locals>.foo¥   s(   € ä“ˆAØ�q�6ˆAˆa‰DØ�q�6ˆAˆa‰DØˆHr   rz   r{   s     r   Útest_mixed_curlybraces_and_dictz0TestCompiledDict.test_mixed_curlybraces_and_dict£   s.   € ä	ñ	ó 
ð	ð 	×Ñ™› §¡£Õ.r   c                 óÈ   — t         d„ «       }| j                  t        «      5 } |«        d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)Nc                  ó   — dd i} | S r   r   r†   s    r   r.   z;TestCompiledDict.test_dict_use_with_none_value.<locals>.foo°   s   € à�D�	ˆAØˆHr   z&Dict.value_type cannot be of type none©r   r^   r   r_   r`   ra   ©r   r.   ri   s      r   Útest_dict_use_with_none_valuez.TestCompiledDict.test_dict_use_with_none_value®   sV   € ä	ñ	ó 
ð	ð ×Ñœ{Ô+¨vÙŒE÷ ,à�‰Ø4Ü�× Ñ Ó!õ	
÷ ,Ð+úó   ¢AÁA!c                 óÊ   — t         d„ «       }| j                  t        «      5 } |d«       d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)Nc                 ó   — | rdnd }d|i}|S ©Ng      @r	   r   )ÚchoiceÚoptionalr‡   s      r   r.   z?TestCompiledDict.test_dict_use_with_optional_value.<locals>.foo¿   s   € á$‘s¨$ˆHØ�H�ˆAØˆHr   Tz7Dict.value_type cannot be of type OptionalType(float64)r‹   rŒ   s      r   Ú!test_dict_use_with_optional_valuez2TestCompiledDict.test_dict_use_with_optional_value½   sX   € ä	ñ	ó 
ð	ð
 ×Ñœ{Ô+¨vÙ�ŒI÷ ,à�‰ØEÜ�× Ñ Ó!õ	
÷ ,Ð+úó   ¢	AÁA"c                 óÊ   — t         d„ «       }| j                  t        «      5 } |d«       d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)Nc                 ó   — | rdnd di}|S r‘   r   )r’   r‡   s     r   r.   z=TestCompiledDict.test_dict_use_with_optional_key.<locals>.fooÎ   s   € á‘ D¨!Ð,ˆAØˆHr   Tz5Dict.key_type cannot be of type OptionalType(float64)r‹   rŒ   s      r   Útest_dict_use_with_optional_keyz0TestCompiledDict.test_dict_use_with_optional_keyÌ   sX   € ä	ñ	ó 
ð	ð ×Ñœ{Ô+¨vÙ�ŒI÷ ,à�‰ØCÜ�× Ñ Ó!õ	
÷ ,Ð+úr•   c                 óÈ   — t         d„ «       }| j                  t        «      5 } |«        d d d «       | j                  dt	        j
                  «      «       y # 1 sw Y   Œ/xY w)Nc                  ó   — d di} | S r   r   r†   s    r   r.   z9TestCompiledDict.test_dict_use_with_none_key.<locals>.fooÜ   s   € à�q�	ˆAØˆHr   z$Dict.key_type cannot be of type noner‹   rŒ   s      r   Útest_dict_use_with_none_keyz,TestCompiledDict.test_dict_use_with_none_keyÚ   sV   € ä	ñ	ó 
ð	ð ×Ñœ{Ô+¨vÙŒE÷ ,à�‰Ø2Ü�× Ñ Ó!õ	
÷ ,Ð+úrŽ   N)r"   r#   r$   Ú__doc__r2   rG   rN   rj   rm   rp   rw   r|   rƒ   rˆ   r�   r”   r˜   r›   r   r   r   r&   r&      sO   „ ñò	$òGò0(ò%6òN	$ò$ò6ò/ò7ò	/ò
ò
ò
ó
r   r&   Ú__main__)ÚnumpyrC   Únumbar   r   Únumba.core.errorsr   ÚunittestÚnumba.tests.supportr   r   r   r   r&   r"   Úmainr   r   r   Ú<module>r¤      sS   ðÛ ß Ý )Û Ý (òòô
.�8ô 
.ôH
�xô H
ðT ˆzÒØ€H‡M�M…Oð r   