+
    :ii
                    d	   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t
^ RIHt ^ RIt^ RIHtHtHtHtHt ^ RIHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t H!t!H"t"H#t#H$t$H%t% ^ R	I&H't' ^ RI(t(^ R
I)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t; ^ RI<H=t=H>t>H?t?H@t@HAtA ^RIBHCtCHDtD  ^ RIEHFu HGtH  ! R R]J4      tK ! R R]P                  4      tM]M! R4      tN]K! 4       tO]*P                  ! ]K4      R 4       tQ]-! ]M]P                  4      R 4       tSR tT]2! ]M4      ! ]1P                  4       ]4! ]M4      R 4       tVR tW]W! R4      w  tXtYtZ]4! ]X4      R 4       t[R}R lt\R t]]+! ]\4      ! ]]4      t^],! ]\4      ],! ]\]P                  4      R 4       4       t`],! ]\]P                  4      R 4       tb]? ! R R]=4      4       tc],! R]M4      R  4       tdR! teR" tfR# tg].! ]e4      R$ 4       th].! ]e4      R% 4       ti].! ]j4      R& 4       tk].! ]P                  4      R' 4       tm].! ]P                  4      R( 4       to].! ]P                  4      R) 4       tq].! ]P                  4      R* 4       tsR+ ttR, tu].! ]P                  4      R- 4       twR. txR/ tyR0 tzR1 t{R2 t|]0! ]MR34      R4 4       t}R5 t~R6 tR7 tR8 tR9 tR: tR; tR< tR= tR> tR? tR@ tRA t].! ]4      RB 4       tRC tRD tRE t]@! ]4       ! RF RG]A4      4       tRH t ! RI RJ]J4      t ! RK RL]EP$                  4      t]2! ]4       ! RM RN]1P                  4      4       t]@! ]]! ]4      4       ]! ]4      RO 4       t].! ]
EP,                  4      RP 4       t ! RQ RR] 4      t ! RS RT] 4      t ! RU RV] 4      tRW t]% ! RX RY] 4      4       tRZ t ! R[ R\] 4      t ! R] R^](P@                  4      t ! R_ R`](P@                  4      t]0! ]MRaRbRc/Rd7      Re 4       t]0! ]MRfRbRg/Rd7      Rh 4       t]/! ]MRiRbRc/Rd7      Rj 4       t]/! ]MRkRbRg/Rd7      Rl 4       t ! Rm Rn] 4      t ! Ro Rp] 4      tRq t]% ! Rr Rs] 4      4       t ! Rt Ru] 4      t ! Rv Rw] 4      t ! Rx Ry] 4      t ! Rz R{] 4      t]R|8X  d   ](EP\                  ! 4        R# R#   ]I d    RtH ELi ; i)~    N)ir)njitjit	vectorizeguvectorizeobjmode)typeserrorstypingcompilercgutils)type_inference_stage)
cpu_target)lower_constant)TestCasecaptured_stdouttemp_directoryoverride_configrun_in_new_process_in_cache_dirskip_if_typeguard)LoweringError)typeof_impltype_callablelower_builtin
lower_castoverloadoverload_attributeoverload_methodmodelsregister_modelboxunboxNativeValue	intrinsic
_Intrinsicregister_jitableget_cython_function_address	is_jittedoverload_classmethod)ConcreteTemplate	signatureinferinfer_globalAbstractTemplate)IndexSeriesc                       ] tR t^JtRtR# )MyDummy N__name__
__module____qualname____firstlineno____static_attributes__r3       X/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_extending.pyr2   r2   J       r:   r2   c                   &   a  ] tR t^Nt o R tRtV tR# )MyDummyTypec                j    \        V\        P                  4      '       d   ^ RIHp VP
                  # R# )r   )
ConversionN)
isinstancer	   Numbernumba.core.typeconvr@   safe)selfcontexttotyr@   s   &&& r;   can_convert_toMyDummyType.can_convert_toO   s%    dELL))6??" *r:   r3   N)r5   r6   r7   r8   rH   r9   __classdictcell____classdict__s   @r;   r>   r>   N   s     # #r:   r>   mydummyc                     \         # N)mydummy_type)valcs   &&r;   typeof_mydummyrS   Z   s    r:   c                &    V P                  V^*4      # )z*
Implicit conversion from MyDummy to int.
)get_constant)rF   builderfromtyrG   rQ   s   &&&&&r;   mydummy_to_numberrX   _   s    
 b))r:   c                      \         # rO   )rM   r3   r:   r;   	get_dummyrZ   g   s    Nr:   c                 H    \        VP                  P                  4       4      # rO   r#   rF   get_dummy_valuetypobjrR   s   &&&r;   unbox_indexra   n       qyy00233r:   c                    a  ! R  R\         4      p ! R R\        P                  4      pV! V 4      o\        P                  ! V4      V3R l4       p\        V4      ! \        P                  4       W!S3# )c                       ] tR t^xtRtR# )(base_dummy_type_factory.<locals>.DynTyper3   Nr4   r3   r:   r;   DynTypere   x       r:   rf   c                       ] tR t^{tRtR# ),base_dummy_type_factory.<locals>.DynTypeTyper3   Nr4   r3   r:   r;   DynTypeTyperi   {   rg   r:   rj   c                    < S# rO   r3   )rQ   rR   dyn_type_types   &&r;   rS   /base_dummy_type_factory.<locals>.typeof_mydummy   s	    r:   )objectr	   Opaquer   registerr    r   OpaqueModel)namerf   rj   rS   rl   s   &   @r;   base_dummy_type_factoryrs   w   sh    & ell   %M'" # ; 2 23..r:   mydummy2c                 H    \        VP                  P                  4       4      # rO   r\   r^   s   &&&r;   unbox_index2rv      rb   r:   c                     \         hrO   NotImplementedErrorxs   &r;   func1r|          
r:   c                     RR lpV# )Nc                     V R \         P                  39   d   \         P                  # \        V \         P                  4      '       d   V # R # rO   )r	   noneint32rA   Floatrz   s   &r;   typertype_func1_.<locals>.typer   s8    uzz"";;5;;''H (r:   rO   r3   )rF   r   s   & r;   type_func1_r      s     Lr:   c                 :    V P                  VP                  ^*4      # *   )rU   return_type)rF   rV   sigargss   &&&&r;   func1_nullaryr      s     44r:   c                 ,    R  pV P                  WW#4      # )c                 <    \         P                  ! ^V ,          4      # )   )mathsqrtrz   s   &r;   
func1_implfunc1_unary.<locals>.func1_impl   s    yyQr:   )compile_internal)rF   rV   r   r   r   s   &&&& r;   func1_unaryr      s      ##GCCr:   c                   B    ] tR t^tRt]! ]P                  ]4      .t	Rt
R# )
PrintDummy
print_itemr3   N)r5   r6   r7   r8   keyr+   r	   r   rP   casesr9   r3   r:   r;   r   r      s    
Cuzz<01Er:   r   r   c                     Vw  pV P                  V4      pVP                  VP                  R 4      4      pVP                  V4       VP	                  V4       V P                  4       # )zhello!)get_python_apiunserializeserialize_objectprint_objectdecrefr]   )rF   rV   r   r   r{   pyapistrobjs   &&&&   r;   print_dummyr      s]    
CQ""7+Eu55h?@F	v	LL""$$r:   c                     \         hrO   rx   condr{   ys   &&&r;   wherer      r}   r:   c                0    \         P                  ! WV4      # )z0
Wrap np.where() to allow for keyword arguments
)npr   r   s   &&&r;   np_wherer      s     88DQr:   c                     \        WVR 7      # ))r   r{   )r   r   s   &&&r;   
call_wherer      s    a  r:   c                8   \        V \        P                  4      '       dz   VP                  VP                  8w  d   \        P
                  ! R4      h\        ;QJ d    R WV3 4       F  '       d   K   RM	  RM! R WV3 4       4      '       d   R pV# R pV# R# )z
Implement where() for arrays.
"x and y should have the same dtypec              3   >   "   T F  qP                   R 8H  x  K  	  R# 5i)CN)layout).0tys   & r;   	<genexpr>(overload_where_arrays.<locals>.<genexpr>   s     7,ByyC,s   FTc                |   V P                   pVP                   V8w  g   VP                   V8w  d   \        R4      h\        P                  ! V4      pV P                  pVP                  pVP                  pVP                  p\        V P                  4       F#  p	WY,          '       d	   Wi,          MWy,          W&   K%  	  V# )z-
Fast implementation for C-contiguous arrays
%all inputs should have the same shape)shape
ValueErrorr   
empty_likeflatrangesize)
r   r{   r   r   rescfxfyfrfis
   &&&       r;   
where_impl)overload_where_arrays.<locals>.where_impl   s     

