
    
f                        d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlZd dl	Z	d dl
mZmZmZmZ d dlmZmZmZ d dlmZmZmZmZ d dlmZmZ ddiZdd	d
Zddi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 Z.d Z/d Z0d Z1d  Z2d! Z3d" Z4d# Z5d$ Z6d% Z7d& Z8d' Z9d( Z:d) Z;d* Z<d+ Z=d, Z>d- Z?d. Z@d/ ZAd0 ZBd1 ZCd2 ZDd3 ZEd4 ZFd5 ZGd6 ZHd7 Z>dPd8ZId9 ZJd: ZKd; ZLd< ZMd= ZNd> ZOd? ZPd@ ZQdA ZRdB ZS G dC dDe          ZT G dE dFe          ZU G dG dHe          ZV G dI dJee          ZW G dK dLee          ZX G dM dNee          ZYeZdOk    r ej[                     dS dS )Q    N
namedtuple)jittypeofnjittyped)errorstypesconfig)TestCasetagignore_internal_warningsMemoryLeakMixin)overload_methodboxforceobjTF)nopython_nrtr   c                      t          |           S N)absxs    9lib/python3.11/site-packages/numba/tests/test_builtins.pyabs_usecaser          q66M    c                     | d k    r|d k    rt          g           S | d k    rt          |g          S |d k    rt          | g          S t          | |g          S r   )allr   ys     r   all_usecaser"      Z    DyyQ$YY2ww	
dA3xx	
dA3xxAq6{{r   c                     | d k    r|d k    rt          g           S | d k    rt          |g          S |d k    rt          | g          S t          | |g          S r   )anyr    s     r   any_usecaser&   '   r#   r   c                      t          |           S r   )boolr   s    r   bool_usecaser)   1   s    77Nr   c                 "    t          | |          S r   complexr    s     r   complex_usecaser-   4   s    1a==r   c                 "    t          | |          S r   )divmodr    s     r   divmod_usecaser0   7   s    !Q<<r   c                  D    d} t          d          D ]\  }}| ||z  z  } | S )Nr         ?      @      @	enumerateresultijs      r   enumerate_usecaser<   :   s6    F-((  1!a%Mr   c                  F    d} t          dd          D ]\  }}| ||z  z  } | S )Nr   r2   *   r6   r8   s      r   enumerate_start_usecaser?   @   s8    F-,,  1!a%Mr   c                  F    d} t          dd          D ]\  }}| ||z  z  } | S )Nr   r2   gn!	@r6   r8   s      r   enumerate_invalid_start_usecaserA   F   s8    F-11  1!a%Mr   c                 "    t          ||           S r   )filter)r   filter_funcs     r   filter_usecaserE   L   s    +q!!!r   c                      t          |           S r   )floatr   s    r   float_usecaserH   O       88Or   c                 ,    |                      |          S r   )formatr    s     r   format_usecaserL   R   s    88A;;r   c                      t                      S r   )globals r   r   globals_usecaserP   U   s    99r   c                      t          |           S r   )hexr   s    r   hex_usecaserS   Z   r   r   c                      t          |           S r   strr   s    r   str_usecaserW   ]   r   r   c                 $    t          | |          S N)base)intr   rZ   s     r   int_usecaser]   `   s    qtr   c                 \    t          |           }t          |          t          |          fS r   )iternext)r   its     r   iter_next_usecaserb   c   s$    	aB88T"XXr   c                 .    d}t                      d         S )N   r!   )localsr    s     r   locals_usecaserf   g   s    	A88C=r   c                 $    t          | |          S rY   )longr\   s     r   long_usecaseri   k   s    r   c                 "    t          ||           S r   )map)r   map_funcs     r   map_usecaserm   n   s    xr   c                 "    t          | |          S r   maxr    s     r   max_usecase1rq   r       q!99r   c                 $    t          | |g          S r   ro   r    s     r   max_usecase2rt   u       1v;;r   c                      t          |           S r   ro   r   s    r   max_usecase3rw   x   r   r   c                       t          d          S NrO   ro   rO   r   r   max_usecase4rz   {       r77Nr   c                 "    t          | |          S r   minr    s     r   min_usecase1r      rr   r   c                 $    t          | |g          S r   r}   r    s     r   min_usecase2r      ru   r   c                      t          |           S r   r}   r   s    r   min_usecase3r      r   r   c                       t          d          S ry   r}   rO   r   r   min_usecase4r      r{   r   c                      t          |           S r   )octr   s    r   oct_usecaser      r   r   c                 ,    t          j        | |          S r   )	functoolsreduce)reduce_funcr   s     r   reduce_usecaser      s    K+++r   c                      t          |           S r   roundr   s    r   round_usecase1r      rI   r   c                 "    t          | |          S r   r   )r   ns     r   round_usecase2r      s    A;;r   c                      t          |           S r   sumr   s    r   sum_usecaser      r   r   c                 2     t          |           |          S r   )typeabs     r   type_unary_usecaser      s    4771::r   c                 *    t          j        |           S r   )operatortruth)ps    r   truth_usecaser      s    >!r   c                      t          |           S r   )unichrr   s    r   unichr_usecaser      s    !99r   c                  F    d} t          dd          D ]\  }}| ||z  z  } | S )Nr            )g      @@zipr8   s      r   zip_usecaser      s8    FIz**  1!a%Mr   c                  6    d} t                      D ]}| dz  } | S Nr   r   r   r9   r:   s     r   zip_0_usecaser      s*    FUU  !Mr   c                  <    d} t          d          D ]	\  }| |z  } 
| S )Nr   r   r   r   r   s     r   zip_1_usecaser      s.    F&kk  !Mr   c                  P    d} t          ddd          D ]\  }}}| ||z  |z  z  } | S )Nr   r   )r      rd   )r   g!@r   )r9   r:   r;   ks       r   zip_3_usecaser      sA    Fvy*55  1a!a%!)Mr   c                      t          d          } d}t          |           }t          t          t          |          |                    }t          |          }||fS )N   r   )ranger_   listr   )iterabler   ra   frontbacks        r   zip_first_exhaustedr      sO    QxxH	A	hBU1XXr""##E88D$;r   c                     | |z  S r   rO   r    s     r   pow_op_usecaser      s    6Mr   c                 "    t          | |          S r   )powr    s     r   pow_usecaser      rr   r   c                      t          |           S r   r   r   s    r   r   r      r   r   c                 H    t          | |          }t          | |          |fS Nstartr   )r   r   rets      r   sum_kwarg_usecaser      s'    
a--Cq##r   c                    t          | t          t          f          r9t          | t                    r| dz   dfS t          | t                    r| dz   dfS nt          | t                    r| dz   dfS t          | t                    r	| j        dfS t          | t          t          f          rt          | t                    rdS d	S t          | t                    rd
S t          | t                    rdS dS )Nr   r[          @rG   z, world!rV   r,   tupler   setbytesno match)

isinstancer[   rG   rV   r,   imagr   r   r   r   r   s    r   isinstance_usecaser      s   !c5\"" a 	 q5%<a 	$s7G##	$	As		 :~u$$	Aw		 
vy  	At}	%	% a 	76	As		 u	Au		 w:r   c                      ddd} dt          j        d          d}t          | t                    rt          |t                    rdS dS )	Nr   r   )r   r   
   r   r   dictznot dict)npzerosr   r   r   s     r   isinstance_dictr      sO    !Arx{{##A!T z!T22 vzr   c                    t          | t          j                  rdS t          | t          j        t          j        f          rt          | t          j                  rdS dS t          | t          j        t          j        f          r:t          | t          j                  rdS t          | t          j                  rdS d S t          | t          j                  rdS dS )N
typed listint32int64float32float64
typed dictr   )	r   r   Listr
   r   r   r   r   Dictr   s    r   isinstance_usecase_numba_typesr      s    !UZ   |	AU[1	2	2 a%% 	77	Au}5	6	6 a'' 	95=)) 	9	 		Auz	"	" |zr   c                      d} t          dd          }t                      }d|d<   t          | t                    r,t          |t                     rt          |t                    rdS dS )Ns   hellor   r   r   TF)r   r   r   r   r   r   cs      r    isinstance_usecase_numba_types_2r     sh    AaAAAaD!U q%  q$ t5r   c                 *    t          | d          rdS dS )N)fooztrue branchzfalse branchr   r   s    r   invalid_isinstance_usecaser     s    !X }~r   c                 8    t          | t          df          rdS dS )Nz
