+
    :i                     L    ^ RI Ht ^ RIt^ RIHtHt ^ RIHt  ! R R]4      t	R# )    )
ModuleTypeN)ConstantInferenceError
NumbaError)irc                   R   a  ] tR t^	t o RtR tRR ltR tR tR t	R t
R	 tR
tV tR# )ConstantInferencez
A constant inference engine for a given interpreter.
Inference inspects the IR to try and compute a compile-time constant for
a variable.

This shouldn't be used directly, instead call Interpreter.infer_constant().
c                J    \         P                  ! V4      V n        / V n        R # N)weakrefproxy_func_ir_cache)selffunc_irs   &&O/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/consts.py__init__ConstantInference.__init__   s      g.    Nc                p   WP                   9  d"    RV P                  V4      3V P                   V&   V P                   V,          w  rEV'       d   V# Vw  r6\        V\        4      '       d	   V! VRV/ hV! V!  h  \         d2   pRTP                  TP                  33T P                   T&    Rp?L~Rp?ii ; i)z
Infer a constant value for the given variable *name*.
If no value can be inferred, numba.errors.ConstantInferenceError
is raised.
TFNloc)r   	_do_inferr   	__class__args
issubclassr   )r   namer   excsuccessvalr   s   &&&    r   infer_constant ConstantInference.infer_constant   s     {{"G%)4>>$+?$@D!
 {{4(JIC#z**4)S))4j  * G &+S]]CHH,E$FD!Gs    A9 9B5'B00B5c                $    \        R V: 2RR7      h)z%Constant inference not possible for: Nr   )r   )r   r   s   &&r   _failConstantInference._fail/   s     %9<>DJ 	Jr   c                   \        V\        4      '       g   \        R V: 24      h V P                  P	                  V4      p TP                  4       pT#   \
         d    \        RT: 24      hi ; i  \         dI    \        T\        P                  4      '       d   T P                  T4      u # T P                  T4        X# i ; i)z%infer_constant() called with non-str zno single definition for )
isinstancestr	TypeErrorr   get_definitionKeyErrorr   r   r   Expr_infer_exprr#   )r   r   defnconsts   &&  r   r   ConstantInference._do_infer8   s    $$$#& ' '	9==//5D	'')E
   	9(1579 9	9
 & 	$((''--JJt		s#   A A3 A03<C1CCc                  a a SP                   R 8X  dD   S P                  SP                  P                  SP                  R7      pS P                  VS4      # SP                   R8X  dD   S P                  SP                  P                  SP                  R7      pS P                  VS4      # SP                   R8X  dB   SP                   Uu. uF*  pS P                  VP                  SP                  R7      NK,  	  up# SP                   R8X  dI   \        ;QJ d"    . VV 3R lSP                   4       F  NK  	  5# ! VV 3R lSP                   4       4      # S P                  S4       R# u upi )callr"   getattr
build_listbuild_tuplec              3   r   <"   T F,  pSP                  VP                  SP                  R 7      x  K.  	  R# 5i)r"   N)r   r   r   ).0iexprr   s   & r   	<genexpr>0ConstantInference._infer_expr.<locals>.<genexpr>U   s5      %# HI,,QVV,BB#s   47N)opr   funcr   r   _infer_callvalue_infer_getattritemstupler#   )r   r8   r<   r>   r7   s   ff   r   r,   ConstantInference._infer_exprI   s$   77f&&tyy~~488&DD##D$//WW	!''

TXX'FE&&ud33WW$JJ  CDD''DHH'=   WW%5 %%5 %5 %% % %

4 s   
0E)c                   VP                   '       g   VP                  '       d   V P                  V4       V\        39   p\	        V\
        4      ;'       d    \        V\        4      pV'       g	   V'       d`   VP                   Uu. uF)  qPP                  VP                  VP                  R 7      NK+  	  ppV'       d   V! V!  # V'       d   W3# Q R4       hV P                  V4       R# u upi )r"   UnreachableN)kwsvarargr#   slicer&   typer   BaseExceptionr   r   r   r   )r   r<   r8   _slice_excar   s   &&&    r   r=   ConstantInference._infer_callY   s    888t{{{JJt%!$%II*T=*ITII CD''DHH'=  T{"
 z!'-'q

4s   /C*c                    \        V\        \        34      '       d    \        WP                  4      # V P                  V4       R #   \
         d     L i ; ir
   )r&   r   rH   r2   attrAttributeErrorr#   )r   r>   r8   s   &&&r   r?    ConstantInference._infer_getattro   sJ    ej$/00uii00 	

4 " s   A AA)r   r   r
   )__name__
__module____qualname____firstlineno____doc__r   r   r#   r   r,   r=   r?   __static_attributes____classdictcell__)__classdict__s   @r   r   r   	   s3     !.J" , r   r   )
typesr   r   numba.core.errorsr   r   
numba.corer   objectr    r   r   <module>r_      s      @ m mr   