
    i                     v    S r SSKrSSKJrJr  SSKJrJr   " S S5      r\R                  r
 " S S5      rS	 rg)
z
Target Options
    N)configutils)TargetConfigOptionc                   H    \ rS rSrSr " S S5      rS r\S 5       rS r	Sr
g	)
TargetOptions
   z{Target options maps user options from decorators to the
``numba.core.compiler.Flags`` used by lowering and target context.
c                   "    \ rS rSrS 4S jrSrg)TargetOptions.Mapping   c                     U $ N )xs    M/var/www/html/trading/venv/lib/python3.13/site-packages/numba/core/options.py<lambda>TargetOptions.Mapping.<lambda>   s    a    c                     Xl         X l        g r   )	flag_nameapply)selfr   r   s      r   __init__TargetOptions.Mapping.__init__   s    &NJr   )r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   Mappingr      s
    ,7 	r   r    c                     g)zSubclasses can override this method to make target specific
customizations of default flags.

Parameters
----------
flags : Flags
options : dict
Nr   )r   flagsoptionss      r   finalizeTargetOptions.finalize   s     	r   c                 X    U " 5       nUR                  X5        UR                  X5        U$ )zParse target options defined in ``options`` and set ``flags``
accordingly.

Parameters
----------
flags : Flags
options : dict
)_applyr$   )clsr"   r#   opts       r   parse_as_flagsTargetOptions.parse_as_flags   s(     e

5"U$r   c                    0 n[        U 5      n[        U5       H.  n[        XE5      n[        XdR                  5      (       d  M*  XcU'   M0     [        5       nUR                  5        HF  u  pXXR;   d  M  UR                  X%   5      n[        XR                  U5        UR                  U5        MH     [        U5      U-
  n	U	(       a!  SU	 SUR                  5        3n
[        U
5      eg )NzUnrecognized options: z. Known options are )typedirgetattr
isinstancer    setitemsr   setattrr   addkeysKeyError)r   r"   r#   mappingsr(   kvusedmappingunusedms              r   r'   TargetOptions._apply-   s    4jSAA![[)) 
 u"..*JA|MM'*-00!4	 + W$)& 2&&.mmo%68A1+	 r   r   N)r   r   r   r   __doc__r    r$   classmethodr*   r'   r   r   r   r   r   r   
   s/     
	  r   r   c                   N   \ rS rSrSr\" S\R                  5      r\" S5      r	\" S5      r
\" S5      r\" S5      r\" S5      r\" S	5      r\" S
5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      r\" S5      rSrg)DefaultOptionsH   zJDefines how user-level target options are mapped to the target flags.
    enable_pyobjectforce_pyobjectenable_loopliftnrt	debuginfoboundscheckrelease_gilwritable_argsno_rewritesno_cpython_wrapperno_cfunc_wrapperauto_parallelfastmatherror_modelinlineforceinlinedbg_extend_lifetimesdbg_optnoner   N)r   r   r   r   r?   _mappingoperatornot_nopythonforceobjlooplift_nrtdebugrI   nogilrK   rL   rM   rN   parallelrP   rQ   rR   rS   _dbg_extend_lifetimes_dbg_optnoner   r   r   r   rB   rB   H   s    )8==9H()H)*HE?D[!E=)K]#E_-M=)K!"67 23(H
#H=)KhF=)K$%;<M*Lr   rB   c                  f    U  Vs0 s H  o[        [        U5      _M     nn[        SSU5      $ s  snf )zsReturns a mixin class with a subset of the options

Parameters
----------
*args : str
    Option names to include.
OptionMixinsr   )r/   rB   r-   )argsr8   glbss      r   include_default_optionsrf   b   s6     4884aw~q))4D8D)) 9s   .)r?   rW   
numba.corer   r   numba.core.targetconfigr   r   r   r    rV   rB   rf   r   r   r   <module>ri      s<     $ 88 8v   + +4
*r   