not a typeTF)r   rG   r   s    r   isinstance_usecase_invalid_typer     s#    !e\*++ tur   c                 J    | dk    rd}nd}t          |t                    rdS dS )Nr   r   r   TFr   r[   r   zs     r   *invalid_isinstance_usecase_phi_nopropagater   '  s3    1uu!S tur   c                     d}t          | t                    r| | f} t          t          |                     D ]}||z  }|S )Nr   )r   r[   r   len)r   r   r:   s      r   +invalid_isinstance_usecase_phi_nopropagate2r   2  sM    	A!S F3q66]]  	QHr   c                 J    | dk    rd}nd }t          |t                    rdS dS )Nr   r   TFr   r   s     r   #invalid_isinstance_optional_usecaser   =  s3    1uu!S tur   c                  R    t          dddg           dd          fd} | S )Nntplr   r   r   r   c                 $    t                    S r   r   )r   instr   s    r   implz9invalid_isinstance_unsupported_type_usecase.<locals>.implJ  s    $%%%r   r   )r  r   r   s    @@r   +invalid_isinstance_unsupported_type_usecaser  G  sI    fsCj))D41::D& & & & & &Kr   c                      e Zd Zd ZefdZd ZefdZd ZefdZ	d Z
efdZd	 Zefd
Zd ZefdZd ZefdZd ZefdZd ZefdZd ZefdZd Zd Zd ZefdZd ZefdZd ZefdZd Z efdZ!d Z"efd Z#d! Z$efd"Z%d# Z&d$ Z'efd%Z(d& Z)efd'Z*d( Z+efd)Z,d* Z-d+ Z.efd,Z/d- Z0d. Z1efd/Z2efd0Z3d1 Z4d2 Z5d3 Z6efd4Z7efd5Z8d6 Z9d7 Z:d8 Z;efd9Z<efd:Z=d; Z>d< Z?efd=Z@d> ZAd? ZBd@ ZCdA ZDdB ZEefdCZFefdDZGefdEZHdF ZIdG ZJdH ZKdI ZLdJ ZMdK ZNdL ZOefdMZPdN ZQefdOZRdP ZSefdQZTdR ZUefdSZVdT ZWefdUZXdV ZYdW ZZdX Z[dY Z\efdZZ]d[ Z^efd\Z_d] Z`efd^Zad_ Zbefd`Zcda ZdefdbZedc Zfdd Zgde Zhdf Zidg ZjdhS )iTestBuiltinsc                      t          di ||          } |            }|                      |            |           d S NrO   rO   )r   assertPreciseEqual)selfpyfuncflagscfuncexpecteds        r   run_nullary_funczTestBuiltins.run_nullary_funcP  sL       %  ((68822222r   c           	         t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     + t          t          j        ffi ||          }dD ],}|                      ||           ||          d           -dddt          d          d	t          d
          z  z   t          d
          d	t          d          z  z
  g} t          t          j        ffi ||          }|D ],}|                      ||           ||          d           - t          t          j        ffi ||          }|D ]*}|                      ||           ||                     +t          j	        D ]W}dddd|j
        z  dz
  g} t          |ffi ||          }|D ]*}|                      ||           ||                     +Xd S )Nr   r   g        皙?singleprecy      ?y                y?      @inf              ?nanr   r   r   r   )r   r   r
   r   r  r   rG   	complex64
complex128unsigned_domainbitwidth)r	  r  r
  r  r   complex_valuesunsigned_typeunsigned_valuess           r   test_abszTestBuiltins.test_absU  s]   ,U[N,,e,,V44 	9 	9A##EE!HHffQii8888.U]$....v66! 	H 	HA##EE!HHffQiih#GGGG%x,,eEll)::,,eEll)::< 1U_&00%0088 	H 	HA##EE!HHffQiih#GGGG1U%'11511&99 	9 	9A##EE!HHffQii8888"2 	= 	=M "am.D)Dq)HIO2C(22E226::E$ = =''a&&))<<<<=	= 	=r   c                 <    |                      t                     d S N)r  )r"  no_pyobj_flagsr	  s    r   test_abs_npmzTestBuiltins.test_abs_npmp      N+++++r   c                    t           } t          t          j        t          j        ffi ||          }g d}g d}t	          j        ||          D ]/\  }}|                      |||           |||                     0d S N)r  r   r   N)r"   r   r
   r   	itertoolsproductr  r	  r  r
  r  
x_operands
y_operandsr   r!   s           r   test_allzTestBuiltins.test_alls      7U[-7777??%%%
%%%
%j*== 	? 	?DAq##EE!QKK1>>>>	? 	?r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )assertTypingErrorr0  r%  r&  s    r   test_all_npmzTestBuiltins.test_all_npm|      ##%% 	0 	0MMM///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0   >AAc                    t           } t          t          j        t          j        ffi ||          }g d}g d}t	          j        ||          D ]/\  }}|                      |||           |||                     0d S r*  )r&   r   r
   r   r+  r,  r  r-  s           r   test_anyzTestBuiltins.test_any  r1  r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r8  r%  r&  s    r   test_any_npmzTestBuiltins.test_any_npm  r5  r6  c                    t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     + t          t          j        ffi ||          }dddt          d          t          d          fD ]*}|                      ||           ||                     + t          t          j        ffi ||          }t          dt          d                    t          dt          d                    fD ]*}|                      ||           ||                     +d S )Nr  r               ?r  r  r   )	r)   r   r
   r   r  r   rG   r  r,   r	  r  r
  r  r   s        r   	test_boolzTestBuiltins.test_bool  sa   ,U[N,,e,,V44 	9 	9A##EE!HHffQii8888.U]$....v66tS%,,e= 	9 	9A##EE!HHffQii88881U%'11511&99!U5\\**GAuU||,D,DE 	9 	9A##EE!HHffQii8888	9 	9r   c                 <    |                      t                     d S r$  )r?  r%  r&  s    r   test_bool_npmzTestBuiltins.test_bool_npm  s    ^,,,,,r   c                 b   t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     + t          t          j        d          ffi ||          }dgg fD ]*}|                      ||           ||                     +d S )N)r    r   r   )r)   r   r
   stringr  Dummyr>  s        r   test_bool_nonnumberz TestBuiltins.test_bool_nonnumber  s    -U\O--u--f55 	9 	9A##EE!HHffQii88884U[((*44e44V<<#r 	9 	9A##EE!HHffQii8888	9 	9r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  rF  r%  r&  s    r   test_bool_nonnumber_npmz$TestBuiltins.test_bool_nonnumber_npm  s    ##%% 	; 	;$$>$:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;r6  c                    t           } t          t          j        t          j        ffi ||          }g d}g d}t	          j        ||          D ]/\  }}|                      |||           |||                     0d S Nr  )r-   r   r
   r   r+  r,  r  r-  s           r   test_complexzTestBuiltins.test_complex  s     8U[%+.88%88@@ZZ
ZZ
%j*== 	? 	?DAq##EE!QKK1>>>>	? 	?r   c                 <    |                      t                     d S r$  )rK  r%  r&  s    r   test_complex_npmzTestBuiltins.test_complex_npm  s    /////r   c                     t           } t          t          j        t          j        ffi ||          }dd}g d}|dgz   }t	          j        ||          D ]c\  }} |||          \  }	}
 |||          \  }}|}|                      ||           ||          f ||	           ||
          f           d|D ]@}|                     t                    5   ||d           d d d            n# 1 swxY w Y   Ad S )N@   c                 .    | dk    r| d|dz
  z  dz
  z  } | S r   rO   )r   bitss     r   truncate_resultz6TestBuiltins.test_divmod_ints.<locals>.truncate_result  s)     AvvaD1Ho**Hr   )
r   r   r      r  il    l         r   )rO  )	r0   r   r
   r   r+  r,  r  assertRaisesZeroDivisionError)r	  r  r
  r  rR  denominators
numeratorsr   r!   expected_quotexpected_remquotremfs                 r   test_divmod_intszTestBuiltins.test_divmod_ints  s   8U[%+.88%88@@	 	 	 	 IHH!QC'
&z<@@ 	I 	IEAq*0&A,,'M<aID#A##QQtWWaaff$5%&Q}%5%5qq$GI I I I  	 	A""#455  a              	 	s   C22C6	9C6	c                 <    |                      t                     d S r$  )r_  r%  r&  s    r   test_divmod_ints_npmz!TestBuiltins.test_divmod_ints_npm  s    N33333r   c           	         t           } t          t          j        t          j        ffi ||          }ddddddt          j        t          j         t          j        g	}|ddgz   }t          j        ||          D ]=\  }} |||          \  }}	 |||          \  }
}| 	                    |
|f||	f           >|D ]@}| 
                    t                    5   ||d           d d d            n# 1 swxY w Y   Ad S )	Nr3   g      @g}Ô%ITg       g      g\nr<  r  )r0   r   r
   r   r   r  r  r+  r,  r  rV  rW  )r	  r  r
  r  rX  rY  r   r!   rZ  r[  r\  r]  s               r   test_divmod_floatszTestBuiltins.test_divmod_floats  s^   <U]EM2<<e<<VDDCT61!T3K/
