+
    :i6                     x   ^ RI t ^ RIHt ^ RI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HtHtHt ^ RIHtHt ^ RIHt ^ R	IHt ^ RIt^ R
IHtH t H!t! ^ RI"H#t#  ! R R]PH                  4      t% ! R R]PH                  4      t& ! R R]4      t']! RRRRRRRRRRRRRRR R!R"4      t( ! R# R$](]4      t)R# )%    N)ir)_dynfunc)PyCallWrapper)BaseContext)	utilstypesconfigcgutilscallconvcodegen	externalsfastmathpass
intrinsics)TargetOptionsinclude_default_options)rtsys)global_compiler_lock)ParallelOptionsFastMathOptionsInlineOptions)ufunc_dbc                   4    ] tR t^tR]P
                  3.tRtR# )ClosureBodyenv N__name__
__module____qualname____firstlineno__r   pyobject_fields__static_attributes__r       L/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/core/cpu.pyr   r      s    u~~&'Gr$   r   c                   N    ] tR t^tR]P
                  3R]P
                  3.tRtR# )EnvBodyglobalsconstsr   Nr   r   r$   r%   r'   r'      s!    	ENN#	5>>"Gr$   r'   c                      a a ] tR t^#t oRtRtRV 3R lltR t]R 4       t	RR lt
R t]R 4       tR	 tR
 t]R 4       tR tRR ltR tR tR tR tR tRR ltR tR tR tR tRtVtV ;t# )
