
    `i                     Z    d dl mZmZ d dlmZmZ d dlmZmZ d dl	Z
 G d de          ZdS )    )TestCasenumpy_support)njittypes)ListDictNc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestConditionsAsPredicatesc                 `   t           j        t           j        t           j        t           j        t           j        t           j        t          t          t          t          t          g}|D ]}dD ]~} ||          t          fd            }|                      |            |                                           |                      |            |dk    s	|t          u rdnd           t          d             }d}|                      ||          |                    |                     d S )N)   r   c                       rdS dS N
       xs   }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/tests/test_conditions_as_predicates.pyfooz4TestConditionsAsPredicates.test_scalars.<locals>.foo   s     "!r!r    r   r   r   c                     | rdS dS r   r   r   s    r   r   z4TestConditionsAsPredicates.test_scalars.<locals>.foo        rrr    )npint8uint16int64float32float64
complex128intfloatcomplexstrboolr   assertEqualpy_func)selfdtsdtcr   sr   s         @r   test_scalarsz'TestConditionsAsPredicates.test_scalars	   s/   w	28RZ}c5'3> 	K 	KB 
K 
KBqEE" " " " "
   666  a1ffc		rJJJJ
K 
	 	 
	
 QQ00000r   c                    t           d             }t          j        t          j                  }|                      ||          |                    |                     |                     |                    |          d           |                    d           |                      ||          |                    |                     |                     |                    |          d           d S )Nc                     | rdS dS r   r   r   s    r   r   z7TestConditionsAsPredicates.test_typed_list.<locals>.foo%   r   r   r   r   r   )r   r   
empty_listr   r   r&   r'   appendr(   r   zs      r   test_typed_listz*TestConditionsAsPredicates.test_typed_list$   s    		 	 
	 OEK((QQ000Q,,, 	
QQ000Q,,,,,r   c                    t           d             }dg}|                      ||          |                    |                     |                     |                    |          d           t           d             }|                      |            |                                           |                     |                                d           t           d             }|                      |            |                                           |                     |                                d           d S )Nc                     | rdS dS r   r   r   s    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.foo8   r   r   r   r   c                      ddg} | rdS dS Nr      r   r   r   ys    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.fooD       AA rrr   c                      ddg} |                                   |                                   t          |           dk    sJ | rdS dS Nr   r9   r   r   r   poplenr:   s    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.fooP   J    AAEEGGGEEGGGq66Q;;;; rrr   r   r   r&   r'   r2   s      r   test_reflected_listz.TestConditionsAsPredicates.test_reflected_list6   0   		 	 
	 CQQ000Q,,, 
	 	 
	 	...+++ 
	 	 
	 	...+++++r   c                    t           d             }dh}|                      ||          |                    |                     |                     |                    |          d           t           d             }|                      |            |                                           |                     |                                d           t           d             }|                      |            |                                           |                     |                                d           d S )Nc                     | rdS dS r   r   r   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.foo`   r   r   r   r   c                      ddh} | rdS dS r8   r   r:   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.fool   r<   r   c                      ddh} |                                   |                                   t          |           dk    sJ | rdS dS r>   r?   r:   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.foox   rB   r   r   rC   r2   s      r   test_reflected_setz-TestConditionsAsPredicates.test_reflected_set^   rE   r   c                    t           d             }t          j        t          j        t          j                  }|                      ||          |                    |                     |                     |                    |          d           d|d<   |                      ||          |                    |                     |                     |                    |          d           d S )Nc                     | rdS dS r   r   r   s    r   r   z7TestConditionsAsPredicates.test_typed_dict.<locals>.foo   r   r   r      r9   r   )r   r   emptyr   r   r&   r'   r2   s      r   test_typed_dictz*TestConditionsAsPredicates.test_typed_dict   s    		 	 
	 Ju{EK00QQ000Q,,, !QQ000Q,,,,,r   c                 r   t           d             }t          j        d          }|                      ||          |                    |                     |                     |                    |          d           t          j        d          }|                      ||          |                    |                     |                     |                    |          d           t          j        dggg          }|                      ||          |                    |                     |                     |                    |          d           t          j        dggg          }|                      ||          |                    |                     |                     |                    |          d           t          j        d          }t          j        dk    rh|                     t                    5 } ||           d d d            n# 1 swxY w Y   d}| 
                    |t          |j                             n[|                      ||          |                    |                     |                     |                    |          d           t          j        ddg          }|                     t                    5 } ||           d d d            n# 1 swxY w Y   d	}| 
                    |t          |j                             d S )
Nc                     | rdS dS r   r   r   s    r   r   z3TestConditionsAsPredicates.test_arrays.<locals>.foo   r   r   r   r   r   r   )r9   r9   ziThe truth value of an empty array is ambiguous. Use `array.size > 0` to check that an array is not empty.r9   z[The truth value of an array with more than one element is ambiguous. Use a.any() or a.all())r   r   arrayr&   r'   rN   r   numpy_versionassertRaises
ValueErrorassertInr$   	exception)r(   r   r3   raisesmsgs        r   test_arraysz&TestConditionsAsPredicates.test_arrays   s;   		 	 
	 HQKKQQ000Q,,, HQKKQQ000Q,,,HseWQQ000Q,,, HseWQQ000Q,,,
 HQKK&&00"":.. &A              PCMM#s6#3445555SSVVS[[^^444S[[^^R000 HaVz** 	fCFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	6c3v/0011111s$   H))H-0H-*LL	LN)	__name__
__module____qualname__r-   r4   rD   rJ   rO   rZ   r   r   r   r
   r
      sp        1 1 16- - -$&, &, &,P&, &, &,P- - -$02 02 02 02 02r   r
   )numba.tests.supportr   r   numbar   r   numba.typedr   r   numpyr   r
   r   r   r   <module>rb      s    7 7 7 7 7 7 7 7         " " " " " " " "    A2 A2 A2 A2 A2 A2 A2 A2 A2 A2r   