&z<@@ 	P 	PEAq*0&A,,'M<aID###T3K-1NOOOO 	 	A""#455  a              	 	s   C//C3	6C3	c                 <    |                      t                     d S r$  )rc  r%  r&  s    r   test_divmod_floats_npmz#TestBuiltins.test_divmod_floats_npm  s    n55555r   c                 <    |                      t          |           d S r   )r  r<   r	  r  s     r   test_enumeratezTestBuiltins.test_enumerate  s    /77777r   c                 <    |                      t                     d S r$  )rh  r%  r&  s    r   test_enumerate_npmzTestBuiltins.test_enumerate_npm      .11111r   c                 <    |                      t          |           d S r   )r  r?   rg  s     r   test_enumerate_startz!TestBuiltins.test_enumerate_start  s    5u=====r   c                 <    |                      t                     d S r$  )rm  r%  r&  s    r   test_enumerate_start_npmz%TestBuiltins.test_enumerate_start_npm  s    !!!77777r   c                    t           } t          di t          |          }|                     t                    5 } |             d d d            n# 1 swxY w Y   d}|                     |t          |j                             d S )NrO   z2'float' object cannot be interpreted as an integerr  )rA   r   forceobj_flagsrV  	TypeErrorassertInrV   	exception)r	  r
  r  raisesmsgs        r   'test_enumerate_start_invalid_start_typez4TestBuiltins.test_enumerate_start_invalid_start_type  s    0))).))&11y)) 	VEGGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Cc3v/0011111s   AAAc                 
   t           }|                     t          j                  5 } t	          di t
          |           d d d            n# 1 swxY w Y   d}|                     |t          |j                             d S )NrO   z3Only integers supported as start value in enumerater  )	rA   rV  r	   TypingErrorr   r%  rs  rV   rt  )r	  r
  ru  rv  s       r   +test_enumerate_start_invalid_start_type_npmz8TestBuiltins.test_enumerate_start_invalid_start_type_npm   s    0v122 	.f%C%%n%%f---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.Cc3v/0011111s   AAAc           	      &   t           }t          j        d          t          j        d          f} t          |fi ||          }d }g d}|                     t           |||                    t           |||                               d S )Nr   function_ptrc                     | dz  S Nr   rO   r   s    r   <lambda>z*TestBuiltins.test_filter.<locals>.<lambda>  s
    A r   r   r   r   r   r   )rE   r
   rE  r   assertSequenceEqualr   )r	  r  r
  argtysr  rD   r   s          r   test_filterzTestBuiltins.test_filter  s    +f%%u{>'B'BC$F$$e$$V,,%oOO  eeA{&;&;!<!<!%ffQ&<&<!=!=	? 	? 	? 	? 	?r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_filter_npmzTestBuiltins.test_filter_npm      ##%% 	3 	3>222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3r6  c                    t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     + t          t          j        ffi ||          }dD ],}|                      ||           ||          d           - t          t          j        ffi ||          }dD ]*}|                      ||           ||                     +d S )Nr  r  r  r  )z-1.1z0.0z1.1)rH   r   r
   r   r  r   rD  r>  s        r   
test_floatzTestBuiltins.test_float  s*   ,U[N,,e,,V44 	9 	9A##EE!HHffQii8888.U]$....v66! 	H 	HA##EE!HHffQiih#GGGG-U\O--u--f55' 	9 	9A##EE!HHffQii8888	9 	9r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_float_npmzTestBuiltins.test_float_npm$      ##%% 	2 	2OO.O111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2r6  c                 B   t           } t          t          j        t          j        ffi ||          }d}dD ],}|                      |||           |||                     - t          t          j        t          j        ffi ||          }d}dD ],}|                      |||           |||                     - t          t          j        t          j        ffi ||          }d}dD ],}|                      |||           |||                     -d S )Nz{0}r  r  r   )rL   r   r
   rD  r   r  r   )r	  r  r
  r  r   r!   s         r   test_formatzTestBuiltins.test_format(  sL   :U\5;0::E::6BB 	? 	?A##EE!QKK1>>>><U\5=2<<e<<VDD! 	? 	?A##EE!QKK1>>>>;U\5<1;;U;;FCC  	? 	?A##EE!QKK1>>>>	? 	?r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_format_npmzTestBuiltins.test_format_npm:  r  r6  c                     t           } t          di ||          } |            }|                     |t                                 d S r  rP   r   assertIsrN   )r	  r  r
  r  gs        r   test_globalszTestBuiltins.test_globals>  sM        %  ((EGGa#####r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_globals_npmzTestBuiltins.test_globals_npmD  s    ##%% 	4 	4N333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4r6  c                     t           } t          di ||          }|                      |            t                                 |                      |            t                                 d S ry   r  )r	  r  r
  jitteds       r   test_globals_jitzTestBuiltins.test_globals_jitH  sd     !uf%%ffhh		***ffhh		*****r   c                     |                                  5  |                     d           d d d            d S # 1 swxY w Y   d S NTr   )r3  r  r&  s    r   test_globals_jit_npmz!TestBuiltins.test_globals_jit_npmP  s    ##%% 	1 	1!!4!000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   9= =c                     t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     +d S rJ  )rS   r   r
   r   r  r>  s        r   test_hexzTestBuiltins.test_hexT  sl    ,U[N,,e,,V44 	9 	9A##EE!HHffQii8888	9 	9r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_hex_npmzTestBuiltins.test_hex_npm[  r5  r6  c           
      @   t           }g d}g d}g ||}t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j	        t          j
        g	}|D ]} t          |ffi t          |          }|D ]}|                      | ||                     | ||                               |j        r<|                      | ||                      | ||                                d S )N)i  r   r   r   i  )i[i! i@B r  )rW   r
   int8int16r   r   uintuint8uint16uint32uint64r   nrt_no_pyobj_flagsr  signed)	r	  r
  small_inputslarge_inputsargstypstypr  vs	            r   test_int_strzTestBuiltins.test_int_str_  sD   
 
 

 
 
 .-- JKKKJKLLL

  	M 	MC5C55"455f==E M M''cc!ffvvcc!ff~~FFF: M++EE##qb''NNFF33r77OOLLL	M	M 	Mr   c                    t           } t          t          j        t          j        ffi ||          }g d}g d}t          j        ||          D ]/\  }}|                      |||           |||                     0d S )N)z-10110)r      r      )r]   r   r
   rD  r   r+  r,  r  r-  s           r   test_intzTestBuiltins.test_int  s    :U\5;0::E::6BB+++
#^^
%j*== 	? 	?DAq##EE!QKK1>>>>	? 	?r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_int_npmzTestBuiltins.test_int_npm  r5  r6  c                    t           } t          t          j        t          j        d          ffi ||          }|                      |d          d            t          t          j        t          j        d          ffi ||          }|                     t                    5   |d           d d d            d S # 1 swxY w Y   d S )Nr   )r   r>   rd   )r   r>   r   r   )rb   r   r
   UniTupler   r  rV  StopIteration)r	  r  r
  r  s       r   test_iter_nextzTestBuiltins.test_iter_next  s   "?U^EK335????GGj 1 17;;;?U^EK335????GG}-- 	 	E$KKK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   )CC	Cc                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_iter_next_npmzTestBuiltins.test_iter_next_npm  rk  r   c                     t           }|                     t          j                  5   t	          t
          j        ffi ||           d d d            d S # 1 swxY w Y   d S r   )rf   rV  r	   ForbiddenConstructr   r
   r   )r	  r  r
  s      r   test_localszTestBuiltins.test_locals  s    v899 	1 	1(C((%((000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   "AAAc                 <    |                      t                     d S r$  )r  rq  r&  s    r   test_locals_forceobjz!TestBuiltins.test_locals_forceobj      ~.....r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_locals_npmzTestBuiltins.test_locals_npm  r  r6  c           	      &   t           }t          j        d          t          j        d          f} t          |fi ||          }d }g d}|                     t           |||                    t           |||                               d S )Nr   r|  c                     | dz  S r~  rO   r   s    r   r  z'TestBuiltins.test_map.<locals>.<lambda>  s
    QU r   r  )rm   r
   rE  r   r  r   )r	  r  r
  r  r  rl   r   s          r   test_mapzTestBuiltins.test_map  s    +f%%u{>'B'BC$F$$e$$V,,"?OO  eeAx&8&8!9!9!%ffQ&9&9!:!:	< 	< 	< 	< 	<r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_map_npmzTestBuiltins.test_map_npm  r5  r6  c                      t          t          j        t          j        ffi ||          }g d}g d}t          j        ||          D ]/\  }}|                      |||           |||                     0d S rJ  r   r
   r   r+  r,  r  r	  r
  r  r  r.  r/  r   r!   s           r   check_minmax_1zTestBuiltins.check_minmax_1      8U[%+.88%88@@ZZ
ZZ
%j*== 	? 	?DAq##EE!QKK1>>>>	? 	?r   c                 <    |                      t          |           dS )z
        max(*args)
        N)r  rq   rg  s     r   
test_max_1zTestBuiltins.test_max_1        	L%00000r   c                 <    |                      t          |           dS )z
        min(*args)
        N)r  r   rg  s     r   
test_min_1zTestBuiltins.test_min_1  r  r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_max_npm_1zTestBuiltins.test_max_npm_1      n-----r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_min_npm_1zTestBuiltins.test_min_npm_1  r  r   c                      t          t          j        t          j        ffi ||          }g d}g d}t          j        ||          D ]/\  }}|                      |||           |||                     0d S rJ  r  r  s           r   check_minmax_2zTestBuiltins.check_minmax_2  r  r   c                 <    |                      t          |           dS )z
        max(list)
        N)r  rt   rg  s     r   
