§
    2@Äj›  ã                   ó°   — 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        ¦   «          dS dS )é    N)ÚnjitÚjit)ÚTypingError©ÚTestCasec                  ó   — dddœS )Né   é   )r   é   © r   ó    úGC:\Projects\Historical\venv\Lib\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dS )ÚDictTestCasec                 ó„   —  t          d¬¦  «        |¦  «        }|                       |¦   «          |¦   «         ¦  «         d S )NT)Úforceobj)r   ÚassertPreciseEqual)ÚselfÚpyfuncÚcfuncs      r   ÚcheckzDictTestCase.check   sD   € Ø"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×Ò  ¡¤¨%¨%©'¬'Ñ2Ô2Ð2Ð2Ð2r   c                 ó:   — |                       t          ¦  «         d S ©N)r   r   ©r   s    r   Útest_build_mapzDictTestCase.test_build_map   s   € Ø�
Š
•9ÑÔÐÐÐr   c                 ó:   — |                       t          ¦  «         d S 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      sA   € € € € € ð3ð 3ð 3ðð ð ð.ð .ð .ð .ð .r   r   c                   óf   — 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S )ÚTestCompiledDictzSTesting `dict()` and `{}` usage that are redirected to
    `numba.typed.Dict`.
    c                 ój   — t           d„ ¦   «         } |¦   «         }|                      |ddi¦  «         d S )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"   óH   € å	ð	ð 	ñ 
Œð	ð
 ˆC‰EŒEˆØ×Ò˜˜Q ˜FÑ#Ô#Ð#Ð#Ð#r   c           
      ó¤  — 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 ]B\  }} |||¦  «        }|                      |t	          t          ||¦  «        ¦  «        ¦  «         ŒC|                       |¦   «         |                     ¦   «         ¦  «         d S )Nc                 ó@   — 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”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ÐIÐIÑJÔ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ñ 
Œð	Kð
 ˆYˆY˜	˜	˜	Ð"ÝŒY�q‰\Œ\�2œ9 Q™<œ<Ð(ØˆYˆY˜ÐØˆ\ˆ\˜5Ð!ð	
ˆð ð 	1ð 	1‰DˆAˆqØ�  1Ñ%Ô%ˆAØ×Ò˜Q¥¥S¨¨A¡Y¤Y¡¤Ñ0Ô0Ð0Ð0à×Ò˜˜Ñ*Ô*¨O×,CÒ,CÑ,EÔ,EÑFÔFÐFÐFÐFr   c                 óˆ   — t           d„ ¦   «         }t          ddi¦  «        } |¦   «         }|                      ||¦  «         d S )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   sS   € Ý	ð	*ð 	*ñ 
Œð	*õ ˜˜A˜‘<”<ˆØˆd‰fŒfˆØ×Ò˜ 3Ñ'Ô'Ð'Ð'Ð'r   c                 óº  — 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 ]e\  }
}}|                      |¦  «        5 } |
¦   «          d d d ¦  «         n# 1 swxY w Y   |                      |t          |j        ¦  «        ¦  «         Œfd S )
Nr   )Ú_message_dict_supportc                  óF   — t          ¦   «         } d| d<   t          | ¦  «        S r)   r*   r,   s    r   Úctor1z;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor1R   s   € å‘”ˆAØˆAˆa‰DÝ˜‘7”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ÐDÐDÐDÐDå	ð	ð 	ñ 
Œð	õ
 
