
    xKg                     N    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
y)    )TestCase)njittypes)ListDictNc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestConditionsAsPredicatesc                 8   t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  t        t        t        t        t        g}|D ]j  }dD ]c  } ||      t        fd       }| j                   |       |j                                | j                   |       |dk(  s|t        u rdnd       e l t        d        }d}| j                   ||      |j                  |             y )N)   r   c                       ryyN
       xs   m/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_conditions_as_predicates.pyfooz4TestConditionsAsPredicates.test_scalars.<locals>.foo   s    !!    r   r   r   c                 
    | ryyr   r   r   s    r   r   z4TestConditionsAsPredicates.test_scalars.<locals>.foo       r    )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    ww		288RZZ}}c5'3>BqE" "
   6  a1fc	rJ   
	 
	
 QQ0r   c                    t         d        }t        j                  t        j                        }| j                   ||      |j                  |             | j                  |j                  |      d       |j                  d       | j                   ||      |j                  |             | j                  |j                  |      d       y )Nc                 
    | ryy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    		 
	 OOEKK(QQ0Q, 	
QQ0Q,r   c                    t         d        }dg}| j                   ||      |j                  |             | j                  |j                  |      d       t         d        }| j                   |       |j                                | j                  |j                         d       t         d        }| j                   |       |j                                | j                  |j                         d       y )Nc                 
    | ryyr   r   r   s    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.foo8   r   r   r   r   c                      ddg} | ryyNr      r   r   r   ys    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.fooD       AAr   c                  r    ddg} | j                          | j                          t        |       dk(  sJ | ryyNr   r8   r   r   r   poplenr9   s    r   r   z;TestConditionsAsPredicates.test_reflected_list.<locals>.fooP   6    AAEEGEEGq6Q;;r   r   r   r%   r&   r1   s      r   test_reflected_listz.TestConditionsAsPredicates.test_reflected_list6       		 
	 CQQ0Q, 
	 
	 	.+ 
	 
	 	.+r   c                    t         d        }dh}| j                   ||      |j                  |             | j                  |j                  |      d       t         d        }| j                   |       |j                                | j                  |j                         d       t         d        }| j                   |       |j                                | j                  |j                         d       y )Nc                 
    | ryyr   r   r   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.foo`   r   r   r   r   c                      ddh} | ryyr7   r   r9   s    r   r   z:TestConditionsAsPredicates.test_reflected_set.<locals>.fool   r;   r   c                  r    ddh} | j                          | j                          t        |       dk(  sJ | ryy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                        }| j                   ||      |j                  |             | j                  |j                  |      d       d|d<   | j                   ||      |j                  |             | j                  |j                  |      d       y )Nc                 
    | ryy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    		 
	 JJu{{EKK0QQ0Q, !QQ0Q,r   c                    t         d        }t        j                  d      }| j                   ||      |j	                  |             | j                  |j	                  |      d       t        j                  d      }| j                   ||      |j	                  |             | j                  |j	                  |      d       t        j                  dggg      }| j                   ||      |j	                  |             | j                  |j	                  |      d       t        j                  dggg      }| j                   ||      |j	                  |             | j                  |j	                  |      d       t        j
                  d      }| j                   ||      |j	                  |             | j                  |j	                  |      d       t        j                  ddg      }| j                  t              5 } ||       d d d        d}| j                  |t        j                               y # 1 sw Y   1xY w)Nc                 
    | ryy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   		 
	 HHQKQQ0Q, HHQKQQ0Q,HHseWQQ0Q, HHseWQQ0Q,
 HHQKQQ0Q, HHaVz*fF +3c3v//01 +*s   	I		IN)	__name__
__module____qualname__r,   r3   rC   rI   rN   rX   r   r   r   r	   r	      s"    16-$&,P&,P-$)2r   r	   )numba.tests.supportr   numbar   r   numba.typedr   r   numpyr   r	   r   r   r   <module>r`      s    (  " z2 z2r   