77e#qww%'7$%LMMmmA&YYVVVVXXtyy)A%'UUBEBE *
r:   c                   V P                   pVP                   V8w  g   VP                   V8w  d   \        R4      h\        P                  ! V4      p\        P                  ! V 4       F  w  rVV'       d	   W,          MW%,          WE&   K!  	  V# )z)
Generic implementation for other arrays
r   )r   r   r   r   ndenumerate)r   r{   r   r   r   idxrR   s   &&&    r;   r   r      sg     

77e#qww%'7$%LMMmmA& nnT2FC)*qvCH 3
r:   N)rA   r	   Arraydtyper
   TypingErrorallr   r{   r   r   s   &&& r;   overload_where_arraysr      s     $$$77agg$$%IJJ 374A,733374A,777< 
 K %r:   c                    \        V \        P                  4      '       g"   W8w  d   \        P                  ! R4      hR pV# R# )z 
Implement where() for scalars.
z!x and y should have the same typec                R    V '       d   TMTp\         P                  ! V4      pW4R&   V# )z(
Scalar where() => return a 0-dim array
r3   )r   r   )r   r{   r   scalarrs   &&&  r;   r   *overload_where_scalars.<locals>.where_impl  s'     1!D--%CGJr:   N)rA   r	   r   r
   r   r   s   &&& r;   overload_where_scalarsr     s>    
 dEKK((6$$%HII	  )r:   c                 <    \        V \        4      '       d   R  pV# R# )c                     ^# )   r3   args   &r;   len_impl$overload_len_dummy.<locals>.len_impl-      r:   NrA   r>   )r   r   s   & r;   overload_len_dummyr   )  s     #{##	  $r:   c                     \        V \        \        34      '       d$   \        V\        \        34      '       d   R  pV# R# R# )c                     ^*# r   r3   arg1arg2s   &&r;   dummy_add_impl*overload_add_dummy.<locals>.dummy_add_impl9  r   r:   NrA   r>   MyDummyType2)r   r   r   s   && r;   overload_add_dummyr   3  s?    $l344{L): :	 :4r:   c                     \        V \        4      '       d(   \        V\        P                  4      '       d   R  pV# R# R# )c                     \        R W4       R# )delNprintr`   r   s   &&r;   dummy_delitem_impl2overload_dummy_delitem.<locals>.dummy_delitem_implC  s    %"r:   NrA   r>   r	   Integer)r`   r   r   s   && r;   overload_dummy_delitemr   ?  s5    #{##
3(F(F	# "! )G#r:   c                     \        V \        4      '       d(   \        V\        P                  4      '       d   R  pV# R# R# )c                     V^{,           # ){   r3   r   s   &&r;   dummy_getitem_impl2overload_dummy_getitem.<locals>.dummy_getitem_implM  s    9r:   Nr   )r`   r   r   s   && r;   overload_dummy_getitemr   I  s5    #{##
3(F(F	 "! )G#r:   c                     \        \        V \        4      \        V\        P                  4      \        V\        P                  4      .4      '       d   R  pV# R# )c                     \        W4       R # rO   r   r`   r   rQ   s   &&&r;   dummy_setitem_impl2overload_dummy_setitem.<locals>.dummy_setitem_impl]  s	    #Or:   N)r   rA   r>   r	   r   )r`   r   rQ   r   s   &&& r;   overload_dummy_setitemr   S  sL    
sK(sEMM*sEMM*	
 	 "!r:   c                 .    \         P                  ! W4      # rO   operatoraddr   s   &&r;   call_add_operatorr  c      <<##r:   c                     W,           # rO   r3   r   s   &&r;   call_add_binopr  g  s
    ;r:   c                     \        V \        \        34      '       d$   \        V\        \        34      '       d   R  pV# R# R# )c                     ^*# r   r3   r   s   &&r;   dummy_iadd_impl,overload_iadd_dummy.<locals>.dummy_iadd_implq  r   r:   Nr   )r   r   r  s   && r;   overload_iadd_dummyr  k  s?    $l344{L): :	 :4r:   c                 .    \         P                  ! W4      # rO   r  r   s   &&r;   call_iadd_operatorr  w  r  r:   c                     W,          p V # rO   r3   r   s   &&r;   call_iadd_binopr  {  s    LDKr:   c                 
    W R # rO   r3   r   s   &&r;   call_delitemr    s    r:   c                     W,          # rO   r3   r   s   &&r;   call_getitemr    s	    8Or:   c                     W V&   R # rO   r3   r   s   &&&r;   call_setitemr    s	    Hr:   lengthc                     R  pV# )c                     \        V 4      # rO   lenr   s   &r;   imp#overload_method_length.<locals>.imp  s    3xr:   r3   )r   r  s   & r;   overload_method_lengthr    s     Jr:   c                 "    V P                  4       # rO   )r  rz   s   &r;   cache_overload_method_usecaser!    s    88:r:   c                      \        4       # rO   r|   r3   r:   r;   call_func1_nullaryr$    s	    7Nr:   c                     \        V 4      # rO   r#  rz   s   &r;   call_func1_unaryr&    s    8Or:   c                     \        V 4      # rO   r  rz   s   &r;   len_usecaser(    s    q6Mr:   c                     \        V 4       R # rO   r   rz   s   &r;   print_usecaser*    s	    	!Hr:   c                     W,          # rO   r3   )r{   r   s   &&r;   getitem_usecaser,    s	    6Mr:   c                 V    \         P                  ! \         P                  ! V 4      4      # rO   )r   cossinrz   s   &r;   npyufunc_usecaser0    s    66"&&)r:   c                     V P                   # rO   )_datarz   s   &r;   get_data_usecaser3    s    77Nr:   c                     V P                   # rO   )_indexrz   s   &r;   get_index_usecaser6    s    88Or:   c                     V P                   # rO   )is_monotonic_increasingrz   s   &r;   is_monotonic_usecaser9    s    $$$r:   c                     \        W4      # rO   )r0   )dataindexs   &&r;   make_series_usecaser=    s    $r:   c                 $    V P                  W4      # rO   )clip)r{   lohis   &&&r;   clip_usecaserB    s    66">r:   c                      \         # rO   r   r3   r:   r;   return_non_boxablerE    s    Ir:   c                      R  p V # )c                      \         # rO   rD  r3   r:   r;   r  (overload_return_non_boxable.<locals>.imp  s    	r:   r3   )r  s    r;   overload_return_non_boxablerI    s     Jr:   c                 8    \        4       pVP                  V 4      # rO   )rE  arange)szmods   & r;   non_boxable_ok_usecaserN    s    

C::b>r:   c                      \        4       # rO   )rE  r3   r:   r;   non_boxable_bad_usecaserP    s    r:   c                     R # rO   r3   )fs   &r;   mk_func_inputrS    s    r:   c                   &   a  ] tR tRt o R tRtV tR# )MkFuncTypingi  c                    \        V^ ,          \        P                  4      '       g   Q h\        \        P                  .VO5!  # r   )rA   r	   MakeFunctionLiteralr+   r   )rE   r   kwss   &&&r;   genericMkFuncTyping.generic  s3    $q'5#<#<====+d++r:   r3   N)r5   r6   r7   r8   rZ  r9   rJ   rK   s   @r;   rU  rU    s     , ,r:   rU  c                      \        R  4       R# )c                     V # rO   r3   as   &r;   <lambda>#mk_func_test_impl.<locals>.<lambda>  s    Ar:   N)rS  r3   r:   r;   mk_func_test_implrb    s
    +r:   c                       ] tR tRtRtR# )MyClassi  r3   Nr4   r3   r:   r;   rd  rd    r<   r:   rd  c                   D   a a ] tR tRt oV 3R ltR tR tR tRtVt	V ;t
# )CallableTypeRefi  c                   < Wn         / V n        . V n        \        \        V `  R P                  V P                   4      4       R# )zcallable_type_ref[{}]N)instance_typesig_to_impl_keycompiled_templatessuperrf  __init__format)rE   rh  	__class__s   &&r;   rl  CallableTypeRef.__init__  s>    *!"$ot- /55;VD<N<N5O	Qr:   c                $   R pVP                   \        V 4      ,           F[  p VP                  W#4      p\        VR/ 4      pW&9   d4   Wb,          V P                  V&   V P
                  P                  V4        V# K]  	  V#   \         d     Ko  i ; i)N_compiled_overloads)
_functionstypeapplygetattrri  rj  append	Exception)rE   rF   r   rY  res_sigtemplatecompiled_ovldss   &&&&   r;   get_call_typeCallableTypeRef.get_call_type  s    **4:66H	"..3 ")3H"!M)4B4HD((1++228< * 7   s   B  BBc                P    \        V P                  P                  4       4      pVR 3# T)listri  keys)rE   sigss   & r;   get_call_signatures#CallableTypeRef.get_call_signatures  s%    D((--/0Tzr:   c                (    V P                   V,          # rO   )ri  )rE   r   s   &&r;   get_impl_keyCallableTypeRef.get_impl_key  s    ##C((r:   )rj  rh  ri  )r5   r6   r7   r8   rl  r{  r  r  r9   rJ   __classcell__rn  rL   s   @@r;   rf  rf    s     Q") )r:   rf  c                   &   a  ] tR tRt o R tRtV tR# )CallableTypeModeli  c                F    \         P                  P                  WV4       R # rO   )r   rq   rl  )rE   dmmfe_types   &&&r;   rl  CallableTypeModel.__init__  s    ##Dw7r:   r3   N)r5   r6   r7   r8   rl  r9   rJ   rK   s   @r;   r  r    s     8 8r:   r  c                 "    V P                  4       # rO   )r]   )rF   rV   r   pyvals   &&&&r;   constant_callable_typerefr  !  s    ""$$r:   c                 <    \        V \        4      '       d   R  pV# R# )c                     R # )   >[= r3   r`   s   &r;   r  overload_np_exp.<locals>.imp-  s    r:   Nr   r`   r  s   & r;   overload_np_expr  )  s     #{##	 
 $r:   c                   ~   a  ] tR tRt o RtR t]P                  R 4       tR t	]P                  R 4       t
R tRtV tR	# )
TestLowLevelExtendingi4  z,
Test the low-level two-tier extension API.
c                    \         p\        R R7      ! V4      pV P                  V! 4       ^*4       \        p\        R R7      ! V4      pV P                  V! R4      ^*4       V P                  V! R4      R4       R# )TnopythonNg      2@g      @)r$  r   assertPreciseEqualr&  rE   pyfunccfuncs   &  r;   
test_func1 TestLowLevelExtending.test_func1<  sd    #T"6*,!T"6*dR0dS1r:   c                &    V P                  4        R # rO   )r  rE   s   &r;   test_func1_isolated)TestLowLevelExtending.test_func1_isolatedE  s    r:   c                d    V P                  \        \        4       V P                  \        4       R # rO   )assertIs
type_func1r   assertIsNotNoner  s   &r;   !test_type_callable_keeps_function7TestLowLevelExtending.test_type_callable_keeps_functionI  s    j+.Z(r:   c                    \         p\        \        P                  ! 4       4      ! V4      pV P	                  V! 4       R 4       R# )g      E@N)rZ   r   r	   float64r  r  s   &  r;   test_cast_mydummy'TestLowLevelExtending.test_cast_mydummyM  s.    U]]_&v..r:   c                   \         P                  ! \        4      p\        P                  p\        P
                  pVP                  4        VP                  4        \        W#VRR4      pT P                  \        ;QJ d@    R VP                  P                  4        4       F  '       g   K   R4       R# 	  R4       R# ! R VP                  P                  4        4       4      4       R# )zFmake sure make_function is passed to typer class as a literal
        Nc              3   V   "   T F  p\        V\        P                  4      x  K!  	  R # 5irO   )rA   r	   rX  )r   r_  s   & r;   r   =TestLowLevelExtending.test_mk_func_literal.<locals>.<genexpr>^  s'      4A 1e77884s   ')TFr3   )r   run_frontendrb  r   typing_contexttarget_contextrefreshr   
assertTrueanytypemapvalues)rE   test_ir	typingctx	targetctx
typing_ress   &    r;   test_mk_func_literal*TestLowLevelExtending.test_mk_func_literalS  s     ''(9:--	--	))*.0
C #++224CC	
	
 #++224 	