test_max_2zTestBuiltins.test_max_2  r  r   c                 <    |                      t          |           dS )z
        min(list)
        N)r  r   rg  s     r   
test_min_2zTestBuiltins.test_min_2  r  r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_max_npm_2zTestBuiltins.test_max_npm_2  r  r6  c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r%  r&  s    r   test_min_npm_2zTestBuiltins.test_min_npm_2  r  r6  c                       fd} |t          j        t           j        d                      |t          j        t           j        t           j        t           j        f                     d S )Nc                      t          | ffi           }dt          d          df}||d d d         fD ]*}                     ||           |                     +d S )Nr=  r  r4   r  )r   rG   r  )argtyr  tupvalr  r
  r	  s       r   checkz*TestBuiltins.check_minmax_3.<locals>.check  s    *C**E**622Eec*CS2Y' A A''c

FF3KK@@@@A Ar   r   )r
   r  r   Tupler   )r	  r
  r  r  s   ``` r   check_minmax_3zTestBuiltins.check_minmax_3  s|    	A 	A 	A 	A 	A 	A 	A 	enU]A..///ek5=%-GHHIIIIIr   c                 <    |                      t          |           dS )z
        max(tuple)
        N)r  rw   rg  s     r   
test_max_3zTestBuiltins.test_max_3   r  r   c                 <    |                      t          |           dS )z
        min(tuple)
        N)r  r   rg  s     r   
test_min_3zTestBuiltins.test_min_3  r  r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_max_npm_3zTestBuiltins.test_max_npm_3  r  r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_min_npm_3zTestBuiltins.test_min_npm_3  r  r   c                      t          t          j        t          j        d          ffi ||          } |ddg           d S )Nr   r   )r   r
   r   rE  r	  r
  r  r  s       r   check_min_max_invalid_typesz(TestBuiltins.check_min_max_invalid_types  sG    AU[%+f"5"57AA5AA&IIa!r   c                     |                      t                    5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )rV  rr  r  rq   r&  s    r   test_max_1_invalid_typesz%TestBuiltins.test_max_1_invalid_types      y)) 	; 	;,,\:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;   AA
Ac                     |                                  5  |                     t          t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  rq   r%  r&  s    r   test_max_1_invalid_types_npmz)TestBuiltins.test_max_1_invalid_types_npm      ##%% 	Q 	Q,,\,PPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q   "AAAc                     |                      t                    5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )rV  rr  r  r   r&  s    r   test_min_1_invalid_typesz%TestBuiltins.test_min_1_invalid_types  r  r  c                     |                                  5  |                     t          t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r  r   r%  r&  s    r   test_min_1_invalid_types_npmz)TestBuiltins.test_min_1_invalid_types_npm"  r  r  c                      t          t          j        t          j        ffi ||          }d}t          j        ||          D ]/\  }}|                      |||           |||                     0d S )N)FT)r   r
   bool_r+  r,  r  )r	  r
  r  r  operandsr   r!   s          r   check_minmax_bool1zTestBuiltins.check_minmax_bool1&  s    8U[%+.88%88@@ %h99 	? 	?DAq##EE!QKK1>>>>	? 	?r   c                 <    |                      t          |           d S r   )r  rq   rg  s     r   test_max_bool1zTestBuiltins.test_max_bool1-      e44444r   c                 <    |                      t          |           d S r   )r  r   rg  s     r   test_min_bool1zTestBuiltins.test_min_bool11  r  r   c                 ^     t          t          j        ffi ||          } |d           d S Nr   )r   r
   r   r  s       r    check_min_max_unary_non_iterablez-TestBuiltins.check_min_max_unary_non_iterable7  s6    ,U[N,,e,,V44ar   c                     |                      t                    5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )rV  rr  r  rw   r&  s    r   test_max_unary_non_iterablez(TestBuiltins.test_max_unary_non_iterable;      y)) 	@ 	@11,???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@r  c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )r3  r  rw   r&  s    r   test_max_unary_non_iterable_npmz,TestBuiltins.test_max_unary_non_iterable_npm?      ##%% 	@ 	@11,???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@   =AAc                     |                      t                    5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )rV  rr  r  r   r&  s    r   test_min_unary_non_iterablez(TestBuiltins.test_min_unary_non_iterableC  r  r  c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r   )r3  r  r   r&  s    r   test_min_unary_non_iterable_npmz,TestBuiltins.test_min_unary_non_iterable_npmG  r  r  c                     |                                  5 } t          di t          |           d d d            n# 1 swxY w Y   |                     d|z  t	          |j                             d S )NrO   z%s() argument is an empty tupler  )r3  r   r%  rs  rV   rt  )r	  r
  	func_nameru  s       r   check_min_max_empty_tuplez&TestBuiltins.check_min_max_empty_tupleM  s    ##%% 	.%C%%n%%f---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.7)C&*++	- 	- 	- 	- 	-s   <A A c                 <    |                      t          d           d S )Nrp   )r!  rz   r&  s    r   test_max_empty_tuplez!TestBuiltins.test_max_empty_tupleS      &&|U;;;;;r   c                 <    |                      t          d           d S )Nr~   )r!  r   r&  s    r   test_min_empty_tuplez!TestBuiltins.test_min_empty_tupleV  r$  r   c                     t           } t          t          j        ffi ||          }dD ]*}|                      ||           ||                     +d S )N)ir  r   r   r  )r   r   r
   r   r  r>  s        r   test_octzTestBuiltins.test_octZ  sl    ,U[N,,e,,V44" 	9 	9A##EE!HHffQii8888	9 	9r   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r(  r%  r&  s    r   test_oct_npmzTestBuiltins.test_oct_npma  r5  r6  c                    t           }t          j        d          t          j        d          f} t          |fi ||          }d }t	          d          }|                      |||           |||                     d t	          d          D             }|                      |||           |||                     d t	          d          D             }|                      |||           |||                     d S )Nr|  r   c                     | |z   S r   rO   r    s     r   r  z*TestBuiltins.test_reduce.<locals>.<lambda>j  s
    1q5 r   r   c                     g | ]
}||d z  z   S g      $@rO   .0r   s     r   
<listcomp>z,TestBuiltins.test_reduce.<locals>.<listcomp>o       +++AQ4Z+++r   c                 .    g | ]}t          ||          S rO   r+   r/  s     r   r1  z,TestBuiltins.test_reduce.<locals>.<listcomp>r       ...qWQ]]...r   )r   r
   rE  r   r   r  )r	  r  r
  r  r  r   r   s          r   test_reducezTestBuiltins.test_reducee  s   +n--u{6/B/BC$F$$e$$V,,(("IIk1 5 5vvk17M7MNNN++r+++k1 5 5vvk17M7MNNN..E"II...k1 5 5vvk17M7MNNNNNr   c                     |                                  5  |                     t                     d d d            d S # 1 swxY w Y   d S r$  )r3  r5  r%  r&  s    r   test_reduce_npmzTestBuiltins.test_reduce_npmu  r  r6  c                     t           }t          j        t          j        fD ]Q} t	          |ffi ||          }g d}|ddgz  }|D ]*}|                      ||           ||                     +Rd S )N)gg      gffffffg      r  皙?      ?g333333?gffffff?r=        @gr<  )r   r
   r   r   r   r  )r	  r  r
  tpr  valuesr   s          r   test_round1zTestBuiltins.test_round1y  s    =%-0 	= 	=B'C''''//EPPPFtTl"F = =''a&&))<<<<=		= 	=r   c                 <    |                      t                     d S r$  )r>  r%  r&  s    r   test_round1_npmzTestBuiltins.test_round1_npm  r  r   c           
         t           }t          j        t          j        fD ]}|t          j        u rdnd} t	          |t          j        ffi ||          }dD ]n}dD ]i}|                      |||           |||          |            || |          }|                      || |           || |          |           jod S )Nr  exact)r  r9  g      ?g      ?r:  g      ?g      ?r=  g      ?g      @r4   g      @g      )@g      .@g     6@)r  r   r   r   r  )r   r
   r   r   r   r   r  )	r	  r  r
  r<  r  r  r   r   r  s	            r   test_round2zTestBuiltins.test_round2  s   =%-0 
	7 
	7B!U]2288D3CU[)33U33F;;ED 7 7& 7 7A++EE!QKK115 , 7 7 7%vqb!}}H++EE1"aLL&&!Q--15 , 7 7 7 7	77
	7 
	7r   c                 <    |                      t                     d S r$  )rC  r%  r&  s    r   test_round2_npmzTestBuiltins.test_round2_npm  r  r   c                    t           } t          t          j        d          ffi ||          }t	          d          }|                      ||           ||                     d t	          d          D             }|                      ||           ||                     d t	          d          D             }|                      ||           ||                     d S )Nr   r   c                     g | ]
}||d z  z   S r.  rO   r/  s     r   r1  z1TestBuiltins.test_sum_objmode.<locals>.<listcomp>  r2  r   c                 .    g | ]}t          ||          S rO   r+   r/  s     r   r1  z1TestBuiltins.test_sum_objmode.<locals>.<listcomp>  r4  r   )r   r   r
   rE  r   r  r>  s        r   test_sum_objmodezTestBuiltins.test_sum_objmode  s    4U[((*44e44V<<"IIa&&))444++r+++a&&))444..E"II...a&&))44444r   c           	      N  	 t          t                    }t          t                    }t           dd            }t          dddg          		fd} |            D ]4}|                      ||          |                    |                     5t          j        d          t          j        d          t          j	        d	          f}| 
                     ||          |                    |                     	fd
} |            D ];\  }}|                      |||          |                    ||                     <t          dd          D ]K}t          dd          D ]8}|                      |||          |                    ||                     9Ld S )Nr   c                 f    t          |           }t          ||          }t          ||          |fS r   )r   r   )szr   tmpr   s       r   	sum_rangez(TestBuiltins.test_sum.<locals>.sum_range  s2    ))Cc5//Cs%(((#--r   r   r   r   c               3     K   g t          d          V  d t          d          D             V  d t          d          D             V  dV  dV  t          j        d          t          j        d          t          j        d          fV  t          j        t          d	                    } | V  t          j        d	          V   d
d          V   d
d          V  d S )Nr   c                     g | ]
}||d z  z   S r.  rO   r/  s     r   r1  z7TestBuiltins.test_sum.<locals>.args.<locals>.<listcomp>       111!1qv:111r   c                     g | ]}|d z  S r  rO   r/  s     r   r1  z7TestBuiltins.test_sum.<locals>.args.<locals>.<listcomp>      ---a1r6---r   r   r   r                 @    r   r   rd   d                    i@)r   r   r   r   r  r   r   onestlr   s    r   r  z#TestBuiltins.test_sum.<locals>.args  s     E"II,11uRyy111111--599------OOO 8B<<!bgajj9999E!HH%%BHHH'!**$sC..   $sD//!!!!!r   rW  r   r   c               3   D  K   g t          d          dfV  d t          d          D             dfV  d t          d          D             dfV  dV  dV  t          j        d	          t          j        d
          t          j        d          ft          j        d          fV  t          j        t          d                    } | dfV  t          j        d          dt          j        d          z  fV   dd          dfV   dd          dfV  d S )Nr      c                     g | ]
}||d z  z   S r.  rO   r/  s     r   r1  z;TestBuiltins.test_sum.<locals>.args_kws.<locals>.<listcomp>  rQ  r   y              3@c                     g | ]}|d z  S rS  rO   r/  s     r   r1  z;TestBuiltins.test_sum.<locals>.args_kws.<locals>.<listcomp>  rT  r   )r   	   )rU  r   rW  r   r   r   rd   rX  )rd   rd   )rd   rY  irZ  rc  )	r   r   r   r   r  r  r   r   r[  r\  s    r   args_kwsz'TestBuiltins.test_sum.<locals>.args_kws  sB     E"II,""""11uRyy11136666--599---r1111     8B<<!bgajj929Q<<GGGGE!HH%%Bc'MMM'&//2#55555$sC..#%%%%$sD//1$$$$$$r   r   rT  r   r   )r   r   r   r   r  py_funcr   r  r  r  assertEqualr   )
r	  sum_default	sum_kwargrN  r  r   rd  r   rL  r   s
            @r   test_sumzTestBuiltins.test_sum  s   ;''*++			. 	. 	. 
	.
 &3*--	" 	" 	" 	" 	"  	L 	LA##KKNNK4G4G4J4JKKKK
 Yr]]BIaLL"(1++6Q)<)<Q)?)?@@@	% 	% 	% 	% 	% !

 	G 	GHAu##IIau$=$=$=$-$5$5au$5$E$EG G G G 2q\\ 	L 	LEBll L L''		"E(B(B(B(1(9(9"E(9(J(JL L L LL	L 	Lr   c                 <   t          t                    }t          t                    }d}|                     t          j                  5 } |dd           d d d            n# 1 swxY w Y   |                     |                    d          t          |j	                             |                     t          j                  5 } |dd           d d d            n# 1 swxY w Y   |                     |                    d          t          |j	                             |                     t          j                  5 } |dt          d                     d d d            n# 1 swxY w Y   |                     |                    d          t          |j	                             |                     t          j                  5 } |d           d d d            n# 1 swxY w Y   |                     d	t          |j	                             d S )
Nzsum() can't sum {}r   r   stringss   123r   	bytearrayabcdzNo implementation)r   r   r   rV  r	   ry  rs  rK   rV   rt  rm  )r	  rh  ri  rv  ru  s        r   test_sum_exceptionsz TestBuiltins.test_sum_exceptions  s   ;''*++	 #v122 	&fIi%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	cjj++S1A-B-BCCCv122 	)fIi(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	cjj))3v/?+@+@AAAv122 	4fIi6!2!2333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	cjj--s63C/D/DEEE v122 	 fK	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	)3v/?+@+@AAAAAsH   
A##A'*A'C!!C%(C%E,,E03E0G))G-0G-c                     t           } t          d          |          }|                      |d           |d                     |                      |d           |d                     d S )NTr  F)r   r   rg  r	  r
  r  s      r   
test_truthzTestBuiltins.test_truth  ss    "T"""6**uuT{{333e55555r   c                      t            t          d                     fd} |dd            |dd            |dd            |dd            |d	d
           d S )NTr  c                  D     |  }                      |  |           d S r   )r  )r  r  r  r
  r	  s     r   r  z+TestBuiltins.test_type_unary.<locals>.check  s0    vt}H##EE4L(;;;;;r   r=  r   r   r4   y              ?y              @F)r   r   )r	  r  r  r
  s   ` @@r   test_type_unaryzTestBuiltins.test_type_unary	  s    #"T"""6**	< 	< 	< 	< 	< 	< 	< 	c1adAdAdEr   c                 <    |                      t          |           d S r   )r  r   rg  s     r   test_zipzTestBuiltins.test_zip  s    k511111r   c                 <    |                      t                     d S r$  )rw  r%  r&  s    r   test_zip_npmzTestBuiltins.test_zip_npm  r(  r   c                 <    |                      t          |           d S r   )r  r   rg  s     r   
