
    J/Ph                         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       V/var/www/html/test/jupyter/venv/lib/python3.11/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AaDHr   r	   r   r   assertEqualr   r.   r-   s      r   test_use_dictzTestCompiledDict.test_use_dict"   H    		 	 
	
 CEE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AYY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
 YY			"Yq\\29Q<<(YY\\5!	
  	1 	1DAq1%%AQSAYY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<<dff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AaD77Nr   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2q'*+++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 	6ND#s""3'' 6               MM#s6#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AaD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    q6Mr   r	   r   r/   r1   s      r   test_use_curlybraces_with_init1z0TestCompiledDict.test_use_curlybraces_with_init1   sH    		 	 
	 CEE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    ss+++r   rs   rt   ru   rv   r/   r1   s      r   "test_use_curlybraces_with_initmanyz3TestCompiledDict.test_use_curlybraces_with_initmany   sN    		, 	, 
	, CEE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    qQ'''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CKK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q6AaDq6AaD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CEEE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	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    $.ss$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III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	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III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	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CEEE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	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 %6N	$ 	$ 	$$ $ $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HMOOOOO r   