r:   r3   N)r5   r6   r7   r8   __doc__r  r   run_test_in_subprocessr  r  r  r  r9   rJ   rK   s   @r;   r  r  4  sR     2 $$ %) $$/ %/

 
r:   r  c                   `   a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tRtV tR# )TestPandasLikeie  zY
Test implementing a pandas-like Index object.
Also stresses most of the high-level API.
c                    \        \        P                  ! ^4      4      p\        RR7      ! \        4      pV P                  V! V4      ^4       R# )   Tr  N)r/   r   rK  r   r(  r  )rE   r   r  s   &  r;   test_index_lenTestPandasLike.test_index_lenk  s7    "))A,T";/a!,r:   c                2   \        \        P                  ! . RO4      4      p\        RR7      ! \        4      pV P                  V! V^4      ^4       V! V\        ^R4      4      pV P                  V\         4       V P                  \        V4      ^R.4       R# )r   Tr  Nr      r  )
r/   r   r   r   r,  r  sliceassertIsInstanceassertEqualr  rE   r   r  iis   &   r;   test_index_getitem!TestPandasLike.test_index_getitemp  st    "((;'(T"?3aQ/1eAtn%b%(bAr7+r:   c                L   \        \        P                  ! . RO4      4      p\        RR7      ! \        4      pV! V4      pV P                  V\         4       V P                  VP                  \        P                  ! \        P                  ! VP                  4      4      4       R# )z'
Check Numpy ufunc on an Index object.
Tr  Nr  )
r/   r   r   r   r0  r  r  r2  r.  r/  r  s   &   r;   test_index_ufuncTestPandasLike.test_index_ufuncx  si     "((;'(T"#341Xb%("&&*ABr:   c                    \        \        P                  ! . RO4      4      p\        RR7      ! \        4      pV! V4      pV P                  W1P                  4       R# )r   Tr  Nr  )r/   r   r   r   r3  r  r2  )rE   r   r  r;  s   &   r;   test_index_get_data"TestPandasLike.test_index_get_data  s>    "((;'(T"#34QxdGG$r:   c                    \        R R7      ! \        4      p. ROR3. ROR 3. R 33 F=  w  r#\        \        P                  ! V4      4      pV! V4      pV P                  WS4       K?  	  R# )Tr  FN)r  r      )r  r  r   )r   r9  r/   r   r   r  )rE   r  r  expectedr   gots   &     r;   test_index_is_monotonic&TestPandasLike.test_index_is_monotonic  sf     T"#78J!
F
 bhhv&'A(CS+!
r:   c                    \        \        P                  ! . RO4      4      p\        \        P                  ! . RO4      V4      p\        RR7      ! \        4      pV P                  V! V4      ^4       R# r   Tr  N)r      r  g      ?g      @      @)r/   r   r   r0   r  r   r(  r  )rE   r   sr  s   &   r;   test_series_lenTestPandasLike.test_series_len  sM    "((9%&2::o.2T";/a!,r:   c                @   \        \        P                  ! . RO4      4      p\        \        P                  ! . RO4      V4      p\        RR7      ! \        4      pV! V4      pV P                  V\         4       V P                  VP                  VP                  4       R# r  )
r/   r   r   r0   r  r   r6  r  r  r2  )rE   r   r  r  r  s   &    r;   test_series_get_index$TestPandasLike.test_series_get_index  si    "((9%&2::o.2T"#45Ahc5)cii)r:   c                0   \        \        P                  ! . RO4      4      p\        \        P                  ! . RO4      V4      p\        RR7      ! \        4      pV! V4      pV P                  V\        4       V P                  VP                  \         4       V P                  VP                  P                  VP                  4       V P                  VP                  \        P                  ! \        P                  ! VP                  4      4      4       R# )z(
Check Numpy ufunc on an Series object.
Tr  Nr     r   r  )r/   r   r   r0   int64r   r0  r  r5  r  r2  r  _valuesr.  r/  rE   r   r  r  sss   &    r;   test_series_ufunc TestPandasLike.test_series_ufunc  s     "((;'(288I&*T"#341Xb&)bii/biiooqww/

BFF266!))3D,EFr:   c                   \        \        P                  ! . RO4      4      p\        P                  ! . RO4      p\	        RR7      ! \
        4      pV! W!4      pV P                  V\        4       V P                  VP                  \         4       V P                  VP                  P                  VP                  4       V P                  VP                  V4       R# )r   Tr  Nr  r  )r/   r   r   r  r   r=  r  r0   r5  r  r2  r  )rE   r   dr  r  s   &    r;   test_series_constructor&TestPandasLike.test_series_constructor  s    "((;'(JJ'T"#67Akc6*cjj%0cjj&&0ckk1%r:   c                   \        \        P                  ! . RO4      4      p\        \        P                  ! . RO4      V4      p\        RR7      ! \        4      pV! VRR4      pV P                  V\        4       V P                  VP                  \         4       V P                  VP                  P                  VP                  4       V P                  VP                  \        P                  ! . RO4      4       R# )	r   Tr  皙?      @Nr  r  )r  r  r  )r/   r   r   r0   r  r   rB  r  r5  r  r2  r  r  r  s   &    r;   test_series_clipTestPandasLike.test_series_clip  s    "((;'(2::o.2T"<01c3b&)bii/biiooqww/

BJJ,GHr:   r3   N)r5   r6   r7   r8   r  r  r  r  r  r  r  r  r  r  r  r9   rJ   rK   s   @r;   r  r  e  sE     
-
,C%,-*G&I Ir:   r  c                      a  ] tR tRt o RtR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )TestHighLevelExtendingi  z#
Test the high-level combined API.
c           	     f  a a \         p\        RR7      ! V4      oVV 3R lpV! ^R^R7       V! R^^4       V! \        P                  ! . RO4      \        P                  ! . RO4      \        P                  ! . R	O4      4       S P                  \        P                  4      ;_uu_ 4       pS! \        P                  ! . 4      \        P                  ! . 4      \        P                  ! . 4      4       RRR4       S P                  R\        XP                  4      4       R#   + '       g   i     L7; i)
z.
Test implementing a function with @overload.
Tr  c                  P   < \        V / VB pS! V / VB pSP                  W#4       R # rO   )r   r  )r   kwargsr  r  r  rE   s   *,  r;   check0TestHighLevelExtending.test_where.<locals>.check  s/    00H((C##H2r:   )r{   r   r   Nr   )TFTr  )r  r  r  )r   r   r   bool_r   assertRaisesr
   r   r  assertInstr	exception)rE   r  r  raisesr  s   f   @r;   
test_where!TestHighLevelExtending.test_where  s     T"6*	3
 	"dAqHH()HHYHHY	
 v1122f"((2,bhhrl; 30#f6F6F2G	
 32s   *AD  D0	c                    \        RR7      ! \        4      pV P                  V! \        4       4      ^4       V P                  V! ^^.4      ^4       R# )z>
Test re-implementing len() for a custom type with @overload.
Tr  N)r   r(  r  r2   rE   r  s   & r;   test_lenTestHighLevelExtending.test_len  sB     T";/gi 0"5q!fq1r:   c                   \        RR7      ! \        4      p\        4       ;_uu_ 4        V! \        4       4       V P	                  \
        P                  P                  4       R4       RRR4       R#   + '       g   i     R# ; i)z@
Test re-implementing print() for a custom type with @overload.
Tr  zhello!
N)r   r*  r   r2   r  sysstdoutgetvaluer  s   & r;   
test_print!TestHighLevelExtending.test_print  sR     T"=1')SZZ002J? s   ?A22B	c                   \         p\        RR7      ! V4      pV P                  V! ^^4      ^4       V P                  V! \        4       \        4       4      ^*4       V P                  V! \	        4       \	        4       4      ^T4       R# zG
Test re-implementing operator.add() for a custom type with @overload.
Tr  N)r  r   r  MyDummy2r2   r  s   &  r;   test_add_operator(TestHighLevelExtending.test_add_operator  sf     #T"6*aQ/hj(* =rB 	gi ;R@r:   c                   \         p\        RR7      ! V4      pV P                  V! ^^4      ^4       V P                  V! \        4       \        4       4      ^*4       V P                  V! \	        4       \	        4       4      ^T4       R# zI
Test re-implementing '+' for a custom type via @overload(operator.add).
Tr  N)r  r   r  r  r2   r  s   &  r;   test_add_binop%TestHighLevelExtending.test_add_binop  sf      T"6*aQ/hj(* =rB 	gi ;R@r:   c                   \         p\        RR7      ! V4      pV P                  V! ^^4      ^4       V P                  V! \        4       \        4       4      ^*4       V P                  V! \	        4       \	        4       4      ^T4       R# r  )r  r   r  r  r2   r  s   &  r;   test_iadd_operator)TestHighLevelExtending.test_iadd_operator  sf     $T"6*aQ/hj(* =rB 	gi ;R@r:   c                   \         p\        RR7      ! V4      pV P                  V! ^^4      ^4       V P                  V! \        4       \        4       4      ^*4       V P                  V! \	        4       \	        4       4      ^T4       R# r  )r  r   r  r  r2   r  s   &  r;   test_iadd_binop&TestHighLevelExtending.test_iadd_binop!  sf     !T"6*aQ/hj(* =rB 	gi ;R@r:   c                >   \         p\        R R7      ! V4      p\        4       pRp\        4       ;_uu_ 4       p V! VR4       RRR4       Ve   VhV P                  XP                  4       R4       R#   \         d   pTp Rp?LBRp?ii ; i  + '       g   i     LR; i)Tr  NA  zdel hello! 321
)r  r   r2   r   rw  r  r  rE   r  r  r`   eoutexcs   &      r;   test_delitem#TestHighLevelExtending.test_delitem/  s    T"6*i#c3  =G);<   s.   B	A22B	=B?BB		BB	c                x    \         p\        R R7      ! V4      pV P                  V! \        4       R4      R4       R# )Tr  r(  Ni  )r  r   r  r2   r  s   &  r;   test_getitem#TestHighLevelExtending.test_getitem?  s/    T"6*gi 5yAr:   c                @   \         p\        R R7      ! V4      p\        4       pRp\        4       ;_uu_ 4       p V! VR^{4       RRR4       Ve   VhV P                  XP                  4       R4       R#   \         d   pTp Rp?LBRp?ii ; i  + '       g   i     LR; i)Tr  Nr(  z321 123
)r  r   r2   r   rw  r  r  r)  s   &      r;   test_setitem#TestHighLevelExtending.test_setitemD  s    T"6*i#c3$  =G5   s.   B
A33B
>B BB

BB	c                   \        RR7      ! \        4      p^
pV! V4      p\        V4      p\        P                  P	                  WC4       \        RR7      ! \
        4      pV P                  \        4      ;_uu_ 4       pV! 4        RRR4       \        XP                  4      pRpV P                  W4       R#   + '       g   i     L:; i)zG
Test overloading whose return value cannot be represented in CPython.
Tr  Nzcannot convert native Module)r   rN  r   testingassert_equalrP  r  	TypeErrorr	  r
  r  )	rE   ok_cfuncnr  expect	bad_cfuncr  errmsg	expectmsgs	   &        r;   test_no_cpython_wrapper.TestHighLevelExtending.test_no_cpython_wrapperT  s     %&<=qk'*


,&'>?	y))VK *V%%&2	i(	 *)s   >B88C	c                   RR lpRpRR lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        XP                  4      pV P                  W%4       V P                  RV4       V P                  RV4       V P                  RV4       RR lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  R	V4       V P                  R
V4       V P                  RV4       RR lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  RV4       V P                  RV9   4       V P                  RV4       V P                  RV4       ^RIHpH	p	 V P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  RV4       V P                  RV9   4       V P                  RV4       V P                  \        P                  4      ;_uu_ 4       pV! V	4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  RV4       V P                  RV9   4       V P                  RV4       V P                  RV4       RR lp
V P                  \        P                  4      ;_uu_ 4       pV! V
4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  RV4       V P                  RV9   4       V P                  RV4       V P                  RV4       RR lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  RV4       V P                  RV9   4       V P                  RV4       RR lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  R	V4       V P                  RV4       R pV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^^^4       RRR4       \        VP                  4      pV P                  W%4       V P                  R	V4       V P                  RV4       R#   + '       g   i     EL; i  + '       g   i     EL	; i  + '       g   i     EL{; i  + '       g   i     EL; i  + '       g   i     ELK; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELw; i  + '       g   i     L; i)ze
Tests that an overload which has a differing typing and implementing
signature raises an exception.
Nc                 j   a a RR lo\        S4      RV 3R ll4       p\        RR7      V3R l4       pV# )Nc                     R # rO   r3   r_  brR   kws   &&&&r;   
myoverloadjTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.gen_ol.<locals>.myoverloadn      r:   c                    < S# rO   r3   )r_  rE  rR   rF  impls   &&&&r;   _myoverload_implpTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.gen_ol.<locals>._myoverload_implq  s    r:   Tr  c                    < S! WW#R 7       R# )rF  Nr3   )r_  rE  rR   r  rG  s   &&&&r;   foocTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.gen_ol.<locals>.foou  s    1)r:   rO   r   r   )rK  rL  rP  rG  s   f  @r;   gen_olVTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.gen_olm  sA     j! " $*  * Jr:   z-Typing and implementation arguments differ inc                     V ^
8  d   ^# R# 
   r3   rD  s   &&&&r;   impl1UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl1~      2v	r:   zkeyword argument default valuesz<Parameter "kw=12">z<Parameter "kw=None">c                     V ^
8  d   ^# R# rV  r3   )r_  rE  rR   kwargs   &&&&r;   impl2UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl2  r[  r:   zkeyword argument namesz<Parameter "kwarg=None">c                      \         ^
8  d   ^# R# rV  r^  )zrE  rR   rF  s   &&&&r;   impl3UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl3  s    2v	r:   zargument nameskeywordz<Parameter "a">z<Parameter "z">)impl4impl5zFirst difference: 'z'c                     V ^
8  d   ^# R# rV  r3   )r_  rE  rR   r  r*  rF  s   &&&&&&r;   impl6UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl6  r[  r:   z<Parameter "d">z<Parameter "e">c                     V ^
8  d   ^# R# rV  r3   )r_  rE  rF  s   &&&r;   impl7UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl7  r[  r:   z<Parameter "c">c                     V ^
8  d   ^# R# rV  r3   )r_  rE  rR   rF  extra_kwargs   &&&&&r;   impl8UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl8  r[  r:   z<Parameter "extra_kwarg=None">c                     V ^
8  d   ^# R# rV  r3   )r_  rE  rR   s   &&&r;   impl9UTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling.<locals>.impl9  r[  r:   rO   )   )NN)
r  r
   r   r	  r
  r  assertFalseoverload_usecasesre  rf  )rE   rS  sentinelrY  r*  msgr^  rb  re  rf  rh  rk  ro  rr  s   &             r;   /test_typing_vs_impl_signature_mismatch_handlingFTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handlingg  s   	 C	 v1122a5M!Q1% 3!++h$7=+S1-s3	 v1122a5M!Q1% 3!++h$.40#6-s3	 v1122a5M!Q1% 3!++h$&,c)*'-'-3v1122a5M!Q1% 3!++h$&,c)*-s3v1122a5M!Q1% 3!++h$&,c)*'-'-	 v1122a5M!Q1% 3!++h$&,c)*'-'-	 v1122a5M!Q1% 3!++h$&,c)*'-	 v1122a5M!Q1% 3!++h$.46<	 v1122a5M!Q1% 3!++h$.4-s3g 322 322 322 322 322  322  322 322 32sk   WW(8W<1XX$X8<Y Y .Y4W%	(W9	<X	X!	$X5	8Y		Y	 Y1	4Z	c                t  a R	R lo^RI Hp \        S4      ! V4       \        RR7      V3R l4       pV P	                  \
        P                  4      ;_uu_ 4       pV! ^^4       RRR4       \        XP                  4      pV P                  RV4       V P                  RV4       R#   + '       g   i     LK; i)
