+
    :i                         R t ^ RIt^ RIHt ^ RIHtHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt  ! R	 R
]4      t ! R R]4      tR# )z2
Implementation of compiled C callbacks (@cfunc).
N)cached_property)compilerregistry)	NullCacheFunctionCache)_FunctionCompiler)	signature)	to_ctypes)global_compiler_lockc                   &   a  ] tR t^t o R tRtV tR# )_CFuncCompilerc                x    R Vn         RVn        R Vn        RVn        VP                  '       d   \        R4      hV# )TFz&object mode not allowed in C callbacks)no_cpython_wrapperno_cfunc_wrapper
no_compileenable_pyobjectforce_pyobjectNotImplementedError)selfflagss   &&R/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/ccallback.py_customize_flags_CFuncCompiler._customize_flags   sC    #' !&   !&%&NOO     N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                      a  ] tR t^!t o Rt]P                  t]P                  3R lt
R t]R 4       tR t]R 4       t]R 4       t]R 4       t]R	 4       tR
 t]R 4       tR tR tRtV tR# )CFuncz<
A compiled C callback, as created by the @cfunc decorator.
c                D   Vw  rgVf   \        R4      hVP                  V n        \        VRV P                  4      V n        Wn        Wn        \        V.VO5!  V n        \        WP                  WCVR7      V n
        R V n        R V n        \        4       V n        ^ V n        R # )Nz(C callback needs an explicit return typer   )pipeline_class)	TypeErrorr   getattrr   __wrapped___pyfuncr   _sigr   _targetdescr	_compiler_wrapper_name_wrapper_addressr   _cache_cache_hits)r   pyfuncsiglocalsoptionsr&   argsreturn_types   &&&&&&  r   __init__CFunc.__init__'   s    FGG#FNDMMJ!k1D1	'0A0A(/7EG " $kr   c                :    \        V P                  4      V n        R # N)r   r*   r0   r   s   &r   enable_cachingCFunc.enable_caching;   s    #DLL1r   c                   V P                   P                  V P                  V P                  P                  4      pVf8   V P                  4       pV P                   P                  V P                  V4       MV ;P                  ^,          un        VP                  V n	        VP                  P                  V n        V P                  P                  V P                  4      V n        R # r;   )r0   load_overloadr+   r,   target_context_compile_uncachedsave_overloadr1   library_libraryfndescllvm_cfunc_wrapper_namer.   get_pointer_to_functionr/   )r   cress   & r   compileCFunc.compile>   s     {{(()-):):)I)IK<))+DKK%%dii6!![[@@ $ E E! r   c                z    V P                   pV P                  P                  VP                  VP                  4      # r;   )r+   r-   rJ   r6   r7   )r   r3   s   & r   rB   CFunc._compile_uncachedN   s,    ii ~~%%chh@@r   c                    V P                   # )z7
The process-wide symbol the C callback is exposed as.
)r.   r<   s   &r   native_nameCFunc.native_nameT   s     !!!r   c                    V P                   # )z 
The address of the C callback.
)r/   r<   s   &r   addressCFunc.address]   s    
 $$$r   c                b    ^ RI pVP                  4       pVP                  RV P                  4      # )z6
A cffi function pointer representing the C callback.
Nzvoid *)cffiFFIcastrR   )r   rU   ffis   &  r   rU   
CFunc.cffid   s)    
 	hhj xx$,,//r   c                    V P                   P                   Uu. uF  p\        V4      NK  	  pp\        V P                   P                  4      p\        P
                  ! V.VO5!  pV! V P                  4      # u upi )z7
A ctypes function object representing the C callback.
)r+   r6   r	   r7   ctypes	CFUNCTYPErR   )r   tyctypes_argsctypes_restypefunctypes   &    r   r[   CFunc.ctypeso   sa    
 04yy~~>~y}~>"499#8#89##NA[A%% ?s   A8c                6    V P                   P                  4       # )z2
Return the LLVM IR of the C callback definition.
)rE   get_llvm_strr<   s   &r   inspect_llvmCFunc.inspect_llvmy   s     }}))++r   c                    V P                   # r;   )r1   r<   s   &r   
cache_hitsCFunc.cache_hits   s    r   c                $    R V P                   : R2# )z<Numba C callback >)r   r<   s   &r   __repr__CFunc.__repr__   s    *.*;*;==r   c                &    V P                   ! V/ VB # r;   )r*   )r   r6   kwargss   &*,r   __call__CFunc.__call__   s    ||T,V,,r   )r   r   r)   r0   r1   r-   rE   r*   r+   r/   r.   N)r   r   r   r   __doc__r   
cpu_targetr,   r   Compilerr8   r=   r
   rJ   rB   propertyrO   rR   r   rU   r[   rd   rg   rk   ro   r   r    r!   s   @r   r$   r$   !   s      &&L !) 1 1(2    A " " % % 0 0 & &,    >- -r   r$   )rq   r[   	functoolsr   
numba.corer   r   numba.core.cachingr   r   numba.core.dispatcherr   numba.core.typingr   numba.core.typing.ctypes_utilsr	   numba.core.compiler_lockr
   r   objectr$   r   r   r   <module>r}      s?   
  % ) 7 3 ' 4 9&  f-F f-r   