+
    :i-                         ^ RI t^ RIt^ RIt^ RIHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHtHtHtHtHt ^ RIHt  ! R	 R
]4      t ! R R]4      t]R8X  d   ]P4                  ! 4        R# R# )    N)TestCasenjit)typeserrorscgutils	signature)models)overloadSentryLiteralArgsoverload_methodregister_model	intrinsic	literallyc                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 t]P                  R
 4       t]P                  R 4       tR tR tR tR tR tR tR tRtV tR# )TestLiteralDispatchc                    \         R  4       pV F  pV P                  V! V4      V4       K  	  \        WP                  4       F(  w  r4V P                  V^ ,          P                  V4       K*  	  R# )c                     \        V 4      # Nr   xs   &_/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_literal_dispatch.pyfoo4TestLiteralDispatch.check_literal_basic.<locals>.foo   s    Q<    N)r   assertEqualzip
signaturesliteral_value)selfliteral_argsr   litsigs   &&   r   check_literal_basic'TestLiteralDispatch.check_literal_basic   se    		  
	   CSXs+   L..9HCSV1137 :r   c                R    V P                  ^{R.4       V P                  RR.4       R# ){   A  abccb123N)r&   )r"   s   &r   test_literal_basic&TestLiteralDispatch.test_literal_basic   s'      #s,  %!12r   c                  a \         R  4       o\         V3R l4       p^^r2V P                  V! W#4      V^,          V,           4       SP                  w  pV P                  V^ ,          \        P                  ! V4      4       VP                  w  pV P                  V^ ,          \        P                  ! V4      4       V P                  V^,          \        P                  4       R# )c                 &    \        V 4      ^,          # )   r   r   s   &r   r   4TestLiteralDispatch.test_literal_nested.<locals>.foo"       Q<!##r   c                 "   < S! V 4      V,           # r    )yr   r   s   &&r   bar4TestLiteralDispatch.test_literal_nested.<locals>.bar&       q6A:r   N)r   r   r    r   literalassertNotIsInstanceLiteral)r"   r7   r6   r   foo_sigbar_sigr   s   &     @r   test_literal_nested'TestLiteralDispatch.test_literal_nested!   s    		$ 
	$ 
	 
	 !1QAEAI.NN	U]]1%56NN	U]]1%56  U]];r   c                   a ^ RI o\        V3R l4       pV P                  V! ^{4      ^{4       V P                  VP                  ^ ,          ^ ,          \        P
                  ! ^{4      4       R# )r   Nc                 (   < SP                   ! V 4      # r   r   )r   numbas   &r   r   7TestLiteralDispatch.test_literally_freevar.<locals>.foo6   s    ??1%%r   )rC   r   r   r    r   r:   )r"   r   rC   s   & @r   test_literally_freevar*TestLiteralDispatch.test_literally_freevar2   sU    		& 
	& 	S3'*1-u}}S/ABr   c                ^   R  pV! R 4      w  r#V! \         4      w  rEV P                  V! ^
^4      V! ^
^4      4       V P                  VP                  ^ ,          ^,          P                  ^4       V P                  VP                  ^ ,          ^,          P                  ^4       V P                  V! ^^4      V! ^^4      4       V P                  VP                  ^,          ^,          P                  ^4       V P                  VP                  ^,          ^,          P                  ^4       R# )c                 :   aa V V3R  l4       oV V3R l4       oSS3# )c                 D   < V ^8  d   V# V S! V ^,
          V4      ,          #    r5   )nvalue	inner_facs   &&r   	outer_fac[TestLiteralDispatch.test_mutual_recursion_literal.<locals>.get_functions.<locals>.outer_fac?   s%    q5 L9QUE222r   c                 V   < V ^8  d   \        V4      # V S! V ^,
          V4      ,          # rJ   r   )rL   rM   rO   s   &&r   rN   [TestLiteralDispatch.test_mutual_recursion_literal.<locals>.get_functions.<locals>.inner_facE   s+    q5$U++9QUE222r   r5   )decorrN   rO   s   &@@r   get_functionsHTestLiteralDispatch.test_mutual_recursion_literal.<locals>.get_functions>   s6    3 3
 3 3
 i''r   c                     V # r   r5   r   s   &r   <lambda>CTestLiteralDispatch.test_mutual_recursion_literal.<locals>.<lambda>M   s    qr   N)r   r   r    r!   )r"   rT   ref_outer_facref_inner_facrO   rN   s   &     r   test_mutual_recursion_literal1TestLiteralDispatch.test_mutual_recursion_literal=   s    	( (5['A$,T2	2r*M"b,AB--a03AA2F--a03AA2F2r*M"b,AB--a03AA2F--a03AA2Fr   c                  a \         V3R  l4       p\         R 4       o\        ^^^R7      pV! R/ VB pR ! R/ VB pV P                  W44       VP                  w  pV P                  V^,          \        P
                  ! ^4      4       R# )c                    < S! W4      # r   r5   abcinners   &&&r   r   >TestLiteralDispatch.test_literal_nested_multi_arg.<locals>.fooY       ;r   c                 &    V \        V4      ,           # r   r   r   r6   s   &&r   rc   @TestLiteralDispatch.test_literal_nested_multi_arg.<locals>.inner]       y|##r   r`   ra   rb   c                     W,           # r   r5   rj   s   &&&r   rW   CTestLiteralDispatch.test_literal_nested_multi_arg.<locals>.<lambda>c   s    !%r   Nr5   )r   dictr   r    r   r:   )r"   r   kwargsgotexpectr=   rc   s   &     @r   test_literal_nested_multi_arg1TestLiteralDispatch.test_literal_nested_multi_argX   s    		 
	 
	$ 
	$ Q!$mFm'262%NN	U]]1%56r   c                P  a \         V3R  l4       p\         R 4       o\        P                  ! ^
4      pV P                  \        P
                  4      ;_uu_ 4       pV! ^^VR7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                    < S! W4      # r   r5   r_   s   &&&r   r   >TestLiteralDispatch.test_unsupported_literal_type.<locals>.fooi   re   r   c                 &    V \        V4      ,           # r   r   rg   s   &&r   rc   @TestLiteralDispatch.test_unsupported_literal_type.<locals>.innerm   ri   r   rj   Nznumpy.ndarray)	r   nparangeassertRaisesr   LiteralTypingErrorassertInstr	exception)r"   r   arrraisesrc   s   &   @r   test_unsupported_literal_type1TestLiteralDispatch.test_unsupported_literal_typeh   s    		 
	 
	$ 
	$ iimv8899V!qC  :os6+;+;'<= :9s   BB%	c                  a \         V3R  l4       p\         R 4       o\        ^^^R7      pV! R/ VB pR ! R/ VB pV P                  W44       VP                  w  w  rVpV P	                  V\
        P                  4       V P                  V\
        P                  4       V P                  VP                  ^4       V P                  V\
        P                  4       V P                  VP                  ^4       R# )c                 .   < S! W4      S! W4      ,           # r   r5   r_   s   &&&r   r   /TestLiteralDispatch.test_biliteral.<locals>.foox   s    ;q,,r   c                 &    V \        V4      ,           # r   r   rg   s   &&r   rc   1TestLiteralDispatch.test_biliteral.<locals>.inner|   ri   r   rj   c                 .    W,           V,           V,           # r   r5   rj   s   &&&r   rW   4TestLiteralDispatch.test_biliteral.<locals>.<lambda>   s    !%!)a-r   Nr5   	r   rm   r   r    r;   r   r<   assertIsInstancer!   	r"   r   rn   ro   rp   type_atype_btype_crc   s	   &       @r   test_biliteral"TestLiteralDispatch.test_biliteralv   s    		- 
	- 
	$ 
	$ Q!$mFm/:6:%%(^^"	!&&  7femm4--q1femm4--q1r   c                  a \         R  4       oV P                  \        P                  4      ;_uu_ 4        S! ^^^4       RRR4       \         V3R l4       pV P                  \        P                  4      ;_uu_ 4       pV! ^^4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L; i  + '       g   i     LJ; i)c                     \        V4      # r   r   )r`   argss   &*r   r   7TestLiteralDispatch.test_literally_varargs.<locals>.foo   s    T?"r   Nc                    < S! W4       R # r   r5   r`   ra   r   s   &&r   r7   7TestLiteralDispatch.test_literally_varargs.<locals>.bar   s
    Ir   zCannot request literal type)r   rz   r   r{   TypingErrorr|   r}   r~   )r"   r7   r   r   s   &  @r   test_literally_varargs*TestLiteralDispatch.test_literally_varargs   s    		# 
	# v88991aL : 
	 
	 v1122f1I 3)  !	
 :9 32s   B7>
C
7C	
C	c                4    \         RR l4       pV! ^R7       R# )rK   c                     V \        V4      3# r   r   r`   ra   s   &&r   r   8TestLiteralDispatch.test_literally_defaults.<locals>.foo       y|$$r   )r`   NrJ   r   )r"   r   s   & r   test_literally_defaults+TestLiteralDispatch.test_literally_defaults   s     
	% 
	%ar   c                R   a \         RR l4       o\         V3R l4       pV! ^4       R# )rK   c                     V \        V4      3# r   r   r   s   &&r   r   >TestLiteralDispatch.test_literally_defaults_inner.<locals>.foo   r   r   c                 "   < S! V 4      ^,           # rJ   r5   )r`   r   s   &r   r7   >TestLiteralDispatch.test_literally_defaults_inner.<locals>.bar   r9   r   NrJ   r   )r"   r7   r   s   & @r   test_literally_defaults_inner1TestLiteralDispatch.test_literally_defaults_inner   s4     
	% 
	% 
	 
	 	Ar   c                    \         R  4       pV! ^{4      pV P                  W!P                  ^{4      4       V P                  VP                  ^ ,          ^ ,          \
        P                  4       R# )c                 .    \         P                  ! V 4      # r   )rC   r   r   s   &r   r   ;TestLiteralDispatch.test_literally_from_module.<locals>.foo   s    ??1%%r   N)r   r   py_funcr   r    r   r<   )r"   r   ro   s   &  r   test_literally_from_module.TestLiteralDispatch.test_literally_from_module   sX    		& 
	& #hkk#./cnnQ/2EMMBr   c                    \         R  4       pV P                  \        P                  4      ;_uu_ 4       pV! ^^4       RRR4       V P	                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                 &    \        ^V ,           4      # rJ   r   r   s   &&r   r   1TestLiteralDispatch.test_non_literal.<locals>.foo   s    QU##r   NzInvalid use of non-Literal type)r   rz   r   r   r|   r}   r~   )r"   r   r   s   &  r   test_non_literal$TestLiteralDispatch.test_non_literal   sc    		$ 
	$ v1122f1I 3-  !	
 32s   
A--A=	c                   a \         R  4       oS! ^^4      pV P                  VSP                  ^^4      4       \         V3R l4       pV! 4       pV P                  WP                  4       4       R# )c                 J    R pV \        V4      ,           \        V4      ,           # )i  r   )r`   ra   vs   && r   r   5TestLiteralDispatch.test_inlined_literal.<locals>.foo   s    Ay|#il22r   c                     < ^dp ^	pS! WR7      # )d   r   r5   r   s     r   r7   5TestLiteralDispatch.test_inlined_literal.<locals>.bar   s    AA= r   N)r   r   r   )r"   ro   r7   r   s   &  @r   test_inlined_literal(TestLiteralDispatch.test_inlined_literal   sl    		3 
	3 !Qickk!Q/0		! 
	!
 ekkm,r   c                  a \         V3R  l4       p\         R 4       o\        ^^^R7      pV! R/ VB pR ! R/ VB pV P                  W44       VP                  w  w  rVpV P	                  V\
        P                  4       V P                  V\
        P                  4       V P                  VP                  ^4       V P                  V\
        P                  4       V P                  VP                  ^4       R# )c                 (   <a a V VV3R  lpV! V4      # )c                 D   < \        V 4      ^
S! SS4      ,          ,           # 
   r   )dr`   ra   rc   s   &r   closureGTestLiteralDispatch.test_aliased_variable.<locals>.foo.<locals>.closure   s     |b5A;&666r   r5   )r`   ra   rb   r   rc   s   ff& r   r   6TestLiteralDispatch.test_aliased_variable.<locals>.foo   s    7 1:r   c                 &    V \        V4      ,           # r   r   rg   s   &&r   rc   8TestLiteralDispatch.test_aliased_variable.<locals>.inner   ri   r   rj   c                 .    V^
W,           ,          ,           # r   r5   rj   s   &&&r   rW   ;TestLiteralDispatch.test_aliased_variable.<locals>.<lambda>   s    !bAEl"2r   Nr5   r   r   s	   &       @r   test_aliased_variable)TestLiteralDispatch.test_aliased_variable   s    		 
	 
	$ 
	$ Q!$mFm2=f=%%(^^"	!&&  7femm4--q1femm4--q1r   c                  aa R  o\        S4      V3R l4       o\        V3R l4       p^{pRpV! W#4      pV P                  WBV,           4       VP                  ^ ,          w  rVV P	                  V\
        P                  4       V P                  VP                  V4       V P                  V\
        P                  4       R# )c                     W,           # r   r5   rg   s   &&r   do_this;TestLiteralDispatch.test_overload_explicit.<locals>.do_this   	    5Lr   c                 ^   < \        R .4      P                  S4      P                  W4       R # )r   c                     W,           # r   r5   rg   s   &&r   rW   PTestLiteralDispatch.test_overload_explicit.<locals>.ov_do_this.<locals>.<lambda>   s    r   )r   for_functionbind)r   r6   
ov_do_thiss   &&r   r   >TestLiteralDispatch.test_overload_explicit.<locals>.ov_do_this   s)    se$11*=BB1H%%r   c                    < S! W4      # r   r5   r`   ra   r   s   &&r   r   7TestLiteralDispatch.test_overload_explicit.<locals>.foo       1= r   r*   N)	r   r   r   r    r   r   r<   r!   r;   )	r"   r   r`   ra   rr   r   r   r   s	   &      @@r   test_overload_explicit*TestLiteralDispatch.test_overload_explicit   s    	 
'		& 
	& 
	! 
	! IE">>!,femm4--q1  7r   c                  aa	 R  o\         R 4       o	\        S4      V	3R l4       p\         V3R l4       p^{pRpV! W44      pV P                  WSV,           4       VP                  ^ ,          w  rgV P	                  V\
        P                  4       V P                  VP                  V4       V P                  V\
        P                  4       R# )c                     W,           # r   r5   rg   s   &&r   r   ;TestLiteralDispatch.test_overload_implicit.<locals>.do_this  r   r   c                 &    \        V 4      V,           # r   r   rg   s   &&r   hidden:TestLiteralDispatch.test_overload_implicit.<locals>.hidden  r3   r   c                 T   < \        V \        P                  4      '       d   V3R  l# R# )c                    < S! W4      # r   r5   r   r6   r   s   &&r   rW   PTestLiteralDispatch.test_overload_implicit.<locals>.ov_do_this.<locals>.<lambda>  s	    F1Lr   N)
isinstancer   Integerr   s   &&r   r   >TestLiteralDispatch.test_overload_implicit.<locals>.ov_do_this  s    !U]]++00 ,r   c                    < S! W4      # r   r5   r   s   &&r   r   7TestLiteralDispatch.test_overload_implicit.<locals>.foo  r   r   r*   N)	r   r   r   r    r   r   r<   r!   r;   )
r"   r   r   r`   ra   r   r   r   r   r   s
   &       @@r   test_overload_implicit*TestLiteralDispatch.test_overload_implicit  s    	 
	$ 
	$ 