test_zip_1zTestBuiltins.test_zip_1      mU33333r   c                 <    |                      t                     d S r$  )r{  r%  r&  s    r   test_zip_1_npmzTestBuiltins.test_zip_1_npm!  r  r   c                 <    |                      t          |           d S r   )r  r   rg  s     r   
test_zip_3zTestBuiltins.test_zip_3$  r|  r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_zip_3_npmzTestBuiltins.test_zip_3_npm'  r  r   c                 <    |                      t          |           d S r   )r  r   rg  s     r   
test_zip_0zTestBuiltins.test_zip_0*  r|  r   c                 <    |                      t                     d S r$  )r  r%  r&  s    r   test_zip_0_npmzTestBuiltins.test_zip_0_npm-  r  r   c                 <    |                      t          |           dS )z
        Test side effect to the input iterators when a left iterator has been
        exhausted before the ones on the right.
        N)r  r   rg  s     r   test_zip_first_exhaustedz%TestBuiltins.test_zip_first_exhausted0  s!    
 	1599999r   c                 <    |                      t                     d S r$  )r  r  r&  s    r   test_zip_first_exhausted_npmz)TestBuiltins.test_zip_first_exhausted_npm7  s     %%,>%?????r   c                     g d}|D ]s\  }}t          |          t          |          f} t          |fi t          t                    } |||          }|                     |t          ||                     td S N))r   r   )r   r   )r   r5   )y               @rV  )r   r   r%  r   r  r	  r  r   r!   r  r  rs          r   test_pow_op_usecasez TestBuiltins.test_pow_op_usecase:  s    
 
 
  	= 	=DAqQii+F1C11.11.AAEaA##A~a';';<<<<		= 	=r   c                     g d}|D ]s\  }}t          |          t          |          f} t          |fi t          t                    } |||          }|                     |t          ||                     td S r  )r   r   r%  r   r  r  s          r   test_pow_usecasezTestBuiltins.test_pow_usecaseH  s    
 
 
  	: 	:DAqQii+F1C11.11+>>EaA##A{1a'8'89999		: 	:r   c                      t                      |          } |            } |            }|                     ||           d S r   )r   r  )r	  r
  r  r  gots        r   _check_min_maxzTestBuiltins._check_min_maxV  sE    v688egg#.....r   c                     t           d             fd} |t                    D ]}|                     |            |t                    D ]}|                     |           d S )Nc              3   <   K   | }||k     r|V  ||z  }||k     d S d S r   rO   )r   stopstepr:   s       r   frangez8TestBuiltins.test_min_max_iterable_input.<locals>.frange^  s9      Ad((T	 d((((((r   c              3       K    fdV   fdV   fdV   fdV   fdV   fdV   fdV   fdV  d S )	Nc                  4      t          d                    S Nr   r   ops   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>f  s    ""U2YY-- r   c                  6      t          dd                    S )Nr   r_  r  r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>g  s    ""U1b\\** r   c                  8      t          ddd                    S )NrU  r  r  r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>h  s    ""U2sB//00 r   c                        g d          S )N)gffffff@g      @g@rO   r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>i  s    ""___-- r   c                        ddg          S )N)r   r   r   rO   r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>j  s    ""ff-.. r   c                  0       ddd                    S )Nr  gffffff
