
    sh                     R    S SK JrJr  S SKJrJr  S SKJrJr  S SK	r
 " S S\5      rg)    )TestCasenumpy_support)njittypes)ListDictNc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestConditionsAsPredicates   c                 F  ^ [         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [        [        [        [        [        /nU Hp  nS Hg  nU" U5      m[        U4S j5       nU R                  U" 5       UR                  5       5        U R                  U" 5       US:X  d	  U[        L a  SOS5        Mi     Mr     [        S 5       nSnU R                  U" U5      UR                  U5      5        g )N)   r   c                     > T (       a  ggN
       xs   }/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_conditions_as_predicates.pyfoo4TestConditionsAsPredicates.test_scalars.<locals>.foo   s    !!    r   r   r   c                     U (       a  ggr   r   r   s    r   r   r          r    )npint8uint16int64float32float64
complex128intfloatcomplexstrboolr   assertEqualpy_func)selfdtsdtcr   sr   s         @r   test_scalars'TestConditionsAsPredicates.test_scalars	   s    ww		288RZZ}}c5'3>BqE" "
   6  a1fc	rJ   
	 
	
 QQ0r   c                    [         S 5       n[        R                  " [        R                  5      nU R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        UR                  S5        U R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        g )Nc                     U (       a  ggr   r   r   s    r   r   7TestConditionsAsPredicates.test_typed_list.<locals>.foo%   r   r   r   r   r   )r   r   
empty_listr   r   r(   r)   appendr*   r   zs      r   test_typed_list*TestConditionsAsPredicates.test_typed_list$   s    		 
	 OOEKK(QQ0Q, 	
QQ0Q,r   c                    [         S 5       nS/nU R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        [         S 5       nU R                  U" 5       UR                  5       5        U R                  UR                  5       S5        [         S 5       nU R                  U" 5       UR                  5       5        U R                  UR                  5       S5        g )Nc                     U (       a  ggr   r   r   s    r   r   ;TestConditionsAsPredicates.test_reflected_list.<locals>.foo8   r   r   r   r   c                      SS/n U (       a  ggNr      r   r   r   ys    r   r   r<   D       AAr   c                  ~    SS/n U R                  5         U R                  5         [        U 5      S:X  d   eU (       a  ggNr   r?   r   r   r   poplenr@   s    r   r   r<   P   6    AAEEGEEGq6Q;;r   r   r   r(   r)   r6   s      r   test_reflected_list.TestConditionsAsPredicates.test_reflected_list6       		 
	 CQQ0Q, 
	 
	 	.+ 
	 
	 	.+r   c                    [         S 5       nS1nU R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        [         S 5       nU R                  U" 5       UR                  5       5        U R                  UR                  5       S5        [         S 5       nU R                  U" 5       UR                  5       5        U R                  UR                  5       S5        g )Nc                     U (       a  ggr   r   r   s    r   r   :TestConditionsAsPredicates.test_reflected_set.<locals>.foo`   r   r   r   r   c                      SS1n U (       a  ggr>   r   r@   s    r   r   rO   l   rB   r   c                  ~    SS1n U R                  5         U R                  5         [        U 5      S:X  d   eU (       a  ggrD   rE   r@   s    r   r   rO   x   rH   r   r   rI   r6   s      r   test_reflected_set-TestConditionsAsPredicates.test_reflected_set^   rL   r   c                    [         S 5       n[        R                  " [        R                  [        R                  5      nU R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        SUS'   U R                  U" U5      UR                  U5      5        U R                  UR                  U5      S5        g )Nc                     U (       a  ggr   r   r   s    r   r   7TestConditionsAsPredicates.test_typed_dict.<locals>.foo   r   r   r      r?   r   )r   r   emptyr   r   r(   r)   r6   s      r   test_typed_dict*TestConditionsAsPredicates.test_typed_dict   s    		 
	 JJu{{EKK0QQ0Q, !QQ0Q,r   c                    [         S 5       n[        R                  " S5      nU R                  U" U5      UR	                  U5      5        U R                  UR	                  U5      S5        [        R                  " S5      nU R                  U" U5      UR	                  U5      5        U R                  UR	                  U5      S5        [        R                  " S///5      nU R                  U" U5      UR	                  U5      5        U R                  UR	                  U5      S5        [        R                  " S///5      nU R                  U" U5      UR	                  U5      5        U R                  UR	                  U5      S5        [        R
                  " S5      n[        R                  S:  aN  U R                  [        5       nU" U5        S S S 5        SnU R                  U[        WR                  5      5        OHU R                  U" U5      UR	                  U5      5        U R                  UR	                  U5      S5        [        R                  " SS/5      nU R                  [        5       nU" U5        S S S 5        S	nU R                  U[        WR                  5      5        g ! , (       d  f       N= f! , (       d  f       NG= f)
Nc                     U (       a  ggr   r   r   s    r   r   3TestConditionsAsPredicates.test_arrays.<locals>.foo   r   r   r   r   r   r   )r?   r?   ziThe truth value of an empty array is ambiguous. Use `array.size > 0` to check that an array is not empty.r?   z[The truth value of an array with more than one element is ambiguous. Use a.any() or a.all())r   r   arrayr(   r)   rX   r   numpy_versionassertRaises
ValueErrorassertInr&   	exception)r*   r   r7   raisesmsgs        r   test_arrays&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&&&0"":.&A /PCMM#s6#3#345SVS[[^4S[[^R0 HHaVz*fF +6c3v//01! /. +*s   
	J18	K1
J?
Kr   N)__name__
__module____qualname____firstlineno__r/   r8   rJ   rR   rY   rf   __static_attributes__r   r   r   r
   r
      s"    16-$&,P&,P-$02r   r
   )numba.tests.supportr   r   numbar   r   numba.typedr   r   numpyr   r
   r   r   r   <module>rq      s    7  " A2 A2r   