z
Tests that an overload which has a differing typing and implementing
signature raises an exception and uses VAR_POSITIONAL (*args) in typing
Nc                     R # rO   r3   r_  rF  s   &&r;   rG  iTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_positional.<locals>.myoverload      r:   )var_positional_implTr  c                    < S! W^	^R7      # )	   rO  r3   r_  rE  rG  s   &&r;   rP  bTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_positional.<locals>.foo  s    aA"--r:   z)VAR_POSITIONAL (e.g. *args) argument kindz-offending argument name is '*star_args_token'rO   )
rv  r  r   r   r  r
   r   r	  r
  r  )rE   r  rP  r*  rx  rG  s   &    @r;   >test_typing_vs_impl_signature_mismatch_handling_var_positionalUTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_positional  s    	 	;01	d		. 
	. v1122a1I 3!++A3GEsK	 32s   
B''B7	c                l   RR lpR pV! VR4      ! ^^4       V P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^4       RRR4       \        XP                  4      pV P                  RV4       V P                  RV4       R	R lpV P                  \        P                  4      ;_uu_ 4       pV! V4      ! ^^4       RRR4       \        VP                  4      pV P                  RV4       V P                  RV4       R#   + '       g   i     L; i  + '       g   i     L^; i)
z:
Tests that an overload which uses **kwargs (VAR_KEYWORD)
c                 b   a RR lo\        SVR7      ! V 4       \        RR7      V3R l4       pV# )Nc                     R # rO   r3   r}  s   &&r;   rG  vTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.gen_ol.<locals>.myoverload  rI  r:   strictTr  c                    < S! V ^R7      # )   rO  r3   r  s   &&r;   rP  oTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.gen_ol.<locals>.foo  s    !!++r:   rO   rR  )rK  r  rP  rG  s   && @r;   rS  bTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.gen_ol  s7     Z/5$,  , Jr:   c                     RR lpV# )rW  c                     V # rO   r3   r}  s   &&r;   rK  mTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.ol1.<locals>.impl#      r:   rW  r3   )r_  rY  rK  s   &, r;   ol1_TestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.ol1"  s     Kr:   FNz1use of VAR_KEYWORD (e.g. **kwargs) is unsupportedz"offending argument name is '**kws'c                     R  pV# )c                     V # rO   r3   )r_  rY  s   &,r;   rK  mTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.ol2.<locals>.impl1  r  r:   r3   )r_  rF  rK  s   && r;   ol2_TestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword.<locals>.ol20  s     Kr:   r~  rW  )r  r
   r   r	  r
  r  )rE   rS  r  r*  rx  r  s   &     r;   ;test_typing_vs_impl_signature_mismatch_handling_var_keywordRTestHighLevelExtending.test_typing_vs_impl_signature_mismatch_handling_var_keyword  s    

		 	sE1a v1122a3K1 3!++I3O:C@	 v1122a3K1 3!++I3O:C@# 32 32s    D=D#D 	#D3	c                    \        \        P                  R 4      RR l4       p\        R 4       p\        P
                  ! ^4      pV P                  V! V4      R4       R# )rP  c                     RR lpV# )rW  c                     V# rO   r3   )r   a_kwargs   &&r;   rK  QTestHighLevelExtending.test_overload_method_kwargs.<locals>.fooimpl.<locals>.impl@  s    r:   r  r3   )r   r  rK  s   && r;   fooimplCTestHighLevelExtending.test_overload_method_kwargs.<locals>.fooimpl>  s     Kr:   c                 f    V P                  4       V P                  ^4      V P                  ^R7      3# )   )r  )rP  As   &r;   bar?TestHighLevelExtending.test_overload_method_kwargs.<locals>.barE  s(    557AEE"IquuRu'888r:   Nr  )rW  r     )r   r	   r   r   r   rK  r  )rE   r  r  Zs   &   r;   test_overload_method_kwargs2TestHighLevelExtending.test_overload_method_kwargs<  sV    	e	,	 
-	 
	9 
	9 IIaLQ.r:   c                    \        \        P                  R 4      R 4       p\        R 4       p\        P
                  ! ^4      pV! V4       V P                  V! V4      R4       R# )litfooc                     \        V\        P                  4      '       d(   \        V\        P                  4      '       g   R  pV# R# R# )c                     V# rO   r3   )r   rQ   s   &&r;   rK  XTestHighLevelExtending.test_overload_method_literal_unpack.<locals>.litfoo.<locals>.implV  s    "
r:   N)rA   r	   r   Literal)r   rQ   rK  s   && r;   r  JTestHighLevelExtending.test_overload_method_literal_unpack.<locals>.litfooO  s<     #u}}--!#u}}55#  K 6 .r:   c                 $    V P                  R 4      #   )r  r  s   &r;   r  GTestHighLevelExtending.test_overload_method_literal_unpack.<locals>.bar[  s    88F##r:   r  N)r   r	   r   r   r   zerosr  )rE   r  r  r  s   &   r;   #test_overload_method_literal_unpack:TestHighLevelExtending.test_overload_method_literal_unpackM  s]    	h	/		  
0		  
	$ 
	$ HHQKAQ(r:   c                L    \         R  4       pV P                  V! 4       R4       R# )c                  6    \         P                  ! \        4      # rO   )r   exprM   r3   r:   r;   test8TestHighLevelExtending.test_overload_ufunc.<locals>.testg  s    66'?"r:   r  N)r   r  )rE   r  s   & r;   test_overload_ufunc*TestHighLevelExtending.test_overload_ufuncc  s*     
	# 
	# 	,r:   c           	        \        \        R 4      R 4       p\        R 4       p\        4       pV P	                  V! V^^4      R4       V P	                  V! V^^^4      R4       V P	                  V! V^^^^4      R	4       \        R 4       pV P	                  V! V4      R
4       V P	                  V! V^^R4      R4       V P	                  V! V^^R4      R4       V P	                  V! V^^R4      R4       R# )method_starargc                     R  pV# )c                 
    WV3# rO   r3   )r`   rQ   val2r   s   &&&*r;   get\TestHighLevelExtending.test_overload_method_stararg.<locals>._ov_method_stararg.<locals>.getp  s    4((r:   r3   )r`   rQ   r  r   r  s   &&&* r;   _ov_method_starargOTestHighLevelExtending.test_overload_method_stararg.<locals>._ov_method_starargn  s    ) Jr:   c                 "    V P                   ! V!  # rO   r  )r`   r   s   &*r;   rP  @TestHighLevelExtending.test_overload_method_stararg.<locals>.foou  s     %%t,,r:   c                 r    V P                  ^^4      V P                  ^^^4      V P                  ^^^^4      3# r  r  r  s   &r;   r  @TestHighLevelExtending.test_overload_method_stararg.<locals>.bar  sD     ""1a(""1a+""1aA. r:   Nr  r   r3   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   r2   r  )rE   r  rP  r`   r  s   &    r;   test_overload_method_stararg3TestHighLevelExtending.test_overload_method_starargm  s   	&6	7	 
8	 
	- 
	- iS!Q4S!Q*L9S!Q1-~>		 
	 	H@	
 	Q4 /	
 	Q6"$5	
 	Q;')?	
r:   c                  a  ! R  R\         P                  4      o\        SR4      R 4       p\        V3R l4       p^pV P	                  V! V4      \
        P                  ! V4      4       \        R 4       pV P                  \        P                  4      ;_uu_ 4       pV! V4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                       ] tR tRtRtR# )ATestHighLevelExtending.test_overload_classmethod.<locals>.MyArrayi  r3   Nr4   r3   r:   r;   MyArrayr    s    r:   r  array_allocc                     R  pV# )c                 2    \         P                  ! V4      pV# rO   r   rK  )clsnitemsr   s   && r;   rK  VTestHighLevelExtending.test_overload_classmethod.<locals>.ol_array_alloc.<locals>.impl  s    ii'
r:   r3   )r  r  rK  s   && r;   ol_array_allocHTestHighLevelExtending.test_overload_classmethod.<locals>.ol_array_alloc  s     Kr:   c                 &   < SP                  V 4      # rO   )r  )r  r  s   &r;   rP  =TestHighLevelExtending.test_overload_classmethod.<locals>.foo  s    &&v..r:   c                 @    \         P                  P                  V 4      # rO   )r	   r   r  )r  s   &r;   no_classmethod_in_basePTestHighLevelExtending.test_overload_classmethod.<locals>.no_classmethod_in_base  s    ;;**622r:   Nz"Unknown attribute 'array_alloc' of)r	   r   r)   r   r  r   rK  r  r
   r   r  r	  r
  )rE   r  rP  r  r  r  r  s   &     @r;   test_overload_classmethod0TestHighLevelExtending.test_overload_classmethod  s    	ekk 	 
g}	5	 
6	 
	/ 
	/ FRYYv->? 
	3 
	3 v1122f"6* 30  !	
 32s   	CC%	c                    \        \        4      R  4       p\        \        4      R 4       p\        R 4       pRpRV^ ,          ,           RV^,          ,           3pV P                  V! V!  V4       R# )c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     R V ,           # )     @E@r3   rz   s   &r;   rK  eTestHighLevelExtending.test_overload_callable_typeref.<locals>.callable_type_call_ovld1.<locals>.impl  s    !8Or:   N)rA   r	   r   r{   rK  s   & r;   callable_type_call_ovld1WTestHighLevelExtending.test_overload_callable_typeref.<locals>.callable_type_call_ovld1  s"    !U]]++$ ,r:   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     R V ,           # )42.5r3   rz   s   &r;   rK  eTestHighLevelExtending.test_overload_callable_typeref.<locals>.callable_type_call_ovld2.<locals>.impl  s    !A:%r:   N)rA   r	   UnicodeTyper  s   & r;   callable_type_call_ovld2WTestHighLevelExtending.test_overload_callable_typeref.<locals>.callable_type_call_ovld2  s&    !U..//& 	 0r:   c                 .    \        V 4      \        V4      3# rO   )rd  r_  rE  s   &&r;   rP  BTestHighLevelExtending.test_overload_callable_typeref.<locals>.foo  s    1:wqz))r:   r  r  N)r  4)r   rf  r   r  )rE   r  r  rP  r   r  s   &     r;   test_overload_callable_typeref5TestHighLevelExtending.test_overload_callable_typeref  s|    	/	"	 
#	 
/	"	 
#	 
	* 
	* 47NFT!W$45T
H5r:   r3   N)r5   r6   r7   r8   r  r  r  r  r  r  r"  r%  r-  r0  r3  r?  ry  r  r  r  r  r  r  r  r  r9   rJ   rK   s   @r;   r   r     s     
62@AAAA= B
6 )&P4dL.*AX/"),-)
V
@6 6r:   r   c                     V P                   V P                  ^ ,          ,          pW18w  d   \        R4      hV P                  V P                  ^ ,          ,          pWB8w  d   \        R4      hR# )r   zcache not usedN)_cache_hits
signaturesAssertionError_cache_misses)r  
expect_hitexpect_misseshitmisss   &&&  r;   _assert_cache_statsr    sa    


E,,Q/
0C
-..u//23D-.. r:   c                   0   a  ] tR tRt o RtR tR tRtV tR# )TestOverloadMethodCachingi  Fc                    \        V P                  P                  4      V n        \	        R V P                  4      ;_uu_ 4        V P                  4        RRR4       R#   + '       g   i     R# ; i)	CACHE_DIRN)r   rn  r5   
_cache_dirr   run_caching_overload_methodr  s   &r;   test_caching_overload_method6TestOverloadMethodCaching.test_caching_overload_method  sD    ()@)@A[$//::,,. ;:::s   AA/	c                .   \        R R R7      ! \        4      pV P                  V! \        4       4      ^4       \	        V^ ^4       VP                  \        34      pVP                  4        Uu. uF'  pVP                  R4      '       g   K  RV9   g   K%  VNK)  	  ppV P                  \        V4      ^ 4        \        P                  ! R4      pVP                  4       pVP                  \         W`P"                  3R7      pVP%                  4        VP'                  \        4       4       VP)                  4        V P                  VP*                  ^ 4       VP-                  ^R7      pV P                  V^4       R# u upi   \         d
    \        p Li ; i)Tr  cachedeclarer  spawn)targetr   )timeoutN)r   r!  r  r2   r  inspect_llvmrP   