@r9  rO   )r  r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>k  s    ""VVCc2233 r   c                  t      t           j        t           j         t           j        t           j        g          S r   )r   r  r  r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>l  s$    ""bfrvgrvrv>?? r   c                        g d          S )N))r   r  )r   rO   r  s   r   r  zTTestBuiltins.test_min_max_iterable_input.<locals>.sample_functions.<locals>.<lambda>m  s    ""///00 r   rO   )r  r  s   `r   sample_functionszBTestBuiltins.test_min_max_iterable_input.<locals>.sample_functionse  s      '''''''*******0000000-------.......33333333???????000000000r   r  )r   r~   r  rp   )r	  r  fnr  s      @r   test_min_max_iterable_inputz(TestBuiltins.test_min_max_iterable_input\  s    		 	 
		1 	1 	1 	1 	1 #"c*** 	$ 	$B####""c*** 	$ 	$B####	$ 	$r   N)k__name__
__module____qualname__r  rq  r"  r'  r0  r4  r8  r:  r?  rA  rF  rH  rK  rM  r_  ra  rc  re  rh  rj  rm  ro  rw  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r&  r(  r*  r5  r7  r>  r@  rC  rE  rI  rj  ro  rr  ru  rw  ry  r{  r~  r  r  r  r  r  r  r  r  r  r  rO   r   r   r  r  N  s       3 3 3
 , = = = =6, , , , ? ? ? ?0 0 0 , ? ? ? ?0 0 0 - 9 9 9 9- - - )7 	9 	9 	9 	9; ; ; "0 ? ? ? ?0 0 0 &4    24 4 4 (6    "6 6 6 $2 8 8 8 82 2 2 *8 > > > >8 8 8	2 	2 	22 2 2 !/ ? ? ? ?3 3 3  . 9 9 9 92 2 2 !/ ? ? ? ?$3 3 3 "0 $ $ $ $4 4 4 &4 + + + +1 1 1 , 9 9 9 90 0 0&M &M &MP , ? ? ? ?0 0 0 $2    2 2 2 !/ 1 1 1 1
/ / /3 3 3 , < < < <0 0 0? ? ?  . 1 1 1 1  . 1 1 1 1. . .. . .? ? ?  . 1 1 1 1  . 1 1 1 12 2 22 2 2	J 	J 	J  . 1 1 1 1  . 1 1 1 1. . .. . . 9G    ; ; ;Q Q Q; ; ;Q Q Q? ? ? $2 5 5 5 5 $2 5 5 5 5 >L    @ @ @@ @ @@ @ @@ @ @- - -< < << < < , 9 9 9 90 0 0 !/ O O O O 3 3 3 !/ = = = =/ / / !/ 7 7 7 7/ / / &4 5 5 5 5>L >L >L@B B B86 6 6   , 2 2 2 2, , ,  . 4 4 4 4. . .  . 4 4 4 4. . .  . 4 4 4 4. . . .< : : : :@ @ @= = =: : :/ / /$ $ $ $ $r   r  c                       e Zd Zd Zd ZdS )TestOperatorMixedTypesc           	         dD ]z}t          t          |          t          fd            }d}t          j        ||          D ]9\  }}|                     |                    ||           |||                     :{d S )N)eqnec                      | |          S r   rO   r   r   r  s     r   funcz/TestOperatorMixedTypes.test_eq_ne.<locals>.func|      r!Qxxr   )r   r   TFr3   r   r  r  NrC  r  )getattrr   r   r+  r,  r  rf  )r	  opstrr  thingsr   r!   r  s         @r   
test_eq_nez!TestOperatorMixedTypes.test_eq_nex  s    ! 	H 	HE5))B        T 
 KF!)&&99 H H1''Q(:(:DDAJJGGGGH	H 	Hr   c                 "  	 dD ]}t          t          |          	t          	fd            }d}t          j        ||          D ]I\  }}|                    ||          } |||          }|d|d|d}|                     |||           Jd S )N)gtltgeler  r  c                      | |          S r   rO   r  s     r   r  z-TestOperatorMixedTypes.test_cmp.<locals>.func  r  r   )r   r   TFr3   r  r   z( does not match between Python and Numba)r  r   r   r+  r,  rf  rg  )
r	  r  r  r  r   r!   r  r  messager  s
            @r   test_cmpzTestOperatorMixedTypes.test_cmp  s    9 	9 	9E5))B        T  8F!)&&99 9 91<<1--d1ajjaa+  388889	9 	9r   N)r  r  r  r  r  rO   r   r   r  r  v  s5        H H H9 9 9 9 9r   r  c                   P    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S )TestIsinstanceBuiltinc                     t           } t          d          |          }dddddg dd	t          d
dg          dd f
}|D ].} ||          } ||          }|                     ||           /d S )NTr  r   r;  Hellos   worldr  r   )r   r   r   r   r   r   )r   nbar   )r   r   r   rg  r	  r
  r  inputsinptr  r  s          r   test_isinstancez%TestIsinstanceBuiltin.test_isinstance  s    #"T"""6** IIAKK
  	, 	,Dvd||H%++CXs++++	, 	,r   c                     t           } t          d          |          }|                      |             |                       d S r  )r   r   rg  rq  s      r   test_isinstance_dictz*TestIsinstanceBuiltin.test_isinstance_dict  sI     "T"""6**5577+++++r   c                     t           } t          d          |          }|                      |d           |d                     d S )NTr  r   )r   r   rg  rq  s      r   test_isinstance_issue9125z/TestIsinstanceBuiltin.test_isinstance_issue9125  sM    <"T"""6**EE!HH-----r   c           
         t           } t          d          |          }t          j        d          dft          j        d          dft          j        d          dft          j        d	          d
ft          j        d          dft          j	        ddg          dft          j
                            t          j        t          j                  dff}|D ]&\  }} ||          }|                     ||           'd S )NTr  r   r   r   r   r5   r   g      @r   y              @r   r   r   )r   r   r
   r   r   r   r   r  r   r   r   emptyrg  r  s          r   test_isinstance_numba_typesz1TestIsinstanceBuiltin.test_isinstance_numba_types  s     0"T"""6** [^^W%[^^W%]3+]3+_R  *-ZA.Zek5;77F
 % 	, 	,ND(%++CXs++++	, 	,r   c                     t           } t          d          |          }|                      |             |                       d S r  )r   r   rg  rq  s      r   test_isinstance_numba_types_2z3TestIsinstanceBuiltin.test_isinstance_numba_types_2  sI    1"T"""6**5577+++++r   c                 Z   t           } t          d          |          }|                      |d                     d}|                     t          j                  5 } |d           d d d            n# 1 swxY w Y   |                     |t          |j                             d S )NTr  g333333@&Cannot infer numba type of python typerX  )	r   r   
assertTruerV  r	   ry  rs  rV   rt  )r	  r
  r  rv  ru  s        r   test_isinstance_invalid_typez2TestIsinstanceBuiltin.test_isinstance_invalid_type  s    0"T"""6** 	c

