ó
\K]c           @` sL   d  Z  d d l m Z m Z m Z d d l m Z d e f d     YZ d S(   s   
Target Options
i    (   t   print_functiont   divisiont   absolute_importi   (   t   configt   TargetOptionsc           B` s8   e  Z i  Z d    Z d   Z e d    Z d   Z RS(   c         C` s   i  |  _  d  S(   N(   t   values(   t   self(    (    s4   lib/python2.7/site-packages/numba/targets/options.pyt   __init__   s    c         C` sx   xq | j    D]c \ } } y |  j | } Wn0 t k
 r\ d } t | |  j | f   q X| |  |  j | <q Wd  S(   Ns    %r does not support option: '%s'(   t   itemst   OPTIONSt   KeyErrort	   __class__R   (   R   t   dict   kt   vt   ctort   fmt(    (    s4   lib/python2.7/site-packages/numba/targets/options.pyt	   from_dict   s    c         C` s'   |    } | j  |  | j |  | S(   N(   R   t	   set_flags(   t   clst   flagst   optionst   opt(    (    s4   lib/python2.7/site-packages/numba/targets/options.pyt   parse_as_flags   s    	c         C` s’  |  j  j   } | j d t  t k r7 | j d  n  | j d t  rY | j d  n  | j d t  r{ | j d  n  | j d t  r | j d  n  | j d t  ræ | j d	  n  | j d
 t j  rń | j d  | j d  n  | j d t  r| j d  n  | j d t  r5| j d  n  | j d t  rW| j d  n  d | k r| j d | j d   n  d | k r§| j d | j d   n  d | k rĻ| j d | j d   n  | j d  | rūt d | j	     n  d S(   sU   
        Provide default flags setting logic.
        Subclass can override.
        t   nopythont   enable_pyobjectt   forceobjt   force_pyobjectt   loopliftt   enable_loopliftt
   boundcheckt   _nrtt   nrtt   debugt	   debuginfot   nogilt   release_gilt   no_rewritest   no_cpython_wrappert   parallelt   auto_parallelt   fastmatht   error_modelt   enable_pyobject_looplifts   Unrecognized options: %sN(
   R   t   copyt   popt   Falset   sett   TrueR   t   DEBUGINFO_DEFAULTt	   NameErrort   keys(   R   R   t   kws(    (    s4   lib/python2.7/site-packages/numba/targets/options.pyR      s:    (   t   __name__t
   __module__R	   R   R   t   classmethodR   R   (    (    (    s4   lib/python2.7/site-packages/numba/targets/options.pyR      s
   		
N(	   t   __doc__t
   __future__R    R   R   t    R   t   objectR   (    (    (    s4   lib/python2.7/site-packages/numba/targets/options.pyt   <module>   s   