splitlines
startswithr  r  multiprocessingget_contextAttributeErrorQueueProcessr  r  startputjoinexitcoder  )	rE   r  llvmirlndeclsctxqpr   s	   &        r;   r  5TestOverloadMethodCaching.run_caching_overload_method  sW   T./LMgi 0"5E1a(##\O4 '')
)}}Y' ,D,J B) 	 

 	UQ'	"!--g6C IIKKK.a5I  
 	
		gi	Q'eeAeb!+
  	"!C	"s$   -E;E;E;8F   FF)r  N)	r5   r6   r7   r8   _numba_parallel_test_r  r  r9   rJ   rK   s   @r;   r  r    s      "/
" "r:   r  c                   \        RV4      ;_uu_ 4        V P                  4       p\        RRR7      ! \        4      pV! V4      pV P	                  V4       \        V^^ 4       RRR4       R#   + '       g   i     R# ; i)z@
Used by TestOverloadMethodCaching.test_caching_overload_method
r  Tr  N)r   r  r   r!  r(  r  )r/  	cache_dirr   r  r   s   &&   r;   r  r    s]     
i	0	0eegT./LMCj	c
E1a( 
1	0	0	0s   AA--A>	c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestIntrinsici  c                  aa \         R 4       o\         R 4       o\        RR7      V3R l4       p\        RR7      V3R l4       pV P                  V! 4       ^ 4       V P                  \        4      ;_uu_ 4       pV! 4        RRR4       V P                  RXP                  P                  4       R#   + '       g   i     L8; i)	z|
Verify that returning a None from codegen function is handled
automatically for void functions, otherwise raise exception.
c                 V    \         P                  ! \         P                  4      pR  pW#3# )c                     R # rO   r3   rF   rV   r+   r   s   &&&&r;   codegenBTestIntrinsic.test_void_return.<locals>.void_func.<locals>.codegen  rI  r:   r	   voidr   r  r_  r   r;  s   &&  r;   	void_func1TestIntrinsic.test_void_return.<locals>.void_func  s#    **U[[)C <r:   c                 V    \         P                  ! \         P                  4      pR  pW#3# )c                     R # rO   r3   r:  s   &&&&r;   r;  FTestIntrinsic.test_void_return.<locals>.non_void_func.<locals>.codegen&  rI  r:   )r	   r   r?  s   &&  r;   non_void_func5TestIntrinsic.test_void_return.<locals>.non_void_func"  s#    ++ekk*C <r:   Tr  c                     < S ! ^4       ^ # r  r3   )r@  s   r;   call_void_func6TestIntrinsic.test_void_return.<locals>.call_void_func+  s    aLr:   c                     < S ! ^4       ^ # r  r3   )rE  s   r;   call_non_void_func:TestIntrinsic.test_void_return.<locals>.call_non_void_func0  s    !r:   Nznon-void function returns None)r$   r   r  r  r   r  r
  rx  )rE   rH  rK  r*  rE  r@  s   &   @@r;   test_void_returnTestIntrinsic.test_void_return  s     
	  
	  
	  
	  
d		 
	 
d		 
	
 	)1-}--  .6H .-s   9B11C	c                0  a aaa ^ RI HpHpHpHp V 3R loR o\        SRR7      V3R l4       pR pV! RV! V4      V4      pV! V4      o\        R	R
7      VV3R l4       p\        P                  ! ^
\        P                  R7      p	\        4       ;_uu_ 4       p
V! V	4       V
P                  4       P                  4       pRRR4       X
P                  4        \        \        \         V	4      4      pS P#                  VX4       R#   + '       g   i     LM; i)zF
Usecase test: custom reinterpret cast to turn int values to pointers
)	CFUNCTYPEPOINTERc_floatc_intc                 n   <a  \        S \        P                  4      '       g   Q h\        V V3R  l4       pV# )c                    < SP                  V \        P                  4       \        V\        P
                  4      '       d   S! \        P                  4      pR  pW#3# R# )c                 f    Vw  pVP                   pV P                  V4      pVP                  WF4      # rO   )r   get_value_typeinttoptr)rF   rV   r+   r   srcrtypellrtypes   &&&&   r;   r;  _TestIntrinsic.test_ll_pointer_cast.<locals>.unsafe_caster.<locals>.unsafe_cast.<locals>.codegenM  s5     $ ) 5 5")"8"8"?&//==r:   N)r  r   ContextrA   r	   r   uintp)r  rY  r   r;  result_typerE   s   &&  r;   unsafe_castNTestIntrinsic.test_ll_pointer_cast.<locals>.unsafe_caster.<locals>.unsafe_castF  sJ    %%i@c5==11%ekk2C> <' 2r:   )rA   r	   CPointerr$   )r_  r`  rE   s   f r;   unsafe_caster9TestIntrinsic.test_ll_pointer_cast.<locals>.unsafe_casterC  s4    k5>>::::( ( r:   c                     \        R 4      h)znot callable from pythonrx   rY  s   &r;   unsafe_get_ctypes_pointerETestIntrinsic.test_ll_pointer_cast.<locals>.unsafe_get_ctypes_pointerY  s    %&@AAr:   Fr  c                    <a \        V \        P                  4      '       d/   S! \        P                  ! V P                  4      4      oV3R  lpV# R# )c                 >   < S! V P                   P                  R 7      # )rf  )ctypesr;  )r   r`  s   &r;   
array_impldTestIntrinsic.test_ll_pointer_cast.<locals>.array_impl_unsafe_get_ctypes_pointer.<locals>.array_impla  s    &3::??;;r:   N)rA   r	   r   rb  r   )arrtyperl  r`  rc  s   & @r;   $array_impl_unsafe_get_ctypes_pointerPTestIntrinsic.test_ll_pointer_cast.<locals>.array_impl_unsafe_get_ctypes_pointer\  s=    '5;;//+ENN7==,IJ< "! 0r:   c                 L    \        V4       F  p\        W,          4       K  	  R # rO   )r   r   )ptrr:  r   s   && r;   my_c_fun_raw8TestIntrinsic.test_ll_pointer_cast.<locals>.my_c_fun_rawg  s    1Xcf r:   NTr  c                 <   < S! V 4      pS! WP                   4       R # rO   )r   )r   rr  my_c_funrg  s   & r;   rP  /TestIntrinsic.test_ll_pointer_cast.<locals>.foop  s    +C0CS((#r:   )r   )rk  rP  rQ  rR  rS  r   r   r   rK  float32r   r  r   closer  mapr	  r  )rE   rP  rQ  rR  rS  ro  rs  	prototyperP  r   bufr  r;  rv  rc  rg  s   f            @@@r;   test_ll_pointer_cast"TestIntrinsic.test_ll_pointer_cast<  s     	>=	,	B 
+E	:	" 
;	"	 dGG$4e<	\* 
d		$ 
	$
 ii"**-#H,,.++-C  			c#sm$% s   'DD	c                  a \         R 4       o\        RR7      V3R l4       pV P                  V! ^4      ^4       \        P                  p\        V4      p\        P                  ! V4      pV^,          pV P                  V\        V4      4       \        P                  ! V4      pV P                  V\        V4      4       V P                  V! ^4      V! ^4      4       \        P                  ! S4      pV P                  V\        V4      4       \        P                  ! V4      pV P                  SV4       V P                  V\        V4      4       R# )z)
Test serialization of intrinsic objects
c                     R  pV! V4      pW23# )c                     V^ ,          # rW  r3   r:  s   &&&&r;   r;  CTestIntrinsic.test_serialization.<locals>.identity.<locals>.codegen      Awr:   r3   )rF   r{   r;  r   s   &&  r;   identity2TestIntrinsic.test_serialization.<locals>.identity  s     A$C<r:   Tr  c                    < S! V 4      # rO   r3   )r{   r  s   &r;   rP  -TestIntrinsic.test_serialization.<locals>.foo  s    A;r:   N)
r$   r   r  r%   _memor  pickledumpsloadsr  )	rE   rP  memo	memo_sizeserialized_foofoo_rebuiltserialized_identityidentity_rebuiltr  s	   &       @r;   test_serialization TestIntrinsic.test_serialization~  s   
 
	  
	  
d		 
	 	Q# I	  c*Q	CI.ll>2CI.QQ0 %ll84CI.!<<(;<h 01CI.r:   c                   R p\         P                  p\        V4      p\        RV4      pV P                  VP                  V4       \
        P                  ! V4      pV^,          pV P                  V\        V4      4       ?V P                  V\        V4      4       \         P                  P                  4        V^,          pV P                  V\        V4      4       \
        P                  ! V4      pV P                  VP                  V4       \
        P                  ! V4      pV P                  VP                  VP                  4       R# )z#
Test deserialization of intrinsic
c                     R  pV! V4      V3# )c                     V^ ,          # rW  r3   r:  s   &&&&r;   r;  ATestIntrinsic.test_deserialization.<locals>.defn.<locals>.codegen  r  r:   r3   )rF   r{   r;  s   && r;   defn0TestIntrinsic.test_deserialization.<locals>.defn  s     Q4= r:   rP  N)r%   r  r  r  _defnr  r  r  _recentclearr  assertIsNot)rE   r  r  r  originalpickledrebuiltseconds   &       r;   test_deserialization"TestIntrinsic.test_deserialization  s    
	! I	 eT*hnnd+,,x(Q	CI. 	CI. 	  "Q	CI.,,w'- g&gmmV\\2r:   c                \   \         R  R l4       pV P                  RVP                  4       V P                  RVP                  4       V P                  RVP                  4       V P                  R\        /\        P                  ! V4      4       V P                  RVP                  4       R# )c                $    V ^8  d   QhR\         /# )r   r_  )int)rm  s   "r;   __annotate__2TestIntrinsic.test_docstring.<locals>.__annotate__  s     	  	 C 	 r:   c                V    \         P                  ! \         P                  4      pR pW#3# )void_func docstringc                     R # rO   r3   r:  s   &&&&r;   r;  @TestIntrinsic.test_docstring.<locals>.void_func.<locals>.codegen  rI  r:   r=  r?  s   &&  r;   r@  /TestIntrinsic.test_docstring.<locals>.void_func  s%     **U[[)C <r:   znumba.tests.test_extendingr@  z/TestIntrinsic.test_docstring.<locals>.void_funcr_  r  N)
r$   r  r6   r5   r7   assertDictEqualr  inspectget_annotationsr  )rE   r@  s   & r;   test_docstringTestIntrinsic.test_docstring  s    		  
	  	5y7K7KLi&8&89J"//	1c3Z)@)@)KL.	0A0ABr:   r3   N)r5   r6   r7   r8   rM  r}  r  r  r  r9   rJ   rK   s   @r;   r6  r6    s+     (IT@&D,/\&3PC Cr:   r6  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestRegisterJitablei  c                   a \         R  4       oV3R lp\        RR7      ! V4      pV! ^^4      pV! ^^4      pV P                  W44       R# )c                     W,           # rO   r3   )r{   r   s   &&r;   rP  .TestRegisterJitable.test_no_flags.<locals>.foo  s	    5Lr:   c                    < S! W4      # rO   r3   )r{   r   rP  s   &&r;   r  .TestRegisterJitable.test_no_flags.<locals>.bar  s    q9r:   Tr  N)r&   r   r  )rE   r  cbarr;  r  rP  s   &    @r;   test_no_flags!TestRegisterJitable.test_no_flags  sO    		 
		 D!#&Q1aj%r:   c                  a \        R R7      R 4       oV3R lpV P                  V! ^4      P                  4       . RO4       \        RR7      ! V4      pV P	                  \
        P                  4      ;_uu_ 4       pV! ^4       RRR4       RpV P                  V\        XP                  4      4       R#   + '       g   i     L9; i)	F)_nrtc                 .    \         P                  ! V 4      # rO   r  )r:  s   &r;   rP  2TestRegisterJitable.test_flags_no_nrt.<locals>.foo  s    99Q<r:   c                    < S! V 4      # rO   r3   )r:  rP  s   &r;   r  2TestRegisterJitable.test_flags_no_nrt.<locals>.bar  s    q6Mr:   Tr  NCOnly accept returning of array passed into the function as argument)r   r  r   )
r&   r  tolistr   r  r
   r   r  r	  r
  )rE   r  r  r  rx  rP  s   &    @r;   test_flags_no_nrt%TestRegisterJitable.test_flags_no_nrt  s    	u	%	  
&	 	 	Q)4D!#&v1122fG 3 	 	c3v//01 32s   ;	B55C	r3   N)r5   r6   r7   r8   r  r  r9   rJ   rK   s   @r;   r  r    s     &2 2r:   r  c                      a  ] tR tRt o ]P
                  ! ]RJ R4      R 4       tR t]P
                  ! ]RJ R4      R 4       t	Rt
V tR# )TestImportCythonFunctioni  Nz&Only run if SciPy >= 0.19 is installedc                   a \        R R4      p\        P                  ! \        P                  \        P                  4      pV! V4      o\	        RR7      ! V3R l4      pV P                  V! ^ 4      ^4       R# )scipy.special.cython_specialj0Tr  c                    < S! V 4      # rO   r3   )r{   _j0s   &r;   r`  @TestImportCythonFunction.test_getting_function.<locals>.<lambda>  s	    #a&r:   N)r'   rk  rP  c_doubler   r  )rE   addrfunctyper  r  s   &   @r;   test_getting_function.TestImportCythonFunction.test_getting_function  s[    **D
 ##FOOV__Etn$ 01A"r:   c                
   V P                  \        4      ;_uu_ 4       p\        R R4       RRR4       Rp\        P                  ! V\        XP                  4      4      pV P                  V4       R#   + '       g   i     LO; i)
