
    sh                         S SK rS SKJrJr  S SKJr  S SKrS SKJ	r	  S r
S r " S S\	5      r " S	 S
\	5      r\S:X  a  \R                  " 5         gg)    N)njitjit)TypingErrorTestCasec                      SSS.$ )N      )r       r       j/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_dicts.py	build_mapr      s    Q<r   c                      [         n SX S0$ )Nr   r	   r   )xs    r   build_map_from_local_varsr      s    AqQ<r   c                   &    \ rS rSrS rS rS rSrg)DictTestCase   c                 Z    [        SS9" U5      nU R                  U" 5       U" 5       5        g )NT)forceobj)r   assertPreciseEqual)selfpyfunccfuncs      r   checkDictTestCase.check   s%    T"6*%'2r   c                 .    U R                  [        5        g N)r   r   r   s    r   test_build_mapDictTestCase.test_build_map   s    

9r   c                 .    U R                  [        5        g r   )r   r   r    s    r   test_build_map_from_local_vars+DictTestCase.test_build_map_from_local_vars   s    

,-r   r   N)__name__
__module____qualname____firstlineno__r   r!   r$   __static_attributes__r   r   r   r   r      s    3.r   r   c                   l    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)TestCompiledDict   zKTesting `dict()` and `{}` usage that are redirected to
`numba.typed.Dict`.
c                 R    [         S 5       nU" 5       nU R                  USS05        g )Nc                  $    [        5       n SU S'   U $ Nr   r	   dictds    r   foo+TestCompiledDict.test_use_dict.<locals>.foo$   s    AAaDHr   r	   r   r   assertEqualr   r5   r4   s      r   test_use_dictTestCompiledDict.test_use_dict"   1    		 
	
 EQF#r   c           
      h   [         S 5       n[         S 5       n/ SQ/ SQ4[        R                  " S5      [        R                  " S5      4/ SQS4/ SQS44nU H1  u  pEU" XE5      nU R                  U[	        [        XE5      5      5        M3     U R                  U" 5       UR                  5       5        g )Nc                 .    [        [        X5      5      nU$ r   )r2   zip)abr4   s      r   dict_iterable_1ETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_1/   s    SYAHr   c                      [        / SQ5      $ )N))sapei+  )guidoi  )jacki  r1   r   r   r   dict_iterable_2ETestCompiledDict.test_use_dict_iterable_args.<locals>.dict_iterable_24   s     IJJr   )r	   r   r
   )         rJ   abc)r	   r   r
   rJ   )r   nparanger8   r2   r?   py_func)r   rB   rH   inpsr@   rA   r4   s          r   test_use_dict_iterable_args,TestCompiledDict.test_use_dict_iterable_args-   s    		 
	 
	K 
	K
 	"YYq\299Q<(5!	
 DA%AQSY0  	*O,C,C,EFr   c                 f    [         S 5       n[        SS05      nU" 5       nU R                  X#5        g )Nc                      [        S5      $ )N)r	   r   rV   r1   r   r   r   ctor7TestCompiledDict.test_ctor_iterable_tuple.<locals>.ctorF   s    ())r   r	   r   )r   r2   r8   )r   rW   expectedgots       r   test_ctor_iterable_tuple)TestCompiledDict.test_ctor_iterable_tupleE   s8    		* 
	* A<f'r   c                    SSK Jn  [        S 5       n[        S 5       n[        S 5       n[        S 5       nSnSnS	nU[        U4U[        U4U[        U4U[        U4/n	U	 HL  u  pnU R	                  U5       nU
" 5         S S S 5        U R                  U[        WR                  5      5        MN     g ! , (       d  f       N8= f)
Nr   )_message_dict_supportc                  6    [        5       n SU S'   [        U 5      $ r0   r1   r3   s    r   ctor1;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor1R   s    AAaD7Nr   c                      [        S5      $ )N)rV   )r
   r@   r1   r   r   r   ctor2;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor2X   s    *++r   c                      [        S5      $ )N))r@   rA   c)r4   efr1   r   r   r   ctor3;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor3\   s    :;;r   c                  $    [        0 S40 S445      $ Nr	   r   r1   r   r   r   ctor4;TestCompiledDict.test_unsupported_dict_usage.<locals>.ctor4`   s    "a2q'*++r   z(Non-iterable args used in dict(iterable)z0dictionary update sequence element has length 3;zUnhashable type)numba.core.typing.dictdeclr^   r   r   assertRaisesassertInstr	exception)r   r^   r`   rc   ri   rm   _non_iter_args_dict_upd_item_len_unhashable_typeinputsfuncexcmsgraisess                 r   test_unsupported_dict_usage,TestCompiledDict.test_unsupported_dict_usageN   s    D		 
	
 
	, 
	, 
	< 
	< 
	, 
	, DO, K!67K0K!34K!12	
 %NDs""3'6 ( MM#s6#3#345	 %''s   8B22
C 	c                 R    [         S 5       nU" 5       nU R                  USS05        g )Nc                      0 n SU S'   U $ r0   r   r3   s    r   r5   2TestCompiledDict.test_use_curlybraces.<locals>.foow   s    AAaDHr   r	   r   r7   r9   s      r   test_use_curlybraces%TestCompiledDict.test_use_curlybracesu   r<   r   c                 R    [         S 5       nU" 5       nU R                  USS05        g )Nc                  
    SS0$ rl   r   r   r   r   r5   =TestCompiledDict.test_use_curlybraces_with_init1.<locals>.foo   s    q6Mr   r	   r   r7   r9   s      r   test_use_curlybraces_with_init10TestCompiledDict.test_use_curlybraces_with_init1   s1    		 
	 EQF#r   c                 V    [         S 5       nU" 5       nU R                  USSSS.5        g )Nc                      SSSS.$ )N皙@皙@ffffff@r	   r
   rK   r   r   r   r   r5   @TestCompiledDict.test_use_curlybraces_with_initmany.<locals>.foo   s    ss++r   r   r   r   r   r7   r9   s      r   "test_use_curlybraces_with_initmany3TestCompiledDict.test_use_curlybraces_with_initmany   s4    		, 
	, E45r   c                 f    [         S 5       nU R                  U" 5       UR                  5       5        g )Nc                      SSSS.$ )Nr   rJ   rL   r   r   r   r   r   r5   ATestCompiledDict.test_curlybraces_init_with_coercion.<locals>.foo   s    qQ''r   r   r8   rP   r   r5   s     r   #test_curlybraces_init_with_coercion4TestCompiledDict.test_curlybraces_init_with_coercion   s.    		( 
	( 	.r   c                 r    [         S 5       nSu  p#U R                  U" X#5      UR                  X#5      5        g )Nc                     U SXU-   0$ Nr	   r   )r   ys     r   r5   ?TestCompiledDict.test_use_curlybraces_with_manyvar.<locals>.foo   s    q!U##r   )
      r   )r   r5   r   r   s       r   !test_use_curlybraces_with_manyvar2TestCompiledDict.test_use_curlybraces_with_manyvar   s:    		$ 
	$ QCKK$56r   c                 f    [         S 5       nU R                  U" 5       UR                  5       5        g )Nc                  6    [        5       n SS0U S'   SS0U S'   U $ )Nr	   r
   rJ   r   r1   ks    r   r5   =TestCompiledDict.test_mixed_curlybraces_and_dict.<locals>.foo   s(    Aq6AaDq6AaDHr   r   r   s     r   test_mixed_curlybraces_and_dict0TestCompiledDict.test_mixed_curlybraces_and_dict   s.    		 
	 	.r   c                     [         S 5       nU R                  [        5       nU" 5         S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)Nc                      SS 0n U $ r   r   r   s    r   r5   ;TestCompiledDict.test_dict_use_with_none_value.<locals>.foo   s    D	AHr   z&Dict.value_type cannot be of type noner   rp   r   rq   rr   rs   r   r5   r{   s      r   test_dict_use_with_none_value.TestCompiledDict.test_dict_use_with_none_value   sV    		 
	 {+vE ,4  !	
 ,+   A
A&c                     [         S 5       nU R                  [        5       nU" S5        S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)Nc                 $    U (       a  SOS nSU0nU$ Ng      @r	   r   )choiceoptionalr   s      r   r5   ?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_value2TestCompiledDict.test_dict_use_with_optional_value   sX    		 
	
 {+vI ,E  !	
 ,+   	A
A'c                     [         S 5       nU R                  [        5       nU" S5        S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)Nc                      U (       a  SOS S0nU$ r   r   )r   r   s     r   r5   =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_key0TestCompiledDict.test_dict_use_with_optional_key   sX    		 
	 {+vI ,C  !	
 ,+r   c                     [         S 5       nU R                  [        5       nU" 5         S S S 5        U R                  S[	        WR
                  5      5        g ! , (       d  f       N4= f)Nc                      S S0n U $ r   r   r   s    r   r5   9TestCompiledDict.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_key,TestCompiledDict.test_dict_use_with_none_key   sV    		 
	 {+vE ,2  !	
 ,+r   r   N)r&   r'   r(   r)   __doc__r:   rR   r[   r|   r   r   r   r   r   r   r   r   r   r   r*   r   r   r   r,   r,      sO    	$G0(%6N	$$6/7	/



r   r,   __main__)numpyrN   numbar   r   numba.core.errorsr   unittestnumba.tests.supportr   r   r   r   r,   r&   mainr   r   r   <module>r      sQ      )  (
.8 
.H
x H
T zMMO r   