'		1 
	1
 
	! 
	! IE">>!,femm4--q1  7r   c                R  aa R  o\         R 4       o\        S4      V3R l4       p\         V3R l4       pV P                  \        P                  4      ;_uu_ 4       pV! ^{RR7       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)c                     W,           # r   r5   rg   s   &&r   r   =TestLiteralDispatch.test_overload_error_loop.<locals>.do_this.  r   r   c                 &    \        V 4      V,           # r   r   rg   s   &&r   r   <TestLiteralDispatch.test_overload_error_loop.<locals>.hidden1  r3   r   c                    < \        V\        P                  4      '       d   \        P                  ! R 4      hV3R lpV# )oopsc                    < S! W4      # r   r5   r   s   &&r   implNTestLiteralDispatch.test_overload_error_loop.<locals>.ov_do_this.<locals>.impl<  s    !!<'r   )r   r   IntegerLiteralr   NumbaValueError)r   r6   r   r   s   && r   r   @TestLiteralDispatch.test_overload_error_loop.<locals>.ov_do_this5  s3    !U1122 ,,V44(r   c                 (   < S! V \        V4      4      # r   r   r   s   &&r   r   9TestLiteralDispatch.test_overload_error_loop.<locals>.foo@  s    1il++r   r*   r   NzRepeated literal typing request)r   r   rz   r   CompilerErrorr|   r}   r~   )r"   r   r   r   r   r   s   &   @@r   test_overload_error_loop,TestLiteralDispatch.test_overload_error_loop)  s    
	 
	$ 
	$ 