fakemodulefakefunctionNzNo module named '?fakemodule'?)r  ImportErrorr'   rematchr	  r
  r  )rE   r  rx  r  s   &   r;   test_missing_module,TestImportCythonFunction.test_missing_module  s]    {++v'nE , /c&"2"234U# ,+s   A22B	c                    V P                  \        4      ;_uu_ 4       p\        R R4       RRR4       RpV P                  V\	        XP
                  4      4       R#   + '       g   i     L9; i)r  rP  NzINo function 'foo' found in __pyx_capi__ of 'scipy.special.cython_special')r  r   r'   r  r	  r
  )rE   r  rx  s   &  r;   test_missing_function.TestImportCythonFunction.test_missing_function  sW    z**f'. +
- 	 	c&"2"234 +*s   AA,	r3   )r5   r6   r7   r8   unittestskipIfscr  r  r  r9   rJ   rK   s   @r;   r  r    sR     __R4Z!IJ# K#$ __R4Z!IJ	5 K	5r:   r  method_jit_option_check_nrtr  Tjit_optionsc                     R  pV# )c                 .    \         P                  ! ^
4      # r  r  r  s   &r;   r  +ov_method_jit_option_check_nrt.<locals>.imp0      yy}r:   r3   r  s   & r;   ov_method_jit_option_check_nrtr  ,       Jr:   method_jit_option_check_no_nrtFc                     R  pV# )c                 .    \         P                  ! ^
4      # r  r  r  s   &r;   r  .ov_method_jit_option_check_no_nrt.<locals>.imp:  r  r:   r3   r  s   & r;   !ov_method_jit_option_check_no_nrtr  6  r  r:   attr_jit_option_check_nrtc                     R  pV# )c                 .    \         P                  ! ^
4      # r  r  r  s   &r;   r  )ov_attr_jit_option_check_nrt.<locals>.impD  r  r:   r3   r  s   & r;   ov_attr_jit_option_check_nrtr  @  r  r:   attr_jit_option_check_no_nrtc                     R  pV# )c                 .    \         P                  ! ^
4      # r  r  r  s   &r;   r  ,ov_attr_jit_option_check_no_nrt.<locals>.impN  r  r:   r3   r  s   & r;   ov_attr_jit_option_check_no_nrtr  J  r  r:   c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	TestJitOptionsNoNRTiT  c                    R pV P                  \        P                  4      ;_uu_ 4       pV! V/ VB  RRR4       V P                  V\	        XP
                  4      4       R#   + '       g   i     L7; i)r  N)r  r
   r   r  r	  r
  )rE   funcr   r  rx  r  s   &&*,  r;   check_error_no_nrt&TestJitOptionsNoNRT.check_error_no_nrtW  s[    ' 	 v1122f$!&! 3c3v//01 32s   	A""A2	c                   a R  o\        SRV/R7      R 4       p\        V3R l4       pV'       d.   V P                  V! 4       \        P                  ! ^
4      4       R# V P                  V4       R# )c                  .    \         P                  ! ^
4      # r  r  r3   r:   r;   dummy8TestJitOptionsNoNRT.no_nrt_overload_check.<locals>.dummyb  s    99R= r:   r  r  c                      R  p V # )c                  .    \         P                  ! ^
4      # r  r  r3   r:   r;   r  JTestJitOptionsNoNRT.no_nrt_overload_check.<locals>.ov_dummy.<locals>.dummyg  s    yy}$r:   r3   r  s    r;   ov_dummy;TestJitOptionsNoNRT.no_nrt_overload_check.<locals>.ov_dummye  s    % Lr:   c                     < S ! 4       # rO   r3   r  s   r;   rP  6TestJitOptionsNoNRT.no_nrt_overload_check.<locals>.fool  s
    7Nr:   N)r   r   r  r   rK  r  )rE   flagr  rP  r  s   &&  @r;   no_nrt_overload_check)TestJitOptionsNoNRT.no_nrt_overload_checka  sh    	! 
%fd^	4	 
5	 
	 
	 ##CE299R=9##C(r:   c                J    V P                  R 4       V P                  R4       R# )TFN)r  r  s   &r;   test_overload_no_nrt(TestJitOptionsNoNRT.test_overload_no_nrtu  s    ""4(""5)r:   c                    \         R  4       pV P                  V! \        4      \        P                  ! ^
4      4       \         R 4       pV P                  V\        4       R# )c                 "    V P                  4       # rO   )r  rz   s   &r;   udt<TestJitOptionsNoNRT.test_overload_method_no_nrt.<locals>.udtz  s    0022r:   c                 "    V P                  4       # rO   )r  rz   s   &r;   r  r    s    3355r:   Nr   r  rM   r   rK  r  rE   r  s   & r;   test_overload_method_no_nrt/TestJitOptionsNoNRT.test_overload_method_no_nrty  sV    		3 
	3 	Gbiim<		6 
	6 	W-r:   c                    \         R  4       pV P                  V! \        4      \        P                  ! ^
4      4       \         R 4       pV P                  V\        4       R# )c                     V P                   # rO   )r  rz   s   &r;   r  ?TestJitOptionsNoNRT.test_overload_attribute_no_nrt.<locals>.udt  s    ...r:   c                     V P                   # rO   )r  rz   s   &r;   r  r    s    111r:   Nr  r  s   & r;   test_overload_attribute_no_nrt2TestJitOptionsNoNRT.test_overload_attribute_no_nrt  sV    		/ 
	/ 	Gbiim<		2 
	2 	W-r:   r3   N)r5   r6   r7   r8   r  r  r  r  r  r9   rJ   rK   s   @r;   r  r  T  s#     2)(*.. .r:   r  c                   J   a a ] tR tRt oV 3R ltR tR tR tR tRt	Vt
V ;t# )TestBoxingCallingJITi  c                   < \         SV `  4        \        R 4      pVw  V n        V n        V n        V P	                  4       V n        R# )rt   N)rk  setUprs   rj   rf   rl   dyn_type)rE   manyrn  s   & r;   r$  TestBoxingCallingJIT.setUp  s7    &z2=A:$,(:r:   c                  aaa R o^{o\         V3R l4       o\        V P                  4      VV3R l4       p\        V P                  4      R 4       p\        R 4       pV! V P
                  4      pV P                  VSS,           4       R# )r  c                 ,   < V3R  lp\        W4      pW23# )c                 L   < Vw  pVP                  WDP                  S4      4      # rO   r  rs  rF   rV   r   r   rQ   magic_offsets   &&&& r;   rK  KTestBoxingCallingJIT.test_unboxer_basic.<locals>.my_intrinsic.<locals>.impl  "    {{3(>??r:   r+   r  rQ   rK  r   r-  s   &&  r;   my_intrinsic=TestBoxingCallingJIT.test_unboxer_basic.<locals>.my_intrinsic      @ C%C9r:   c                 
  < V	3R  lpVP                   P                  \        P                  S4      .p\	        \        P
                  \        P                  4      pVP                  P                  W5V4      w  rg\        WvR7      # )c                    < S! V 4      # rO   r3   r{   r2  s   &r;   bridgeHTestBoxingCallingJIT.test_unboxer_basic.<locals>.unboxer.<locals>.bridge  s     $A&r:   is_error	rF   rU   r	   intpr+   voidptrr   call_jit_coder#   )
r_   r`   rR   r8  r   r   r;  r   magic_tokenr2  s
   &&&     r;   unboxer8TestBoxingCallingJIT.test_unboxer_basic.<locals>.unboxer  s^    '
 II**5::{CDDEMM5::6CGG11&tDMHs66r:   c                     VP                   P                  V\        P                  4      pVP                  P                  V4      # rO   rV   ptrtointr   intp_tr   long_from_ssize_tr_   rQ   rR   r   s   &&& r;   boxer6TestBoxingCallingJIT.test_unboxer_basic.<locals>.boxer  3     ))$$S'..9C77,,S11r:   c                     V # rO   r3   rz   s   &r;   passthru9TestBoxingCallingJIT.test_unboxer_basic.<locals>.passthru      Hr:   Nr$   r"   rj   r!   r   r%  r  )rE   rA  rI  rM  r+  r-  r@  r2  s   &    @@@r;   test_unboxer_basic'TestBoxingCallingJIT.test_unboxer_basic  s     		 
	 
t	 
	7 
!
	7 
T		2 
	2
 
	 
	 t}}%kL89r:   c                j   \        V P                  4      R  4       p\        V P                  4      R 4       p\        R 4       pV P	                  \
        4      ;_uu_ 4       pV! V P                  4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                    R  pVP                   P                  \        P                  ^4      .p\	        \        P
                  \        P                  4      pVP                  P                  W5V4      w  rg\        WvR7      # )c                 *    V ^ 8  d   \        R4      hV # )r   cannot be x > 0r   rz   s   &r;   r8  HTestBoxingCallingJIT.test_unboxer_raise.<locals>.unboxer.<locals>.bridge      q5$%677r:   r:  r<  )r_   r`   rR   r8  r   r   r;  r   s   &&&     r;   rA  8TestBoxingCallingJIT.test_unboxer_raise.<locals>.unboxer  s]    
 II**5::q9:DEMM5::6CGG11&tDMHs66r:   c                     VP                   P                  V\        P                  4      pVP                  P                  V4      # rO   rD  rH  s   &&& r;   rI  6TestBoxingCallingJIT.test_unboxer_raise.<locals>.boxer  rK  r:   c                     V # rO   r3   rz   s   &r;   rM  9TestBoxingCallingJIT.test_unboxer_raise.<locals>.passthru  rO  r:   NrV  
r"   rj   r!   r   r  r   r%  r  r	  r
  rE   rA  rI  rM  r  s   &    r;   test_unboxer_raise'TestBoxingCallingJIT.test_unboxer_raise  s    	t	 
	7 
!
	7 