### 7v122 	fE#JJJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	c3v/0011111s    A88A<?A<c                 Z   t           dft          dft          dft                      dfg}|D ]~\  }}t	          |          }|                     t          j                  5 } |d           d d d            n# 1 swxY w Y   |                     |t          |j
                             d S )Nr  zGisinstance() cannot determine the type of variable "z" due to a branch.z6isinstance() does not support variables of type "ntpl(rX  )r   r   r   r  r   rV  r	   ry  rs  rV   rt  )r	  fnsr  rv  ru  s        r   test_isinstance_exceptionsz0TestIsinstanceBuiltin.test_isinstance_exceptions  s   '577 1 9::FI
  	6 	6GBbB""6#566 &3               MM#s6#3445555	6 	6s   A77A;	>A;	c                    d }t           t          t          t          t          t
          t          t          t          t          j
        t          j        f}dddddgddd	hd d
dt          j        g d          t          j
        d          t          j        d          t          j                            t           j        t           j                  t          j                            t           j                  t          j        d          f}|D ]U}t/           ||                    }|D ]8}|                    |          } ||          }|                     ||           9Vd S )Nc                       fd}|S )Nc                 $    t          |           S r   r   )r   
clazz_types    r   r  zHTestIsinstanceBuiltin.test_combinations.<locals>.gen_w_arg.<locals>.impl      !!Z000r   rO   r  r  s   ` r   	gen_w_argz:TestIsinstanceBuiltin.test_combinations.<locals>.gen_w_arg  !    1 1 1 1 1Kr   r   gffffff@              @5   )r      8rc  )r      r_  )   r   y              ,@)rS  r           r   )r[   rG   r,   rV   r   r   r   r   r   r   r  r   arrayr   r   r  r
   unicode_typer   r   
empty_listr  r[  r   rf  rg  )	r	  r  clazz_types	instancesctr  r   r  r  s	            r   test_combinationsz'TestIsinstanceBuiltin.test_combinations  s2   	 	 	
 E7CueS%w
-RqdD$d!>28LLL3I3IWR[["*R..Z%%e&8%-HHZ**5+;<<bgajj	J	  	0 	0Biimm$$B 0 0::a==bee  h////0	0 	0r   c                 b   d }t           j        t           j        t           j        f}d}|D ]}t	           ||                    }|                     t          j                  5 } |             d d d            n# 1 swxY w Y   |                     t          |j
                  |           d S )Nc                       fd}|S )Nc                  $    t          d           S r  r   )r  s   r   r  zGTestIsinstanceBuiltin.test_numba_types.<locals>.gen_w_arg.<locals>.impl  r  r   rO   r  s   ` r   r  z9TestIsinstanceBuiltin.test_numba_types.<locals>.gen_w_arg  r  r   z%Numba type classes.*are not supported)r
   IntegerFloatArrayr   rV  r	   ry  assertRegexrV   rt  )r	  r  r  rv  r  r  ru  s          r   test_numba_typesz&TestIsinstanceBuiltin.test_numba_types  s    	 	 	
 }ek5;@5 	9 	9Biimm$$B""6#566 &              S!122C8888		9 	9s   $A;;A?	A?	c                 ^   t           d             }|                      |            d           |                     |                                d           t           d             }|                      |            d           |                     |                                d           d S )Nc                  P    t          t          j        d          t                    S r  )r   r   intpr[   rO   r   r   r   zITestIsinstanceBuiltin.test_python_numpy_scalar_alias_problem.<locals>.foo$  s    bgbkk3///r   TFc                  6    t          dt          j                  S r  )r   r   r  rO   r   r   barzITestIsinstanceBuiltin.test_python_numpy_scalar_alias_problem.<locals>.bar+  s    a)))r   r   rg  rf  )r	  r   r  s      r   &test_python_numpy_scalar_alias_problemz<TestIsinstanceBuiltin.test_python_numpy_scalar_alias_problem  s    
 
	0 	0 
	0 	%%%...		* 	* 
	* 	%%%.....r   c                     t           d             }dD ]8}|                    |          } ||          }|                     ||           9d S )Nc                     t          | t                    r| dz   S t          | t                    rt          j        |           S t          | t
                    rt          |           S J )Nsome_string)r   rV   r,   r   r   r   r   r   s    r   r   z4TestIsinstanceBuiltin.test_branch_prune.<locals>.foo6  sa    !S!! =((Aw'' wqzz!Au%% 1vvr   )rD  y      ?       @)r   r   r  )r   rf  rg  )r	  r   r   r  r  s        r   test_branch_prunez'TestIsinstanceBuiltin.test_branch_prune2  sm     
	 	 
	 2 	, 	,A{{1~~H#a&&CS(++++	, 	,r   N)r  r  r  r  r  r  r  r  r  r  r  r  r  r  rO   r   r   r  r    s        , , ,., , ,. . .
, , ,(, , ,
2 2 26 6 6,0 0 0,9 9 9"/ / /&, , , , ,r   r  c                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
TestGetattrBuiltinc                     t           d             }dD ]4}|                      ||          |                    |                     5d S )Nc                 6    t          | d          } |            S )N__hash__r  )r   attrs     r   r   z7TestGetattrBuiltin.test_getattr_func_retty.<locals>.fooL  s    1j))D466Mr   r   Q@rd   r  r   r   r  rf  r	  r   r   s      r   test_getattr_func_rettyz*TestGetattrBuiltin.test_getattr_func_rettyJ  sa    		 	 
	 & 	< 	<A##CCFFCKKNN;;;;	< 	<r   c                     t           d             }t          d          D ]K}t          j        d|z            }|                      ||          |                    |                     Ld S )Nc                 "    t          | d          S )Nndimr  r   s    r   r   z8TestGetattrBuiltin.test_getattr_value_retty.<locals>.fooV  s    1f%%%r   r   r  )r   r   r   r  r  rf  )r	  r   r   rM  s       r   test_getattr_value_rettyz+TestGetattrBuiltin.test_getattr_value_rettyT  s    		& 	& 
	& q 	@ 	@A(519%%C##CCHHckk#.>.>????	@ 	@r   c                     t           d             }|                      |            |                                           d S )Nc                  ,    t          t          d          S )Npir  r   rO   r   r   r   z7TestGetattrBuiltin.test_getattr_module_obj.<locals>.fooa  s    2t$$$r   r  r	  r   s     r   test_getattr_module_objz*TestGetattrBuiltin.test_getattr_module_obj^  sI     
	% 	% 
	% 	s{{}}55555r   c                     t           d             }|                     t          j                  5 } |             d d d            n# 1 swxY w Y   d}|                     |t          |j                             d S )Nc                  >     t          t          d          d          S )Ncosr   r  rO   r   r   r   zGTestGetattrBuiltin.test_getattr_module_obj_not_implemented.<locals>.fooj  s    %72u%%a(((r   z-Returning function objects is not implementedr   rV  r	   ry  rs  rV   rt  r	  r   ru  rv  s       r   'test_getattr_module_obj_not_implementedz:TestGetattrBuiltin.test_getattr_module_obj_not_implementedg  s     
	) 	) 
	) v122 	fCEEE	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 >c3v/0011111s   AAAc                    dt           fd            }|                     t                    5 } |d           d d d            n# 1 swxY w Y   |                     d dt	          |j                             d S )N__not_a_valid_attr__c                 $    t          |           S r   r  )r   invalid_attrs    r   r   zCTestGetattrBuiltin.test_getattr_raises_attribute_error.<locals>.foox  s    1l+++r   gGz?z'float64' has no attribute '')r   rV  AttributeErrorrs  rV   rt  )r	  r   ru  r(  s      @r   #test_getattr_raises_attribute_errorz6TestGetattrBuiltin.test_getattr_raises_attribute_errort  s    -		, 	, 	, 	, 
	, ~.. 	&CIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	D\DDD&*++	- 	- 	- 	- 	-   AAAc                     t           d             }t          dd          D ]9\  }}|                      |||          |                    ||                     :d S )Nc                 $    t          | d|          S )Nr&  r  )r   defaults     r   r   z9TestGetattrBuiltin.test_getattr_with_default.<locals>.foo  s    14g>>>r   r  )N   r  )r   r   r  rf  )r	  r   r   r!   s       r   test_getattr_with_defaultz,TestGetattrBuiltin.test_getattr_with_default  s}     
	? 	? 
	? -/HII 	B 	BDAq##CC1IIs{{1a/@/@AAAA	B 	Br   c                     t           d             }|                     t          j                  5 } |dd           d d d            n# 1 swxY w Y   d}|                     |t          |j                             d S )Nc                 "    t          | |          S r   r  )r   nonliteral_strs     r   r   z<TestGetattrBuiltin.test_getattr_non_literal_str.<locals>.foo  s    1n---r   r   r  z(argument 'name' must be a literal stringr"  r#  s       r   test_getattr_non_literal_strz/TestGetattrBuiltin.test_getattr_non_literal_str  s    		. 	. 
	. v122 	fC:	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 9c3v/0011111s   A		AAc                     t           d             t           fd            }|                      |            |                                           d S )Nc                      dS )Ni90  rO   rO   r   r   default_hashzPTestGetattrBuiltin.test_getattr_no_optional_type_generated.<locals>.default_hash  s    5r   c                  ^    t          t          j        d          d          }  |             S )Nr   r&  )r  r   r[  )	hash_funcr8  s    r   r   zGTestGetattrBuiltin.test_getattr_no_optional_type_generated.<locals>.foo  s.    

