
    J/Ph                     V    d dl 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)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   i/var/www/html/test/jupyter/venv/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   r8   r   r   r   poplenr9   s    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.fooP   J    AAEEGGGEEGGGq66Q;;;; rrr   r   r   r%   r&   r1   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 r7   r   r9   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>   r9   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.foox   rA   r   r   rB   r1   s      r   test_reflected_setz-TestConditionsAsPredicates.test_reflected_set^   rD   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      r8   r   )r   r   emptyr   r   r%   r&   r1   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                    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          }|                      ||          |                    |                     |                     |                    |          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   r8   z[The truth value of an array with more than one element is ambiguous. Use a.any() or a.all())r   r   arrayr%   r&   rM   assertRaises
ValueErrorassertInr#   	exception)r'   r   r2   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QQ000Q,,, HaVz** 	fCFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	3c3v/0011111s   2J

JJN)	__name__
__module____qualname__r,   r3   rC   rI   rN   rX   r   r   r   r	   r	      sp        1 1 16- - -$&, &, &,P&, &, &,P- - -$)2 )2 )2 )2 )2r   r	   )numba.tests.supportr   numbar   r   numba.typedr   r   numpyr   r	   r   r   r   <module>r`      s    ( ( ( ( ( (         " " " " " " " "    z2 z2 z2 z2 z2 z2 z2 z2 z2 z2r   