T		2 
	2
 
	 
	 z**fT]]# +s6#3#34	
 +*    B""B2	c                  aaa R oRo\         V3R l4       o\        V P                  4      R 4       p\        V P                  4      VV3R l4       p\        R 4       pV! V P
                  4      pV P                  VSS,           4       R# )r  i8  c                 ,   < V3R  lp\        W4      pW23# )c                 L   < Vw  pVP                  WDP                  S4      4      # rO   r+  r,  s   &&&& r;   rK  CTestBoxingCallingJIT.test_boxer.<locals>.my_intrinsic.<locals>.impl  r/  r:   r0  r1  s   &&  r;   r2  5TestBoxingCallingJIT.test_boxer.<locals>.my_intrinsic  r4  r:   c                 H    \        VP                  P                  4       4      # rO   r\   r^   s   &&&r;   rA  0TestBoxingCallingJIT.test_boxer.<locals>.unboxer      qyy88:;;r:   c                 (  < V	3R  lpVP                   P                  \        P                  S4      .p\	        \        P                  \        P                  4      pVP
                  P                  W5V4      w  rgVP
                  P                  V4      # )c                    < S! V 4      # rO   r3   r7  s   &r;   r8  >TestBoxingCallingJIT.test_boxer.<locals>.boxer.<locals>.bridge  s    #A&r:   )rF   rU   r	   r=  r+   r   r?  rG  )
r_   rQ   rR   r8  r   r   r;  r   r@  r2  s
   &&&     r;   rI  .TestBoxingCallingJIT.test_boxer.<locals>.boxer  sh    ' II**5::{CDDEJJ

3CGG11&tDMH77,,S11r:   c                     V # rO   r3   rz   s   &r;   rM  1TestBoxingCallingJIT.test_boxer.<locals>.passthru  rO  r:   NrP  )rE   rA  rI  rM  rr-  r@  r2  s   &    @@@r;   
test_boxerTestBoxingCallingJIT.test_boxer  s    		 
	 
t	 	< 
!	< 
T		2 
	2 
	 
	 T]]#K,67r:   c                j   \        V P                  4      R  4       p\        V P                  4      R 4       p\        R 4       pV P	                  \
        4      ;_uu_ 4       pV! V P                  4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 H    \        VP                  P                  4       4      # rO   r\   r^   s   &&&r;   rA  6TestBoxingCallingJIT.test_boxer_raise.<locals>.unboxer  rk  r:   c                    R  pVP                   P                  \        P                  ^4      .p\	        \        P                  \        P                  4      pVP
                  P                  W5V4      w  rg\        P                  ! VP                  VP
                  P                  RR7      pVP                  P                  VP                  P                  V4      4      ;_uu_ 4        VP
                  P                  V4      p	VP                  P                  W4       RRR4       VP                  P                  V4      #   + '       g   i     L+; i)c                 *    V ^ 8  d   \        R4      hV # )r   cannot do x > 0rW  rz   s   &r;   r8  DTestBoxingCallingJIT.test_boxer_raise.<locals>.boxer.<locals>.bridge  rY  r:   T)zfillN)rF   rU   r	   r=  r+   r   r?  r   alloca_oncerV   pyobjif_thennot_rG  storeload)
r_   rQ   rR   r8  r   r   r;  r   retvalr`   s
   &&&       r;   rI  4TestBoxingCallingJIT.test_boxer_raise.<locals>.boxer  s    
 II**5::q9:DEJJ

3CGG11&tDMH((AGGMMNF""199>>(#;<<gg//4		, = 99>>&)) =<s   (7EE	c                     V # rO   r3   rz   s   &r;   rM  7TestBoxingCallingJIT.test_boxer_raise.<locals>.passthru   rO  r:   Nrz  r_  r`  s   &    r;   test_boxer_raise%TestBoxingCallingJIT.test_boxer_raise	  s    	t	 	< 
!	< 
T		* 
	*  
	 
	 z**fT]]# +s6#3#34	
 +*rc  )rf   rj   r%  rl   )r5   r6   r7   r8   r$  rQ  ra  rs  r  r9   rJ   r  r  s   @@r;   r"  r"    s%     '(:T
>#8J
 
r:   r"  c                     R # rO   r3   rz   s   &r;   with_objmode_cache_ov_exampler  +  s     	r:   c                   p   a  ] tR tRt o RtRtR tR tR t]	R 4       t
]	R 4       t]	R	 4       tR
 tRtV tR# )TestCachingOverloadObjmodei1  zLTest caching of the use of overload implementations that use
