
V]c        "   @@  s  d  d l  m Z d d l m Z m Z d d l m Z d d l m Z d d l	 m
 Z
 d d l	 m Z e j d d	  Z e j d
 d	  Z e j d d  Z e j d d  Z e j d d  Z e j d d  Z i e j d d  d 6Z d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ e d d d d d e e d d d d d e e d d  d  d d e e d d! d! d" d e e d e e d# d$ e j d% d  d& e
 j e
 j e
 j d' e
 j e  g d e d( e g e d)   e
 j  e
 j! e
 j" f D  e d*   e
 j# e
 j$ e
 j% f D  e d d+ d+ d, d$ e j d- d  e d. d+ d/ d0 d$ e j d1 d	  e d2 d3 d4 d5  e d6 d+ d+ d7  e d8 d3 d+ d9  e d: d+ d+ d; d$ e e d: d3 d+ d< d$ e e d: d= d+ d> d$ e e d? d= d+ d@ dA d$ e e dA d= d+ d@ d$ e e dA d3 d+ dB d$ e e dC d3 d/ dD d$ e j dE d  e dF d+ dG dH  e dI d+ d+ dJ d$ e j dK d  e dL d3 d/ dM  e dN d3 d/ dO  e dP d3 d+ dQ  e dP d+ d+ dR  e dS d+ dT dU  e dV dW d+ dX  e dY d+ d+ dZ d$ e e dY d3 d+ d[ d$ e g g  e
 j& e
 j' g D]H Z( e d\ e e d] d& e
 j e
 j) e
 j d^ e( e  g d e ^ qjg  e
 j* e
 j+ e
 j, g D]H Z( e d\ e e d_ d& e
 j e
 j, e
 j d^ e( e  g d e ^ qe d\ e e d` d$ e j da d  d& e
 j e
 j) e
 j d^ e
 j- e  g db dc e dd d= d+ de  e dd d3 d+ df d$ e j dg d  e dh d+ d+ di  e dj d+ d+ dk dl dm e dn d= d4 do  e dp d3 d+ dp  e dq dW d+ dq d$ e g Z. dr ds g  f dt du g  f dv dw g  f dx dy g  f dz d{ e d| d} d~ e d d d e
 j/ e d d d e
 j/ g f d d e d d d d d$ e j d d  g f d d g  f d d e d d d/ d  e d d d+ d d$ e j d d  g f dm d e d d d/ d  e d d d+ d dl d d$ e j d d  g f d d e d d d/ d  e d d d d  g f d d e d d d/ d  g f d d e d d d/ d  e d d d4 d  e d d d4 d  e d d d4 d d$ e j d d  e d d d4 d d$ e j d d  g f d d e d d d/ d  e d d d/ d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d+ d d$ e j d d  e d d d4 d d$ e j d d  e d d d d  g f d d e d  e d  e d  g f d d e d d d/ d  e d d d4 d  e d d d4 d d$ e j d d  e d d d4 d d$ e j d d  e d d d4 d  e d d d+ d  g f d d g  f d d g  f d d g  f g Z0 e1 dr d dv dx dz d d d d d d d d g  Z2 d d d e
 j3 f d e
 j- f dS e
 j4 f d e
 j4 f d e
 j5 f d e
 j6 f d e
 j7 f d e
 j8 f d e
 j8 f d e
 j8 f d e
 j9 e
 j4 d  f d e
 j3 f g f d~ d~ d e
 j/ f d e
 j/ f g f g Z: e   Z; d   Z< i  a= d   Z> d   Z? d   Z@ e@   d S(   i    (   t   absolute_importi   (   t   BuiltinScopet   StructOrUnionScope(   t   UtilityCode(   t	   Signature(   t
   PyrexTypes(   t   Optionst   IterNexts   ObjectHandling.ct   GetAttrt   GetAttr3s
   Builtins.ct   PyExect   PyExecGlobalst   Globalst   StopAsyncIterations   Coroutine.ct   _BuiltinOverridec           B@  s2   e  Z d  d d d e d d  Z d d d  Z RS(   t   *c         C@  sb   | | | |  _  |  _ |  _ | | |  _ |  _ | | |  _ |  _ |
 |  _ |	 |  _ | |  _	 d  S(   N(
   t   py_namet   cnamet   py_equivt   argst   ret_typet	   func_typet   sigt   builtin_return_typet   is_strict_signaturet   utility_code(   t   selfR   R   R   R   R   R   R   R   R   R   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   __init__   s    		c         C@  sq   | d  k r- t |  j |  j  } t | _ n  | j |  } |  j rQ t | _ n  |  j	 rm t
 |  j	 | _ n  | S(   N(   t   NoneR   R   R   t   Falset   exception_checkt   function_typeR   t   TrueR   t   builtin_typest   return_type(   R   R   t   self_argR   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   build_func_type)   s    		N(   t   __name__t
   __module__R   R   R   R$   (    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR      s   	t   BuiltinAttributec           B@  s#   e  Z d d d d   Z d   Z RS(   c         C@  s.   | |  _  | p | |  _ | |  _ | |  _ d  S(   N(   R   R   t   field_type_namet
   field_type(   R   R   R   R)   R(   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR   6   s    		c         C@  sj   |  j  d  k	 r' t j |  j   j } n |  j p6 t j } | j j	 |  j
 |  j | d  d  } t | _ d  S(   Nt   private(   R(   R   t   builtin_scopet   lookupt   typeR)   R   t   py_object_typet   scopet   declareR   R   R    t   is_variable(   R   t	   self_typeR)   t   entry(    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   declare_in_type<   s
    $N(   R%   R&   R   R   R4   (    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR'   5   s   t   BuiltinFunctionc           B@  s   e  Z d    Z RS(   c         C@  sZ   |  j  |  j } } | d  k r1 |  j |  } n  | j |  j | |  j |  j |  j  d  S(   N(	   R   R   R   R$   t   declare_builtin_cfunctionR   R   R   R   (   R   R/   R   R   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   declare_in_scopeG   s
    (   R%   R&   R7   (    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR5   F   s   t   BuiltinMethodc           B@  s   e  Z d    Z RS(   c         C@  s   |  j  |  j } } | d  k r[ t j d | d   } t | _ t | _ |  j | |  } n  | j	 j
 |  j | |  j d |  j d  S(   Nt    R   (   R   R   R   R   t   CFuncTypeArgR    t   not_nonet   accept_builtin_subtypesR$   R/   R6   R   R   R   (   R   R2   t   method_typeR   R#   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR4   P   s    			(   R%   R&   R4   (    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyR8   O   s   t   abst   dt   fabsR   t   ft   fabsft   it   lt   labst   __Pyx_abs_longlongR   t   abs_longlongR   t   argt   nogilc         c@  sc   |  ]Y } t  d  d d d j | j    d t j | t j d | d  g d t d t Vq d S(   R>   s   /*abs_{0}*/R   RH   R   RI   N(   R5   R   t   formatt   specialization_nameR   t	   CFuncTypeR:   R    (   t   .0t   t(    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pys	   <genexpr>n   s   c         c@  sc   |  ]Y } t  d  d d d j | j  d t j | j t j d | d  g d t d t Vq d S(   R>   s   __Pyx_c_abs{0}R   RH   R   RI   N(	   R5   R   RJ   t
   funcsuffixR   RL   t	   real_typeR:   R    (   RM   RN   (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pys	   <genexpr>u   s   t   Ot   __Pyx_PyNumber_Absolutet   py_abst   callablet   bt   __Pyx_PyCallable_Checkt   CallableCheckt   delattrt   OOt   rt   PyObject_DelAttrt   dirt   PyObject_Dirt   divmodt   PyNumber_Divmodt   exect   __Pyx_PyExecGlobalst   __Pyx_PyExec2t   OOOt   __Pyx_PyExec3t   getattr3t   __Pyx_GetAttr3t   getattrt   __Pyx_GetAttrt   hasattrt   __Pyx_HasAttrt   HasAttrt   hasht   ht   PyObject_Hasht   internt   __Pyx_Internt   Internt
   isinstancet   PyObject_IsInstancet
   issubclasst   PyObject_IsSubclasst   itert   PyCallIter_Newt   PyObject_GetItert   lent   zt   PyObject_Lengtht   localsR9   t   __pyx_localst   nextt   __Pyx_PyIter_Nextt   __Pyx_PyIter_Next2t   ordt   __Pyx_long_castt   ct   __Pyx_uchar_castt   __Pyx_PyObject_Ordt
   object_ordt   exception_values   (long)(Py_UCS4)-1t   powt   PyNumber_Powert   __Pyx_PyNumber_Power2t   pow2t   reloadt   PyImport_ReloadModulet   reprt   PyObject_ReprR   t   strt   setattrt   PyObject_SetAttrt   __Pyx_PyObject_Appendt   __Pyx_GlobalsR-   t   PyType_Typet   intt
   PyInt_Typet   longt   PyLong_Typet   floatt   PyFloat_Typet   complext   PyComplex_Typet   cvalR(   t
   Py_complext   reals	   cval.realR)   t   imags	   cval.imagt
   basestringt   PyBaseString_Typet   joint   TOt   Tt   __Pyx_PyBaseString_Joint
   StringJoins   StringTools.ct	   bytearrayt   PyByteArray_Typet   bytest   PyBytes_Typet   __contains__t   PySequence_Containst   __Pyx_PyBytes_Joint   PyString_Typet   __Pyx_PyString_Joint   unicodet   PyUnicode_Typet   PyUnicode_Containst   PyUnicode_Joint   tuplet   PyTuple_Typet   listt   PyList_Typet   insertt   TzOt   PyList_Insertt   reverset   PyList_Reverset   appendt   __Pyx_PyList_Appendt
   ListAppends
   Optimize.ct   extendt   __Pyx_PyList_Extendt
   ListExtendt   dictt   PyDict_Typet   PyDict_Containst   has_keyt   itemst   __Pyx_PyDict_Itemst   py_dict_itemst   keyst   __Pyx_PyDict_Keyst   py_dict_keyst   valuest   __Pyx_PyDict_Valuest   py_dict_valuest	   iteritemst   __Pyx_PyDict_IterItemst   py_dict_iteritemst   iterkeyst   __Pyx_PyDict_IterKeyst   py_dict_iterkeyst
   itervaluest   __Pyx_PyDict_IterValuest   py_dict_itervaluest	   viewitemst   __Pyx_PyDict_ViewItemst   py_dict_viewitemst   viewkeyst   __Pyx_PyDict_ViewKeyst   py_dict_viewkeyst
   viewvaluest   __Pyx_PyDict_ViewValuest   py_dict_viewvaluest   cleart   __Pyx_PyDict_Cleart   py_dict_cleart   copyt   PyDict_Copyt   slicet   PySlice_Typet   startt   stopt   stept   sett
   PySet_Typet   PySet_Cleart   discardt   __Pyx_PySet_Discardt   py_set_discardt   removet   __Pyx_PySet_Removet   py_set_removet   addt	   PySet_Addt   popt	   PySet_Popt	   frozensett   PyFrozenSet_Typet	   Exceptions#   ((PyTypeObject*)PyExc_Exception)[0]s2   ((PyTypeObject*)__Pyx_PyExc_StopAsyncIteration)[0]t   boolt	   Py_buffert   buft   objt   itemsizet   readonlyt   ndimRJ   t   shapet   stridest
   suboffsetst
   smalltablei   t   internalc          C@  s"   x t  D] }  |  j t  q Wd  S(   N(   t   builtin_function_tableR7   R+   (   t   bf(    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   init_builtin_funcs  s    c          C@  s   x t  D] \ }  } } t j |   } |  d k r: d } nd |  d k rO d } nO |  d k rd d  } n: |  d k ry d } n% |  d k r d } n d	 |  j   } t j |  | | |  } | t |  <x | D] } | j |  q Wq Wd  S(
   NR   t   PySetObjectR   t   PyByteArrayObjectR   R   t   PyBaseExceptionObjectR   s
   Py%sObject(	   t   builtin_types_tablet   builtin_utility_codet   getR   t
   capitalizeR+   t   declare_builtin_typeR!   R4   (   t   nameR   t   methodst   utilityt   objstruct_cnamet   the_typet   method(    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   init_builtin_types  s"    					
c       	   C@  s|   xu t  D]m \ }  } } t |   } x0 | D]( \ } } | j | | d  | d t q) Wt j |  d | d d  d | q Wd  S(   Nt   allow_pyobjectt   structi   R   (   t   builtin_structs_tableR   t   declare_varR   R    R+   t   declare_struct_or_union(   R  R   t   attribute_typesR/   t   attribute_namet   attribute_type(    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   init_builtin_structs  s    c        	   C@  sU  t    t   t   t j d t j t j  d d  d d d t	 t j
 d  j a t j
 d  j a t j
 d  j a t j
 d	  j a t j
 d
  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a t j
 d  j a d  S(   Nt	   __debug__t   posR   s   (!Py_OptimizeFlag)t   is_cdefR-   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R$  R  R  R+   R  R   t   c_const_typet   c_bint_typeR   R    R,   R-   t	   type_typet	   list_typet
   tuple_typet	   dict_typet   set_typet   frozenset_typet
   slice_typet
   bytes_typet   str_typet   unicode_typet   basestring_typet   bytearray_typet
   float_typet	   bool_typet   complex_type(    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   init_builtins  s*    N(A   t
   __future__R    t   SymtabR   R   t   CodeR   t	   TypeSlotsR   R9   R   R   t   loadt   iter_next_utility_codet   getattr_utility_codet   getattr3_utility_codet   pyexec_utility_codet   pyexec_globals_utility_codet   globals_utility_codet   load_cachedR  t   objectR   R'   R5   R8   R    R   RL   t   c_longlong_typeR:   R   t   c_uint_typet   c_ulong_typet   c_ulonglong_typet   c_float_complex_typet   c_double_complex_typet   c_longdouble_complex_typet   c_py_ucs4_typet   c_py_unicode_typet   c_typet   c_long_typet   c_char_typet   c_schar_typet   c_uchar_typeR.   R
  t   c_double_typeR  R   t#   types_that_construct_their_instancet   c_void_ptr_typet   c_py_ssize_t_typeR)  t
   c_int_typet   c_char_ptr_typet   c_py_ssize_t_ptr_typet
   CArrayTypeR  R+   R  R!   R  R$  R9  (    (    (    s6   lib/python2.7/site-packages/Cython/Compiler/Builtin.pyt   <module>   s   	p   							
	