CPUContextz(
Changes BaseContext calling convention
Tc                &   < \         SV `  W4       R # N)super__init__)self	typingctxtarget	__class__s   &&&r%   r/   CPUContext.__init__)   s    +r$   c                8    V P                   P                  V4      # r-   )_internal_codegen_create_empty_module)r0   names   &&r%   create_moduleCPUContext.create_module-   s    %%::4@@r$   c                
   \         P                  ^ 8H  V n        \        P                  ! R4      V n        \        P                  ! 4       R8X  d   \        P                  ! R4       \        P                  P                  V 4       R# )    z
numba.execs390xzlibgcc_s.so.1N)r   MACHINE_BITSis32bitr   JITCPUCodegenr6   platformmachinellload_library_permanentlyr   c_math_functionsinstallr0   s   &r%   initCPUContext.init0   s^    **b0!(!6!6|!D (''8 	""**40r$   c                   V P                   ^@8X  Ed/   \        P                  ! 4       R8X  Ed   R p\        VP                  4       F  w  rV\        VP                  \        P                  4      '       g   K1  VP                  P                  ^@8  g   KN  RpV'       d   V\        V4      8  d	   W%,          pVP                  V! V4      4       K  	  VP                  P                  p\        V\        P                  4      '       d7   VP                  ^@8  d$   VP                  P                  V! V4      4       R# R# R# R# R# )a'  
Implementation of caller Type Promotions for s390x ABI requirement.
See https://github.com/numba/numba/issues/9640

On s390x, the ABI requires that any integer argument or return
value smaller than 64 bits must be promoted to 64 bits by the caller.
The callee can then safely assume the high-order bits of the register
are correctly filled (sign-extended or zero-extended).
Without these attributes, LLVM may leave garbage in the high bits,
leading to undefined behavior (e.g., segfaults) when the callee
performs 64-bit operations on 32-bit values.
r=   c                r    \        V \        P                  4      '       d   V P                  '       d   R# R# R# )z
Map Numba types to LLVM extension attributes.
Signed integers -> signext (sign extension)
Unsigned/Booleans -> zeroext (zero extension)
signextzeroext)
isinstancer   Integersigned)numba_tys   &r%   get_ext_attr8CPUContext.apply_target_attributes.<locals>.get_ext_attrJ   s+     h66(09FYF r$   N)address_sizerA   rB   	enumerateargsrN   typer   IntTypewidthlenadd_attributereturn_value)	r0   	llvm_funcargtypesrestyperR   iargn_tyrettys	   &&&&     r%   apply_target_attributes"CPUContext.apply_target_attributes<   s     "x'7'7'9W'D! $INN3chh

338KDAH$5'{%%l4&89 4 **//E%,,r1A&&44\'5JK 2B,+ (E"r$   c                   \         P                  ! V 4       ^ RIHpHpHpHpHpHpH	pH
pHp	Hp
HpHpHp ^ RIHpHp ^ RIHpHp ^ RIHpHpHp ^ RIHpHp ^ RIHpHp ^ RI H!pH"p ^ RI H#pH$p ^ R	I%H&pH'p ^ R
IH(p ^ RIH)p  ^ RIH*p!H+p"H,p#H-p$ ^ RIH.p% ^ RI/H0p& V Pc                  V!Pd                  4       V Pc                  V%Pd                  4       V Pc                  V"Pd                  4       V Pc                  V Pd                  4       V Pc                  V#Pd                  4       V Pc                  V$Pd                  4       V Pc                  V&Pf                  4       \h        Pj                  Pl                  Po                  4        ^ RI8H9p' R# )r   )builtinscharseqenumimplhashingheapq	iteratorslistobjnumbersrangeobjsetobjslicingtupleobjunicode)optionalinline_closurecall)gdb_hookliteral)linalg	arraymatharrayobj)generator_coregenerator_methods)polynomial_corepolynomial_functions)	typeddictdictimpl)	typedlist
listobject)jitclassfunction_type)
npdatetime)npyimpl)	cmathimplmathimpl	printimpl
randomimpl)cffiimpl)ClassBuilder)ndarrayN):r   
initializenumba.cpythonrg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   
numba.corert   ru   
numba.miscrv   rw   numba.nprx   ry   rz   numba.np.randomr{   r|   numba.np.polynomialr}   r~   numba.typedr   r   r   r   numba.experimentalr   r   r   r   r   r   r   r   r    numba.experimental.jitclass.baser   install_registryregistryclass_impl_registrynumbacoreentrypointsinit_allnumba.np.unsafer   )(r0   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   jitclassimplr   s(   &                                       r%   load_additional_registries%CPUContext.load_additional_registriesa   s    		- 	- 	- 	-
 	<088EM35>' 	%LL'	i001h//0h//0g../i001j112l>>? 	

'') 	,r$   c                .    V P                   P                  # r-   )r6   target_datarG   s   &r%   r   CPUContext.target_data   s    %%111r$   c                V    \         P                  ! V3/ VB pV P                  VR R7      # )T)r6   aot_mode)r   AOTCPUCodegen	subtarget)r0   r8   aot_optionsaot_codegens   &&, r%   with_aot_codegenCPUContext.with_aot_codegen   s2    ++D@K@~~'+  - 	-r$   c                    V P                   # r-   )r6   rG   s   &r%   r   CPUContext.codegen   s    %%%r$   c                .    \         P                  ! V 4      # r-   )r   CPUCallConvrG   s   &r%   	call_convCPUContext.call_conv   s    ##D))r$   c                v    \         P                  ! W\        P                  R,          4      p\	        WVRR7      # )z
From the given *envptr* (a pointer to a _dynfunc.Environment object),
get a EnvBody allowing structured access to environment fields.
offsetof_env_bodyT)refcast_ref)r
   pointer_addr   
_impl_infor'   )r0   builderenvptrbody_ptrs   &&& r%   get_env_bodyCPUContext.get_env_body   s5    
 &&X001DEGt(TBBr$   c                Z   V P                  VP                  V P                  V P                  4      4      pVP	                  V4      pV P                  V4      pVP                  VVV P                  P                  R 7       V P                  W4      pVP                  V P                  Wd4      # ))return_pyobject	debug_msg)declare_env_globalmoduleget_env_namefndescloadget_python_apiemit_environment_sentryenv_namer   get_env_managerenvironment)r0   r   r   envgvenvargpyapienv_bodys   &&&    r%   r   CPUContext.get_env_manager   s    ''(,(9(9$++(FHe$##G,%%+kk** 	& 	

 $$W5$$T%5%5xHHr$   c                ^    \         P                  ! W\        P                  R,          VR7      # )zf
From the given *genptr* (a pointer to a _dynfunc.Generator object),
get a pointer to its state area.
offsetof_generator_state)return_type)r
   r   r   r   )r0   r   genptrr   s   &&&&r%   get_generator_stateCPUContext.get_generator_state   s+    
 ""X001KL#% 	%r$   c                2    ^ RI Hp VP                  WW#4      # )zB
Build a list from the Numba *list_type* and its initial *items*.
)rm   )r   rm   
build_list)r0   r   	list_typeitemsrm   s   &&&& r%   r   CPUContext.build_list   s     	*!!$BBr$   c                2    ^ RI Hp VP                  WW#4      # )z@
Build a set from the Numba *set_type* and its initial *items*.
)rp   )r   rp   	build_set)r0   r   set_typer   rp   s   &&&& r%   r   CPUContext.build_set   s     	)x??r$   c                4    ^ RI Hp VP                  WW#V4      # )r   )
dictobject)r   r   	build_map)r0   r   	dict_type
item_typesr   r   s   &&&&& r%   r   CPUContext.build_map   s    *##D9%PPr$   c                    V P                   '       d!   \        P                  ! WP                   4       V P                  '       d   \        P
                  ! V4       VP                  \        P                  4       R # r-   )	fastmathr   rewrite_moduler?   r   
fix_divmodadd_linking_libraryr   library)r0   modr   s   &&&r%   post_loweringCPUContext.post_lowering   sH    ==='']];<<< !!#&##EMM2r$   c           
     ,   V P                  R 4      pV P                  P                  VP                  VP                  4      p\
        P                  ! WgVP                  4      p\        WVW#VVR7      p	V	P                  4        VP                  V4       R# )wrapper)call_helperrelease_gilN)r9   r   get_function_typer_   r^   r   Functionllvm_func_namer   buildadd_ir_module)
r0   r   r   r   r   r   wrapper_modulefntywrapper_calleer   s
   &&&&&&    r%   create_cpython_wrapper!CPUContext.create_cpython_wrapper   sx    ++I6~~//P^%+%:%:<n &,79 	n-r$   c           	        V P                  R 4      pV P                  P                  VP                  VP                  4      p\
        P                  ! WVVP                  4      pVP                   Uu. uF  qP                  V4      NK  	  p	pV P                  VP                  4      p
\
        P                  ! W4      p\
        P                  ! W[VP                  4      p\
        P                  ! VP                  R4      4      pV P                  P                  WVP                  VP                  VP                  RR7      w  rVP                  VP                   RR7      ;_uu_ 4        V P#                  V4      pVP%                  4       pV P                  P'                  VVV4       V P)                  VP*                  \-        V 4      4      pVP/                  V4      pVP1                  V4       VP3                  V4       VP5                  V4       RRR4       VP7                  V4       VP9                  V4       R# u upi   + '       g   i     L9; i)cfunc_wrapperentry)attrsF)likelyN)noinline)r9   r   r   r_   r^   r   r   r   get_value_typeFunctionTypellvm_cfunc_wrapper_name	IRBuilderappend_basic_blockcall_functionrV   if_thenis_errorr   
gil_ensureraise_errorinsert_const_stringr   reprstring_from_stringerr_write_unraisabledecrefgil_releaseretr   )r0   r   r   r   r   r   r   r   tyll_argtypesll_return_typewraptywrapfnr   statusoutr   	gil_statecstrstrobjs   &&&&&               r%   create_cfunc_wrapperCPUContext.create_cfunc_wrapper   s   ++O<~~//P^%+%:%:< :@I2**2.I,,V^^<=^#;;=,,v88ABnn22V^^V__KK} 3 . __V__U_;; ''0E((*INN&&wv>++GNNDJGD--d3F&&v.LL i( < 	Cn-1 J <;s   1H<(B(II	c                D   VP                  VP                  4      pRVP                  : 2p\        P                  ! VP                  4       VP                  P                  R4      R,          WTVV34      pVP                  P                  V P                  V4      V4       V# )z
Returns
-------
(cfunc, fnptr)

- cfunc
    callable function (Can be None)
- fnptr
    callable function address
- env
    an execution environment (from _dynfunc)
zcompiled wrapper for .)
get_pointer_to_functionllvm_cpython_wrapper_namequalnamer   make_functionlookup_modulesplitr   set_envr   )r0   r   r   r   fnptrdoccfuncs   &&&&   r%   get_executableCPUContext.get_executable  s     //,,.
 ,2??<&&v';';'='-'<'<S'A"'E'*3(/z	) 	 1 1& 93?r$   c                    \         P                  ! \         P                  VR4      pV P                  V P	                  V4      4      # )z9
Calculate the size of an array struct on the CPU target
A)r   Arrayint32get_abi_sizeofr  )r0   ndimarytys   && r%   calc_array_sizeofCPUContext.calc_array_sizeof#  s6     EKKs3""4#6#6u#=>>r$   c                .    \         P                  ! V4      # r-   )r   get_ufunc_info)r0   	ufunc_keys   &&r%   r9  CPUContext.get_ufunc_info+  s    &&y11r$   )r6   r?   )cpu)NN)F) r   r   r   r    __doc__allow_dynamic_globalsr/   r9   r   rH   rd   r   propertyr   r   r   r   r   r   r   r   r   r   r   r   r  r-  r6  r9  r#   __classdictcell____classcell__)r3   __classdict__s   @@r%   r+   r+   #   s      !,A 	1 	1#LJ*,X 2 2-
& * *CI%C@Q
	3
..@:?2 2r$   r+   nopythonforceobjlooplift_nrtdebugboundschecknogilno_rewritesno_cpython_wrapperno_cfunc_wrapperparallelr   error_modelinlineforceinline_dbg_extend_lifetimes_dbg_optnonec                   &   a  ] tR tRt o R tRtV tR# )CPUTargetOptionsiG  c                   VP                  R 4      '       g   RVn        VP                  R4      '       g   RVn        VP                  RRR7       VP                  R4      '       g   \        P
                  Vn        VP                  R4      '       g0   VP                  '       d	   RVn        M\        P                  Vn        VP                  R4      '       g   VP                  Vn	        RVn
        VP                  R4       VP                  R	R
R7       VP                  R4       VP                  '       d
   RVn        R# R# )enable_pyobjectTenable_loopliftnrt)default	debuginfodbg_extend_lifetimesrH  r   rN  pythonrP  FN)is_setrV  rW  inherit_if_not_setr	   DEBUGINFO_DEFAULTrZ  r[  EXTEND_VARIABLE_LIFETIMESrH  enable_pyobject_loopliftrP  dbg_optnone)r0   flagsoptionss   &&&r%   finalizeCPUTargetOptions.finalizeH  s    ||-..$(E!||-..$(E!   5||K(($66EO||233 .2* .4-M-M*||M** %E)-&  ,   A  / %E r$   r   N)r   r   r   r    re  r#   r@  )rB  s   @r%   rT  rT  G  s     "& "&r$   rT  )*rA   llvmlite.bindingbindingrC   llvmliter   r   r   numba.core.callwrapperr   numba.core.baser   r   r   r   r	   r
   r   r   r   r   r   numba.core.optionsr   r   numba.core.runtimer   numba.core.compiler_lockr   numba.core.entrypointsnumba.core.cpu_optionsr   r   r   r   r   	Structurer   r'   r+   _options_mixinrT  r   r$   r%   <module>rs     s        0 '= = = E $ 9 D D 
('## (g I2 I2^ )
#*#&~} #&r$   