`with objmode`
Fc                P    \         P                  ! R \        P                  4       R# )errorN)warningssimplefilterr
   NumbaWarningr  s   &r;   r$   TestCachingOverloadObjmode.setUp8  s    gv':':;r:   c                0    \         P                  ! 4        R # rO   )r  resetwarningsr  s   &r;   tearDown#TestCachingOverloadObjmode.tearDown;  s     r:   c                  aa \        V P                  P                  4      p\        R V4      ;_uu_ 4        R oV3R lo\	        \
        4      V3R l4       p\        RR7      R 4       pS! ^{4      pV! ^{4      pV P                  WT4       \        RR7      ! VP                  4      pV! ^{4      pV P                  WT4       RRR4       R#   + '       g   i     R# ; i)r  c                 z    \         P                  ! V 4      V ,          p\         P                  P                  V4      # rO   )r   rK  linalgnorm)r{   r   s   & r;   realworkJTestCachingOverloadObjmode.test_caching_overload_objmode.<locals>.realworkB  s'    iilQ&yy~~c**r:   c                    < S! V 4      # rO   r3   )r{   r  s   &r;   python_codeMTestCachingOverloadObjmode.test_caching_overload_objmode.<locals>.python_codeG  s    {"r:   c                    < V3R  lpV# )c                 z   < \        R R7      ;_uu_ 4        S! V 4      pRRR4       V#   + '       g   i     X# ; ir  )r   Nr   )r{   r   r  s   & r;   rK  qTestCachingOverloadObjmode.test_caching_overload_objmode.<locals>._ov_with_objmode_cache_ov_example.<locals>.implM  s/     9--'N .H .-H   	):	r3   )r{   rK  r  s   & r;   !_ov_with_objmode_cache_ov_examplecTestCachingOverloadObjmode.test_caching_overload_objmode.<locals>._ov_with_objmode_cache_ov_exampleK  s    
 r:   Tr  c                     \        V 4      # rO   )r  rz   s   &r;   testcaseJTestCachingOverloadObjmode.test_caching_overload_objmode.<locals>.testcaseT  s    4Q77r:   N)	r   rn  r5   r   r   r  r   r  py_func)	rE   r4  r  r  r;  r  testcase_cachedr  r  s	   &      @@r;   test_caching_overload_objmode8TestCachingOverloadObjmode.test_caching_overload_objmode>  s    "4>>#:#:;	[)44+
# 34 5 8 8 c]F3-CS)".x/?/?@O!#&CS)= 5444s   B
C

C	c                   aa R  oR o\        S4      V3R l4       p\        RR7      V3R l4       pV! 4       pVP                  4       pW48w  d   \        R4      hV# )c                 :    \         P                  ! W,           4      # rO   r   sumr  s   &&r;   do_thisGTestCachingOverloadObjmode.check_objmode_cache_ndarray.<locals>.do_thisb      66!%= r:   c                 :    \         P                  ! W,           4      # rO   r  r  s   &&r;   do_somethingLTestCachingOverloadObjmode.check_objmode_cache_ndarray.<locals>.do_somethinge  r  r:   c                    < V3R  lpV# )c                 z   < \        R R7      ;_uu_ 4        S! W4      pRRR4       V#   + '       g   i     X# ; ir  r  )r_  rE  r   r  s   && r;   _do_something_implqTestCachingOverloadObjmode.check_objmode_cache_ndarray.<locals>.overload_do_something.<locals>._do_something_implj  s/    y))A * *)r  r3   )r_  rE  r  r  s   && r;   overload_do_somethingUTestCachingOverloadObjmode.check_objmode_cache_ndarray.<locals>.overload_do_somethingh  s     &%r:   Tr  c                  l   < \         P                  ! ^4      p \         P                  ! ^4      pS! W4      # )r  r  )r_  rE  r  s     r;   test_cachingLTestCachingOverloadObjmode.check_objmode_cache_ndarray.<locals>.test_cachingp  s(    		"A		"A%%r:   zincorrect result)r   r   r  r	  )r  r  r  r  r;  r  r  s   &    @@r;   check_objmode_cache_ndarray6TestCachingOverloadObjmode.check_objmode_cache_ndarray`  so    	!	! 
,		& 
 	& 
D		& 
	&
 n%%' = !344r:   c                &    V P                  4        R # rO   )r  )r  s   &r;   *populate_objmode_cache_ndarray_check_cacheETestCachingOverloadObjmode.populate_objmode_cache_ndarray_check_cache~  s    '')r:   c                    V P                  4       p\        VP                  P                  4      ^ 8w  d   \	        R4      h\        VP                  P
                  4      ^ 8:  d   \	        R4      hR# )r   zunexpected cache misszunexpected missing cache hitN)r  r  statscache_missesr	  
cache_hits)r  disps   & r;   'check_objmode_cache_ndarray_check_cacheBTestCachingOverloadObjmode.check_objmode_cache_ndarray_check_cache  s[    ..0tzz&&'1, !899tzz$$%* !?@@ +r:   c                .   \        V P                  P                  4      p\        R V4      ;_uu_ 4        \	        V P
                  V4       \	        V P                  V4      pRRR4       V P                  XR,          ^ 4       R#   + '       g   i     L+; i)r  Nr*  )r   rn  r5   r   r   r  r  r  )rE   r4  r   s   &  r;    test_check_objmode_cache_ndarray;TestCachingOverloadObjmode.test_check_objmode_cache_ndarray  ss     #4>>#:#:;	[)44+?? 2<<iC 5 	Z!, 54s   -BB	r3   N)r5   r6   r7   r8   r  r2  r$  r  r  classmethodr  r  r  r  r9   rJ   rK   s   @r;   r  r  1  sj      "<! *D  : * * A A- -r:   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestMisci  c                t   R  pV P                  \        V4      4       V P                  \        \        V4      4      4       V P                  \        \	        V4      4      4       V P                  \        \	        RR7      ! V4      4      4       V P                  \        \        RR4      ! V4      4      4       R# )c                     R # rO   r3   rz   s   &r;   rP  $TestMisc.test_is_jitted.<locals>.foo  r  r:   T)parallelzvoid(float64[:])z(m)N)ru  r(   r  r   r   r   )rE   rP  s   & r;   test_is_jittedTestMisc.test_is_jitted  s    	 	3(	$s),-9S>239d#;C#@ABk"4e<SAB	
r:   c                    \         R  4       p\         R 4       pV P                  V! 4       VP                  4       4       V P                  V! 4       VP                  4       4       R# )c                  F    \         P                  ! ^{RR7      P                  # )r     )r   
fill_valuer   fullr   r3   r:   r;   standard_order:TestMisc.test_overload_arg_binding.<locals>.standard_order  s    775;;;r:   c                  F    \         P                  ! R ^{R7      P                  # )r  )r  r   r  r3   r:   r;   reversed_order:TestMisc.test_overload_arg_binding.<locals>.reversed_order  s    77c5;;;r:   N)r   r  r  )rE   r  r  s   &  r;   test_overload_arg_binding"TestMisc.test_overload_arg_binding  sd     
	< 
	< 
	< 
	< 	 0.2H2H2JK 0.2H2H2JKr:   r3   N)r5   r6   r7   r8   r  r  r9   rJ   rK   s   @r;   r  r    s     

L Lr:   r  c                   ,   a  ] tR tRt o R tR tRtV tR# )TestOverloadPreferLiterali  c                  aa R  oR oR p\        SRR7      ! V4       \        S4      ! V4       \        V3R l4       pV! ^4      w  r4pV P                  VR4       V P                  V^4       V P                  VR4       \        V3R l4       pV! ^4      w  r4pV P                  V^d4       V P                  V^4       V P                  VR4       R	# )
c                     R # rO   r3   rz   s   &r;   
prefer_lit;TestOverloadPreferLiteral.test_overload.<locals>.prefer_lit  r  r:   c                     R # rO   r3   rz   s   &r;   non_lit8TestOverloadPreferLiteral.test_overload.<locals>.non_lit  r  r:   c                     \        V \        P                  4      '       d-   V P                  ^8X  d   R pV# \        P
                  ! R4      hR pV# )r  c                     R # r  r3   rz   s   &r;   rK  ATestOverloadPreferLiteral.test_overload.<locals>.ov.<locals>.impl      %r:   literal valuec                     V ^d,          # d   r3   rz   s   &r;   rK  r        s7Nr:   rA   r	   IntegerLiteralliteral_valuer
   r   r  s   & r;   ov3TestOverloadPreferLiteral.test_overload.<locals>.ov  F    !U1122??a'&K ,,_==#r:   Tprefer_literalc                 2   < S! ^4      S! ^4      S! V 4      3# r  r3   r{   r  s   &r;   check_prefer_litATestOverloadPreferLiteral.test_overload.<locals>.check_prefer_lit      a=*Q-A>>r:   r  ,  c                 2   < S! ^4      S! ^4      S! V 4      3# r  r3   r{   r  s   &r;   check_non_lit>TestOverloadPreferLiteral.test_overload.<locals>.check_non_lit      1:wqz71:55r:   N)r   r   r  )	rE   r  r  r_  rE  rR   r
  r  r  s	   &      @@r;   test_overload'TestOverloadPreferLiteral.test_overload  s    			 	D1"5"		? 
	? #1%aF#C C 		6 
	6  "aC C C r:   c                   R  p\        \        RRR7      ! V4       \        \        RRR7      ! V4       \        R 4       pV! \        4       ^4      w  r4pV P	                  VR4       V P	                  V^4       V P	                  VR4       \        R	 4       pV! \        4       ^4      w  r4pV P	                  V^d4       V P	                  V^4       V P	                  VR4       R
# )c                     \        V\        P                  4      '       d-   VP                  ^8X  d   R pV# \        P
                  ! R4      hR pV# )r  c                     R # r  r3   rE   r{   s   &&r;   rK  HTestOverloadPreferLiteral.test_overload_method.<locals>.ov.<locals>.impl  r  r:   r  c                     V^d,          # r  r3   r  s   &&r;   rK  r    r  r:   r  )rE   r{   rK  s   && r;   r  :TestOverloadPreferLiteral.test_overload_method.<locals>.ov  r  r:   method_prefer_literalTr   method_non_literalFc                 f    V P                  ^4      V P                  ^4      V P                  V4      3# r  )r  r  r{   s   &&r;   r  HTestOverloadPreferLiteral.test_overload_method.<locals>.check_prefer_lit  s8     ++A.++A.++A. r:   r  r  c                 f    V P                  ^4      V P                  ^4      V P                  V4      3# r  )r  r  s   &&r;   r
  ETestOverloadPreferLiteral.test_overload_method.<locals>.check_non_lit  s8     ((+((+((+ r:   Nr  )rE   r  r  r_  rE  rR   r
  s   &      r;   test_overload_method.TestOverloadPreferLiteral.test_overload_method  s    	 	0	
 	
 	- 	
 	
 
	 
	 #79a0aF#C C 		 
	  	1-aC C C r:   r3   N)r5   r6   r7   r8   r  r  r9   rJ   rK   s   @r;   r  r    s     (!T1! 1!r:   r  c                   &   a  ] tR tRt o R tRtV tR# )TestIntrinsicPreferLiterali  c                  aa R  p\        RR7      ! V4      o\        RR7      ! V4      o\        V3R l4       pV! ^4      w  r4pV P                  VR4       V P                  V^4       V P                  VR4       \        V3R l4       pV! ^4      w  r4pV P                  V^d4       V P                  V^4       V P                  VR4       R# )	c                     \        \        P                  V4      p\        V\        P                  4      '       d.   VP
                  ^8X  d   R pW#3# \        P                  ! R4      hR pW#3# )r  c                 x    VP                   ^ ,          pV P                  V4      p\        P                  ! VR4      # )r   r  )r   rW  r   Constant)rF   rV   r+   r   atyper[  s   &&&&  r;   r;  JTestIntrinsicPreferLiteral.test_intrinsic.<locals>.intrin.<locals>.codegen  s1     )q 1")"8"8"?!{{7F;;r:   r  c                     VP                   pV P                  V4      p\        P                  ! V^d4      pVP	                  V^ ,          V4      # r  )r   rW  r   r$  mul)rF   rV   r+   r   r%  r[  int_100s   &&&&   r;   r;  r&  %  sB    %11E%44U;G kk'37G";;tAw88r:   )r+   r	   r=  rA   r  r  r
   r   )rF   r{   r   r;  s   &&  r;   intrin9TestIntrinsicPreferLiteral.test_intrinsic.<locals>.intrin  s`    EJJ*C!U1122??a'< <' ,,_==9
 |#r:   Tr   Fc                 2   < S! ^4      S! ^4      S! V 4      3# r  r3   r  s   &r;   r  CTestIntrinsicPreferLiteral.test_intrinsic.<locals>.check_prefer_lit/  r  r:   r  r  c                 2   < S! ^4      S! ^4      S! V 4      3# r  r3   r	  s   &r;   r
  @TestIntrinsicPreferLiteral.test_intrinsic.<locals>.check_non_lit8  r  r:   N)r$   r   r  )	rE   r*  r  r_  rE  rR   r
  r  r  s	   &      @@r;   test_intrinsic)TestIntrinsicPreferLiteral.test_intrinsic  s    	$* d3F;
51&9		? 
	? #1%aF#C C 		6 
	6  "aC C C r:   r3   N)r5   r6   r7   r8   r0  r9   rJ   rK   s   @r;   r   r     s     )! )!r:   r   c                   &   a  ] tR tRt o R tRtV tR# )TestNumbaInternalOverloadsiB  c                  aa ^ oV3R loVV3R lp\        R 4      P                  R4       \        P                  P                  P
                  P                  4       pVP                  4        VP                  pVP                  4        FJ  w  rEVP                   F5  p\        VRR4      '       g   K  V! VP                  VP                  4       K7  	  KL  	  R# )r   c                 ,  < V P                  R 4      '       g   \        \        P                  V 4      p\        P
                  ! V4      '       d   VP                  P                  4       pV F|  pV'       g   K  VP                  4       pVP                  V 4      '       g   K6  V R8X  d   RpRV R2p/ p \        V/ V4       VP                  V 4      p\        P                  ! V4      u # 	  R# R# R#   \         d    S^8X  d   \        R4         R# i ; i)_seedz
seed(seed)zdef z:
	passz%... skipped as cannot parse signatureN)r!  ru  r   randomr  	isbuiltinr  r   stripexecr  r+   SyntaxErrorr   )r{   thingdocstrlsl	fake_implfnDEBUGs   &      r;   sig_from_np_random[TestNumbaInternalOverloads.test_signatures_match_overloaded_api.<locals>.sig_from_np_randomS  s    <<$$		1-$$U++"]]557F#1!"B!}}Q// $%;)5B.22$i,@	$&
!A$(B$: *+qB+2+<+<R+@$@- $ , %$ (3 !0',z(- /: );+/!0s   3C11DDc                 z  < S^8X  d   \        RV  24       R pRp \        P                  ! V 4      pVEe   \        P                  ! V4      p\        VP                  P                  4       4      p\        VP                  P                  4       4      p\        VR\        V4       V4       EF  w  rW8w  g   K  VP                  V	,          pVP                  VP                  8X  d   S^8X  d   \        R4        R# R\        V4      9   d   S^8X  d   \        R4        R# V P                  '       d"   V P                  P!                  R	4      '       gD   V! WW64      pS^ 8w  d)   S^8X  d   \        R
4       V'       d   \        V4        R# \        V4      hS^8X  d*   V P                  '       g   \        R4       M\        R4        R# 	  S^8X  d   \        R4       R# R# R#   \         dK    \	        T RR4      ;p'       d2   \	        \
        P                  TR4      ;p'       d   YP8X  d	   S! T4      p ELi ; i)r   z
Checking: c                    . pV  R \        V R4       R2pVP                  V4       VP                  RV 24       VP                  RV 24       \        P                  ! V4      ^,          p\        P                  ! V4      pVP                  \        P                  ^ ,          R4      pVP                  RV RV 24       RRP                  V4      ,           p	V	# )	z from module 'r6   z' has mismatched sig.z    - expected: z    -      got:  zfrom :
)	ru  rv  r  getsourcelinesgetfilereplacenumba__path__r)  )
r  overload_funcfunc_sigol_sigrx  r  lineno
tmpsrcfilesrcfilemsgstrs
   &&&&      r;   create_messagehTestNumbaInternalOverloads.test_signatures_match_overloaded_api.<locals>.checker.<locals>.create_messaget  s    v^GD,,G+H I+ +

1

-hZ89

-fX67 //>qA$__];
$,,U^^A->C

U7)1VH56		#.r:   Nr5   Fz.... skipped as positional only arguments found*z... skipped as contains *argsrN  z... INVALIDz$... skipped as no __module__ presentz... skipped as Numba internalz... OK)r   r  r+   r   ru  r   r8  r  
parametersr  zipr  kindPOSITIONAL_ONLYr	  r6   r!  )r  rP  rW  rQ  fname
maybe_funcrR  r{   r   r_  rE  r0  rV  rC  rD  s   &&           r;   checkerPTestNumbaInternalOverloads.test_signatures_match_overloaded_api.<locals>.checkerp  s   z
4&)* HA",,T2 # **=9,,1134**//12'3q6
A.DAv$//266Q%6%66$z % '8 !9! CF]$z %&E F! %)OOO(,(B(B7(K(K)78@*J#(A:',z(-m(<'-(-f$)*4V*<$<#(A:+/???(- /8 )9 )..M(N %G /J zh "S $  A#D*e<<5<%,RYYu%EEzE%-'9%'@HAs   G% %AH:9H:c                      R # rO   r3   r3   r:   r;   r`  QTestNumbaInternalOverloads.test_signatures_match_overloaded_api.<locals>.<lambda>  s    dr:   _overload_funcFNr3   )r   compilerN  corer   rF   r]  r  _registriesitems	functionsru  r   rd  )	rE   r`  tyctxregskvitemrC  rD  s	   &      @@r;   $test_signatures_match_overloaded_api?TestNumbaInternalOverloads.test_signatures_match_overloaded_apiD  s     	A:G	(V 	]##B'

!!))113   JJLDA4!1599DHHd&9&9: $ !r:   r3   N)r5   r6   r7   r8   ro  r9   rJ   rK   s   @r;   r3  r3  B  s     @; @;r:   r3  __main__rO   )r  r   r  r  r  r"  rk  r  r  numpyr   llvmliter   rN  r   r   r   r   r   
numba.corer	   r
   r   r   r   numba.core.typed_passesr   numba.core.registryr   numba.core.imputilsr   numba.tests.supportr   r   r   r   r   r   numba.core.errorsr   r  numba.extendingr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   numba.core.typing.templatesr*   r+   r,   r-   r.   pdlike_usecaser/   r0   scipy.special.cython_specialspecialcython_specialr  r  rn   r2   ro   r>   rP   rM   rp   rS   rB   rX   rZ   rq   ra   rs   r   r  mydummy_type_2rv   r|   r   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   delitemr   getitemr   setitemr   r  r  iaddr  r  r  r  r  r  r  r!  r$  r&  r(  r*  r,  r0  r3  r6  r9  r=  rB  rE  rI  rN  rP  rS  rU  rb  rd  Callablerf  r  r  r  r  r  r  r   r  r  r  r6  r  r  r  r  r  r  r  r"  r  r  r  r  r   r3  r5   mainr3   r:   r;   <module>r     s      
     	    < < ? ? 8 * .  ,     (  *--	f 	#%,, # 9%
) g  K&* '* { F.. / {4 4/" *A)L &h |4 4	 5!+.
 uuejj!5 " 5 uekk"D #D 2! 2 2
 |[)% *% ! 
%* *b 
% 2 
#  
(,,  
(

" " 
(

" " 
(

" "$ 
(-- $ h' (% 

 
 	 m,# , ,	f 	)enn )D  8** 8 !8 Wog. /  % !% 
"&& .
H .
b^IX ^IBI6X I6X/ %" %" %"P
)UCH UCp 2(++  2F5x00 5@ .VTN 1 ,64. /fe_=.( =.@T
8 T
n	 e- e- e-PLx L8\! \!~*! *!ZB; B;J zMMO KD  	Bs   :	R" "	R/.R/