ð	,ð 	,ñ 
Œð	,õ 
ð	<ð 	<ñ 
Œð	<õ 
ð	,ð 	,ñ 
Œð	,ð DˆØOÐØ,Ðð •KÐ!6Ð7Ø•K Ð0Ø•KÐ!3Ð4Ø•KÐ!1Ð2ð	
ˆð %ð 	6ð 	6‰NˆD�#�sØ×"Ò" 3Ñ'Ô'ð ¨6Ø�‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠM˜#�s 6Ô#3Ñ4Ô4Ñ5Ô5Ð5Ð5ð		6ð 	6s   ÂB'Â'B+	Â.B+	c                 ój   — t           d„ ¦   «         } |¦   «         }|                      |ddi¦  «         d S )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                 ój   — t           d„ ¦   «         } |¦   «         }|                      |ddi¦  «         d S )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€   sH   € å	ð	ð 	ñ 
Œð	ð ˆC‰EŒEˆØ×Ò˜˜Q ˜FÑ#Ô#Ð#Ð#Ð#r   c                 ón   — t           d„ ¦   «         } |¦   «         }|                      |ddddœ¦  «         d S )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‰   sN   € å	ð	,ð 	,ñ 
Œð	,ð ˆC‰EŒEˆØ×Ò˜ ¨°Ð4Ð4Ñ5Ô5Ð5Ð5Ð5r   c                 ó†   — t           d„ ¦   «         }|                       |¦   «         |                     ¦   «         ¦  «         d S )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’   sG   € å	ð	(ð 	(ñ 
Œð	(ð 	×Ò˜˜™œ §¢¡¤Ñ.Ô.Ð.Ð.Ð.r   c                 ó˜   — t           d„ ¦   «         }d\  }}|                       |||¦  «        |                     ||¦  «        ¦  «         d S )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š   sZ   € å	ð	$ð 	$ñ 
Œð	$ð ‰ˆˆ1Ø×Ò˜˜˜Q ™œ C§K¢K°°1Ñ$5Ô$5Ñ6Ô6Ð6Ð6Ð6r   c                 ó†   — t           d„ ¦   «         }|                       |¦   «         |                     ¦   «         ¦  «         d S )Nc                  ó>   — 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£   sG   € å	ð	ð 	ñ 
Œð	ð 	×Ò˜˜™œ §¢¡¤Ñ.Ô.Ð.Ð.Ð.r   c                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )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®   s¿   € å	ð	ð 	ñ 
Œð	ð ×Ò�{Ñ+Ô+ð 	¨vØˆC‰EŒEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØ4Ý�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
ó   «AÁAÁ	Ac                 óð   — t           d„ ¦   «         }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )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�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½   sÁ   € å	ð	ð 	ñ 
Œð	ð
 ×Ò�{Ñ+Ô+ð 	¨vØˆC�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØEÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
ó   «AÁAÁ
Ac                 óð   — t           d„ ¦   «         }|                      t          ¦  «        5 } |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )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Ì   sÁ   € å	ð	ð 	ñ 
Œð	ð ×Ò�{Ñ+Ô+ð 	¨vØˆC�‰IŒIˆIð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à�ŠØCÝ�Ô Ñ!Ô!ñ	
ô 	
ð 	
ð 	
ð 	
r•   c                 óî   — t           d„ ¦   «         }|                      t          ¦  «        5 } |¦   «          d d d ¦  «         n# 1 swxY w Y   |                      dt	          |j        ¦  «        ¦  «         d S )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Ú   s¿   € å	ð	ð 	ñ 
Œð	ð ×Ò�{Ñ+Ô+ð 	¨vØˆC‰EŒEˆ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&      sô   € € € € € ðð ð	$ð 	$ð 	$ðGð Gð Gð0(ð (ð (ð%6ð %6ð %6ðN	$ð 	$ð 	$ð$ð $ð $ð6ð 6ð 6ð/ð /ð /ð7ð 7ð 7ð	/ð 	/ð 	/ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð
ð 
ð 
ð 
ð 
r   r&   Ú__main__)ÚnumpyrC   Únumbar   r   Únumba.core.errorsr   ÚunittestÚnumba.tests.supportr   r   r   r   r&   r"   Úmainr   r   r   ú<module>r¤      s÷   ðØ Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø €€€Ø (Ð (Ð (Ð (Ð (Ð (ðð ð ðð ð ð
.ð 
.ð 
.ð 
.ð 
.�8ñ 
.ô 
.ð 
.ðH
ð H
ð H
ð H
ð H
�xñ H
ô H
ð H
ðT ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   