'		 
	 
	, 
	,
 v3344# 57&**+	- 54s   BB&	r5   N)__name__
__module____qualname____firstlineno__r&   r-   r?   rE   r[   rq   r   r   r   unittestexpectedFailurer   r   r   r   r   r   r   r   r  __static_attributes____classdictcell____classdict__s   @r   r   r      s     
83<"	CG67 >2*
&   
 
C

-&2.808< -  -r   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )!TestLiteralDispatchWithCustomTypeiL  c                   aaa  ! R  R\         4      p ! V3R lR\        P                  4      o\        S4       ! V3R lR\        P
                  4      4       o\        V3R l4       o\        V4      V3R l4       pSV3# )c                   &   a  ] tR tRt o R tRtV tR# )@TestLiteralDispatchWithCustomType.make_dummy_type.<locals>.DummyiN  c                    V# r   r5   r"   r`   s   &&r   r$   DTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.Dummy.litO  s    r   r5   N)r  r  r  r  r$   r	  r
  r  s   @r   Dummyr  N  s      r   r  c                   6   <a a ] tR tRt oVV 3R ltRtVtV ;t# )DTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.DummyTypeiR  c                (   < \         SV `  R R7       R# )dummy)nameNsuper__init__)r"   	DummyType	__class__s   &r   r  MTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.DummyType.__init__S  s    i/W/=r   r5   r  r  r  r  r  r	  r
  __classcell__)r  r  r  s   @@r   r  r  R  s     > >r   r  c                   6   <a a ] tR tRt oVV 3R ltRtVtV ;t# )ITestLiteralDispatchWithCustomType.make_dummy_type.<locals>.DummyTypeModeliV  c                ,   < . p\         SV `  WV4       R # r   r  )r"   dmmfe_typemembersDummyTypeModelr  s   &&& r   r  RTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.DummyTypeModel.__init__X  s    nd4S7Kr   r5   r!  )r  r  r)  s   @@r   r)  r$  V  s     L Lr   r)  c                 0   < R  p\        S! 4       4      pW!3# )c                 n    \         P                  ! VP                  4      ! W4      pVP                  4       # r   )r   create_struct_proxyreturn_type	_getvalue)contextbuilderr
   r   r  s   &&&& r   codegenVTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.init_dummy.<locals>.codegen^  s2    33))++2= ((r   r	   )	typingctxr2  r%   r  s   &  r   
init_dummyETestLiteralDispatchWithCustomType.make_dummy_type.<locals>.init_dummy\  s    ) IK(C<r   c                     < V3R  lp V # )c                     < S ! 4       # r   r5   )r5  s   r   ctorWTestLiteralDispatchWithCustomType.make_dummy_type.<locals>.dummy_overload.<locals>.ctori  s    !|#r   r5   )r9  r5  s    r   dummy_overloadITestLiteralDispatchWithCustomType.make_dummy_type.<locals>.dummy_overloadg  s    $ Kr   )objectr   Typer   r   StructModelr   r   )r"   r  r;  r  r)  r5  s   &  @@@r   make_dummy_type1TestLiteralDispatchWithCustomType.make_dummy_typeM  s    	F 		>

 	> 
		"	LV// 	L 
#	L
 
	  
	  
%	 
	 5!!r   c                  aa V P                  4       w  po\        VR 4      R 4       p\        V3R l4       oV P                  S! ^4      ^4       \        V3R l4       pV P	                  \
        P                  4      ;_uu_ 4       pV! ^4       RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)r$   c                     R  pV# )c                     \        V4      # r   r   r  s   &&r   r   ZTestLiteralDispatchWithCustomType.test_overload_method.<locals>.lit_overload.<locals>.implv  s     |#r   r5   )r"   r`   r   s   && r   lit_overloadLTestLiteralDispatchWithCustomType.test_overload_method.<locals>.lit_overloadt  s    $ Kr   c                 4   < S! 4       pVP                  V 4      # r   )r$   )r`   r   r  s   & r   	test_implITestLiteralDispatchWithCustomType.test_overload_method.<locals>.test_impl{  s    A558Or   c                 "   < S! V ^,           4      # rJ   r5   )r`   rI  s   &r   insideFTestLiteralDispatchWithCustomType.test_overload_method.<locals>.inside  s    QU##r   NzCannot request literal type.)
r@  r   r   r   rz   r   r   r|   r}   r~   )r"   r  rF  rL  r   r  rI  s   &    @@r   test_overload_method6TestLiteralDispatchWithCustomType.test_overload_methodp  s    //1	5	E	*	 
+	 
	 
	 	1q) 
	$ 
	$ v1122f1I 3 	4c&:J:J6KL 32s   	B==C	r5   N)r  r  r  r  r@  rN  r	  r
  r  s   @r   r  r  L  s     !"FM Mr   r  __main__)numpyrx   rC   r  numba.tests.supportr   r   
numba.corer   r   r   numba.core.typingr
   numba.core.datamodelr   numba.core.extendingr   r   r   r   r   numba.misc.specialr   r   r  r  mainr5   r   r   <module>rY     sg       (  - - ' '  )y-( y-x	@M @MF zMMO r   