,B ,. .I9;;r   r  )r	  r   r8  s     @r   'test_getattr_no_optional_type_generatedz:TestGetattrBuiltin.test_getattr_no_optional_type_generated  sm    		 	 
	 
	 	 	 	 
	
 	s{{}}55555r   N)r  r  r  r  r  r  r$  r+  r1  r5  r;  rO   r   r   r	  r	  G  s        < < <@ @ @6 6 62 2 2- - -B B B
2 
2 
26 6 6 6 6r   r	  c                       e Zd Zd Zd ZdS )TestHasattrBuiltinc                 T   t           d             }t          j        }dddt          j                            ||          t          j                            |          t          j	        d          dfD ]4}| 
                     ||          |                    |                     5d S )Nc                 B    t          | d          t          | d          fS )Nr  r&  hasattrr   s    r   r   z,TestHasattrBuiltin.test_hasattr.<locals>.foo  s"    1j))716L+M+MMMr   r   r  r  r   ABC)r   r
   r   r   r   r  r   r  r   r[  r  rf  )r	  r   tyr   s       r   test_hasattrzTestHasattrBuiltin.test_hasattr  s    		N 	N 
	N [T9ej&6&6r2&>&>*''++RWQZZ@ 	< 	<A##CCFFCKKNN;;;;	< 	<r   c                     t           d             }|                     t          j                  5 } |d           d d d            n# 1 swxY w Y   d}|                     |t          |j                             d S )Nc                 <    | dk    rd}nd}t          d|           d S )Nr   r  __str__r   r@  )predr  s     r   r   z;TestHasattrBuiltin.test_hasattr_non_const_attr.<locals>.foo  s-    axx! Atr   r  zGhasattr() cannot determine the type of variable "attr" due to a branch.)r   rV  r	   NumbaTypeErrorrs  rV   rt  r#  s       r   test_hasattr_non_const_attrz.TestHasattrBuiltin.test_hasattr_non_const_attr  s    
 
	 	 
	 v455 	CFFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	)c3v/0011111r,  N)r  r  r  rD  rJ  rO   r   r   r=  r=    s2        	< 	< 	<2 2 2 2 2r   r=  c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestStrAndReprBuiltinc                     t           d             }|                      |            |                                           d S )Nc                      t                      S r   rU   rO   r   r   r   z3TestStrAndReprBuiltin.test_str_default.<locals>.foo  s    55Lr   r  r  s     r   test_str_defaultz&TestStrAndReprBuiltin.test_str_default  sG    		 	 
	 	.....r   c                     t           d             }d}|                      ||          |                    |                     d S )Nc                 "    t          |           S )N)objectrU   r   s    r   r   z8TestStrAndReprBuiltin.test_str_object_kwarg.<locals>.foo  s    a=== r   za stringr  )r	  r   values      r   test_str_object_kwargz+TestStrAndReprBuiltin.test_str_object_kwarg  sR    		! 	! 
	! US[[%7%788888r   c                 N   t           d             }|                                 \  }} |            }dfd|_        t          |d          fd            }t          |d          d             }|                      ||          |                    |                     d S )Nc                      t          |           S r   rU   r   s    r   r   z<TestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.foo      q66Mr   zthis is the dummy object strc                     S r   rO   r   string_reprs    r   r  zATestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.<lambda>  s    K r   rG  c                     fd}|S )Nc                     S r   rO   dummyrZ  s    r   r  zVTestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.ol_dummy_string.<locals>.impl  	    ""r   rO   r^  r  rZ  s     r   ol_dummy_stringzHTestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.ol_dummy_string  !    # # # # #Kr   __repr__c                     d }|S )Nc                     dS )NzSHOULD NOT BE CALLEDrO   )r^  s    r   r  zTTestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.ol_dummy_repr.<locals>.impl  s    --r   rO   )r^  r  s     r   ol_dummy_reprzFTestStrAndReprBuiltin.test_str_calls_dunder_str.<locals>.ol_dummy_repr  s    . . .Kr   )r   make_dummy_typerG  r   rg  rf  )r	  r   rE  	DummyTyper^  ra  rf  rZ  s          @r   test_str_calls_dunder_strz/TestStrAndReprBuiltin.test_str_calls_dunder_str  s    		 	 
	  //11y4////	I	.	.	 	 	 	 
/	.	
 
J	/	/	 	 
0	/	
 	US[[%7%788888r   c                    t           d             }|                                 \  }} |            }dfd|_        t          |d          fd            }|                      ||          |                    |                     d S )Nc                      t          |           S r   rU   r   s    r   r   z>TestStrAndReprBuiltin.test_str_falls_back_to_repr.<locals>.foo  rW  r   zthis is the dummy object reprc                     S r   rO   rY  s    r   r  zCTestStrAndReprBuiltin.test_str_falls_back_to_repr.<locals>.<lambda>       [ r   rc  c                     fd}|S )Nc                     S r   rO   r]  s    r   r  zVTestStrAndReprBuiltin.test_str_falls_back_to_repr.<locals>.ol_dummy_repr.<locals>.impl  r_  r   rO   r`  s     r   rf  zHTestStrAndReprBuiltin.test_str_falls_back_to_repr.<locals>.ol_dummy_repr  rb  r   )r   rg  rc  r   rg  rf  )r	  r   rE  rh  r^  rf  rZ  s         @r   test_str_falls_back_to_reprz1TestStrAndReprBuiltin.test_str_falls_back_to_repr  s    		 	 
	  //11y50000	J	/	/	 	 	 	 
0	/	
 	US[[%7%788888r   c                     t           d             }dD ]4}|                      ||          |                    |                     5d S )Nc                 $    t          |           | fS r   )reprr   s    r   r   z,TestStrAndReprBuiltin.test_repr.<locals>.foo  s    77A:r   )abcF{   r  r  s      r   	test_reprzTestStrAndReprBuiltin.test_repr
  sa    		 	 
	 % 	5 	5ASSVVS[[^^4444	5 	5r   c                 >   |                                  \  }             }dt          |           dfd_        t          |          fd            }t          d             }|                      ||          |                    |                     d S )Nz<object type:>c                     S r   rO   rY  s    r   r  z:TestStrAndReprBuiltin.test_repr_fallback.<locals>.<lambda>  rm  r   c                     |j                             |j                                                 }|j                             |d          S ry   )pyapiunserializeserialize_objectcall_function_objargs)r  objr   clazobjrE  s       r   	box_dummyz;TestStrAndReprBuiltin.test_repr_fallback.<locals>.box_dummy  s@    g))!'*B*B5*I*IJJG700"===r   c                      t          |           S r   rU   r   s    r   r   z5TestStrAndReprBuiltin.test_repr_fallback.<locals>.foo!  rW  r   )rg  r   rc  r   r   rg  rf  )r	  rh  r^  r  r   rE  rZ  s        @@r   test_repr_fallbackz(TestStrAndReprBuiltin.test_repr_fallback  s    
  //11y6fUmm6660000	Y	> 	> 	> 	> 
	> 
	 	 
	 	US[[%7%788888r   N)	r  r  r  rO  rT  ri  rp  rv  r  rO   r   r   rL  rL    sn        / / /9 9 99 9 929 9 9&5 5 59 9 9 9 9r   rL  __main__re  )\r+  r   sysr   collectionsr   numpyr   unittestwarningsnumbar   r   r   r   
numba.corer	   r
   r   numba.tests.supportr   r   r   r   numba.core.extendingr   r   rq  r%  r  r   r"   r&   r)   r-   r0   r<   r?   rA   rE   rH   rL   rP   rS   rW   r]   rb   rf   ri   rm   rq   rt   rw   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r	  r=  rL  r  mainrO   r   r   <module>r     s           



  " " " " " "       * * * * * * * * * * * * , , , , , , , , , ,2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 d#"E22 $'                   " " "      
                                , , ,                            $ $ $ $
  ,    &
 
 
            e$ e$ e$ e$ e$8 e$ e$ e$P9 9 9 9 9X 9 9 9Bm, m, m, m, m,H m, m, m,`]6 ]6 ]6 ]6 ]6( ]6 ]6 ]6@!2 !2 !2 !2 !2( !2 !2 !2HZ9 Z9 Z9 Z9 Z9OX Z9 Z9 Z9| zHMOOOOO r   